用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/WellApp-ai/Well --skill decision-capture命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | decision-capture |
| description | Capture patine (decision wisdom) at Gates when KO or challenge occurs |
Lightweight skill for capturing the "patine" - the accumulated wisdom of why decisions were made and alternatives rejected. Triggered at Gates when human provides KO or challenges a proposal.
| Trigger | Context | Type |
|---|---|---|
| Gate 1 KO | Wireframe rejected | Decision |
| Gate 2 KO | Scope option rejected | Decision |
| Gate 3 KO/BLOCK | Phasing challenged | Decision |
| Gate 4 KO | Technical approach rejected | Decision |
| Gate 5 Changes | PR review feedback | Decision |
| Debug Pattern | Recurring issue found | Kaizen |
| DIG 3+ times | Same wireframe refined repeatedly | Kaizen |
| Same error fixed 2+ times | Fix pattern emerged | Kaizen |
| User corrects assumption | AI was wrong about something | Hansei |
| Takt warning exceeded | Phase took longer than target | Hansei |
| Jidoka Tier 2/3 | Escalation to human required | Hansei |
Categorize the decision:
| Type | Signal | Example |
|---|---|---|
| Technical | Code, architecture, library | "Don't use GraphQL subscriptions" |
| UX | Interaction, visual, flow | "Sidebar navigation, not top nav" |
| Process | Workflow, phasing, priority | "Ship auth before tables" |
Ask for brief rationale (keep it light):
I'll note this decision for future reference.
**In one sentence, why this decision?**
Examples:
- "We tried X in 2024, broke production"
- "Users missed this in testing"
- "Conflicts with our caching strategy"
(Press Enter to skip if you prefer not to explain)
If human declines: Record decision without rationale (still valuable).
Capture metadata:
| Field | Source |
|---|---|
| Who | Current user (from context) |
| When | Current date |
| Domain | From branch name or changed files |
| Gate | Which Gate triggered capture |
| Related Task | Notion task ID if available |
Use Notion MCP to create record:
API-create-page:
parent: { database_id: "[DECISION_PATINE_DB_ID]" }
properties:
Title: { title: [{ text: { content: "[Decision summary]" }}]}
Domain: { select: { name: "[domain]" }}
Type: { select: { name: "[Technical/UX/Process]" }}
Decision: { rich_text: [{ text: { content: "[What we decided]" }}]}
Rationale: { rich_text: [{ text: { content: "[Why]" }}]}
Rejected: { rich_text: [{ text: { content: "[What we didn't do and why]" }}]}
Impact: { select: { name: "[Low/Medium/High]" }}
Gate: { select: { name: "[Gate 1/2/3/4/5/Debug]" }}
If Impact = High or Type = Technical with cross-domain effect:
ls docs/decisions/ | wc -l/docs/decisions/NNN-[slug].mdADR Template:
# ADR-[NNN]: [Title]
**Date**: [YYYY-MM-DD]
**Status**: Accepted
**Domain**: [domain]
**Captured at**: Gate [N]
## Context
[1-2 sentences: What problem were we solving?]
## Decision
[What we chose to do]
## Rationale
[Why this approach - the positive case]
## Rejected Alternatives
### [Alternative Name]
**Why not**: [Reason]
## Consequences
- [Trade-off 1]
- [Trade-off 2]
## References
- Notion: [link to Decision Patine record]
- Task: [link to related task if applicable]
For small code-level decisions during implementation:
// ADR: [Brief decision]. [Why not alternative]. —@[initials] [YYYY-MM]
Example:
// ADR: No useMemo here - profiling showed <1ms gain, adds complexity. —@mc 2026-01
Output confirmation:
**Noted:** [Decision summary]
Stored in Decision Patine database.
[If ADR created: Created ADR-[NNN] in /docs/decisions/]
Continuing with workflow...
Automatic learning capture without user prompts. These triggers capture patterns and reflections silently.
These captures happen automatically without prompting user:
Kaizen (pattern emerged):
Hansei (reflection):
Type: KAIZEN
Source: [Phase] [Loop/Commit]
Learning: "[What pattern emerged]"
Category: [UX_PATTERN | TECHNICAL | PROCESS]
Impact: LOW | MEDIUM | HIGH
Example:
Type: KAIZEN
Source: DIVERGE Loop 3
Learning: "Invite modals benefit from email preview side panel"
Category: UX_PATTERN
Impact: MEDIUM
Type: HANSEI
Source: [Phase] [Loop/Commit]
Learning: "[What we learned from the mistake/delay]"
Category: [ASSUMPTION | COMPLEXITY | PROCESS]
Impact: LOW | MEDIUM | HIGH
Example:
Type: HANSEI
Source: CONVERGE
Learning: "Original scope too ambitious - exceeded 40min takt warning"
Category: COMPLEXITY
Impact: LOW
Instead of immediately creating Notion entries for each:
Before proposing new patterns, query existing decisions:
API-query-database:
database_id: "[DECISION_PATINE_DB_ID]"
filter:
property: "Domain"
select:
equals: "[current domain]"
Use results to:
DON'T:
DO:
This skill is invoked by:
ask.mdc - Gates 1, 2, 3 on KOplan.mdc - Gate 4 on option rejectionpush-pr.mdc - Gate 5 on changes requesteddebug - When pattern worth remembering is foundDatabase: Decision Patine
| Property | Type | Required |
|---|---|---|
| Title | Title | Yes |
| Domain | Select | Yes |
| Type | Select | Yes |
| Decision | Rich Text | Yes |
| Rationale | Rich Text | No |
| Rejected | Rich Text | No |
| Challenged By | Person | No |
| Date | Date | Yes |
| Impact | Select | Yes |
| Gate | Select | No |
| Related Task | Relation | No |
| ADR File | URL | No |
Invoked automatically at Gates on KO, or manually with "use decision-capture skill".