smoke-testlisted
Install: claude install-skill sohei56/maul-team
## Inputs
- state.json → phase: "integration_sprint"
- requirements.md (endpoint/workflow discovery)
- Project source code
## Outputs
- `.scrum/test-results.json`
## Preconditions
- Developer teammate assigned to Integration Sprint testing
- ≥1 Development Sprint completed (tests exist)
## Steps
### 1. Record via the wrapper (no manual init)
All writes to `.scrum/test-results.json` go through
`.scrum/scripts/record-test-result.sh` — direct edits are blocked by the
scrum-state guard. The wrapper **creates the file on the first call**,
upserts each category by `--name` (re-running a suite after a fix
replaces that category's prior result instead of duplicating it), and
**recomputes `overall_status` automatically** on every call. No manual
initialization step is needed.
### 2. Detect test frameworks
Check project root, collect ALL matches:
- package.json "test"→`npm test` (unit)
- package.json "test:e2e"→`npm run test:e2e` (e2e)
- package.json "test:integration"→`npm run test:integration` (integration)
- pytest.ini / pyproject.toml [tool.pytest] / tests/*.py→`python -m pytest` (unit)
- Cargo.toml→`cargo test` (unit)
- go.mod→`go test ./...` (unit)
- Makefile test target→`make test` (unit)
- tests/*.bats→`bats tests/` (unit)
None detected→status: "skipped", runner_command: "none detected"
### 3. Run detected tests
Each runner: execute→capture exit code + output→parse pass/fail counts→record the TestCategory via the wrapper:
```bash
.scrum/scripts/record-test-result.