一键导入
corgispec-qa-cli
CLI walkthrough — terminal-based verification of commands, flags, exit codes, pipes, and help output.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
CLI walkthrough — terminal-based verification of commands, flags, exit codes, pipes, and help output.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create or complete a CorgiSpec planning package and synchronize one GitHub parent issue plus Task Group child issues. Use when proposing a change whose normalized tracking provider is GitHub.
Create or complete a CorgiSpec planning package and optionally synchronize GitLab issues. Use when proposing a new change or finishing an existing change whose normalized tracking provider is GitLab or none.
Execute or resume a CorgiSpec Run Contract v2 one Task Group at a time through the canonical corgispec loop CLI. Use when starting, continuing, fixing, committing, recovering, or finalizing an implementation run; never write loop state or evidence artifacts directly.
Implement exactly one pending Task Group from a CorgiSpec change and optionally synchronize GitLab progress. Use when applying a change whose normalized tracking provider is GitLab or none.
Validate and archive a completed CorgiSpec change, extract durable knowledge, and optionally close GitLab tracking. Use when archiving a change whose normalized tracking provider is GitLab or none.
Compare fresh CorgiSpec planning, implementation, Git, and run evidence and close only implementation gaps through the canonical converge CLI. Use after implementation or review when deciding whether a change is converged, planning needs update, or a new append-only Task Group is required.
| name | corgispec-qa-cli |
| description | CLI walkthrough — terminal-based verification of commands, flags, exit codes, pipes, and help output. |
| license | MIT |
| compatibility | Requires a terminal environment with Bash tool access. |
| metadata | {"author":"corgispec","version":"1.0","generatedBy":"1.0.0"} |
Terminal-based verification of CLI commands, subcommands, flags, exit codes, and help output.
This skill guides systematic QA walkthrough of a CLI tool. It covers:
--help completeness checksUse this skill to verify that a CLI tool behaves correctly before release or after changes.
qa-testcases.md file exists and needs executionDo not use this skill for API testing, UI testing, or non-terminal verification.
qa-testcases.md file exists with test scenariosRun the CLI's top-level help to enumerate all available commands:
<cli> --help
For each subcommand discovered, also run:
<cli> <subcommand> --help
Record:
For each command and subcommand, check that --help output includes:
| Element | Present? |
|---|---|
| Usage/synopsis line | |
| Description | |
| All flags documented | |
| Required vs optional clearly marked | |
| Default values shown | |
| Examples section | |
| Exit codes documented |
Report any missing elements.
If a qa-testcases.md file exists in the project (check docs/, tests/, or project root), read it to obtain structured test scenarios. Each scenario typically includes:
Use these scenarios as the primary test plan. Execute them in order and record pass/fail for each.
For each command, run it with valid inputs and verify:
Exit code is 0 (or documented success code):
<cli> <command> <valid-args>
echo "Exit code: $?"
stdout contains expected output — capture and validate:
<cli> <command> <valid-args> 2>/dev/null
stderr is empty or contains only expected warnings:
<cli> <command> <valid-args> >/dev/null
Side effects occur — files created, state changed, etc.
For each command, trigger known error conditions:
Missing required flags:
<cli> <command> # omit required flags
echo "Exit code: $?"
Expect: non-zero exit code, helpful error on stderr.
Invalid flag values:
<cli> <command> --flag=invalid-value
echo "Exit code: $?"
Conflicting flags (if any documented):
<cli> <command> --flag-a --flag-b # mutually exclusive
echo "Exit code: $?"
Unknown commands/flags:
<cli> nonexistent-command
echo "Exit code: $?"
Missing dependencies or prerequisites: Simulate missing files, unreachable services, etc.
Verify each error scenario produces:
Test flags in combination:
| Combination | Type | Expected |
|---|---|---|
| All required flags only | Minimal valid | Success |
| Required + each optional flag | Additive | Success with modified behavior |
| Short flags (-v) vs long flags (--verbose) | Equivalence | Same behavior |
| Repeated flags (--flag --flag) | Duplication | Last wins or error |
| Conflicting flags | Mutual exclusion | Clear error message |
| Flag with = vs space separator | Syntax | Both accepted |
Document and verify all exit codes the CLI uses:
| Exit Code | Meaning | Verified? |
|---|---|---|
| 0 | Success | |
| 1 | General error | |
| 2 | Usage/argument error | |
| (others) | (tool-specific) |
Run scenarios that trigger each code and confirm with echo $?.
If the CLI respects environment variables:
# Test env var takes effect
ENV_VAR=value <cli> <command>
# Test env var vs flag precedence (flag should win)
ENV_VAR=env-value <cli> <command> --flag=flag-value
# Test unset env var uses default
unset ENV_VAR && <cli> <command>
Document which env vars are supported and their precedence relative to flags and config files.
Test that the CLI works correctly in pipelines:
# stdout is pipeable
<cli> <command> | grep "pattern"
# stdin is accepted (if applicable)
echo "input" | <cli> <command>
# stderr separate from stdout
<cli> <command> > stdout.txt 2> stderr.txt
# Exit code propagates correctly in pipes
<cli> <command> | false
echo "${PIPESTATUS[0]}"
Check that:
--no-color works)Produce a summary in this format:
## CLI QA Walkthrough Report
**Tool**: <cli-name> <version>
**Date**: <today>
**Test cases**: N total, P passed, F failed, S skipped
### Results
| ID | Command | Expected | Actual | Status |
|----|---------|----------|--------|--------|
| 1 | `<cmd>` | exit 0, output "OK" | exit 0, output "OK" | PASS |
| 2 | `<cmd>` | exit 1, stderr error | exit 0, no error | FAIL |
| ... | ... | ... | ... | ... |
### Failures Detail
#### [ID] <brief description>
- **Command**: `<full command>`
- **Expected**: <what should happen>
- **Actual**: <what happened>
- **Severity**: critical / major / minor
### --help Completeness
| Command | Complete? | Missing |
|---------|-----------|---------|
| `<cmd>` | Yes | — |
| `<sub>` | No | Examples, exit codes |
### Environment Variables
| Variable | Documented? | Works? | Precedence correct? |
|----------|-------------|--------|---------------------|
| `VAR_X` | Yes | Yes | Yes |
### Summary
- **Overall**: PASS / FAIL
- **Blockers**: <count and brief list>
- **Recommendations**: <brief list>
2> redirects)echo $? after)--help on every subcommand