원클릭으로
craft
Apply engineering principles to code or design — DRY, KISS, SRP, YAGNI, phased delivery
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Apply engineering principles to code or design — DRY, KISS, SRP, YAGNI, phased delivery
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Save current session state mid-session — faster than /whats-next, designed for crash recovery
Surface assumptions collaboratively before proceeding — beginner's mind, invoked depth
Analyze the current conversation and create a handoff document for continuing this work in a fresh context
Gather requirements through adaptive questioning before executing any task
Evaluate decisions across three time horizons
Drill to root cause by asking why repeatedly
| name | craft |
| description | Apply engineering principles to code or design — DRY, KISS, SRP, YAGNI, phased delivery |
| argument-hint | [file path | diff | design | inline content from conversation] |
| allowed-tools | Read Grep Glob Shell SemanticSearch |
Read kit/ENGINEERING-PRINCIPLES.md in the zanshin package (../../kit/ENGINEERING-PRINCIPLES.md relative to this skill file) for full rationale and rule-of-thumb detail.
Ambient vs invoked: A minimal craft posture may live in always-on context. This skill is invoked depth — run when the user says /craft, "apply craft principles", "review this for DRY/KISS", or before committing a non-trivial design.
Parse $ARGUMENTS:
git diff and git diff --cached for pending workIf ambiguous, ask: "What should I apply craft to — pending diff, a specific file, or this design?"
../../kit/ENGINEERING-PRINCIPLES.md — use as lenses, don't recite it../../kit/AGILE-ARTIFACT-DISCIPLINE.md when target is a doc, plan, epic, or design artifactEvaluate through relevant principles. Skip principles that don't apply — don't pad.
| Lens | Ask |
|---|---|
| KISS | Simplest solution that works? Unnecessary layers or ceremony? |
| SRP | One reason to change per unit? Can you name it in a single noun phrase? |
| DRY | Real duplication that will diverge — or coincidence? (Two = question; three = extract if divergence is real) |
| YAGNI | Built for a requirement that exists, or one imagined? |
| Phases | Work / right / fast mixed in one change? |
| Leave it better | Small fix while here (≤5 min) or backlog it? |
| JBGE | Sufficient for task, no more? (TAGRI: who reads it, what decision?) |
| Travel light | Can sections/models be discarded after purpose served? |
SRP note: This kit covers SRP from SOLID, not OCP/Liskov/ISP/DIP. Name interface-segregation or dependency concerns in plain language if they arise — don't force SOLID vocabulary.
Principles conflict by design. When they do, name the tension — don't pretend one wins:
Tension: DRY suggests extracting X; YAGNI says the second use case doesn't exist yet.
Present findings as observations, not mandates. Severity: worth fixing now | worth noting | acceptable tradeoff (say why).
For load-bearing tradeoffs, ask one sharp question instead of deciding silently:
This duplicates [pattern] in [file]. Extract now, or wait for a third divergence?
Do not rewrite large sections unless the user asked for implementation. Default: review output.
<output_format>
## Craft review — [target]
**Phase:** work | right | fast | mixed (flag if mixed)
### Observations
1. **[Lens]: [title]** — [observation]
Severity: worth fixing now | worth noting | acceptable tradeoff
### Tensions
- [Principle A] vs [Principle B]: [what's in conflict] — [question or recommendation]
### Question (if any)
[One sharp question for a judgment call only you can make]
### Summary
[1–2 sentences — overall craft assessment, not a grade]
</output_format>
<failure_modes>
</failure_modes>
<success_criteria>
</success_criteria>