Verification matrix
What to run after skill work, consumer app work, or archived package changes.
Pick the row that matches the change. Never claim a check passed without running it. Distinguish pre-existing failures from regressions you introduced.
| Situation | What to run |
|---|---|
| Behavioral routing fixture change | ./Scripts/validate-skill-evaluations.py |
Skill SKILL.md or manifest.json change |
./Scripts/verify-skills.sh |
| Installer behavior change | ./Scripts/verify-skills.sh + ./Scripts/test-install-skills.sh |
| Consumer app feature / bug fix | XcodeBuildMCP build + tests; $swift-testing-verification |
| Shared SwiftUI components | $apple-accessibility-review (+ design/component skills as needed) |
| Async / actors / Sendable | $swift-concurrency-review (+ strict concurrency build when practical) |
| Files, logging, permissions, imports | $apple-security-privacy-review |
| Critical UI flows | $maestro-apple-app-testing + XcodeBuildMCP |
| New app bootstrap complete | Bootstrap checklist + MCP build/test (+ optional screenshot) |
Docs site (docs/, Blume config) |
npm run build and npm run validate |
Archived package (archive/Sources/, etc.) |
Only if user asked: cd archive && ./Scripts/verify.sh — see ARCHIVE.md |
Reporting standard
Always report:
- Active project / workspace / scheme
- Simulator ID or device (not an unstable
OS=latestshorthand) - What commands or MCP tools ran
- Pass/fail and the next actionable step on failure
- Residual risk — untested paths, manual-only checks, environment gaps
Stop conditions
Stop and ask (or report blocked) when:
| Condition | Why |
|---|---|
| No clear consumer workspace for app work | Skills must not default into this repo’s archived package |
| XcodeBuildMCP MCP tools unavailable and neither CLI nor repository-native fallback is authorized | Report the exact capability failure and policy boundary; do not invent or silently run a fallback |
| Maestro required but CLI missing | Report blocker before speculative flows |
| User requested foundation audit but only ordinary routing ran | Audits are explicit — see Skill routing |
| Review-only request | Do not change code unless authorized |