Skip to content
Content
Skill

/personal-voice-capture

Use when a user wants an agent to learn, encode, or improve their personal writing voice as a reusable skill through source-text ingestion and iterative calibration edits.

From plugin
personal-voice-capture
91 skill
Install
$ npx -y skills add eranshir/personal-voice-capture --skill personal-voice-capture --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/personal-voice-capture

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a user wants an agent to learn, encode, or improve their personal writing voice as a reusable skill through source-text ingestion and iterative calibration edits.

SKILL.md

personal-voice-capture.SKILL.md
name: personal-voice-capture
description: "Use when a user wants an agent to learn, encode, or improve their personal writing voice as a reusable skill through source-text ingestion and iterative calibration edits."

Personal Voice Capture

Overview

Use this meta-skill to create or improve a personalized voice skill for a specific person. The output is not a one-off prompt. The output is a durable `SKILL.md` that future agents can load to draft or rewrite text in that person's voice.

This skill is a calibration process: corpus evidence plus user edits become executable voice rules, context modes, phrase preferences, examples, and quality checks.

Non-Negotiable Principle

Capture expression, not identity.

The generated skill may describe how the person tends to write. It must not invent their beliefs, commitments, emotions, facts, approvals, or positions. When future agents use the generated voice skill, they rewrite the supplied intent in the person's voice; they do not decide what the person thinks.

When to Use

Use when the user says things like:

  • "capture my voice"
  • "learn how I write"
  • "build my voice skill"
  • "make future agents write like me"
  • "that doesn't sound like me; update the voice skill"
  • "calibrate on my edits"
  • "turn these samples into my writing style"

Do not use for:

  • impersonating someone without their consent
  • inventing views, promises, or commitments
  • forensic authorship attribution
  • making text deceptively appear authored by someone in a context where disclosure is required
  • replacing current task intent with generic personality mimicry

Operating Modes

1. Capture Mode

Use this when no mature personal voice skill exists yet. The goal is to create a first usable `SKILL.md`.

2. Maintenance Mode

Use this when a voice skill already exists and the user corrects, edits, or rejects generated text. The goal is to patch the existing skill with new rules, weakened rules, deleted rules, or better examples.

Phase 0 — Scope and Consent

Before ingesting or storing source material, establish the scope. If the user already specified the scope, proceed without re-asking.

Capture:

1. **Person** — whose voice is being captured. 2. **Primary languages** — English, Hebrew, mixed, or other. 3. **Contexts** — DM, email, internal memo, investor note, customer note, public post, technical doc, etc. 4. **Source policy** — pasted samples, local files, email/docs/chat exports if authorized. 5. **Storage policy** — default: do not retain raw corpus; retain derived rules and user-approved examples only. 6. **Output target** — local profile skill, repo skill, or both.

Default if unspecified:

  • Store only derived voice rules and approved examples.
  • Create a private, user-local skill named `<person-slug>-voice`.
  • Keep source-text notes session-local unless explicitly asked to save them.

Phase 1 — Ingest Past Writing

Accept sources from pasted examples, files, docs, emails, chat exports, social posts, or prior agent outputs edited by the user.

For each source, classify:

| Dimension | Values | |---|---| | Authorship confidence | authored, edited, transcript, uncertain | | Medium | DM, email, memo, post, comment, deck, doc | | Audience | self, friend, team, investor, customer, public | | Formality | casual, crisp, polished, technical, strategic | | Language | English, Hebrew, mixed, other | | Recency | current, older, unknown |

Extract observations across these categories:

  • sentence length and rhythm
  • paragraph shape
  • openers and closers
  • transitions and framing devices
  • directness vs. hedging
  • compression level
  • warmth and humor
  • punctuation habits
  • bullets/tables/numbered-list usage
  • rhetorical patterns such as "not X, but Y"
  • vocabulary and recurring phrases
  • words or phrases the person avoids
  • multilingual switching patterns
  • context-specific differences

Keep evidence labels. Distinguish strong recurring patterns from weak one-off clues.

Phase 2 — Draft the Initial Voice Model

Create `Voice Spec v0.1` with these sections:

# <Person> Voice Spec

## Confidence
What evidence exists and where it is weak.

## High-Level Signature
A compressed description of the person's recognizable writing voice.

## Invariants
Rules that apply across most contexts.

## Context Modes
### DM / Chat
### Email
### Internal Memo
### Public Post
Add/remove modes as needed.

## Cadence
Sentence length, rhythm, paragraph shape.

## Diction
Preferred words, avoided words, recurring phrases.

## Structure
How the person organizes arguments and asks.

## Warmth / Humor / Edge
How much personality appears and when.

## Do / Don't
Concrete rewrite rules.

## Examples
Generic -> Person voice pairs.

Do not treat v0.1 as truth. It is a hypothesis to test against user edits.

Phase 3 — Calibration Loop

Run short rounds. Each round should include 3–5 calibration items unless the user asks for a different pace.

Delivery: editable file (default)

Do not paste calibration items into chat as blockquotes — they are painful to copy and edit. Instead, write the round to a single plain-text markdown file the user edits inline in their editor, then hand back. This scales to large rounds and keeps the user in one place.

Conventions for the file:

  • Write to a session-local, gitignored location (e.g. `.scratch/calibration-round-<n>.md`). Never store raw corpus or edits in a committed path unless storage policy allows it.
  • One block per item. Label the context/language. Show the generic version and the assistant's attempt as **plain text, not blockquotes** (no `>` and no leading indentation), so the user can copy or overwrite freely.
  • Give each item a clearly delimited edit zone with an explicit sentinel the user types into, e.g.:
## Example <n> — <context, language>

GENERIC:
<neutral, competent, non-personal version>

MY ATTEMPT:
<rewrite using current voice model>

YOUR EDIT (replace this line; write `good` if the attempt
Read more
Ships withpersonal-voice-capture

Teach an AI agent to write like you — not from a one-off prompt, but from your own writing and your own edits. Every agent I use writes the same way. Competent, fluent, and unmistakably not me. I bet yours do too.

Get the whole plugin
Stats
9
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
2mo ago
Last commit
3mo ago
Created

Repo: eranshir/personal-voice-capture