一键导入
explain
Document the reasoning behind implementation decisions as markdown files. Creates decision records that future developers can reference.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Document the reasoning behind implementation decisions as markdown files. Creates decision records that future developers can reference.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Surface code-level debt — TODO/FIXME markers, deprecated APIs, dead code, oversized units, magic numbers. Use when reviewing a module, planning cleanup work, or before a release. Not a linter — observes patterns and assesses impact.
Show available commands and explain how to use the Gotrino assistant.
Analyze mock data and examples for cultural assumptions, understanding what they communicate about who the product is for. Use when reviewing test data, documentation, or seed data.
Analyze code for internationalization issues, understanding the UI context and user impact before flagging problems. Use when reviewing code for global readiness.
Comprehensive inclusion analysis of code, examining language, internationalization, assumptions, and who might be excluded. Thorough review for releases or major features.
Analyze code and documentation for non-inclusive language, understanding context and intent before flagging issues. Use when reviewing code for biased terms, gendered language, or problematic terminology.
| name | explain |
| description | Document the reasoning behind implementation decisions as markdown files. Creates decision records that future developers can reference. |
| allowed-tools | Read, Grep, Glob, Write, Bash |
| user-invocable | true |
Create decision records that document the reasoning behind implementation choices.
Good code is self-documenting for what it does. But why it does it that way? That's lost to time unless we capture it.
"Six months from now, when someone asks 'Why did we do it this way?', will there be an answer?"
The value of this skill isn't compliance—it's preserving context that makes the codebase maintainable.
Follow the migration preflight in references/config-migration.md, then check for .assistant-config.md in the project root.
Decisions location (in order of precedence):
Decisions location setting in configdecisions/ directorydocs/decisions/ or docs/adr/ directorydecisions/If no config exists, ask the user where to store decisions or use the default.
Run /explain after:
The user will provide:
If nothing provided, explain recent uncommitted changes.
For the code being explained, identify:
Gather context before writing:
Use the pattern: NNNN-short-description.md
Examples:
0001-use-zustand-for-state.md0002-jwt-over-sessions.md0003-monorepo-structure.mdCreate the file in the decisions directory.
# [Number]. [Decision Title]
**Date**: [YYYY-MM-DD]
**Status**: Accepted
**Context**: [What prompted this decision]
## Decision
[1-2 sentence summary of what was decided]
## Why This Approach
- [Primary reason]
- [Secondary reason]
- [Constraint that influenced this]
## Alternatives Considered
### [Alternative A]
**Pros**: [benefits]
**Cons**: [drawbacks]
**Why not**: [specific reason rejected]
### [Alternative B]
**Pros**: [benefits]
**Cons**: [drawbacks]
**Why not**: [specific reason rejected]
## Trade-offs Accepted
- [What we gave up and why it's acceptable]
## Consequences
- [What this decision means for future development]
- [Things to watch out for]
## Related
- [Links to related code, PRs, or other decisions]
Output confirmation:
## Decision Record Created
**File**: `decisions/0003-use-zustand-for-state.md`
### Summary
Documented decision to use Zustand over Redux for state management.
### Key Points
- Simpler API reduces boilerplate
- Trade-off: Less ecosystem tooling
- Revisit if: Complex state debugging needed
Decision records serve multiple purposes:
Without this context, teams make the same decisions repeatedly, or worse—undo good decisions because they don't understand why they were made.