# Primr Research

> Run and monitor company research through Primr MCP. Use when the user wants a new research run, asks for status, or needs mode selection help before starting.

- **Type:** Skill
- **Install:** `agentstack add skill-blisspixel-primr-primr-research`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [blisspixel](https://agentstack.voostack.com/s/blisspixel)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [blisspixel](https://github.com/blisspixel)
- **Source:** https://github.com/blisspixel/primr/tree/main/openclaw/skills/primr-research

## Install

```sh
agentstack add skill-blisspixel-primr-primr-research
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Primr Research Skill

## Conceptual Framework

This skill is a thin orchestrator over Primr MCP.

Use MCP resources to discover current behavior instead of assuming fixed costs, providers, or defaults from the skill text. `full` is the standard end-to-end workflow, `premium` is the higher-depth option, and `scrape` and `deep` are narrower research modes.

Research runs are async jobs. Start the run, then monitor status until terminal. Standard runs often take 35-50 minutes; premium multi-vendor runs can take 75-120 minutes.

## Operational Capabilities

### 1. Select a mode

- Read `primr://research/modes` before advising on mode selection.

- Use `scrape` for first-party reconnaissance.

- Use `deep` when the site is blocked or low-signal.

- Use `full` for the default strategic analysis workflow.

- Use `premium` when the user explicitly wants maximum depth.

### 2. Estimate before execution

Always call `estimate_run` before `research_company`, then state that the run incurs real API cost and wait for explicit user approval.

```text

estimate_run(company_url="https://example.com", mode="full")

```

### 3. Start and monitor the job

After user approval, call `research_company` and pass the approved `max_estimated_cost_usd` when available, then monitor with `wait_for_status_change`, `check_jobs`, or `primr://research/status`. Do not assume the client session will stay attached for the entire run.

```text

research_company(company_name="ExampleCo", company_url="https://example.com", mode="full")

```

### 4. Retrieve results

When the run completes, read `primr://output/artifacts/by_job/{job_id}` first
to inventory artifacts without report body content. Read
`primr://output/qa_summary/by_job/{job_id}` when QA artifacts are attached.
Read `primr://output/usage_summary/by_job/{job_id}` when cost, timing,
approval, or artifact-count metadata is needed.
Read `primr://output/source_summary/by_job/{job_id}` when citation/source
appendix metadata is needed.
Read `primr://output/trace_summary/by_job/{job_id}` when scrape trace health
metadata is needed.
Read `primr://output/verification_summary/by_job/{job_id}` when claim
verification trust score, claim counts, status counts, first-party downgrade
counts, or source-reference counts are needed without raw claims, source URLs,
search queries, explanations, or report body content.
Read `primr://output/calibration_summary/by_job/{job_id}` when
label-calibration counts, inference source-copy counts, evidence-review count
buckets, judge provenance, or judge-agreement metadata is needed without raw
claims, source URLs, evidence reviews, rationales, or report body content.
MCP resource reads are audit-logged with hashed URI/result values and
normalized resource kind, without raw URI query values or resource bodies.
A2A skill calls are audit-logged with hashed message/result payloads, hashed
caller ids, granted scopes, duration, outcome, and job id when present, without
raw message text, task ids, URLs, report paths, raw results, or caller ids.
Read `primr://output/latest` only when the next step needs a report preview.

## Error Handling

- `job_in_progress`: report the existing run and monitor it instead of starting another.

- `invalid_url` or `ssrf_blocked`: require a valid public URL, or consider `deep` mode.

- `rate_limit_exceeded`: wait for the retry window.

- `api_error`: surface the provider error clearly and recommend retry or diagnostics.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [blisspixel](https://github.com/blisspixel)
- **Source:** [blisspixel/primr](https://github.com/blisspixel/primr)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-blisspixel-primr-primr-research
- Seller: https://agentstack.voostack.com/s/blisspixel
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
