ワンクリックで
test-plan
Create a structured test plan with specific test cases and expected results
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a structured test plan with specific test cases and expected results
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Discover team members, delegate tasks, and track progress to completion
Prepare structured meeting agendas and pre-reads from task board, artifacts, and team context
Classify, prioritize, and route incoming incidents based on severity, category, and affected components
Classify incoming requests and route to the appropriate specialist agent
How to communicate with other agents on the system. Use when you need to ask questions, share information, or coordinate.
Compare options against weighted criteria with scored matrix, sensitivity analysis, and quantified recommendation
| name | test-plan |
| description | Create a structured test plan with specific test cases and expected results |
Use this skill when tasked with writing a test plan, validating a feature, or when you need to systematically verify that a component works correctly.
# Test Plan: [Feature/Component Name]
**Date:** YYYY-MM-DD
**Author:** [agent name]
**Target:** [file or component under test]
**Status:** Draft | Executing | Complete
## Scope
[What is being tested. What is explicitly NOT being tested.]
## Prerequisites
- [Dependency or setup step 1]
- [Dependency or setup step 2]
## Test Cases — Normal Operation
| ID | Description | Input | Expected Output | Status |
|----|-------------|-------|-----------------|--------|
| N1 | [typical use] | [specific input] | [specific output] | Pass/Fail/Blocked |
| N2 | ... | ... | ... | ... |
## Test Cases — Boundary Conditions
| ID | Description | Input | Expected Output | Status |
|----|-------------|-------|-----------------|--------|
| B1 | [edge case] | [specific input] | [specific output] | Pass/Fail/Blocked |
| B2 | ... | ... | ... | ... |
## Test Cases — Error Conditions
| ID | Description | Input | Expected Output | Status |
|----|-------------|-------|-----------------|--------|
| E1 | [invalid input] | [specific input] | [specific error] | Pass/Fail/Blocked |
| E2 | ... | ... | ... | ... |
## Results Summary
| Category | Total | Passed | Failed | Blocked |
|----------|-------|--------|--------|---------|
| Normal | N | N | N | N |
| Boundary | N | N | N | N |
| Error | N | N | N | N |
| **Total** | **N** | **N** | **N** | **N** |
# Read the task or feature description
bash /home/shared/scripts/task.sh get "$TASK_ID" | jq -r '.description'
# Read the source code to understand behavior
cat ~/workspace/src/target-module.js
# Read any existing tests
find ~/workspace/tests/ -name '*target*' -exec cat {} \;
These are the "happy path" scenarios — typical, expected usage:
# Example: testing a CLI tool
SCRIPT="~/workspace/scripts/tool.sh"
# N1: Basic valid input
bash "$SCRIPT" add --name "test-item" --type "task"
echo "Exit: $?"
# Expected: exit 0, item created
# N2: Multiple items
bash "$SCRIPT" add --name "item-1" --type "task"
bash "$SCRIPT" add --name "item-2" --type "task"
bash "$SCRIPT" list
echo "Exit: $?"
# Expected: exit 0, both items listed
Test the edges of valid input:
# B1: Empty string input
bash "$SCRIPT" add --name "" --type "task"
echo "Exit: $?"
# Expected: exit 1, validation error
# B2: Very long input
bash "$SCRIPT" add --name "$(python3 -c 'print("a"*10000)')" --type "task"
echo "Exit: $?"
# Expected: exit 1 or truncated gracefully
# B3: Special characters
bash "$SCRIPT" add --name 'test "with" <special> & chars' --type "task"
echo "Exit: $?"
# Expected: exit 0, characters properly escaped
# B4: Unicode
bash "$SCRIPT" add --name "test-unicode-cafe" --type "task"
echo "Exit: $?"
# Expected: exit 0, unicode preserved
Test invalid input and failure scenarios:
# E1: Missing required argument
bash "$SCRIPT" add 2>&1
echo "Exit: $?"
# Expected: exit 1, usage message
# E2: Invalid flag
bash "$SCRIPT" add --nonexistent "value" 2>&1
echo "Exit: $?"
# Expected: exit 1, error message
# E3: File not found
bash "$SCRIPT" get --id "nonexistent-id" 2>&1
echo "Exit: $?"
# Expected: exit 1, "not found" message
# E4: Permission denied (if applicable)
chmod 000 /tmp/test-file
bash "$SCRIPT" read --file /tmp/test-file 2>&1
echo "Exit: $?"
chmod 644 /tmp/test-file
# Expected: exit 1, permission error
Run each test case and record the actual result:
PASS=0
FAIL=0
BLOCKED=0
run_test() {
local id="$1"
local desc="$2"
local cmd="$3"
local expected_exit="$4"
echo -n "Test $id: $desc ... "
eval "$cmd" > /tmp/test-output-$id.txt 2>&1
actual_exit=$?
if [ "$actual_exit" -eq "$expected_exit" ]; then
echo "PASS"
PASS=$((PASS + 1))
else
echo "FAIL (expected exit $expected_exit, got $actual_exit)"
FAIL=$((FAIL + 1))
echo " Output: $(cat /tmp/test-output-$id.txt | head -5)"
fi
}
run_test "N1" "Basic valid input" "bash $SCRIPT add --name test --type task" 0
run_test "E1" "Missing required arg" "bash $SCRIPT add" 1
# ... more tests ...
echo ""
echo "Results: $PASS passed, $FAIL failed, $BLOCKED blocked"
TESTPLAN_FILE="/home/shared/testplan-$(date +%Y%m%d)-${COMPONENT}.md"
# Write the test plan with results filled in
# Use the template above, filling in actual Status column
# Register as artifact
bash /home/shared/scripts/artifact.sh register \
--name "testplan-${COMPONENT}" \
--type "test-plan" \
--path "$TESTPLAN_FILE" \
--description "Test plan and results for $COMPONENT"