一键导入
design
Design the type progression and test plan for approved work. Invoke after agreeing on the high-level approach and before writing any implementation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Design the type progression and test plan for approved work. Invoke after agreeing on the high-level approach and before writing any implementation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Voice guide for writing PR descriptions. Use this skill for ALL PR creation and updates (via gh CLI or editing existing PRs). Contains your specific voice rules, anti-patterns, examples, and workflow. Never write PR descriptions without invoking this skill first.
Commit the changes in the working tree. Only invoke when the user explicitly signals to commit ("commit", "/commit", etc.). Never invoke this skill on your own initiative — implementation approval is not a commit signal.
Standalone code review for any scope — PR number, branch, file paths, or current changes. Synthesizes intent, runs 10 parallel specialized agents, and presents actionable findings with a verdict. For PR scope, optionally posts the review to GitHub with inline comments.
Survey observable paths, run the real system, capture evidence, and surface gaps. TRIGGER when asked to prove a change works or write a QA plan.
Tell the next agent everything they need to know to continue your work.
Voice guide for writing issue/ticket/task/epic descriptions. Use this skill for ALL issue creation — GitHub issues, Jira tasks, Monday tasks, Linear tasks, and epics. Contains section structure, voice rules, and anti-patterns. Never write ticket descriptions without invoking this skill first.
| name | design |
| description | Design the type progression and test plan for approved work. Invoke after agreeing on the high-level approach and before writing any implementation. |
| argument-hint | [task description or Trekker task number] |
| effort | high |
| model | opus |
This is a design skill. Do not make side-effecting changes: no edits, writes, mutating shell commands, commits, or ticket creation. Read-only exploration is allowed.
~/.claude/references/type-design.md and ~/.claude/references/testing.md. Also load any
language-specific reference file that applies to this codebase (~/.claude/references/rust.md,
~/.claude/references/python.md, etc.).Before committing to a design, sketch 2–3 meaningfully different type progressions for the same feature. For each, state:
Then recommend one with a sentence explaining the choice. Only carry the recommended design forward.
Map the full progression of types from input to output in domain terms:
Input: <RawType>
↓ <transformName>()
<IntermediateType> { field: DomainType, ... }
↓ <transformName>()
<FinalType> | <ErrorVariant> | <AlternativeOutcome>
For each step:
Map<String, Any>,
ProcessedData, Result2 are all wrong). A reader should understand what this type represents
from its name alone.The following are common ways a type story fails. This list is illustrative, not exhaustive — use your judgment. Any design that fails to tell the domain story in types is wrong, whether or not the specific failure appears here:
Error or Failure variant where named variants would
identify which step failed and whyFrom the type boundaries, identify what needs behavioral verification. For each transformation:
Compiler guarantees — list what correct code gets for free from the type design. No tests needed for these.
Everything else — for each behavior the types don't enforce, choose the paradigm that best verifies it. Do not default to example-based unit tests. Actively consider whether another paradigm provides stronger or cheaper coverage:
For each test case, state what it verifies in domain terms, why the type system doesn't cover it, and which paradigm is most appropriate and why.
Present the design artifact:
Ask for explicit approval.
If the user pushes back, requests changes, or raises questions: incorporate the feedback, revise the type story and/or test plan, re-present the full artifact, and stop again. Do not implement until the user gives explicit approval.
When the user approves, the implementing agent must record the agreed approach before reading or writing any files — add a comment to the known ticket (Jira, GitHub issue, Linear, etc.) if one exists, or create a Trekker task if no ticket exists. Then proceed with the first slice.