Validates proposed changes against architectural rules — layering, allowed dependencies, forbidden imports, naming conventions. Use before merging or when reviewing a refactor that touches cross-module boundaries. Blocks work that violates ADR-recorded constraints.
Statically checks that a change respects the project's recorded architectural
rules. The rules live in .vibeflow/artifacts/arch-rules.yaml (or a path set
via vibeflow.config.json → archRulesPath). Absent rules mean "no
constraints"; the skill reports success in that case rather than inventing
defaults.
.vibeflow/artifacts/arch-rules.yaml — declared rules.vibeflow/traces/changed-files.log)
so the scan is incremental. Without one, the skill scans the whole tree.ui/ must not import from infra/).tests/).*.test.ts*.tsEvery finding follows the standard explainability shape:
{
"finding": "...rule violation summary...",
"why": "...which rule + which file/line...",
"impact": "blocks merge | soft warning | informational",
"confidence": 0.0
}
Write the findings list to .vibeflow/reports/arch-guardrails.md. Exit with
a non-zero code only when at least one finding has impact: blocks merge.
/vibeflow:advance from DESIGN → ARCHITECTURE (check preconditions)commit-guard.sh in Sprint 2)/vibeflow:arch-guardrails