Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.
The English summary is being prepared. Showing the original description.
Improves a voice profile by learning from manual edits. Use after editing generated text to refine registers and close voice drift over time.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Learn from user edits to improve the voice profile over time.
scribe:voice-extract)scribe:voice-review)Every piece flows through three stages:
The learning agent compares stages 2 and 3 (post-review vs post-edit) to identify patterns in what the user changed. These patterns inform register and rule updates.
voice-learn:snapshots-loaded - All three stages readvoice-learn:diff-analyzed - Changes categorizedvoice-learn:accumulator-checked - Prior patterns reviewedvoice-learn:proposals-generated - Updates proposedvoice-learn:user-approved - Changes accepted by userLoad: @modules/snapshot-management
PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"
SNAP_DIR="$PROFILE_DIR/learning/snapshots"
# Find the most recent snapshot set
# Format: {piece-name}-{timestamp}-{stage}.md
Read all three stages for the target piece.
Load: @modules/pattern-analysis
Compare post-review vs post-edit. Categorize every change:
| Category | Example |
|---|---|
| Tone adjustment | Softened a claim, added hedge |
| Voice insertion | Added parenthetical, aside, humor |
| Structure change | Broke paragraph, reordered |
| Precision edit | Replaced vague with specific |
| Deletion | Removed fluff or decoration |
| Addition | Added context, example, anchor |
Read learning/accumulator.json:
{
"patterns": [
{
"id": "pat-001",
"category": "tone_adjustment",
"description": "Softens confident claims about tool capabilities",
"instances": [
{"piece": "blog-post-1", "date": "2026-04-08", "diff": "..."}
],
"target": "register",
"status": "accumulating",
"first_seen": "2026-04-08",
"last_seen": "2026-04-08"
}
],
"staleness_threshold_days": 30
}
Match new changes against existing patterns:
For patterns that reach threshold (3+ instances or 1-2 matching prior accumulator entries with 2+ instances):
## Proposed Update
**Pattern**: {description}
**Target**: {register file or craft-rules.md}
**Evidence**: {N instances across M pieces}
| Piece | Date | Change Made |
|-------|------|-------------|
| ... | ... | ... |
**Proposed edit**:
- File: {path}
- Section: {section name}
- Current: "{current text or 'new addition'}"
- Proposed: "{new text}"
Add to accumulator with current instances. Report:
Holding: "{pattern description}" (N instances, need 3+)
If a new pattern contradicts an existing accumulator entry:
Contradiction detected:
- Existing: "{accumulator pattern}"
- New: "{contradicting pattern}"
- Resolution required: user must choose
Present proposals to user:
Learning found N patterns ready to apply:
[1] {pattern}: {proposed change}
Evidence: {N instances}
[a]pply / [s]kip / [v]iew evidence?
[2] ...
Apply approved changes to the target files.
Patterns in the accumulator expire after staleness_threshold_days
(default 30). If a pattern hasn't recurred within that window,
it was likely a one-off preference rather than a voice trait.
On each learning pass, prune stale entries:
# Remove patterns older than threshold with < 3 instances
The learning system captures snapshots automatically when voice-review completes. Snapshot naming:
{piece-filename}-{YYYYMMDD-HHMMSS}-pre-review.md
{piece-filename}-{YYYYMMDD-HHMMSS}-post-review.md
{piece-filename}-{YYYYMMDD-HHMMSS}-post-edit.md
The post-edit snapshot is captured when the user runs
/voice-learn after finishing their manual edits.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.
The English summary is being prepared. Showing the original description.
Inverts burden of proof for code additions. Use when reviewing PRs, planning refactors, or running unbloat to challenge every addition's necessity.
The English summary is being prepared. Showing the original description.
Tracks per-agent token usage and flags waste in parallel dispatch. Use when evaluating parallel agent efficiency or after a multi-agent run.
The English summary is being prepared. Showing the original description.
Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.
The English summary is being prepared. Showing the original description.
Evaluates API surface design, consistency, and exemplar alignment. Use when reviewing public API changes or before releasing a new API surface.
The English summary is being prepared. Showing the original description.
Selects architecture paradigm via research before scaffolding. Use when architecture is undecided and the choice needs justification and documentation.
The English summary is being prepared. Showing the original description.