Skip to content

feat: add /speckit.manual-test command for generating manual test guides - #4728

Closed
Vishuvishu wants to merge 2 commits into
github:mainfrom
Vishuvishu:add-speckit-manual-test-command
Closed

Vishuvishu wants to merge 2 commits into
github:mainfrom
Vishuvishu:add-speckit-manual-test-command

Conversation

@Vishuvishu

Copy link
Copy Markdown

Summary

Adds a new /speckit.manual-test command that generates a comprehensive manual test guide (test.md) for any feature developed with spec-kit. This fills a gap in the SDD workflow: after /speckit.plan produces contracts and acceptance scenarios, there is no built-in way to generate human-executable (curl-based) test documentation.

Files changed

File Change
templates/commands/manual-test.md New command template
templates/manual-test-template.md Scaffold template installed into .specify/templates/
templates/commands/plan.md Added manual-test handoff + optional next-steps block in Completion Report

Position in the SDD workflow

/speckit.specify → /speckit.clarify (opt) → /speckit.plan
  → /speckit.manual-test  ← NEW (optional quality gate)
  → /speckit.checklist    (opt)
→ /speckit.tasks → /speckit.analyze (opt) → /speckit.implement

Runs after plan (needs contracts + acceptance criteria to exist) and before tasks (the test guide informs implementation). Same optional-quality-gate position as /speckit.checklist.

What the command generates

A test.md file in the feature directory containing:

  • Prerequisites block — service URL, shell variable setup for tokens and IDs
  • One section per resource group — e.g. Provider Management, Verifications, Transient Flows
  • TEST-NN numbered test cases each with:
    • A **What it tests** line tracing back to a specific FR-### or acceptance scenario
    • Happy-path curl command with assertions
    • At least one ❌ Bad case block (wrong auth, invalid input, wrong state, etc.)
  • Edge Cases & Security Tests — 401/403 per role, PII log inspection, field boundary validation
  • State machine tests — valid transitions, invalid transitions, lazy expiry detection
  • Full end-to-end smoke test — single copy-paste bash script with step separators
  • Quick reference table — one row per test, method, path, auth, expected codes

Changes to plan.md

Added speckit.manual-test to the handoffs frontmatter so agents that support handoff menus surface it automatically. Added an explicit optional-next-steps block in the Completion Report so the AI always mentions the command after plan finishes — users do not need to know it exists.

Testing

The command follows the same structure as existing commands (checklist.md, analyze.md): pre-execution hook check, artifact loading via check-prerequisites.sh, generation, post-execution hook check, completion report. No changes to CLI infrastructure are required — the command is picked up automatically by the existing command-discovery logic in base.py (templates/commands/ scan).

Checklist

  • New command template added to templates/commands/
  • New scaffold template added to templates/
  • plan.md handoffs and Completion Report updated
  • Hook keys use consistent naming (before_manual_test / after_manual_test)
  • Follows existing command structure (pre-hooks, outline, post-hooks, completion report, done-when checklist)
  • No changes to CLI source code required

Adds a new /speckit.manual-test command that generates a comprehensive
manual test guide (test.md) for any feature developed with spec-kit.

## What this adds

- templates/commands/manual-test.md — new command template
- templates/manual-test-template.md — scaffold template for test.md
- templates/commands/plan.md — updated Completion Report to surface
  /speckit.manual-test as an optional next step after planning

## Why

After /speckit.plan generates contracts and acceptance scenarios, there
is no built-in way to generate human-executable test documentation.
Automated test suites (pytest, jest, etc.) exist as part of tasks/implement,
but teams also need a curl-based manual verification guide that:
- covers every endpoint with good and bad cases
- traces each test back to a specific acceptance scenario or FR-###
- includes auth role tests (401/403), state machine tests, PII log checks
- ends with a copy-paste end-to-end smoke test script

## Position in the SDD workflow

  /speckit.specify → /speckit.clarify (opt) → /speckit.plan
    → /speckit.manual-test (NEW, optional)  ← here
    → /speckit.checklist (opt)
  → /speckit.tasks → /speckit.analyze (opt) → /speckit.implement

Runs after plan (needs contracts + acceptance criteria) and before tasks
(the test guide informs what to implement). Same optional-quality-gate
position as /speckit.checklist.

## Changes to plan.md

Added /speckit.manual-test to the handoffs frontmatter so agents that
support handoff menus surface it automatically. Also added an explicit
optional-next-steps block in the Completion Report so the AI always
mentions the command after plan finishes, without requiring the user
to know it exists.
@Vishuvishu
Vishuvishu requested a review from mnriem as a code owner September 24, 2026 11:11
… extension

The /speckit.manual-test command is now published as a standalone community
extension at https://github.com/Vishuvishu/spec-kit-manual-test rather than
as a core command. This reverts the plan.md handoff and completion-report
changes that are no longer needed in core.
@Vishuvishu Vishuvishu closed this Sep 24, 2026
@Vishuvishu
Vishuvishu deleted the add-speckit-manual-test-command branch September 24, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant