ai-sdlc-qa

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ai-sdlc-qa: QA Planning And Evidence

ai-sdlc-qa:QA规划与证据

Internal AI SDLC skill, not client-facing by default. Every rule below is important to follow. None of it can be skipped. Before producing the final artifact, confirm required inputs, target audience, missing facts, output format, and constraints when they are unclear. Do not invent missing information. Ask concise clarification questions when required inputs are absent.
内部AI SDLC技能,默认不面向客户。 以下每条规则都必须严格遵守,不得跳过任何一条。 在生成最终产物前,若所需输入、目标受众、缺失信息、输出格式或约束条件不明确,需先确认这些内容。 不得编造缺失信息。当必要输入缺失时,提出简洁的澄清问题。

0. Skill Card

0. 技能卡片

  • Skill name:
    ai-sdlc-qa
  • Primary audience: QA
  • Supporting audience: BA, Dev, PM
  • Audience tags: QA, BA, Dev, PM
  • SDLC stage: QA planning and refinement
  • Purpose: Produce QA acceptance, regression, manual-check, and signoff evidence for AI SDLC changes and place QA refinement artifacts under
    specs-refiniment/<feature-name>/<file.md>
    when writing files.
  • Output: QA acceptance plan, regression targets, manual checks, validation evidence, and residual risks
  • 技能名称:
    ai-sdlc-qa
  • 核心受众:QA
  • 支持受众:BA、Dev、PM
  • 受众标签:QA、BA、Dev、PM
  • SDLC阶段:QA规划与细化
  • 用途:为AI SDLC变更生成QA验收、回归、手动检查及签核证据;写入文件时,将QA细化产物存放至
    specs-refiniment/<feature-name>/<file.md>
    路径下。
  • 输出:QA验收计划、回归目标、手动检查项、验证证据及残留风险

0.1 Required Inputs

0.1 必要输入

  • Requirements, stories, delivery spec,
    specs-refiniment/<feature-name>/<file.md>
    QA context, or changed implementation context.
  • Acceptance criteria, changed files, or release-sensitive behavior.
  • Validation output if already run.
  • 需求、用户故事、交付规格、
    specs-refiniment/<feature-name>/<file.md>
    中的QA上下文,或变更实现上下文。
  • 验收标准、变更文件,或发布敏感行为说明。
  • 若已执行验证,需提供验证输出结果。

0.2 Clarification Rules

0.2 澄清规则

  • Ask concise questions before finalizing when role, artifact, requirements, scope, audience, or constraints are unclear.
  • If optional information is missing, mark it as
    TBD
    ,
    Not provided
    , or
    Assumption
    instead of inventing it.
  • Separate confirmed facts from assumptions and open questions.
  • Do not proceed to downstream synthesis when a required upstream artifact or decision is missing.
  • 当角色、产物、需求、范围、受众或约束条件不明确时,在最终定稿前提出简洁的问题。
  • 若可选信息缺失,标记为
    TBD
    Not provided
    Assumption
    ,不得编造。
  • 将已确认事实与假设、未解决问题分开。
  • 当上游必要产物或决策缺失时,不得进行下游合成工作。

0.2.1 Flow Mode Flags

