spec:test-all
npx skills add https://github.com/ikatsuba/skills --skill spec:test-all
Agent 安装分布
Skill 文档
Execute All Tests
Walks through all pending test cases from a specification’s test plan document. Presents each test sequentially, waits for user results, and commits after each test.
When to use
Use this skill when the user needs to:
- Run through the entire test plan in one session
- Execute all remaining tests from a partially completed plan
- Complete the full manual testing phase
Specification Files Structure
All specification documents are located in .specs/<spec-name>/ directory:
| File | Description |
|---|---|
.specs/<spec-name>/test-plan.md |
Manual test plan with test cases |
Instructions
Step 1: Locate and Read Test Plan
- If
<args>contains a spec name, look in.specs/<spec-name>/test-plan.md - If no spec name provided, list available specs in
.specs/and use theAskUserQuestiontool to let the user choose - Read and parse
test-plan.md - Show the user a summary: total tests, how many passed/failed/skipped/pending
Step 2: Loop Through Tests
For each pending test case (in document order), repeat the following:
Step 2a: Find Next Test
- Scan for the first test case marked as
[-](in progress) or[ ](pending) - Skip tests marked as
[x](passed),[!](failed), or[s](skipped) - If no pending tests remain, go to Step 3
Step 2b: Present the Test
- Mark the test case as
[-](in progress) intest-plan.md - Display to the user:
- Test number and name (e.g., “Test 2.3 of 12”)
- Preconditions
- Step-by-step instructions
- Expected result
- Requirements being verified
Step 2c: Collect Result
Use the AskUserQuestion tool to ask: “What was the result of this test?”
Options:
- “Passed” â test met expected result
- “Failed” â test did not meet expected result
- “Skipped” â test was not applicable or blocked
- “Stop testing” â end the session
If the user selects “Failed”, use the AskUserQuestion tool to ask: “What happened? Describe the failure.” with a free-text option.
If the user selects “Stop testing”, go to Step 3.
Step 2d: Update Test Plan
Based on the result:
- Passed: Mark the test case as
[x]intest-plan.md - Failed: Mark the test case as
[!]intest-plan.md. Add a failure note below the test case:- **FAILED:** [user's failure description] - Skipped: Mark the test case as
[s]intest-plan.md
If all test cases within a scenario group are now complete (all [x], [!], or [s]), mark the scenario group checkbox accordingly:
- All passed â
[x] - Any failed â
[!] - All skipped â
[s]
Step 2e: Update Summary Counters
Update the Summary section at the bottom of test-plan.md:
- Recount Passed, Failed, and Skipped from the current checkbox states
- Total remains the same
Step 2f: Commit Changes
- Stage
test-plan.md - Check if
test-plan.mdis tracked by git (rungit check-ignore .specs/<spec-name>/test-plan.md). If it is NOT ignored, invoke thegit:commitskill - Skip committing if the user explicitly asked not to commit
Step 2g: Continue Loop
Go back to Step 2a.
Step 3: Final Summary
After all tests are complete or the user stops:
- Read the final state of
test-plan.md - Display the Summary section:
- Total tests
- Passed count
- Failed count (list which tests failed)
- Skipped count
- If there are failures, list the failed test cases with their failure notes
- Use the
AskUserQuestiontool to ask: “What would you like to do next?” with options like “Re-test failed tests”, “Generate failure report”, “Done testing”
Error Handling
- If
test-plan.mddoes not exist, inform the user and suggest runningspec:test-planfirst - If the test plan has no pending tests, show the Summary and inform the user
Arguments
<args>– The spec name (e.g., “user-auth”, “payment-flow”)
If not provided, list available specs and ask the user to choose.