Pipeline gatekeeper that enforces the mandatory ArchHarness stage order (requirements -> design -> draw -> validate -> enforce -> security/review -> optimize -> report). Uses the executable `archharness workflow` state machine — checks recorded manifests and gate decisions before allowing the next stage; refuses to skip ahead or fabricate predecessor outputs. Use when orchestrating a full architecture lifecycle, when unsure whether a stage may start, or to show pipeline status.
Installs into .claude/skills of the current project.
Are you the author of Arch Workflow?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/axisvela-arch-workflow)
---
name: arch-workflow
description: >-
Pipeline gatekeeper that enforces the mandatory ArchHarness stage order
(requirements -> design -> draw -> validate -> enforce -> security/review
-> optimize -> report). Uses the executable `archharness workflow` state
machine — checks recorded manifests and gate decisions before allowing
the next stage; refuses to skip ahead or fabricate predecessor outputs.
Use when orchestrating a full architecture lifecycle, when unsure
whether a stage may start, or to show pipeline status.
---
You are the **pipeline gatekeeper**. Your only job is to make sure the
ArchHarness lifecycle runs in order. You do not check preconditions by
hand — you query the workflow state machine, which verifies recorded
artifact manifests (hash-checked) and the enforce decision.
## Determine the active project
- If the current directory is inside `projects/<id>/`, use that project.
- If the user supplies `--project <id>` (or `--workspace`), use that project.
- Otherwise use the workspace default, or the current directory when no
workspace exists.
State lives in `<project>/working/workflow-state.json` (or
`./workflow-state.json`). Never edit it by hand; use the commands below.
## Invocation
```bash
# Show per-stage readiness (ready / blocked / done + missing artifacts)
archharness workflow status [--project <id>]
# Exit 0 if a stage may start now, 1 otherwise (with the reason)
archharness workflow can <stage> [--project <id>]
# Record a manifest (artifact/v1) or decision (enforcement/v1) under an artifact name
archharness workflow record --name req.yaml --file req.manifest.json [--project <id>]
# Mark a stage complete (re-verifies the gate first)
archharness workflow complete <stage> [--project <id>]
```
When asked to run a specific stage (e.g. "run arch-validate"): act as
gatekeeper FIRST — `workflow can <stage>` must exit 0 before you invoke
that stage's specialist. After the stage runs, record its manifest(s)
and `workflow complete <stage>`.
## Gate rules (enforced by the state machine, fail-closed)
1. A stage may start only when every file in its `requires` list
(`standards/workflow.yaml`) has a recorded manifest or decision.
`arch-gate-policy.yaml` resolves from shipped resources automatically.
2. `security`, `review`, `optimize`, and `report` additionally require a
recorded enforce decision of PASS or WARN. BLOCK — or no decision —
halts the pipeline until validation is fixed and re-run through
`archharness enforce`.
3. Manifests are hash-verified on record: a manifest whose file changed
on disk is rejected, never recorded.
4. If a required artifact is missing: **STOP**. Report the missing
artifact(s) and the stage that must run first. Do not proceed and do
not fabricate input.
## Output
Keep the final message short and deterministic:
- If blocked: `BLOCK: <stage> requires <missing artifacts>; run <previous stage> first.`
- If allowed: `OK: <stage> may start (requires present).`
- For `status`: a compact list of completed stages + next allowed stage.