0.2.1 流程模式标志

  • Support two explicit execution flags:
    --quick-flow
    and
    --full-flow
    .
  • If both flags are supplied,
    --full-flow
    takes precedence because it is the stricter mode.
  • --quick-flow
    : move fast, make high-quality progress with available context, avoid clarification questions unless continuing would create material product, security, compliance, data-loss, or irreversible implementation risk.
  • In
    --quick-flow
    , use documented assumptions, recommended defaults, existing repository patterns, and the nearest available artifact evidence; record important assumptions and decisions in
    decision-log.md
    .
  • In
    --quick-flow
    , run only focused checks that are directly relevant, cheap, and likely to catch regressions for the requested work; report any skipped broader checks as residual risk.
  • --full-flow
    : ask concise clarification questions when inputs, scope, ownership, acceptance criteria, or decisions are unclear; do not silently assume material requirements.
  • In
    --full-flow
    , verify upstream and downstream artifacts, decision-log entries, traceability links, acceptance criteria, and validation evidence before finalizing.
  • In
    --full-flow
    , run or recommend the skill-appropriate gates, reviews, scripts, and validation commands needed for end-to-end confidence; document any blocked verification explicitly.
  • When neither flag is supplied, follow the skill default rules and choose the least risky behavior for the request size and domain.
  • 支持两种明确的执行标志:
    --quick-flow
    --full-flow
  • 若同时提供两个标志,
    --full-flow
    优先级更高,因为它是更严格的模式。
  • --quick-flow
    :快速推进,利用现有上下文开展高质量工作;除非继续推进会造成产品、安全、合规、数据丢失或不可逆的实施风险,否则避免提出澄清问题。
  • --quick-flow
    模式下,使用已记录的假设、推荐默认值、现有仓库模式及最近可用的产物证据;将重要假设和决策记录在
    decision-log.md
    中。
  • --quick-flow
    模式下,仅运行与请求工作直接相关、成本低且可能发现回归问题的针对性检查;将所有跳过的更广泛检查作为残留风险上报。
  • --full-flow
    :当输入、范围、所有权、验收标准或决策不明确时,提出简洁的澄清问题;不得默认重要需求。
  • --full-flow
    模式下,最终定稿前需验证上下游产物、决策日志条目、可追溯性链接、验收标准及验证证据。
  • --full-flow
    模式下,运行或推荐技能适配的关卡、评审、脚本及验证命令,以实现端到端的可信度;明确记录任何受阻的验证环节。
  • 若未提供任何标志,遵循技能默认规则,并根据请求规模和领域选择风险最低的行为。

0.3 Output Rules

0.3 输出规则

  • Keep output structured with headings and bullets.
  • Make findings, gaps, risks, and blockers explicit.
  • Tie recommendations to evidence from the provided artifact,
    specs-refiniment/<feature-name>/<file.md>
    workspace, or user context.
  • Include role ownership when the output creates follow-up work for BA, QA, Dev, PM, or Delivery.
  • Return progress, completion, validation, and handoff summaries directly in the Codex response.
  • Before the final response, emit the
    ai-sdlc-handoff/v1
    contract with
    result
    ,
    blockers
    ,
    next_required
    , and
    next_optional
    ; every action includes
    reason
    ,
    command
    , and
    expected_artifact
    .
  • Do not create
    summary.txt
    ,
    *-summary.txt
    , or another standalone summary file unless the user explicitly requests one.
  • Keep durable writes limited to the canonical lifecycle artifacts, decision log, human-readable index, and
    _ai_sdlc
    machine files.
  • Let shared helpers migrate legacy paths on the next write; never overwrite or manually merge divergent legacy and canonical files.
  • 输出需使用标题和项目符号保持结构化。
  • 明确指出发现结果、缺口、风险及阻塞点。
  • 建议需与提供的产物、
    specs-refiniment/<feature-name>/<file.md>
    工作区或用户上下文的证据关联。
  • 若输出为BA、QA、Dev、PM或交付团队产生后续工作,需明确角色归属。
  • 在Codex响应中直接返回进度、完成情况、验证及交接摘要。
  • 在最终响应前,输出
    ai-sdlc-handoff/v1
    契约,包含
    result
    blockers
    next_required
    next_optional
    ;每个操作需包含
    reason
    command
    expected_artifact
  • 除非用户明确要求,否则不得创建
    summary.txt
    *-summary.txt
    或其他独立摘要文件。
  • 持久化写入仅限于规范生命周期产物、决策日志、人类可读索引及
    _ai_sdlc
    机器文件。
  • 让共享助手在下次写入时迁移旧路径;不得覆盖或手动合并不一致的旧文件与规范文件。

0.4 Artifact Routing

