change-clarify
Skill145 starsChanged 21 days agoMITView on GitHub
Use when reviewing, accepting, rejecting, or deferring ChDRs mined by change-init, validating inferred decisions against their git and issue evidence before promotion to project memory.
In this repository48 other files it gives its agents.
- architect-analyzeSkill
- architect-bootSkill
- architect-clarifySkill
- architect-implementSkill
- architect-initSkill
- architect-specifySkill
- writing-skillsSkill
- change-bootSkill
- change-initSkill
- change-publishSkill
- change-specifySkill
- evals-analyzeSkill
- evals-clarifySkill
- evals-implementSkill
- evals-initSkill
- evals-specifySkill
- evals-validateSkill
- factory-cleanSkill
- factory-initSkill
- factory-intentSkill
- factory-learnSkill
- factory-missionSkill
- factory-orchestratorSkill
- factory-queueSkill
- factory-releaseSkill
- factory-reviewSkill
- factory-runbookSkill
- factory-setupSkill
- factory-ticketsSkill
- mission-briefSkill
- product-analyzeSkill
- product-bootSkill
- product-clarifySkill
- product-implementSkill
- product-initSkill
- product-roadmapSkill
- product-specifySkill
- team-bootSkill
- team-constitutionSkill
- team-diagnoseSkill
- team-discoverSkill
- team-initSkill
- team-levelupSkill
- team-repairSkill
- team-setupSkill
- team-skillsSkill
- workspaceSkill
- tech-radar-bootSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. About 0 are common, 19 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Check inferred-rationale confidence and flag low-confidence or unsupported claims
- Distinctive: line 18
Ensure Consequences (reverts/fix chains) are recorded where observed
- Very specific: line 19
Update ChDR statuses in {REPO_ROOT}/.adlc/drafts/chdr/ChDR-{NNN}.md
- Distinctive: line 31
No pending ChDRs: if no ChDRs have status Discovered/Proposed, there is nothing to clarify
- Very specific: line 32
Reviewing CDRs: use /team-levelup (CDRs and ChDRs are distinct record types with separate gates)
- Distinctive: line 33
Direct editing: do not use this skill to bypass the review workflow
- Very specific: line 97
Read all {REPO_ROOT}/.adlc/drafts/chdr/ChDR-*.md files and filter:
- Distinctive: line 108
If no pending ChDRs:
- Very specific: line 117
Check if the draft being reviewed uses the lightweight draft template (indicated by presence of type, evidence, source, revisit-when fields …
- Distinctive: line 123
Read the draft's captured fields (Context, Decision, Rejected Alternatives, Reason)
- Distinctive: line 133
If already full format, proceed with normal review.
- Very specific: line 143
Provenance: every non-trivial sentence in ### Decision references a SHA (\b[0-9a-f]{7,40}\b) or URL (https?://)
- Very specific: line 180
Write every clarification in Simplified Technical English (short sentences, one idea each, active voice, imperative asks, named referents, …
- Distinctive: line 187
Ask more than one question at a time
- Distinctive: line 189
Session limit: Default 5 ChDRs per session.
- Distinctive: line 226
Wait for user input before proceeding.
- Very specific: line 230
Update status to ### Status: Accepted.
- Very specific: line 261
Update status to ### Status: Rejected with reason.
- Distinctive: line 265
Keep status as-is. Add note:
- Distinctive: line 277
After EACH ChDR interaction, immediately update the file.
- Distinctive: line 323
Ask exactly ONE question per response
- Distinctive: line 324
Wait for user input before proceeding
- Distinctive: line 328
Update ChDR file after each decision
- Distinctive: line 333
Never accept or reject without explicit user choice
- Distinctive: line 334
Do not assume user preference
- Very specific: line 345
If any ChDRs were Accepted, handoff to /change-publish:
- Very specific: line 370
After accepting ChDRs, run /change-publish to promote them to project memory and regenerate the boot-facing chdr.md index.
- Distinctive: line 374
All reviewed ChDR files updated with new status and clarification metadata.
- Distinctive: line 377
No ChDRs were auto-accepted or auto-rejected without user input.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
change-clarify
What this skill does
Review pending ChDRs (status Discovered or Proposed) and decide their fate: Accepted, Rejected, or Deferred.
This is the quality gate for Change Decision Records — the human checkpoint before inferred-from-history decisions are promoted to project memory and injected into future sessions by team-boot:
- Validate that inferred decisions are supported by cited commit SHAs / issue URLs (provenance — the context-poisoning circuit breaker)
- Check inferred-rationale confidence and flag low-confidence or unsupported claims
- Confirm issue-link validity and that fetched issue summaries are accurate (not pasted verbatim)
- Ensure Consequences (reverts/fix chains) are recorded where observed
- Update ChDR statuses in
{REPO_ROOT}/.adlc/drafts/chdr/ChDR-{NNN}.md - Regenerate
{REPO_ROOT}/.adlc/drafts/chdr/chdr.mdindex
This is an interactive command. Present exactly one ChDR per interaction and wait for user input.
When to use
- After
/change-init: validate history-mined ChDRs before promotion - Periodic review: clean up stale pending ChDRs
When NOT to use
- No pending ChDRs: if no ChDRs have status Discovered/Proposed, there is nothing to clarify
- Reviewing CDRs: use
/team-levelup(CDRs and ChDRs are distinct record types with separate gates) - Direct editing: do not use this skill to bypass the review workflow
Process
User Input
$ARGUMENTSYou MUST consider the user input before proceeding (if not empty).
Examples of User Input:
"ChDR-001 ChDR-003"— focus on specific ChDRs"all"— clarify all pending ChDRs- Empty input: clarify all ChDRs with status "Discovered" or "Proposed"
Flags
--all: clarify all pending ChDRs (same as empty input)--limit N: limit to N clarifications per session (default: 5)
Role & Context
You are acting as a Change Validator reviewing inferred-from-history decisions. Unlike CDR clarification (which validates team-wide patterns), your focus is evidence fidelity:
- Was the Decision actually inferable from the cited commits, or did the agent invent it?
- Is the confidence level honest (a HIGH-confidence claim with a terse commit + no issue link is suspicious)?
- Are issue summaries accurate and not leaking sensitive detail verbatim?
- Are reverts/fix chains recorded where they exist (the highest-value content)?
ChDR Quality Checklist
Each ChDR should have:
### Contextexplaining why the change happened (issue summary or commit messages)### Decisionwith inferred decision + confidence level- Every Decision claim cites a SHA or issue URL (provenance — non-negotiable)
### Consequences(reverts/fix chains, or explicit "None observed")### Evidencewith concrete SHAs, files, and issue links- Issue summaries are paraphrased, not raw paste (security)
- Status is accurate
Outline
- Load Pending ChDRs (Phase 1): parse ChDR files with status Discovered/Proposed
- Pre-Validation (Phase 2): skip ChDRs missing required sections or with unprovenanced Decision claims
- Gap Identification (Phase 3): list clarification needs
- Sequential Clarification (Phase 4): one ChDR per interaction
- Update ChDRs (Phase 5): write status and clarification metadata after each decision
- Regenerate Index (Phase 6): update
chdr.md - Summary (Phase 7): present results
Execution Steps
Phase 1: Load Pending ChDRs
Run setup script:
scripts/bash/setup-change-clarify.shRead all {REPO_ROOT}/.adlc/drafts/chdr/ChDR-*.md files and filter:
- Include:
### Status: **Discovered**or### Status: **Proposed** - Skip:
### Status: **Accepted**,**Rejected**,**Published**,**Deprecated**
If the setup script is unavailable or fails, resolve manually:
REPO_ROOT— walk up from cwd to find.adlc/, orgit rev-parse --show-toplevel.CHDR_DRAFTS_DIR—REPO_ROOT/.adlc/drafts/chdrPENDING_COUNT— count files with Discovered/Proposed status.
If no pending ChDRs:
No pending ChDRs found.
Run /change-init to mine git history first.Step 0: Detect Lightweight Draft Format
Check if the draft being reviewed uses the lightweight draft template (indicated
by presence of type, evidence, source, revisit-when fields in frontmatter
and ## Rejected Alternatives / ## Reason body sections without the full
formal template sections).
If lightweight:
- Read the draft's captured fields (Context, Decision, Rejected Alternatives, Reason)
- Transform to full formal template:
- ADR: full MADR format with Decision Drivers, Considered Options, Pros/Cons, Constitution Alignment, Related ADRs
- PDR: full PDR format with Market Forces, Consequences, Alternatives Considered, Links
- ChDR: full ChDR format with Issue Links, Commits, Consequences, Evidence
- CDR: full CDR format with Context Type, Target Module, Descriptor, Evidence
- EVAL: full eval format with Error Analysis, Pass/Fail Examples, Implementation Notes
- Enrich from session context (add details the lightweight draft may have omitted)
- Present the enriched draft for review
If already full format, proceed with normal review.
Phase 2: Pre-Validation
For each pending ChDR, check required sections:
### Context### Decision(with at least one confidence marker)### Consequences### Evidence- Provenance: every non-trivial sentence in
### Decisionreferences a SHA (\b[0-9a-f]{7,40}\b) or URL (https?://)
Skip invalid ChDRs and report:
## Skipped ChDRs
| ChDR | Issue | Action |
|---|---|---|
| ChDR-XXX | Decision claims lack SHA/URL provenance | Re-run /change-init or add evidence manually |Phase 3: Gap Identification
Generate a gap report:
## ChDR Clarification Report
| ChDR | Title | Gap Type | Severity |
|---|---|---|---|
| ChDR-001 | [Title] | Low-confidence decision | MEDIUM |
| ChDR-002 | [Title] | Issue summary too verbose | LOW |Gap types:
- Low-confidence decision: Decision marked LOW confidence — consider rejecting or deferring
- Unprovenanced claim: a Decision sentence without SHA/URL (should have been caught in Phase 2)
- Issue summary too verbose: pasted verbatim instead of paraphrased (security)
- Missing consequences: Consequences section empty but reverts observed in window
- Stale: cluster's commits later reverted (the decision was reversed — mark for rejection or status reversal)
Phase 4: Sequential Clarification
CRITICAL: Present exactly ONE ChDR per interaction.
Write every clarification in Simplified Technical English (short sentences, one idea each, active voice, imperative asks, named referents, plain words). Read the contract at skills/authoring/references/ste-rules.md before drafting questions.
Count crossed boundaries (record, lane, team, now) for each gap: 0–1 boundaries use the plain STE format below, however severe the gap; 2 or more boundaries draw the full ASCII decision map from the reference (WHAT/WHY, crossed boundaries, reach fan-out, candidates × discriminating axes, IF-UNDECIDED). Render unknown gaps as ? slots, never prose complaints. Do NOT:
- Present multiple ChDRs together
- Auto-select actions
- Proceed without explicit user input
- Ask more than one question at a time
Session limit: Default 5 ChDRs per session. User can say "done" to exit early.
For each ChDR:
## ChDR-{ID}: {Title}
**Status**: {status}
**Issue Links**: {links or "none"}
**Commits**: {sha list}
### Current Content
**Context**:
{context}
**Decision** (confidence: {level}):
{decision}
**Consequences**:
{consequences}
**Evidence**:
{evidence}
### Choose Action
| Option | Action |
|---|---|
| A | **Accept** — Approve for promotion to memory |
| B | **Reject** — Decline with reason |
| C | **Defer** — Skip for now, keep pending |
| D | **Accept all remaining** — Accept this ChDR and all pending ChDRs without further review |
Reply with your choice (A/B/C/D).Wait for user input before proceeding.
Action A: Accept
Update status to ### Status: **Accepted**. Add clarification metadata:
### Clarification
- **Date**: [YYYY-MM-DD]
- **Action**: Accepted
- **Rationale**: [summary of review]Action D: Accept All Remaining
Accept the current ChDR (Action A), then iterate remaining pending ChDRs marking each ### Status: **Accepted** with bulk metadata. Skip per-ChDR presentation. Proceed to Phase 6.
Action B: Reject
Ask for reason:
### Decision: Reject
| Option | Reason |
|---|---|
| A | Decision was reversed (later reverted) |
| B | Inferred rationale unsupported by evidence |
| C | Project-specific / not worth recording |
| D | Duplicate of an existing ChDR or ADR |
Reply with your choice.Update status to ### Status: **Rejected** with reason.
Action C: Defer
Keep status as-is. Add note:
### Clarification
- **Date**: [YYYY-MM-DD]
- **Action**: Deferred
- **Reason**: [need more context / waiting on team / low priority]Phase 5: Update ChDR Files
After EACH ChDR interaction, immediately update the file. Do not batch at the end.
Phase 6: Regenerate Index
Regenerate {REPO_ROOT}/.adlc/drafts/chdr/chdr.md by listing all ChDR-*.md files and building the markdown table from single-line fields (### Status:, ### Date:, ### Issue Links:, ### Commits:, ### Descriptor:).
Phase 7: Summary
## Change-Clarify Summary
**ChDRs Reviewed**: N
**Accepted**: N
**Rejected**: N
**Deferred**: N
### Accepted (Ready for Promotion)
| ChDR | Title |
|---|---|
| ChDR-001 | [Title] |
### Rejected
| ChDR | Reason |
|---|---|
| ChDR-003 | Decision was reversed (later reverted) |
### Deferred
| ChDR | Title |
|---|---|
| ChDR-004 | [Title] |
### Next Steps
1. **Accepted**: Run `/change-publish` to promote to `docs/adlc/memory/chdr/`
2. **Deferred**: will appear in next clarify session
3. **Remaining**: run `/change-clarify` again to continueKey Rules
One-at-a-Time
- Present exactly ONE ChDR per response
- Ask exactly ONE question per response
- Wait for user input before proceeding
Immediate Writes
- Update ChDR file after each decision
- Regenerate index after session ends
No Auto-Approval
- Never accept or reject without explicit user choice
- Do not assume user preference
Provenance Is the Gate
- A Decision claim without SHA/URL provenance is a poisoning risk — reject or require evidence before accepting
- LOW-confidence decisions are acceptable to accept if evidence is solid; HIGH-confidence with no evidence is not
Workflow Guidance & Transitions
After /change-clarify
If any ChDRs were Accepted, handoff to /change-publish:
{
"command": "clarify",
"accepted": ["ChDR-001", "ChDR-002"],
"rejected": ["ChDR-003"],
"deferred": ["ChDR-004"]
}Complete Clarify Flow
[Pending ChDRs exist]
↓
/change-clarify
↓
[One ChDR at a time] → Accept / Reject / Defer
↓
[Run /change-publish] → Promote accepted ChDRs to docs/adlc/memory/chdr/Next Steps
After accepting ChDRs, run /change-publish to promote them to project memory and regenerate the boot-facing chdr.md index.
Verification
- All reviewed ChDR files updated with new status and clarification metadata.
chdr.mddrafts index regenerated.- Accepted ChDRs are ready for
/change-publish. - No ChDRs were auto-accepted or auto-rejected without user input.
- Accepted ChDRs all have provenance on Decision claims.
Context
$ARGUMENTS
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

