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 commands/griddynamics/rosetta/api-aqa-flow-api-spec-analysisgit clone --depth 1 https://github.com/griddynamics/rosettaWrote 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/griddynamics/rosetta/api-aqa-flow-api-spec-analysis)<a href="https://agentmods.dev/commands/griddynamics/rosetta/api-aqa-flow-api-spec-analysis"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/api-aqa-flow-api-spec-analysis.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 | $0.00019 | $0.01996 |
| Opus 5 | $0.00010 | $0.00998 |
| Sonnet 5 | $0.00004 | $0.00399 |
| Haiku 4.5 | $0.00002 | $0.00200 |
Grade A, and why
api-aqa-flow-api-spec-analysis 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 today.
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 — 116 lines — stays where its author put it; the contents beside it link to each section on GitHub.
<api_aqa_flow_api_spec_analysis>
<description_and_purpose> Analyze Swagger/OpenAPI specification or codebase API definitions to extract endpoint contracts, auth requirements, and data dependencies. </description_and_purpose>
<workflow_context>
- Phase 2 of 8 in
api-aqa-flow - Input: raw data from Phase 1 + project config (Swagger URL if available)
- Output artifact path (single SSoT — referenced by other sections):
plans/api-aqa-{IDENTIFIER}/api-analysis.md(resolve{IDENTIFIER}fromagents/TEMP/<FEATURE>/api-aqa-state.md) - Prerequisite: Phase 1 complete,
raw-data.mdexists with identified endpoints - Read-only scope: locate spec/source, extract contracts, reconcile, write the analysis artifact. NO edits to backend source or product code.
- Required skills:
qa-knowledge(code_analysismode — API-contract extraction; supplies the api-analysis skeleton),reverse-engineering(extraction engine of that mode),sensitive-data(redaction),qa-structure({IDENTIFIER}+ artifact path) </workflow_context>
<input_contract> The phase supplies the skill two required inputs; the skill GATEs on both before any spec-location logic:
- Target-endpoint list — non-empty, derived from Phase 1 test cases (or explicit user list). The skill never fabricates the target set. Empty/absent → stop, report back, ask the user.
- Spec/source path — Swagger/OpenAPI URL OR file path OR backend source path with route definitions (determined in step 2.1). Neither supplied → stop; do NOT scan the whole codebase as a silent fallback unless the user explicitly requested it. </input_contract>
<phase_steps>
- Determine API specification source
- Execute API spec analysis using skill
- Produce API analysis document
- Validate and update state </phase_steps>
<determine_spec_source step="2.1">
Determine {backend-source-path} from Phase 1 raw data "Backend Source Code Analysis" section, or from project config "Backend Source Code" section, or from Rosetta docs at refsrc/{project-name}/docs/ (the backend-source scan lives in the data-collection phase's Backend Source Code Analysis section). If Rosetta docs exist for the backend project, read ARCHITECTURE.md and CODEMAP.md from refsrc/{project-name}/docs/ to understand API architecture before searching source code.
Determine spec source in order:
- Swagger URL from project config (
api-aqa-project-config.md) - Swagger/OpenAPI in backend source (if
{backend-source-path}configured):- Search within
{backend-source-path}for:swagger.json,swagger.yaml,openapi.json,openapi.yaml,api-docs - If
{backend-source-path}is NOT configured, search entire codebase instead.
- Search within
- API route definitions in backend source (if
{backend-source-path}configured):- Search within
{backend-source-path}for framework-specific route patterns - If
{backend-source-path}is NOT configured, search entire codebase instead.
- Search within
- If none found: Proceed with documentation from Phase 1 only; ask user for endpoint details. Zero-source fallback: if the user is unavailable, refuses, or supplies only partial info: mark each missing template field (request schema, response schema, auth, data dependencies) as
TBDand add an explicit## Assumptionssection inapi-analysis.mdlisting every unknown field and the reason it is unknown. Flag Phase 2 aspartial — N/M endpoints fully analyzedinagents/TEMP/<FEATURE>/api-aqa-state.mdso downstream phases know not to treat the analysis as authoritative.
Decision point: Swagger available -> full spec analysis. No Swagger -> code-based analysis + user input.
</determine_spec_source>
<execute_analysis step="2.2" subagent="discoverer" role="API spec analyst">
- USE SKILL
reverse-engineeringand USE SKILLqa-knowledge(code_analysismode — API-contract extraction) with the phase-supplied bindings: target-endpoint list (Phase 1 test cases) + spec source (step 2.1) =<input_contract>; per-endpoint output shape + Analysis Summary metrics =qa-knowledge's api-analysis template (the skill loads its own asset); validation =<validation_checklist>; output path =plans/api-aqa-{IDENTIFIER}/api-analysis.md. The mode GATEs on the two required inputs before locating the spec. USE SKILLsensitive-datato redact before writing. - The mode extracts per endpoint: contracts, auth requirements, data dependencies, and reconciles spec-vs-code when both sources are read.
- Coverage is mandatory: every target endpoint gets a contract entry OR is flagged back as a gap with reason — no silent drop. Do not fabricate schemas, status codes, or auth requirements without a source.
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.
- today First seen · 116 lines · 19 tokens per session scan A d0778479f41e
api-aqa-flow-api-spec-analysis is a command published in the GitHub repository griddynamics/rosetta (342 stars, last pushed today), licensed Apache-2.0. It adds 19 tokens to every session and 1,996 once invoked, about $0.0001 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-09-03.
Other commands, from other repositories
full-review-gate
Perform a comprehensive repository code review in an isolated worktree. Fix P0/P1 findings and ship them as a PR targeting the current branch.
implement-fastapi-routes
The file docstring contains a description of the FastAPI routes we need to implement. Implement these routes.
OPSX: Propose
Propose a new change - create it and generate all artifacts in one step.
init-store
Clone the canonical Hydrogen starter, brand it, pin @commerce-atoms/agents, and create the first commit.
hook-install
Install a git hook for automatic commit sync on push. When installed, every git push automatically syncs pushed commits to Avos Memory, enabling real-time team synchronization.
commit
Use the text the user typed after the command name as the request for this command.