0.4 产物路由

  • Maintain a feature decision log whenever this skill records, resolves, changes, or depends on a product, delivery, QA, security, validation, branching, implementation, or rollout decision.
  • For PM, BA, QA, Delivery, discovery, planning, refinement, and readiness work, write decisions to
    specs-refiniment/<feature-name>/decision-log.md
    .
  • For developer implementation SDD work, write decisions to
    specs/<feature-name>/decision-log.md
    .
  • Each decision-log entry must include date, decision, context or evidence, options considered when relevant, owner, status, and links to affected artifacts, tasks, tests, or validation evidence.
  • Use this exact decision-log structure:
    markdown
    # Decision Log
    
    | ID | Date | Status | Owner | Decision | Context/Evidence | Options Considered | Affected Artifacts | Validation/Trace Links |
    | --- | --- | --- | --- | --- | --- | --- | --- | --- |
    | DEC-001 | YYYY-MM-DD | proposed / accepted / superseded / rejected | role or name | concise decision | source facts, artifact links, or evidence | option A; option B; recommended default | affected docs, tasks, code, tests, or rollout notes | requirement IDs, test IDs, validation commands, PRs, commits, or tickets |
  • When writing or updating files, place PM, BA, QA, Delivery, discovery, planning, refinement, and readiness artifacts at
    specs-refiniment/<feature-name>/<file.md>
    .
  • Use the path pattern
    specs-refiniment/<feature-name>/<file.md>
    ; choose a stable feature slug when known, otherwise use
    tbd-<short-topic>
    for
    <feature-name>
    .
  • Do not write this skill's output into
    specs/
    ; that folder is reserved for developer implementation SDD artifacts.
  • If the user explicitly asks to convert a refined artifact into developer implementation work, hand off to
    $ai-sdlc-sdd
    .
  • 每当本技能记录、解决、变更或依赖产品、交付、QA、安全、验证、分支、实施或发布决策时,需维护功能决策日志。
  • 针对PM、BA、QA、交付、探索、规划、细化及就绪工作,将决策写入
    specs-refiniment/<feature-name>/decision-log.md
  • 针对开发者实施SDD工作,将决策写入
    specs/<feature-name>/decision-log.md
  • 每个决策日志条目必须包含日期、决策内容、上下文或证据、相关备选方案(如有)、负责人、状态,以及关联产物、任务、测试或验证证据的链接。
  • 使用以下精确的决策日志结构:
    markdown
    # Decision Log
    
    | ID | Date | Status | Owner | Decision | Context/Evidence | Options Considered | Affected Artifacts | Validation/Trace Links |
    | --- | --- | --- | --- | --- | --- | --- | --- | --- |
    | DEC-001 | YYYY-MM-DD | proposed / accepted / superseded / rejected | role or name | concise decision | source facts, artifact links, or evidence | option A; option B; recommended default | affected docs, tasks, code, tests, or rollout notes | requirement IDs, test IDs, validation commands, PRs, commits, or tickets |
  • 写入或更新文件时,将PM、BA、QA、交付、探索、规划、细化及就绪产物存放至
    specs-refiniment/<feature-name>/<file.md>
    路径下。
  • 使用路径模式
    specs-refiniment/<feature-name>/<file.md>
    ;若已知稳定功能别名则使用该别名,否则
    <feature-name>
    使用
    tbd-<short-topic>
  • 不得将本技能的输出写入
    specs/
    文件夹;该文件夹专为开发者实施SDD产物保留。
  • 若用户明确要求将细化产物转换为开发者实施工作,需交接给
    $ai-sdlc-sdd

0.5 Feature State Machine

0.5 功能状态机

  • Maintain feature lifecycle state in TOON at
    specs-refiniment/<feature-name>/_ai_sdlc/state.toon
    for refinement work and
    specs/<feature-name>/_ai_sdlc/state.toon
    for implementation work.
  • Before executing this skill for a feature, check the state machine with
    python3 skills/_shared/state_machine.py check --feature <feature-name> --skill <this-skill-name> --workspace <refinement|implementation> --quick-flow|--full-flow
    .
  • When this skill starts durable work, mark it in progress with
    begin
    ; when the skill's required artifact or review is complete, mark it done with
    complete
    and include
    --artifacts <path>
    plus
    --decision-ref DEC-###
    when a decision was involved.
  • In
    --full-flow
    , do not proceed when predecessor stages are incomplete, another lifecycle skill is active, or the state file reports a blocker.
  • In
    --quick-flow
    , a predecessor skip is allowed only when continuing is low risk and the command includes
    --assumption "..."
    or
    --decision-ref DEC-###
    ; record the same assumption or decision in
    decision-log.md
    .
  • Use
    python3 skills/_shared/state_machine.py status --feature <feature-name> --workspace <refinement|implementation> --format toon
    to emit compact LLM-readable state before choosing the next skill.
  • The state machine is feature-scoped: do not reuse a
    state.toon
    across unrelated feature folders.
  • 在TOON中维护功能生命周期状态:细化工作存放至
    specs-refiniment/<feature-name>/_ai_sdlc/state.toon
    ,实施工作存放至
    specs/<feature-name>/_ai_sdlc/state.toon
  • 为某功能执行本技能前,使用
    python3 skills/_shared/state_machine.py check --feature <feature-name> --skill <this-skill-name> --workspace <refinement|implementation> --quick-flow|--full-flow
    检查状态机。
  • 当本技能开始持久化工作时,用
    begin
    标记为进行中;当技能所需产物或评审完成时,用
    complete
    标记为已完成,若涉及决策需添加
    --artifacts <path>
    --decision-ref DEC-###
  • --full-flow
    模式下,当前驱阶段未完成、其他生命周期技能处于活跃状态或状态文件报告阻塞时,不得继续推进。
  • --quick-flow
    模式下,仅当继续推进风险较低且命令包含
    --assumption "..."
    --decision-ref DEC-###
    时,才允许跳过前驱阶段;需在
    decision-log.md
    中记录相同的假设或决策。
  • 使用
    python3 skills/_shared/state_machine.py status --feature <feature-name> --workspace <refinement|implementation> --format toon
    输出紧凑的LLM可读状态,再选择下一个技能。
  • 状态机以功能为范围:不得在无关功能文件夹间复用
    state.toon

