loft 精选
Loft the shape before cutting steel — answer a design question that prose cannot settle by building a throwaway artifact: a pure logic module in a clickable shell, or structurally different UI variants behind one route. The captain reacts to the artifact; the answer folds into the decision; the artifact never docks. Use when a design question stalls in words, when a navigator map carries a loft ticket, or when a spec discussion reaches "we would have to see it".
安装方式
cp -r skills/loft ~/.claude/skills/loft把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/
/plugin marketplace add Yeachan-Heo/oh-my-claudecode⚠️ 该命令形态随客户端版本变化,仅在检测到 .claude-plugin/marketplace.json 时展示;不可用时请用「目录复制」。
https://raw.githubusercontent.com/Yeachan-Heo/oh-my-claudecode/8262f9f790eed35e6cbd66572b36c2acba18f679/skills/loft/SKILL.md下载后另存为 ~/.claude/skills/loft/SKILL.md。链接锁定采集时的 commit,内容与本站展示一致。
整仓一次性获取:git clone --depth 1 https://github.com/Yeachan-Heo/oh-my-claudecode.git
依赖与权限
- 无需 API Key
- 无需联网
- 无外部命令依赖
- 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。
SKILL.md 正文
Loft
Cut no steel until the shape is fair. Shipwrights loft the hull's lines full-scale and fair them before a single plate is cut. Loft applies the same order to design questions: when words have run out — two plausible answers, neither falsifiable by talk — build a cheap runnable artifact, let the captain react to it, and fold that reaction into the decision.
The role contract. The crew builds the artifact; the captain's only job is to react — and that reaction is the decision. The artifact is an instrument for seeing, never a head start on the deliverable.
When to loft
- a design question stalls in prose: repeatedly rephrased, still not settleable ("how should the path page look", "does this state model feel right")
- a navigator map carries a
loftticket - a spec discussion reaches "we would have to see it first"
Do not loft when:
- the question is answerable from repo evidence or by asking the captain (that is interviewing, not lofting)
- the destination itself is unclear (that is fog —
/oh-my-claudecode:ask-navigator) - the answer already lives in an ADR (do not re-loft settled decisions)
- the "design question" is actually a bug (that is the debugger's jurisdiction)
Choose the fork
Pick by what the question is asking. A wrong fork wastes the whole artifact.
Logic fork — is the model right?
For questions about state, business rules, data shape, or algorithms ("does unlocking regress on a retake?", "does this reducer hold at the edges?"):
- Isolate the decision-bearing core — the state machine, reducer, schema, or algorithm — as a pure module: no DOM, no I/O, no framework. Written so that, once the shape is confirmed, it moves into the real codebase unchanged.
- Wrap it in a single clickable HTML shell: one button per scenario, the tricky edge cases walked through in order, full state visible after every click.
- On confirmation the module is ready to lift — it re-enters as real work through launch. During the loft itself
mainstays untouched and the shell stays behind on the branch.
UI fork — what should it look like?
For questions of shape and arrangement ("steps or cards?", "where does progress live?"):
- One route, three variants that differ in structure — information architecture, navigation model, density. Variants that differ only in styling answer nothing: three reskins are wallpaper.
- A switcher on the page cycles the variants; embed into the existing product where possible, so real data density stresses the design instead of three tidy fake rows.
- On confirmation, the decision transfers and the variants stay behind on the branch as the record of why it looks this way.
The discipline
- One command to run — the repo's simplest existing serve command; inline the module into the shell if
file://module CORS would bite. Loads in seconds; no build step beyond what the repo already has. - No persistence, no tests, no abstractions, no error handling beyond the happy path. The artifact should be something you would not want to ship — the rules exist to keep it that way.
- Expect the first shape to be argued with: revise on the branch within the same session. The captain confirming the final shape is the decision; an artifact nobody argues with usually answered a question nobody had.
- The artifact's whole life is minutes to build and one session to decide. If it starts growing into production code, stop: that work is a launch effort, not a loft. Sunk cost is the failure mode this skill exists to prevent.
- One loft answers one question. Two questions are two lofts — or one question that was actually two.
Fold the answer
The artifact is evidence, not a landing. When the captain reacts:
- Record the decision where it lives — the issue comment, the spec's Implementation Decisions, or the pending-decision note — in the captain's own words plus one line of why. A fragment more precise than prose (the reducer, the state machine, the schema) may be inlined there, marked as lofted.
- Push the artifact to a
loft/<name>branch. It never merges: it stays as the primary source a future reader can open when the decision's "why" matters. - Nothing from the artifact lands in
main— for the logic fork the confirmed module re-enters as real work through launch, for the UI fork the real page is built fresh from the decision.
Scope and non-goals
- Loft produces answers, not deliverables: no runtime, no state files, nothing always-on.
- It does not diagnose (debugger), does not chart fog (
/oh-my-claudecode:ask-navigator), does not approve its own answer (the captain's reaction is the only acceptance). - It does not replace seam approval: a lofted UI shows the shape; the test seams for it are still approved at C2.
Completion definition
The captain reacted, the answer sits where the decision lives, the artifact sits on its branch — and no line of the artifact is in main.
质量与来源
- 所属仓库
- Yeachan-Heo/oh-my-claudecode
- 仓库星标
- 4.0 万
- 最近更新
- 今天
- 采集时间
- 今天
- commit
- 8262f9f790ee
- 内容指纹
- sha256:60f98c8e1db2d5f
- 文件路径
- skills/loft/SKILL.md