spec:test-next
npx skills add https://github.com/ikatsuba/skills --skill spec:test-next
Agent 安装分布
Skill 文档
Execute Next Test
Finds and presents the next pending test case from a specification’s test plan document. The user performs the test manually and reports the result.
When to use
Use this skill when the user needs to:
- Execute one test at a time with review between tests
- Continue testing a partially completed test plan
- Work through tests incrementally with manual control
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
Step 2: Find the Next Test
- Scan the document for checkbox markers
- Find the first test case that is:
- Marked as
[-](in progress) – resume this test first - Or marked as
[ ](pending) – start this test
- Marked as
- Skip tests marked as
[x](passed),[!](failed), or[s](skipped) - If all tests are complete, show the final Summary section and inform the user
Step 3: Present the Test
- Mark the test case as
[-](in progress) intest-plan.md - Display to the user:
- Test number and name
- Preconditions
- Step-by-step instructions
- Expected result
- Requirements being verified
Step 4: 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
If the user selects “Failed”, use the AskUserQuestion tool to ask: “What happened? Describe the failure.” with a free-text option.
Step 5: 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 6: 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 7: 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 8: Offer to Continue
Use the AskUserQuestion tool to ask: “Continue to next test?”
Options:
- “Continue with next test”
- “Stop here”
- “Review test plan”
If the user chooses to continue, go back to Step 2.
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.