0.6 Artifact Metadata And Metatags

0.6 产物元数据与元标签

  • Every Markdown artifact generated or updated by this skill must start with an
    artifact_metadata
    YAML frontmatter block before the first visible heading.
  • Use schema
    ai-sdlc-artifact-metadata/v1
    and keep these fields current:
    feature
    ,
    artifact
    ,
    path
    ,
    workspace
    ,
    skill
    ,
    flow_mode
    ,
    state_file
    ,
    decision_log
    ,
    status
    ,
    owner
    ,
    created_at
    ,
    updated_at
    ,
    trace_ids
    ,
    related_artifacts
    ,
    validation
    , and
    metatags
    .
  • metatags
    must include at minimum
    ai-sdlc
    , the workspace (
    refinement
    or
    implementation
    ), this skill name, the artifact type or filename stem, and a lifecycle/status tag such as
    draft
    ,
    review
    ,
    approved
    , or
    validated
    .
  • When
    --quick-flow
    is active, set
    flow_mode: quick
    , keep assumptions visible in the body, and add tags for major defaults or unresolved risk only when they help retrieval.
  • When
    --full-flow
    is active, set
    flow_mode: full
    , keep blockers and validation evidence reflected in
    status
    ,
    validation
    ,
    trace_ids
    , and
    related_artifacts
    .
  • Update metadata whenever the artifact path, status, owner, trace links, validation evidence, related artifacts, or decision references change.
  • Metadata is an index for routing, retrieval, and traceability; it does not replace the artifact body,
    decision-log.md
    , or
    state.toon
    .
  • 本技能生成或更新的每个Markdown产物,必须在第一个可见标题前添加
    artifact_metadata
    YAML前置块。
  • 使用
    ai-sdlc-artifact-metadata/v1
    schema,并保持以下字段更新:
    feature
    artifact
    path
    workspace
    skill
    flow_mode
    state_file
    decision_log
    status
    owner
    created_at
    updated_at
    trace_ids
    related_artifacts
    validation
    metatags
  • metatags
    至少需包含
    ai-sdlc
    、工作区(
    refinement
    implementation
    )、本技能名称、产物类型或文件名主干,以及生命周期/状态标签(如
    draft
    review
    approved
    validated
    )。
  • --quick-flow
    激活时,设置
    flow_mode: quick
    ,在正文中显示假设,仅当有助于检索时才添加主要默认值或未解决风险的标签。
  • --full-flow
    激活时,设置
    flow_mode: full
    ,在
    status
    validation
    trace_ids
    related_artifacts
    中反映阻塞点和验证证据。
  • 当产物路径、状态、负责人、追溯链接、验证证据、关联产物或决策引用发生变化时,更新元数据。
  • 元数据是用于路由、检索和可追溯性的索引;不得替代产物正文、
    decision-log.md
    state.toon

0.7 Specs Index

