shipkit-review-direction - Direction Assessment
Purpose: Read all direction artifacts and assess whether they are coherent, complete, and internally consistent. Write a structured assessment for the direction orchestrator.
Input
Required artifacts (the direction loop must produce all of these):
.shipkit/why.json(contains vision, purpose, stage).shipkit/product-discovery.json.shipkit/product-definition.json.shipkit/engineering-definition.json.shipkit/architecture.json.shipkit/design-system/(DIRECTION.md, PRINCIPLES.md, tokens/).shipkit/goals/strategic.json.shipkit/goals/product.json.shipkit/goals/engineering.json
Optional context (read if present, don't flag as missing):
.shipkit/metrics/latest.json— only exists after implementation
Coherence Checks
- Completeness: Are ALL 9 required direction artifacts present with non-placeholder content? Missing artifacts are gaps.
- Vision coherence: Does why.json state a vision that fulfills its stated purpose? (vision and purpose both live inside why.json)
- Goals ↔ Vision: Do goals, if achieved, realize the vision stated in why.json?
- Goals ↔ Stage: Are thresholds realistic for the current stage? Do all goals have rubrics?
- Internal consistency: Do goals reference capabilities the vision describes?
- Architecture ↔ Engineering Definition: Are architecture decisions consistent with the mechanisms and components defined?
- Design System ↔ Vision: Do principles align with the vision? Does aesthetic direction fit the target audience? Does token format match the stack?
- Design System specificity: Does DIRECTION.md use concrete values (hex codes, exact font names, px values, CSS easing functions) for every field? Flag any field that uses vague language ("clean", "modern", "intuitive", "user-friendly", "seamless", "elegant") without a measurable specification alongside it. Flag any missing source citations. Every dimension must trace back to a specific
.shipkit/field.
Output
Write .shipkit/reviews/direction-assessment.json with structured findings.
status: "pass" when all checks pass. status: "gaps_found" with specific gaps[] entries when issues exist. Each gap must include artifact, issue, evidence, and fix fields.
After Completion
Assessment written to .shipkit/reviews/direction-assessment.json.
Next: The caller — the engine in the Direction flow (via shipkit-direction) — reads this assessment:
- If gaps found: re-dispatches the affected upstream skills for revision, then re-runs this reviewer.
- If pass: proceeds to the next loop phase (or reports completion to the caller).
This skill is normally invoked by the orchestrator, not called directly by the user.