Qa
Runs QA-stage validation, report generation, and postflight actions for the current scope. Use when QA stage is ready for loop verification. Do not use when the request belongs to `review` findings synthesis or `implement` execution loops.From its SKILL.md
npx -y skills add GrinRus/ai_driven_dev --skill qaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.5 KB, as published. Nobody here has run it
Follow feature-dev-aidd:aidd-core and feature-dev-aidd:aidd-loop.
Steps
- Inputs: resolve active
<ticket>/<scope_key>and validate QA prerequisites from loop/readmap artifacts. - Stage-chain policy: execute via canonical stage-chain orchestration through stage runtime entrypoint; internal preflight/postflight are orchestration details and not operator commands.
- Manual write/create of
stage.qa.result.jsonis forbidden; stage-result files are produced only by stage-chain postflight.[AIDD_LOOP_POLICY:MANUAL_STAGE_RESULT_FORBIDDEN] - Runtime-path safety: use only runtime commands from this skill contracts. If stdout/stderr contains
can't open file .../skills/.../runtime/..., stop with immediate BLOCKEDruntime_path_missing_or_drift; one runtime-path error is terminal for current run, do not invent alternate filenames, and do not retry guessed commands. - Retry safety: do not rerun the same failing shell command more than once without new evidence/artifacts. For cwd/build mismatches, stop with blocker and handoff instead of looped retries.
- Fail-fast convergence hardening: if preflight/stage-chain context is missing (
reason_code=preflight_missing) or workflow paths resolve to non-workspace targets, stop immediately with terminal BLOCKED for the current run and explicit next action/feature-dev-aidd:implement <ticket>. - Actions contract hardening: if
actions-applyreports schema/payload mismatch (reason_code=contract_mismatch_actions_shape), do not attempt guessed retries or manual payload edits; return terminal BLOCKED with the canonical handoff. - Read order after stage-chain preflight artifacts:
readmap.md-> loop pack -> review pack (if exists) -> rolling context pack; do not perform broad repo scan before these artifacts. - Run subagent
feature-dev-aidd:qa. - Orchestration: run QA via
python3 ${CLAUDE_PLUGIN_ROOT}/skills/qa/runtime/qa.py, derive tasks if needed, then Fill actions.json foraidd/reports/actions/<ticket>/<scope_key>/qa.actions.jsonstrictly asaidd.actions.v1(schema_version,allowed_action_types, canonicaltype+params) with action types only from{tasklist_ops.set_iteration_done, tasklist_ops.append_progress_log, tasklist_ops.next3_recompute, context_pack_ops.context_pack_update}, and validate viapython3 ${CLAUDE_PLUGIN_ROOT}/skills/qa/runtime/qa_run.py. Do not use raw ad-hoc test commands from arbitrary cwd as a recovery path; run tests only via the QA runtime/tasklist contract. - Canonical stage-chain: internal preflight -> stage runtime -> actions_apply.py/postflight ->
python3 ${CLAUDE_PLUGIN_ROOT}/skills/aidd-flow-state/runtime/stage_result.py.[AIDD_LOOP_POLICY:CANONICAL_STAGE_RESULT_PATH] - Non-canonical stage-result path under
skills/aidd-loop/runtime/is forbidden (treat as prompt-flow drift).[AIDD_LOOP_POLICY:NON_CANONICAL_STAGE_RESULT_FORBIDDEN] - Output: return QA status contract with report paths and explicit canonical next action (
/feature-dev-aidd:status <ticket>or/feature-dev-aidd:tasks-new <ticket>when follow-up tasks are required). Ensure one terminal payload per run (no repeated guessed recovery loops).
Command contracts
python3 ${CLAUDE_PLUGIN_ROOT}/skills/qa/runtime/qa_run.py
- When to run: as canonical QA stage runtime before postflight.
- Inputs: ticket, scope/work-item context, QA findings, and actions payload.
- Outputs: validated QA report artifacts and stage status payload.
- Failure mode: non-zero exit when report/actions schema or required stage inputs are invalid.
- Next action: fix QA findings/actions contract issues and rerun runtime validation.
python3 ${CLAUDE_PLUGIN_ROOT}/skills/aidd-docio/runtime/actions_apply.py
- When to run: mandatory final step in stage-chain postflight after QA actions are validated.
- Inputs:
--actions <path>and optional--apply-log <path>. - Outputs: applied actions plus progress/stage-result/status-summary artifacts.
- Failure mode: apply failure, progress update failure, or status summary failure.
- Next action: inspect logs, fix blocking contract issues, rerun the stage-chain.
python3 ${CLAUDE_PLUGIN_ROOT}/skills/aidd-flow-state/runtime/stage_result.py
- When to run: stage-chain postflight stage-result emission only (not operator/manual recovery command).
- Inputs: canonical postflight payload (
ticket,stage,result,scope-key,work-item-key, evidence links). - Outputs: canonical
aidd.stage_result.v1ataidd/reports/loops/<ticket>/<scope_key>/stage.qa.result.json. - Failure mode: non-zero exit on missing required args or invalid stage-result contract fields.
- Next action: fix postflight payload generation and rerun the stage-chain; do not switch to non-canonical loop runtime paths.
Notes
- QA stage runs full tests per policy.
Additional resources
- Contract schema: CONTRACT.yaml (when: QA action/report requirements are unclear; why: verify mandatory fields before runtime validation and postflight).