0.7 规格索引

  • Before searching across feature folders, inspect the compact LLM index first:
    specs-refiniment/_ai_sdlc/specs-index.toon
    for refinement work or
    specs/_ai_sdlc/specs-index.toon
    for implementation work.
  • Use the human-readable index at
    specs-refiniment/specs-index.md
    or
    specs/specs-index.md
    when reporting feature coverage, artifact inventory, or handoff status to people.
  • After this skill creates or materially updates an artifact, refresh the matching workspace index with
    python3 skills/_shared/ai_sdlc_specs_index.py --workspace <refinement|implementation> --quick-flow|--full-flow
    .
  • In
    --quick-flow
    , rely on
    specs-index.toon
    to choose the smallest relevant artifact set before opening files.
  • In
    --full-flow
    , verify the updated artifact appears in both
    specs-index.toon
    and
    specs-index.md
    before final handoff.
  • The specs index summarizes artifact metadata and state; it does not replace reading the selected source artifacts when details, approvals, or validation evidence matter.
  • 在跨功能文件夹搜索前,先检查紧凑的LLM索引:细化工作使用
    specs-refiniment/_ai_sdlc/specs-index.toon
    ,实施工作使用
    specs/_ai_sdlc/specs-index.toon
  • 向人员汇报功能覆盖范围、产物清单或交接状态时,使用人类可读索引
    specs-refiniment/specs-index.md
    specs/specs-index.md
  • 本技能创建或大幅更新产物后,使用
    python3 skills/_shared/ai_sdlc_specs_index.py --workspace <refinement|implementation> --quick-flow|--full-flow
    刷新匹配的工作区索引。
  • --quick-flow
    模式下,依赖
    specs-index.toon
    选择最小的相关产物集,再打开文件。
  • --full-flow
    模式下,最终交接前需验证更新后的产物是否同时出现在
    specs-index.toon
    specs-index.md
    中。
  • 规格索引汇总产物元数据和状态;当细节、审批或验证证据重要时,不得替代读取选定的源产物。

0.8 Complete Refinement Cascade

0.8 完整细化流程

  • Trigger the complete cascade only when the user explicitly asks for a full, complete, or end-to-end spec refinement or asks for every refinement artifact. A normal
    --full-flow
    call for one skill remains single-stage.
  • Before the first durable write, run
    python3 skills/_shared/refinement_status.py --feature <feature-name> --gate full --format toon
    and start with the earliest reported
    next_skill
    , including stages earlier than this skill.
  • Execute the existing refinement skills in lifecycle order with
    --full-flow
    : discovery, PRFAQ, delivery-package gap review, requirements readiness, goal/capability mapping, backlog gap review, backlog decomposition, story decomposition, release slicing, BA context, delivery spec, QA plan, QA gap review, test strategy, test cases, test suite, QA readiness, and delivery handoff.
  • Produce all 18 canonical Markdown artifacts.
    release-slicing.md
    is mandatory for a complete cascade; when release slicing is not applicable, write an explicit evidence-backed N/A artifact and complete the stage instead of skipping it.
  • After every stage, finalize its artifact, record required decisions, mark the stage
    done
    , and refresh the refinement indexes before selecting the next skill.
  • Do not declare the cascade complete until
    python3 skills/_shared/refinement_status.py --feature <feature-name> --gate full --format markdown
    exits successfully with
    18/18
    . If it fails, continue with the reported next skill or return the concrete blocker and remaining inventory in Codex.
  • Surface checkpoint and final summaries in Codex only; never persist a cascade summary as a text file.
  • 仅当用户明确要求完整或端到端的规格细化,或要求所有细化产物时,才触发完整流程。普通的
    --full-flow
    单技能调用仍为单阶段。
  • 在首次持久化写入前,运行
    python3 skills/_shared/refinement_status.py --feature <feature-name> --gate full --format toon
    ,从报告的最早
    next_skill
    开始,包括早于本技能的阶段。
  • 按生命周期顺序使用
    --full-flow
    执行现有细化技能:探索、PRFAQ、交付包缺口评审、需求就绪度、目标/能力映射、待办事项缺口评审、待办事项分解、用户故事分解、发布切片、BA上下文、交付规格、QA规划、QA缺口评审、测试策略、测试用例、测试套件、QA就绪度及交付交接。
  • 生成全部18个规范Markdown产物。
    release-slicing.md
    是完整流程的必填项;若发布切片不适用,需写入明确的基于证据的N/A产物并完成该阶段,不得跳过。
  • 每个阶段完成后,定稿其产物、记录必要决策、标记阶段为
    done
    ,并在选择下一个技能前刷新细化索引。
  • 仅当
    python3 skills/_shared/refinement_status.py --feature <feature-name> --gate full --format markdown
    成功退出且显示
    18/18
    时,才可宣布流程完成。若失败,继续执行报告的下一个技能,或在Codex中返回具体阻塞点和剩余清单。
  • 仅在Codex中显示检查点和最终摘要;不得将流程摘要持久化为文本文件。

