agentsclimarketplace

Phase test rules

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

Most AI coding tools help you write code. Siegard Code manages the entire development lifecycle — it writes specifications, plans backlogs, implements features, runs QA, and delivers tested code. All autonomously, all traceable, all through Claude Code.

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.

One thing 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.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

4.3 KB, 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": []
  }
}

Keep looking

Skills are one crate of 328,083. 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.