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/getsentry/dotagents/dotagents-qanpx skills add getsentry/dotagents --skill dotagents-qagit clone --depth 1 https://github.com/getsentry/dotagentsWhat 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.00056 | $0.01603 |
| Opus 5 | $0.00028 | $0.00801 |
| Sonnet 5 | $0.00011 | $0.00321 |
| Haiku 4.5 | $0.00006 | $0.00160 |
Grade A, and why
dotagents-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.
How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dotagents QA
Prove the requested behavior in Docker without touching host agent homes, caches, plugin registries, or credentials. Treat Docker as the safety boundary and the changed or released behavior as the test plan.
1. Define the contract
Before commands, state:
- the exact subject: local checkout, packed local build, or published version;
- the commands and semantics at risk;
- default-global scope, explicit-project scope, or both;
- the harnesses involved;
- the fixture and evidence that constitute a pass.
For a published release, verify its registry metadata and install that exact version. Never silently test the local checkout instead. If you fix a discovered defect, report the release failure and packed-local-build pass separately.
Read the relevant references before acting:
- Docker, non-root setup, exact release installation, and baseline commands: references/docker-sandbox.md
- Ordinary install/sync behavior: references/core-agentic-qa.md
- Real plugins, full lifecycle, native clients, and user/global scope: references/release-plugin-matrix.md
- Plugin adapters and automated proof: references/plugin-runtime.md
- Harness details: Claude, Codex, OpenCode, Pi, Cursor, Grok
Planning is part of acting: read the relevant references before proposing a command sequence, not only before executing it.
2. Establish isolation
Use the repo QA image. Rebuild it when the Dockerfile, pnpm version, or required current harness versions changed.
Run package and runtime work as a non-root user. Keep these inside Docker or disposable directories:
export HOME=/sandbox/home
export DOTAGENTS_STATE_DIR=/sandbox/state
export DOTAGENTS_HOME=/sandbox/user-agents
export CODEX_HOME=/sandbox/codex-home
export CLAUDE_CONFIG_DIR=/sandbox/claude-home
What ships with it
24 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.
- Dockerfile 710 B
- evals/cases/define-the-qa-contract.yaml 602 B
- evals/cases/enforce-docker-isolation.yaml 533 B
- evals/cases/exercise-complete-cli-lifecycles.yaml 567 B
- evals/cases/prove-each-harness-independently.yaml 640 B
- evals/cases/report-evidence-and-limits.yaml 1.5 KB
- evals/cases/run-proportionate-baseline-validation.yaml 532 B
- evals/cases/test-representative-real-plugins.yaml 566 B
- evals/cases/verify-project-scope-migration-edges.yaml 594 B
- evals/cases/verify-scope-flag-compatibility.yaml 512 B
- evals/cases/verify-scope-reversal-release.yaml 560 B
- references/claude.md 2.6 KB
- references/codex.md 2.5 KB
- references/core-agentic-qa.md 1.4 KB
- references/cursor.md 1.7 KB
- references/docker-sandbox.md 2.4 KB
- references/grok.md 1.6 KB
- references/opencode.md 4.8 KB
- references/pi.md 1.1 KB
- references/plugin-runtime.md 3.0 KB
- references/release-plugin-matrix.md 5.7 KB
- scripts/qa-example.mjs 25 KB runs code
- SOURCES.md 3.3 KB
- spec.md 5.6 KB
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 · 128 lines · 56 tokens per session scan A 7775fd90d9d1
dotagents-qa is a skill published in the GitHub repository getsentry/dotagents (222 stars, last pushed 6d ago), licensed MIT. It adds 56 tokens to every session and 1,603 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
claude-settings-audit
Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.
django-access-review
Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python/Django code handling user authorization. Trigger keywords: "IDOR", "access control", "authorization", "Django permissions", "object permissions", "tenant isolation", "broken access".
django-perf-review
Django performance code review. Use when asked to "review Django performance", "find N+1 queries", "optimize Django", "check queryset performance", "database performance", "Django ORM issues", or audit Django code for performance problems.
security-review
Security code review for vulnerabilities. Use when asked to "security review", "find vulnerabilities", "check for security issues", "audit security", "OWASP review", or review code for injection, XSS, authentication, authorization, cryptography issues. Provides systematic review with confidence-based reporting.
gha-security-review
GitHub Actions security review for workflow exploitation vulnerabilities. Use when asked to "review GitHub Actions", "audit workflows", "check CI security", "GHA security", "workflow security review", or review .github/workflows/ for pwn requests, expression injection, credential theft, and supply chain attacks.…
presentation-creator
Create data-driven presentation slides using React, Vite, and Recharts with Sentry branding. Use when asked to "create a presentation", "build slides", "make a deck", "create a data presentation", "build a Sentry presentation". Scaffolds a complete slide-based app with charts, animations, and single-file HTML output.