References

参考资料

  • Use
    scripts/qa_plan_scaffold.py
    when deterministic scaffolding, planning, or formatting is useful for this workflow; pass the same
    --quick-flow
    or
    --full-flow
    flag that was supplied to the skill.
  • Read
    references/qa-plan-template.md
    when the task needs the detailed structure, checklist, or examples for this skill.
  • 当本工作流需要确定性脚手架、规划或格式化时,使用
    scripts/qa_plan_scaffold.py
    ;传入与技能相同的
    --quick-flow
    --full-flow
    标志。
  • 当任务需要本技能的详细结构、检查清单或示例时,阅读
    references/qa-plan-template.md

Script Usage

脚本使用

  • In default and full flow, always run this skill's primary analysis script with
    --format toon --budget-tokens 24000
    before drafting; explicit inputs are priority evidence but do not replace the rest of the feature package.
  • Read this skill's reference file before writing sections. Use its detailed tables and quality bar, not only the compact scaffold headings.
  • Run the primary script with
    --emit-template
    in the active flow mode to obtain the exact shared context headings and required stage table columns before section writes.
  • Make every default/full artifact self-contained by completing all ten shared feature-context sections plus the stage-specific profile sections. Quick flow may use the compact stage-only draft.
  • Follow every
    next_reads
    entry before finalization and list every consumed source in
    Source Coverage
    ; do not claim whole-feature context from a partial source set.
  • Keep the final artifact within
    --max-artifact-tokens 24000
    ; condense repetition instead of dropping feature dimensions or source traceability.
  • Run
    scripts/qa_plan_scaffold.py
    before drafting or updating this skill's artifact when inputs are longer than a few bullets, when traceability matters, or when a flow flag is supplied. For agent analysis, pass
    --format toon
    , read
    anchors
    first, and open only
    next_reads
    ; without that flag the script keeps its human-readable Markdown output.
  • Quick flow analysis:
    python3 skills/ai-sdlc-qa/scripts/qa_plan_scaffold.py --feature <feature-name> --quick-flow <input.md>...
  • Full flow analysis:
    python3 skills/ai-sdlc-qa/scripts/qa_plan_scaffold.py --feature <feature-name> --full-flow <input.md>...
  • To write content, pass one canonical heading with
    --section "<section>"
    ; provide only that section body on stdin, without H1, H2, frontmatter, or a temporary content file.
  • Repeat
    --section
    for each required section, then run the same script with
    --finalize
    to validate the artifact and refresh metadata and specs indexes.
  • The AI must not write or directly edit the routed Markdown artifact; the script owns scaffold creation, section placement, and durable file writes.
  • Use
    --decision-row
    with one nine-cell Markdown table row on stdin when a decision-log entry is required.
  • Legacy
    --emit-template
    ,
    --emit-decision-log-entry
    , and
    --write
    remain available for compatibility.
  • Use
    --quick-flow
    for first-pass synthesis with assumptions; use
    --full-flow
    before readiness, handoff, signoff, or any decision-sensitive output.
  • 在默认和完整流程中,起草前需始终使用
    --format toon --budget-tokens 24000
    运行本技能的核心分析脚本;明确输入是优先证据,但不能替代其余功能包内容。
  • 写入章节前阅读本技能的参考文件。使用其详细表格和质量标准,而非仅使用紧凑的脚手架标题。
  • 在当前流程模式下,运行核心脚本并添加
    --emit-template
    ,以获取精确的共享上下文标题和必要阶段表格列,再进行章节写入。
  • 每个默认/完整产物需包含所有10个共享功能上下文章节及阶段特定配置文件章节,确保自包含。快速流程可使用紧凑的仅阶段草稿。
  • 定稿前遵循每个
    next_reads
    条目,并在
    Source Coverage
    中列出所有使用的源;不得从部分源集声称拥有完整功能上下文。
  • 最终产物需控制在
    --max-artifact-tokens 24000
    范围内;压缩重复内容,而非删除功能维度或源可追溯性。
  • 当输入超过几个项目符号、可追溯性重要或提供了流程标志时,起草或更新本技能产物前需运行
    scripts/qa_plan_scaffold.py
    。对于Agent分析,传入
    --format toon
    ,先读取
    anchors
    ,再打开仅
    next_reads
    ;若无该标志,脚本保持人类可读的Markdown输出。
  • 快速流程分析:
    python3 skills/ai-sdlc-qa/scripts/qa_plan_scaffold.py --feature <feature-name> --quick-flow <input.md>...
  • 完整流程分析:
    python3 skills/ai-sdlc-qa/scripts/qa_plan_scaffold.py --feature <feature-name> --full-flow <input.md>...
  • 要写入内容,传入一个规范标题并添加
    --section "<section>"
    ;仅在标准输入中提供该章节正文,不得包含H1、H2、前置块或临时内容文件。
  • 对每个必要章节重复
    --section
    操作,然后运行相同脚本并添加
    --finalize
    以验证产物、刷新元数据和规格索引。
  • AI不得直接写入或编辑路由的Markdown产物;脚本负责脚手架创建、章节放置及持久化文件写入。
  • 当需要决策日志条目时,使用
    --decision-row
    并在标准输入中提供一行九单元格的Markdown表格。
  • 旧版
    --emit-template
    --emit-decision-log-entry
    --write
    仍可兼容使用。
  • 使用
    --quick-flow
    进行基于假设的首次合成;在就绪、交接、签核或任何决策敏感输出前使用
    --full-flow

