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 agentmods add skills/outlinedriven/odin-codex-plugin/qanpx skills add OutlineDriven/odin-codex-plugin --skill qagit clone --depth 1 https://github.com/OutlineDriven/odin-codex-pluginWhat 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 | $0.00062 | $0.00754 |
| Opus 5 | $0.00031 | $0.00377 |
| Sonnet 5 | $0.00012 | $0.00151 |
| Haiku 4.5 | $0.00006 | $0.00075 |
Grade A, and why
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 2d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- qa — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run an interactive QA session. The user describes problems. You clarify lightly, explore the codebase in the background for domain language, and file issues that are durable and user-focused. Each issue is independent — never batch.
For Each Reported Issue
1. Listen, lightly clarify
Let the user describe the problem in their own words. Ask at most 2-3 short questions, only on:
- Expected vs actual behavior
- Steps to reproduce (if not already obvious)
- Consistent vs intermittent
Do NOT over-interview.
2. Explore in background
Dispatch an Explore agent in parallel while the user talks. Goal is NOT to find a fix — it is to:
- Learn the domain language used in that area (read
UBIQUITOUS_LANGUAGE.mdif present) - Understand what the feature is supposed to do
- Identify the user-facing behavior boundary
Context informs the issue body; the issue body itself does NOT cite files, line numbers, or internal module names.
3. Assess scope
Single issue or breakdown? Break down when fix spans multiple independent areas, separable concerns parallelize across people, or user describes multiple distinct failure modes.
4. File via gh issue create
Do NOT ask the user to review the body first — file it, share URLs.
Issue body rules:
- No file paths, no line numbers
- Use the project's domain language; never internal symbol names
- Describe behavior, not code: "the sync service fails to apply the patch", not "applyPatch() throws on line 42"
- Reproduction steps are mandatory
- 30-second readability — concise
Single-Issue Template
## What happened
Plain-language actual behavior.
## What I expected
Plain-language expected behavior.
## Steps to reproduce
1. Concrete step using domain terms
2. Concrete step
3. Concrete step (include relevant inputs/flags)
## Additional context
Observations from the user or background exploration.
Reproduction-Step Examples
Web app:
- Sign in as a Pro-tier user
- Open the export dialog from the Reports tab
- Choose CSV format and click Export
- Observe: download fails silently with no toast.
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.
- 2d ago First seen · 87 lines · 62 tokens per session scan A 1e86e62b2e52
qa is a skill published in the GitHub repository OutlineDriven/odin-codex-plugin (15 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 62 tokens to every session and 754 once invoked, about $0.0003 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-30.
Other skills, from other repositories
apm-issue-autopilot
Use this skill to drive any open microsoft/apm issue (bug, feature, docs, refactor, perf) from raw intake to a mergeable PR with triage as the central, paramount gate. Run the apm-triage-panel rubric per issue first, then present ONE consolidated triage review for the whole batch and escalate to the maintainer BY…
apm-triage-panel
Use this skill to triage one microsoft/apm issue selected by the daily sweep, the status/needs-triage fast path, or manual dispatch. Emit one synthesized comment with a decision, label set, exact milestone, and suggested next action.
feature-to-work-packets
Use when decomposing an approved specification into ordered work packets with a file owner, exact paths, single-writer ownership, dependencies, risks, evidence, and verification commands.
studio-handoff
Use when pausing, transferring, or reactivating game-studio work and a durable handoff must capture branch, goal, scope, files, commands, Verified Snapshot Unverified BLOCKED facts, failures, decisions, next actions, and a reactivation prompt.
codex-sdd:plan
Create design.md with technical architecture and tasks.md with executable breakdown from an approved proposal. Second phase of OpenSpec workflow.
codex-sdd:tapd-openspec-proposal
Fetch TAPD story requirements before OpenSpec proposal generation. Use when the user asks OpenSpec propose with a TAPD story URL/id, says to import TAPD requirements, or asks to generate proposal.md from TAPD.