agentsclimarketplace

Phase test rules

Skill zig999/siegard-code/dist/.claude/skills/phase-test-rules

Exit criteria checkers and worker routing table for the test (automated testing) phase. Consumed by orchestrator-test.md to dispatch test workers via select_worker.py and evaluate phase transition gates (check_all_test_tasks_terminal, check_all_tests_passed, check_no_critical_failures). DLQ tasks block transition. Not user-invocable — orchestrators call scripts directly.From its SKILL.md

Install
npx -y skills add zig999/siegard-code --skill phase-test-rules

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 4 commands, including `python3 .claude/skills/phase-test-rules/scripts/select_worker.py` and 3 more.

SKILL.md

4.3 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

phase-test-rules

Phase rules skill for the test (automated testing) phase. Provides exit criteria checkers and worker routing table consumed by orchestrator-test.md.

Contract

The orchestrator calls this skill's scripts directly. No inter-skill communication envelope needed. Every script returns a JSON object to stdout and exits 0 on success or 1 on error.


Phase identity

FieldValue
phase_nametest
order4
requiredtrue
worker_defaultu-test-runner

Worker routing table

Maps task.type + stack to worker sub-agent. All stacks route to the same worker — u-test-runner is stack-agnostic.

task.typestackworker subagent_type
test-runbeu-test-runner
test-runfeu-test-runner
test-runfullstacku-test-runner
* (default)anyu-test-runner

scripts/select_worker.py

Returns the worker sub-agent name for a given task type and optional stack.

Usage

python3 .claude/skills/phase-test-rules/scripts/select_worker.py \
  --task-type <type> \
  [--stack <be|fe|fullstack>]

Output (exit 0)

{"worker": "u-test-runner", "task_type": "test-run", "stack": "be", "phase": "test"}

Error (exit 1, stderr)

{"status": "error", "reason": "internal_error", "detail": "<message>"}

Exit criteria

All three criteria must be met before the test phase can transition. DLQ tasks block transition — a failed task is not a passing test run.

CriterionScriptDescription
all_test_tasks_terminalscripts/check_all_test_tasks_terminal.pyAll test tasks in completed; zero DLQ tasks
all_tests_passedscripts/check_all_tests_passed.pyEvery test report artifact has result: passed
no_critical_failuresscripts/check_no_critical_failures.pyNo test report artifact contains severity: critical failures

See exit-criteria.json for the machine-readable declaration.

Environment variables

VariableDefaultDescription
ORCH_PROJECT_DIR.Project root — used to resolve test report artifact paths

scripts/check_all_test_tasks_terminal.py

Criterion: every task in the test phase has status completed. DLQ tasks block the criterion. Not met if there are no test tasks (phase hasn't started).

python3 .claude/skills/phase-test-rules/scripts/check_all_test_tasks_terminal.py

Output schema:

{
  "criterion": "all_test_tasks_terminal",
  "met": true,
  "evidence": {
    "total": 5,
    "terminal": 5,
    "non_terminal": [],
    "dlq": [],
    "dlq_blocks_criterion": false
  }
}

scripts/check_all_tests_passed.py

Criterion: every test report artifact from completed test-phase tasks contains result: passed. Not met if no test report artifacts are found. Artifact paths are resolved relative to ORCH_PROJECT_DIR.

python3 .claude/skills/phase-test-rules/scripts/check_all_tests_passed.py

Output schema:

{
  "criterion": "all_tests_passed",
  "met": true,
  "evidence": {
    "total": 5,
    "passed": 5,
    "failed": []
  }
}

Accepted result values: passed (case-insensitive). Any other value (failed, error, skipped) is treated as not passed.


scripts/check_no_critical_failures.py

Criterion: no test report artifact contains a failure entry with severity: critical. Artifact paths are resolved relative to ORCH_PROJECT_DIR.

python3 .claude/skills/phase-test-rules/scripts/check_no_critical_failures.py

Output schema:

{
  "criterion": "no_critical_failures",
  "met": true,
  "evidence": {
    "total": 5,
    "clean": 5,
    "with_critical": []
  }
}

What ships with it: 5 files

16.7 KB alongside SKILL.md, 4 of them executable

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.