Purpose

用途

Produce QA acceptance, regression, manual-check, and signoff evidence for AI SDLC changes. Return the QA plan as an internal refinement artifact and place it under
specs-refiniment/<feature-name>/<file.md>
when writing files.
为AI SDLC变更生成QA验收、回归、手动检查及签核证据。返回QA计划作为内部细化产物;写入文件时,将其存放至
specs-refiniment/<feature-name>/<file.md>
路径下。

Inputs

输入

  • Read the relevant requirements, stories, delivery spec, existing
    specs-refiniment/<feature-name>/<file.md>
    QA notes, test cases, and release context.
  • Collect the changed files or diff when QA is based on an implementation.
  • Collect validation output from
    $ai-sdlc-validation
    when checks have already run.
  • Collect release context, user roles, provider names, asset symbols, endpoints, or UI surfaces affected by the change.
  • Read
    references/qa-plan-template.md
    when the QA plan needs reusable acceptance or regression wording.
  • 读取相关需求、用户故事、交付规格、现有
    specs-refiniment/<feature-name>/<file.md>
    中的QA笔记、测试用例及发布上下文。
  • 当QA基于实施工作时,收集变更文件或差异内容。
  • 若已运行检查,收集
    $ai-sdlc-validation
    的验证输出。
  • 收集发布上下文、用户角色、提供商名称、资产符号、端点或受变更影响的UI界面。
  • 当QA计划需要可复用的验收或回归表述时,阅读
    references/qa-plan-template.md

Steps

步骤

  1. Define the change boundary in one sentence.
  2. Rank QA risks by user impact, money/asset impact, security impact, provider impact, and regression likelihood.
  3. Write acceptance scenarios with actor, setup, action, expected result, evidence type, and risk.
  4. Write regression targets for existing behavior that must remain stable.
  5. Separate automated validation from manual or exploratory checks.
  6. Record exact validation commands and outcomes when already run.
  7. Mark unrun checks as planned or skipped with a concrete reason and residual risk.
  8. Write or update the QA artifact under
    specs-refiniment/<feature-name>/<file.md>
    when file output is requested.
  9. Use
    $ai-sdlc-test-cases
    when the missing artifact is scenario-to-test automation design.
  10. Use
    $ai-sdlc-validation
    when commands need to be selected or executed.
  1. 用一句话定义变更边界。
  2. 按用户影响、资金/资产影响、安全影响、提供商影响及回归可能性对QA风险进行排序。
  3. 编写验收场景,包含参与者、前置条件、操作、预期结果、证据类型及风险等级。
  4. 编写需保持稳定的现有行为回归目标。
  5. 区分自动化验证与手动或探索性检查。
  6. 记录已运行的精确验证命令及结果。
  7. 将未运行的检查标记为计划中或已跳过,并说明具体原因及残留风险。
  8. 若要求输出文件,在
    specs-refiniment/<feature-name>/<file.md>
    路径下写入或更新QA产物。
  9. 当缺失场景到测试自动化设计的产物时,使用
    $ai-sdlc-test-cases
  10. 当需要选择或执行命令时,使用
    $ai-sdlc-validation

