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.
git clone --depth 1 https://github.com/amirkiarafiei/open-scholar-peerWrote 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/commands/amirkiarafiei/open-scholar-peer/5-osp-qa)<a href="https://agentmods.dev/commands/amirkiarafiei/open-scholar-peer/5-osp-qa"><img src="https://agentmods.dev/badge/commands/amirkiarafiei/open-scholar-peer/5-osp-qa/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/amirkiarafiei/open-scholar-peer/5-osp-qa"><img src="https://agentmods.dev/badge/commands/amirkiarafiei/open-scholar-peer/5-osp-qa.svg" alt="Reviewed on agentmods" width="80" 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.00020 | $0.01574 |
| Opus 5.5 | $0.00008 | $0.00630 |
| Sonnet 5.5 | $0.00004 | $0.00315 |
| Haiku 4.5 | $0.00002 | $0.00157 |
Grade A, and why
5-osp-qa 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 1mo 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 — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tool capability: This tool supports subagents. The Query Agent MUST delegate each question to
osp-answer-generator-agentas a subagent with a fresh, minimal context bundle. Do NOT use self-reflection.
/5-osp-qa — Multi-Aspect Q&A Engine
For each criterion in session.json.qa_criteria[], generate N probing Q&A pairs (N = qa_pairs_per_criterion, default 2). The Query Agent runs in the main thread; the Answer Generator runs as a subagent (or self-reflects on the few tools that lack them).
Activation
Invoke the osp-query-agent skill (main thread). The Query Agent will spawn osp-answer-generator-agent per question.
Inputs — none of these is a gate
phases.summary.status,phases.literature.status,phases.historian.statusandphases.baseline_scout.status. Each one that is missing removes a source of evidence, not the phase: no summary means you question the paper directly; no literature or narrative means novelty claims cannot be checked against prior work; no baseline scout means no missing-baseline questions. Run with what exists, name each gap in the artifact's Provenance, and let the answers say "could not be verified" rather than guessing.qa_criteria[]insession.json. If it is empty, onboarding never ran — use the generic criteria from.claude/defaults/generic_review_guidelines.mdand record that you did.
Record any skip before you start. The orchestrator is not in the loop when the user runs this
command directly, so it falls to you: for every earlier phase still pending, set
phases.<name>.status = "skipped" and phases.<name>.skip_reason to their reason, or
"user ran /5-osp-qa first". A phase left pending reads as "not reached yet", and the final review
cannot tell the difference.
Step 0 — Resource check and pair count (run BEFORE any Q&A work)
- Read
session.json. Countqa_criteria[]items (call it C). - Read
qa_pairs_per_criterionfromsession.json(default 2 if absent). - Print the resource estimate:
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.
- 1mo ago Changed · +28 lines 4cf203692f40
- 1mo ago Changed · +5 lines a6ec87b6cb03
- 2mo ago First seen · 86 lines · 20 tokens per session scan A 62dd3c053114
5-osp-qa is a command published in the GitHub repository amirkiarafiei/open-scholar-peer (51 stars, last pushed yesterday), licensed MIT. It adds 20 tokens to every session and 1,574 once invoked, about $0.0001 per session on Opus 5.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-30.
5-osp-qa compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| 5-osp-qaamirkiarafiei/open-scholar-peer | Command | 51 | yesterday | MIT | A | 20 | Claude Code |
| ars-mark-readImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 23 | Claude Code |
| ars-cache-invalidateImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 20 | Claude Code |
| ars-disclosureImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 21 | Claude Code |
| ars-revision-coachImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 27 | Claude Code |
| ars-abstractImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 17 | Claude Code |
| ars-fullImbad0202/academic-research-skills | Command | 56k | 2d ago | none | A | 16 | Claude Code |