Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add blisspixel/primr --skill primr-researchgit clone --depth 1 https://github.com/blisspixel/primrWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/blisspixel/primr/primr-research)<a href="https://agentmods.dev/skills/blisspixel/primr/primr-research"><img src="https://agentmods.dev/badge/skills/blisspixel/primr/primr-research.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01061 |
| Opus 5 | $0.00018 | $0.00531 |
| Sonnet 5 | $0.00007 | $0.00212 |
| Haiku 4.5 | $0.00004 | $0.00106 |
Grade A, and why
primr-research scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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/modesbefore advising on mode selection. -
Use
scrapefor first-party reconnaissance. -
Use
deepwhen the site is blocked or low-signal. -
Use
fullfor the default strategic analysis workflow. -
Use
premiumwhen 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.
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.
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.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 189 lines · 37 tokens per session scan A a3f7d93f2c9f
primr-research is a skill published in the GitHub repository blisspixel/primr (3 stars, last pushed 4d ago), licensed Apache-2.0. It adds 37 tokens to every session and 1,061 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
vaaya
Vaaya is the payment system for agents: one MCP server that lets your agent call paid APIs pay-per-call with no API keys. Web search, scraping, image and video generation, code sandboxes, browser automation, email, phone calls, lead enrichment, live data. Priced in cents per call, billed only on success, and every…
autosearch:channel-selection
Group-first channel selection algorithm for v2 tool-supplier architecture. Given a research query + clarify rubrics + channelpriority hints, picks 1-3 relevant groups from the router index, then 3-8 leaf channels from within those groups. Replaces flat-rank selection across 41 channels with a two-stage pick so runtime…
autosearch:citation-index
Deduplicate URLs across all sources, assign stable citation numbers, and merge citations from multiple subagents / sections into one consistent reference list. Prevents "same URL cited as [3] in one paragraph and [17] in another" and "different URLs merged under [5]" bugs that come from per-section synthesis.
autosearch:context-retention-policy
Session-level policy for keeping the runtime AI's context window healthy across long research — keep-last-k tool results, offload older evidence to disk, trigger compaction at thresholds. Borrows MiroThinker's keeptoolresult, deepagents' summarization middleware, and deer-flow's SummarizationEvent pattern. Orthogonal…
autosearch:delegate-subtask
Define the execution contract for isolating a research sub-task — input schema, budget, return summary, evidence list, failure status. Complements decompose-task (which only splits the problem) by giving each split a bounded, auditable execution unit the runtime AI can farm out to a sub-agent or parallel session.
autosearch:experience-capture
Append a single skill-execution event to the per-skill experience/patterns.jsonl file. Runs every time a leaf skill is used. Append-only — runtime AI never reads this file directly; only the compacted experience.md digest. Fast tier, no LLM required.