Output Spec

输出规范

Use this format:
text
QA plan:
- Change boundary: one sentence.

Acceptance scenarios:
- QA-001:
  Actor: role or system.
  Setup: required state.
  Action: user/API/system action.
  Expected result: observable result.
  Evidence: automated test | manual check | not yet covered.
  Risk: high | medium | low and reason.

Regression targets:
- Existing behavior and why it is at risk.

Validation evidence:
- command -> passed | failed | skipped: reason.

Manual checks:
- Check, environment, expected result, and owner if known.

Signoff:
- Ready | blocked | partial, with reason.
Quality gate:
  • Pass when every acceptance scenario has actor, setup, action, expected result, evidence, and risk.
  • Fail when a scenario says only "verify it works", when skipped validation has no reason, or when the plan claims a pass without executed evidence.
使用以下格式:
text
QA plan:
- Change boundary: one sentence.

Acceptance scenarios:
- QA-001:
  Actor: role or system.
  Setup: required state.
  Action: user/API/system action.
  Expected result: observable result.
  Evidence: automated test | manual check | not yet covered.
  Risk: high | medium | low and reason.

Regression targets:
- Existing behavior and why it is at risk.

Validation evidence:
- command -> passed | failed | skipped: reason.

Manual checks:
- Check, environment, expected result, and owner if known.

Signoff:
- Ready | blocked | partial, with reason.
质量关卡:
  • 当每个验收场景包含参与者、前置条件、操作、预期结果、证据及风险时,视为通过。
  • 当场景仅写"验证可用"、跳过的验证未说明原因,或计划无执行证据却声称通过时,视为失败。

Examples

示例

Valid QA scenario:
text
- QA-001:
  Actor: operations user.
  Setup: organization has BitGo configured with one enterprise wallet.
  Action: open the custodian setup endpoint.
  Expected result: response includes the BitGo enterprise ID and wallet display label without exposing secrets.
  Evidence: transport test plus manual API response review.
  Risk: high because incorrect wallet scope can block settlement operations.
Invalid counter-example:
text
Acceptance scenarios:
- Test the endpoint.
Reject this because it lacks setup, action, expected result, evidence, and risk.
有效QA场景:
text
- QA-001:
  Actor: operations user.
  Setup: organization has BitGo configured with one enterprise wallet.
  Action: open the custodian setup endpoint.
  Expected result: response includes the BitGo enterprise ID and wallet display label without exposing secrets.
  Evidence: transport test plus manual API response review.
  Risk: high because incorrect wallet scope can block settlement operations.
无效反例:
text
Acceptance scenarios:
- Test the endpoint.
拒绝该示例,因其缺少前置条件、操作、预期结果、证据及风险。

Edge Cases

边缘情况

  • State
    blocked
    when no environment, fixture, credentials, or sample payload exists for a manual check.
  • Do not mark manual QA as passed from code inspection alone.
  • Mark flaky or nondeterministic evidence as partial and name the unstable dependency.
  • Use redacted examples for provider payloads; never include secrets or production-only values.
  • Keep QA signoff separate from developer validation when acceptance requires human workflow review.
  • 当手动检查缺少环境、测试数据、凭证或示例负载时,标记为
    blocked
  • 不得仅通过代码检查就标记手动QA为已通过。
  • 将不稳定或非确定性证据标记为部分通过,并指出不稳定依赖项。
  • 对提供商负载使用脱敏示例;不得包含机密信息或仅生产环境可用的值。
  • 当验收需要人工工作流评审时,将QA签核与开发者验证分开。

Scope Boundary

范围边界

  • Do not implement automated tests; use
    $ai-sdlc-test-cases
    to design tests and normal coding workflow to implement them.
  • Do not select broad test suites by default; use
    $ai-sdlc-validation
    .
  • Do not approve product scope; use
    $ai-sdlc-ba
    for unresolved business decisions.
  • Do not claim release readiness when validation, manual checks, or signoff are incomplete.
  • 不得实现自动化测试;使用
    $ai-sdlc-test-cases
    设计测试,使用常规编码工作流实现测试。
  • 默认不得选择宽泛的测试套件;使用
    $ai-sdlc-validation
  • 不得批准产品范围;未解决的业务决策需使用
    $ai-sdlc-ba
  • 当验证、手动检查或签核未完成时,不得声称发布就绪。