본문으로 건너뛰기
cccskills
무료GitHub에 공개

voice-learn

Improves a voice profile by learning from manual edits. Use after editing generated text to refine registers and close voice drift over time.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(3)

  • SKILL.md5.7 KB
  • modules/pattern-analysis.md2.7 KB
  • modules/snapshot-management.md1.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Voice Learning Skill

Learn from user edits to improve the voice profile over time.

When NOT To Use

  • Building the first profile (use scribe:voice-extract)
  • Reviewing text without changing the profile (use scribe:voice-review)

Method: Three-Stage Comparison

Every piece flows through three stages:

  1. Pre-review: Raw generation output (before review agents)
  2. Post-review: After user accepts/rejects advisory fixes
  3. Post-edit: User's manually edited final version

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.

Core Rules

  1. Sharpen, don't add: Modify existing rules to cover new patterns. Rule bloat degrades output.
  2. Tag specificity: Register-specific patterns go to registers. Universal patterns go to craft rules or agents.
  3. Flag contradictions: Opposite patterns across pieces require user resolution.
  4. Evidence threshold: Patterns need 3+ instances (or 1-2 matching existing accumulator entries) before becoming rules.
  5. Detection surface: Structural changes increase AI detectability. Craft-level changes are neutral. Prefer craft-level updates.
  6. Rule count check: Suggest consolidation if any section has 8+ rules.

Required TodoWrite Items

  1. voice-learn:snapshots-loaded - All three stages read
  2. voice-learn:diff-analyzed - Changes categorized
  3. voice-learn:accumulator-checked - Prior patterns reviewed
  4. voice-learn:proposals-generated - Updates proposed
  5. voice-learn:user-approved - Changes accepted by user

Step 1: Load Snapshots

Load: @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.

Step 2: Diff Analysis

Load: @modules/pattern-analysis

Compare post-review vs post-edit. Categorize every change:

CategoryExample
Tone adjustmentSoftened a claim, added hedge
Voice insertionAdded parenthetical, aside, humor
Structure changeBroke paragraph, reordered
Precision editReplaced vague with specific
DeletionRemoved fluff or decoration
AdditionAdded context, example, anchor

Step 3: Check Accumulator

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:

  • Semantic similarity (same category + similar description)
  • If match found: merge instance, check if threshold reached
  • If no match: create new accumulator entry

Step 4: Generate Proposals

For patterns that reach threshold (3+ instances or 1-2 matching prior accumulator entries with 2+ instances):

Apply (strong evidence)

## 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}"

Hold (insufficient evidence)

Add to accumulator with current instances. Report:

Holding: "{pattern description}" (N instances, need 3+)

Contradictions

If a new pattern contradicts an existing accumulator entry:

Contradiction detected:
- Existing: "{accumulator pattern}"
- New: "{contradicting pattern}"
- Resolution required: user must choose

Step 5: User Approval

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.

Staleness

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

Snapshot Capture

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.

Exit Criteria

  • Snapshots loaded and compared
  • Changes categorized
  • Accumulator checked and updated
  • Proposals generated for threshold patterns
  • User approved/rejected proposals
  • Approved changes applied to profile files
  • Stale accumulator entries pruned

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

Inverts burden of proof for code additions. Use when reviewing PRs, planning refactors, or running unbloat to challenge every addition's necessity.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

Tracks per-agent token usage and flags waste in parallel dispatch. Use when evaluating parallel agent efficiency or after a multi-agent run.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

Coordinates Claude agent teams via filesystem protocol. Use when orchestrating parallel agents with task dependencies. Do not use for single-agent tasks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

Evaluates API surface design, consistency, and exemplar alignment. Use when reviewing public API changes or before releasing a new API surface.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

Selects architecture paradigm via research before scaffolding. Use when architecture is undecided and the choice needs justification and documentation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

athola/claude-night-market3432026년 10월 24일 업데이트

athola의 스킬 모두 보기

이 스킬의 문제 신고