run-full-suite
The comprehensive integration test runner for the project-wide speckit shell test layer.
Install
mkdir -p .claude/skills/run-full-suite && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18995" && unzip -o skill.zip -d .claude/skills/run-full-suite && rm skill.zipInstalls to .claude/skills/run-full-suite
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Discover and run all speckit shell test suites across every feature spec in the repository, then print a consolidated cross-spec summary.Key capabilities
- →Discover all speckit shell test suites
- →Run each test suite in sequence
- →Generate a consolidated cross-spec summary report
- →Filter suites by folder name or number
- →Stop execution after the first spec failure
How it works
The skill finds `run-all.sh` scripts in `specs/*/spec-integration-tests/` directories, runs them, and parses their output to create a summary. It can filter suites and stop on failure.
Inputs & outputs
When to use run-full-suite
- →Running all integration tests
- →Running filtered spec suites
- →Generating test summary reports
About this skill
Purpose
run-full-suite scans every specs/*/spec-integration-tests/ directory for a run-all.sh and/or tc-*.sh files, runs each suite in sequence, and produces a single consolidated report across all specs. This is the project-wide integration test runner equivalent of dotnet test for the speckit shell test layer.
User Input
$ARGUMENTS
- Empty: run every discovered spec suite
- Spec filter (e.g.
004,token,catalog): run only suites whose parent folder name contains the filter (case-insensitive) --list: print all discovered suites with TC counts, do not run--fail-fast: stop after the first spec suite that has any FAIL result
Execution Steps
Step 1 — Discover all spec suites
From the repo root, find all feature scripts directories:
find specs -maxdepth 3 -name "run-all.sh" | sort
For each found run-all.sh, derive:
SPEC_DIR— the parentspecs/{NNN}-{name}/folderSPEC_ID— the{NNN}-{name}folder nameTC_COUNT— number oftc-*.shfiles in the samespec-integration-tests/directoryHAS_CONFIG— whetherconfig.envexists in the scripts directory
If no run-all.sh files are found anywhere under specs/, stop and tell the user:
"No runnable spec suites found. Run /speckit-scripttest on one or more features first."
Apply the $ARGUMENTS filter: keep only suites whose SPEC_ID contains the filter string (case-insensitive). If the filter matches nothing, tell the user which suites exist and stop.
Step 2 — Handle --list
If $ARGUMENTS contains --list:
Print a discovery table and stop without running:
Discovered speckit test suites:
# Spec TC Scripts config.env Runnable
─── ────────────────────────────── ──────────── ──────────── ────────
1 004-token-wallet-service 27 ✓ ✓
2 005-token-adjusted-checkout 0 ✗ ✗ (no tc-*.sh yet)
…
Run '/run-full-suite' to execute all runnable suites.
Step 3 — Check shared prerequisites
Before running any suite, verify tools are available:
command -v curl || echo "WARN: curl not found — HTTP tests will fail across all suites"
command -v jq || echo "WARN: jq not found — JSON assertions will fail across all suites"
command -v psql || echo "WARN: psql not found — DB tests will fail across all suites"
command -v docker || echo "WARN: docker not found — detect-ports.sh (env var refresh) will not be able to derive PG_CONN"
Print a one-line warning for any missing tool. Do not block execution — scripts will report their own FAILs.
Step 4 — Run each suite
For each suite in discovery order (filtered if $ARGUMENTS specified):
-
Print a suite header:
════════════════════════════════════════════════════════ Suite: 004-token-wallet-service (27 scripts) ════════════════════════════════════════════════════════ -
Refresh env vars before running. If
specs/{SPEC_ID}/spec-integration-tests/detect-ports.shexists, run it with--updatefirst soconfig.envreflects the current AppHost run's ports and connection strings (Aspire reassigns ports/passwords on every restart, so a staleconfig.envwill cause spurious failures):
bash "specs/{SPEC_ID}/spec-integration-tests/detect-ports.sh" --update
If the script reports it cannot detect a running project (e.g. the AppHost isn't running), surface that warning to the user before continuing — the suite will likely fail without it.
3. Run the suite using `run_in_terminal`:
```bash
bash "specs/{SPEC_ID}/spec-integration-tests/run-all.sh"
-
Parse stdout for the
TEST SUMMARYblock — extractPassed,Failed,Skipped,Total. -
Store results as
{SPEC_ID, passed, failed, skipped, total, duration_seconds}. -
If
--fail-fastis set andfailed > 0: print the failure details for this suite, then stop and print the partial cross-spec summary (Step 5) with a note that execution was halted early. -
Continue to the next suite regardless of failures (unless
--fail-fast).
Step 5 — Cross-spec summary report
After all suites have run, print the consolidated report:
════════════════════════════════════════════════════════════════════
FULL SUITE REPORT — {ISO datetime}
════════════════════════════════════════════════════════════════════
Spec PASS FAIL SKIP TOTAL Status
───────────────────────────── ───── ───── ───── ───── ──────
004-token-wallet-service 25 2 0 27 ✗ FAIL
005-token-adjusted-checkout — — — — ○ NO SCRIPTS
…
─────────────────────────────────────────────────────────────────
TOTALS {N} {N} {N} {N}
Overall status: {PASS / FAIL}
════════════════════════════════════════════════════════════════════
Status key:
✓ PASS— all TCs in this suite passed✗ FAIL— one or more TCs failed (list them below the table)○ NO SCRIPTS— directory exists but has notc-*.shyet⚠ SKIPPED— suite was excluded by the filter argument
Failure detail block (printed below table if any failures):
Failures:
004-token-wallet-service
✗ tc-022.sh — FAIL: net_balance expected=0 actual=80
✗ tc-043.sh — FAIL: HTTP 409 expected, got 200
Step 6 — Exit guidance
- If all pass: "All {N} test cases passed across {M} spec suites."
- If failures exist:
- "Run
/speckit-runteststo re-run a single spec's suite." - "Run
/run-full-suite 004to isolate a specific spec."
- "Run
- If any suites show
NO SCRIPTS: "Run/speckit-scriptteston those features to generate scripts." - Exit code: surface the failed count — if any
FAIL > 0, treat the overall run as failed (useexit 1semantics when running in terminal).
When not to use it
- →When no runnable spec suites are found
- →When only listing discovered suites without running them
Limitations
- →Requires `run-all.sh` or `tc-*.sh` files in `spec-integration-tests/` directories
- →Requires `curl`, `jq`, `psql`, `docker` for full test coverage, with warnings if missing
- →Cannot derive `PG_CONN` if `docker` is not found
How it compares
This skill provides a project-wide integration test runner for speckit shell tests, consolidating results and offering filtering options, unlike running individual test scripts manually.
Compared to similar skills
run-full-suite side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| run-full-suite (this skill) | 0 | 13d | Caution | Intermediate |
| e2e-testing-patterns | 8 | 2mo | No flags | Intermediate |
| testing-workflow | 16 | 9mo | Review | Intermediate |
| perf-lighthouse | 13 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
e2e-testing-patterns
wshobson
Master end-to-end testing with Playwright and Cypress to build reliable test suites that catch bugs, improve confidence, and enable fast deployment. Use when implementing E2E tests, debugging flaky tests, or establishing testing standards.
testing-workflow
amo-tech-ai
Comprehensive testing workflow for E2E, integration, and unit tests. Use when testing applications layer-by-layer, validating user journeys, or running test suites.
perf-lighthouse
tech-leads-club
Run Lighthouse audits locally via CLI or Node API, parse and interpret reports, set performance budgets. Use when measuring site performance, understanding Lighthouse scores, setting up budgets, or integrating audits into CI. Triggers on: lighthouse, run lighthouse, lighthouse score, performance audit, performance budget.
xcodebuildmcp
cameroncooke
Official skill for XcodeBuildMCP. Use when doing iOS/macOS/watchOS/tvOS/visionOS work (build, test, run, debug, log, UI automation).
verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
playwright-pro
alirezarezvani
Production-grade Playwright testing toolkit. Use when the user mentions Playwright tests, end-to-end testing, browser automation, fixing flaky tests, test migration, CI/CD testing, or test suites. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting.