api-aqa-flow-project-config-loading

api-aqa-flow-project-config-loading is a command for Claude Code from griddynamics/rosetta. It costs 27 tokens per session (2,997 once invoked), scanned A, original, Apache-2.0.

The setup step for a backend API test automation session. It loads project settings or asks for the missing details, then creates the files that track the session and its progress.

In plain words
What is it for?
Use it to initialize an API testing workflow from a test case, ticket, API specification, or direct test description.
Why use it?
It prevents the later testing steps from starting without the repository paths, API references, and project information they need.

Command for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter. Also seen: mentions subagents.

Good fit Use it to initialize an API testing workflow from a test case, ticket, API specification, or direct test description.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/griddynamics/rosetta/api-aqa-flow-project-config-loading
Install

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.

Clone the repo
git clone --depth 1 https://github.com/griddynamics/rosetta

Made for: Claude Code.

Wrote 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.

agentmods badge for api-aqa-flow-project-config-loading

README.md
[![agentmods](https://agentmods.dev/badge/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading/github.svg)](https://agentmods.dev/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading)
Your own site
<a href="https://agentmods.dev/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading/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.

agentmods 80×15 button for api-aqa-flow-project-config-loading

Your own site · 80×15
<a href="https://agentmods.dev/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading"><img src="https://agentmods.dev/badge/commands/griddynamics/rosetta/api-aqa-flow-project-config-loading.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 27 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,997 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00027 $0.02997
Opus 5.5 $0.00011 $0.01199
Sonnet 5.5 $0.00005 $0.00599
Haiku 4.5 $0.00003 $0.00300

Measured 1mo ago against content hash c3a643c6af1e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

api-aqa-flow-project-config-loading 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.

plugins/core-copilot-light/commands/api-aqa-flow-project-config-loading.md · 138 lines

How it starts

The opening of the file, as written. The whole thing — 138 lines — stays where its author put it; the contents beside it link to each section on GitHub.

<api_aqa_flow_project_config_loading>

<description_and_purpose> Initialize the AQA session directory, load the existing project config or collect project-specific information from the user, and seed the workflow state file for backend API test automation. Canonical paths, the {IDENTIFIER} derivation rule, the config-key schema, and the state-file shape are owned by USE SKILL qa-structure — this phase binds to them and does not restate them. </description_and_purpose>

<workflow_context>

  • Phase 0 of 8 in api-aqa-flow
  • Input (REQUIRED): user request with test case reference (TMS case ID, Issue Tracker ticket, or direct description — e.g. TestRail C1234, Jira PROJ-123)
  • Input (OPTIONAL, when provided by user): repository-root gain.json sdlc.* providers, Swagger/OpenAPI spec URL or path, Wiki/docs page URLs, backend source code locations
  • Output (paths owned by qa-structure): per-session plans/api-aqa-{IDENTIFIER}/api-aqa-project-config.md and plans/api-aqa-{IDENTIFIER}/initial-data.md; shared workflow state agents/TEMP/<FEATURE>/api-aqa-state.md.
  • Prerequisite: starting new AQA flow
  • HITL: conditional — user is questioned ONLY if the project config does not already exist
  • Required skills: qa-structure (paths / {IDENTIFIER} / config schema / state shape), sensitive-data (redaction at intake)
  • Recommended skills: questioning (config-missing interview) </workflow_context>

<phase_steps>

  1. Parse user input, resolve providers from gain.json + evidence, derive {IDENTIFIER}, and create the session directory + state-file stub.
  2. Load this session's config if present, or collect the still-missing project info from the user and create it.
  3. Create the initial-data file and mark Phase 0 complete. </phase_steps>

<execute_config step="0.1" subagent="discoverer" role="AQA project config loader">

USE SKILL qa-structure for the session layout, {IDENTIFIER} derivation, and the config-key schema — the skill routes on those topics and loads its own files. This phase performs session initialization DIRECTLY (no dedicated init skill); it delegates only user-questioning to questioning. On the config-missing branch it performs a bounded set of loads (layout, config schema, then the interview + config template at step 0.1.5) — load each at its step via the owning skill; never write an artifact from memory.

  1. Parse initial user input. Extract:

    • Test case reference (REQUIRED): TMS case ID, Issue Tracker key/URL, or direct test-case description.
    • Additional context (OPTIONAL): Swagger URL, Wiki pages, API documentation links.
    • Supported phrasings: "Write API tests for TC-1234", "Automate backend tests for PROJ-123", "Create API tests for the user registration endpoint", "Automate TC-1234 with Swagger: https://api.example.com/swagger".
  2. Resolve providers (merge evidence; do not force one source). Read repository-root gain.json; use sdlc.test_management(_project), sdlc.wiki(_project), and sdlc.issue_tracker(_project) when populated. Explicit user names/handles win for this run; a recognizable provider URL or handle is valid evidence (a Confluence URL implies Confluence). If evidence conflicts or stays ambiguous, ask only about the unresolved provider; a missing gain.json never blocks a direct-description run.

  3. Derive {IDENTIFIER} per the qa-structure rule (Issue Tracker key → TMS case ID → kebab-case feature). On multiple candidates, first non-empty wins; record the chosen value + rejected candidates in initial-data.md.

  4. Create the session directory plans/api-aqa-{IDENTIFIER}/ and write the state-file stub below to agents/TEMP/<FEATURE>/api-aqa-state.md. The full per-phase update schema is owned by api-aqa-flow.md <state_file>; this stub is only the seed:

    # API AQA State - <Test Name / Feature>
    
    **Last Updated**: [DateTime]
    **Current Phase**: 0
    **Test Case Source**: [TMS case ID / Issue Tracker ticket / Manual]
    **Feature**: [Feature Name]
    **IDENTIFIER**: [the {IDENTIFIER} value chosen above — must match plans/api-aqa-{IDENTIFIER}/ directory]
    **Providers**: [resolved TMS / Wiki / Issue Tracker + project handles, or N/A per role]
    
    ## Phase Completion Status
    
    - [x] Phase 0: Project Config Loading
    - [ ] Phase 1: Data Collection
    - [ ] Phase 2: API Spec Analysis
    - [ ] Phase 3: Gap & Requirements Clarification
    - [ ] Phase 4: Test Case Specification
    - [ ] Phase 5: Test Implementation
    - [ ] Phase 6: Execution & Report Analysis
    - [ ] Phase 7: Test Corrections
    
  5. Load or create the project config at plans/api-aqa-{IDENTIFIER}/api-aqa-project-config.md (per-session, inside the feature plan folder): if the file exists AND is non-empty → <config_exists>; if it is missing OR empty → <config_missing>.

  6. Verify the feature plan folder plans/api-aqa-{IDENTIFIER}/ exists and the config is non-empty before proceeding.

Read the full file on GitHub · 138 lines

Changes

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.

  1. 1mo ago First seen · 138 lines · 27 tokens per session scan A c3a643c6af1e

Subscribe to this mod's changes

api-aqa-flow-project-config-loading is a command published in the GitHub repository griddynamics/rosetta (362 stars, last pushed yesterday), licensed Apache-2.0. It adds 27 tokens to every session and 2,997 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-09-03.