agentsclimarketplace

Voice print

Skill 0xF4ng/aether-growth-fieldwork/pmm/voice-print

Captures a specific writer's or founder's voice into a reusable VOICE-PRINT.md by reverse-engineering real writing samples, separating stable voice from per-channel register. Use whenever someone wants content to "sound like me," wants to define, capture, document, or hand off a writing or brand voice, is onboarding a writer or agent to a founder's voice (the taste-handoff), or is setting up a content workflow with no voice profile yet — and before drafting newsletter, social, or long-form content when no voice profile exists. Run it before ai-slop-audit and the content-creation skills, which consume its output. Not for one-off drafting or generic copy edits where no reusable voice artifact is wanted — only when the goal is to produce or reuse a voice profile.From its SKILL.md

Install
npx -y skills add 0xF4ng/aether-growth-fieldwork --skill voice-print

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

13.4 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

Voice Print — Capture a Writer's Voice as a Reusable Asset

Purpose

This skill turns real writing samples into a VOICE-PRINT.md — a structured, reusable description of how a specific person writes, precise enough that another writer, or an agent, can produce new content that sounds like them.

It exists to solve two problems at once:

  1. Anti-slop at the source. Most AI-written content reads like AI because it has no voice to anchor it. A voice print gives every downstream skill (ai-slop-audit, the content-creation skills) a concrete target to write toward, not just generic patterns to avoid.
  2. The taste-handoff. A founder's judgment about how things should sound is usually trapped in their head. This skill externalizes it into an artifact a first growth hire — or an agent — can apply consistently. The founder writes the voice once; the system reuses it 1000×.

Voice is the sum of concrete, observable choices (which words, which sentence lengths, which moves), never a set of adjectives ("professional, friendly, bold"). This skill refuses to describe a voice it cannot point to in a real sample.


Inputs

InputRequired?Description
Writing samplesRequired2–3 pieces (≥300 words each) the person actually wrote — not edited-by-committee, not AI-drafted. The more they sound like the person at their best, the better.
Self-description of voiceOptionalAny existing notes on how they want to sound. Treated as a hypothesis to verify against samples, never as ground truth.
Audience / ICPOptionalWho they write for. Calibrates the register layer (see Decision Logic).
ChannelsOptionalWhich surfaces they publish on (newsletter, LinkedIn, X, blog). Each gets a register note.
Brain contextOptionalIf a companion aether-growth-brain is connected, read knowledge/icp-map.md for audience register.

BLOCK rule

You need enough real text to see a pattern repeat — rhythm, openings, and signature moves only emerge across a few hundred words, ideally two or more pieces. This is a judgment about sufficiency, not a hard word count:

IF there is essentially nothing to work from (a single short post, or only
AI-drafted / edited-by-others text):
  BLOCK. Return:
  "A voice print is reverse-engineered from real writing — I won't invent a voice.
   Please paste 2–3 pieces this person actually wrote (a newsletter issue, a long
   post, an internal memo — anything in their real voice). AI-drafted or
   heavily-edited-by-others samples dilute the signal and won't work."

IF samples exist but are thin (one short piece, or little variance to read):
  PROCEED, but cap overall confidence at low, mark most dimensions
  "needs more samples," and say exactly what additional sample would sharpen it.

Anti-fabrication law (the most important rule in this skill): every positive trait — voice dimensions, signature moves, register notes — must be traceable to a quoted line from a real sample. If you can't quote it, it doesn't go in the artifact. The never-list is the one structural exception, because you cannot quote an absence: each never-list entry must instead name what the samples consistently do in its place and cite that positive instance (e.g. "no hype words — opens on a concrete number instead: '47 minutes'"). That is evidence-of-absence, never a guess about what the writer "probably" avoids. A voice print is evidence-based, the same way positioning proof points are.


Decision Logic

Step 1 — Separate the two layers

A person has one voice and several registers. Conflating them is the most common failure.

  • Voice (stable): the choices that persist across everything they write — their diction range, sentence rhythm, stance, humor, how they open and close, what they never do. This is the bulk of the artifact.
  • Register (per-channel): how the voice flexes by surface — a newsletter essay vs. an X post vs. a customer email. Same voice, different length / formality / density.

Extract voice from the common signal across all samples. Extract register from the differences between samples on different surfaces (or note it as "unknown — only saw one surface").

Step 2 — Extract voice across the seven dimensions

For each dimension, find at least one quoted line from a sample. Detail and worked examples are in references/voice-dimensions.md — read it before extracting. Summary:

#DimensionWhat to capture
1Diction & lexiconCharacteristic words, plain-vs-ornate balance, jargon tolerance, recurring metaphors, words they reach for
2Sentence rhythmTypical length and variance; do they run long then snap short? fragments? lists? The rhythm is the voice.
3Stance & POVFirst-person observer vs. protagonist vs. "we"; confident vs. hedged; teacher / peer / provocateur
4Opening instinctHow they earn the first line — scene, claim, question, tension
5Closing instinctHow they land — worldview, question, callback, understatement
6Signature movesThe 1–3 things that are unmistakably them (a recurring structural beat, a verbal tic, a kind of aside)
7Humor & emotional registerDry / warm / earnest / none; what the reader should feel (invited? challenged? let-in-on-something?)

Step 3 — Build the never-list

The fastest way to break a voice is to do something the person never does. Record an explicit never-list of the words, openings, structures, and tones this person avoids — each derived from the samples as evidence-of-absence (name what they do instead; see the anti-fabrication law). Capture only person-specific avoidances here. For the global banned-hype canon, reference pmm/DOMAIN.md rather than copying it into the artifact — duplicating it lets the print drift out of sync as the canon changes. This is what ai-slop-audit and reviewers check against.

Step 4 — Verify, don't flatter

Re-read each extracted trait against the samples. Drop anything you can't quote. If the person's self-description (optional input) contradicts the samples, the samples win — note the gap explicitly ("self-describes as X; samples read as Y") rather than recording the aspiration.

Step 5 — Confidence-tag every dimension

Tag each dimension high (clear across all samples), medium (present but thin), or low / needs more samples. A voice print is allowed to be partial — it must be honest about where it's thin, so downstream skills don't over-trust a weak signal. The artifact's single overall confidence may blend these (e.g. medium-high when most dimensions are high but register is thin); per-dimension tags stay on the three-point scale.


Outputs

A single artifact, written to the user's workspace (suggest VOICE-PRINT.md at the content root):

# Voice Print — [Name / Brand]

**Built from:** [list the samples, dated]   **Date:** [date]   **Overall confidence:** [high/medium/low]

## Voice (stable)
[Seven dimensions. Each: 1–3 line description + ≥1 quoted line from a sample + confidence tag.]

## Register (per channel)
| Channel | Length | Formality | Density | Notes |
| ... one row per channel seen, or "unknown — no sample" |

## Signature moves
[The 1–3 unmistakable things, each with a quoted instance.]

## Never-list
[Words / openings / structures / tones this person does not use, with reason.]

## Gaps & how to strengthen
[Dimensions tagged low; what additional sample would resolve each.]

The artifact is reusable infrastructure, not a one-time report: downstream skills load it; reviewers check against it; it updates when new samples arrive.

Brain write (if connected): append a one-line entry to decisions/voice-print-log.md (skip silently if no aether-growth-brain is connected — never invent the path):

[date] voice-print built for [name] | confidence: [high/medium/low] | channels: [list]

Cross-Review Triggers

This skill produces a reference artifact, not a gated public-facing output, so it has no blocking review of its own. But:


Example Usage

Example 1 — Founder onboarding an agent to their newsletter voice

Context: A solo founder runs a newsletter and wants an agent to draft issues that sound like them. Input: 3 past issues (~2,200 words each). Output: VOICE-PRINT.md capturing, e.g., "opens on a specific lived scene, never by reacting to someone else's idea (sample 2: 'The query had been in production for 47 minutes…')"; rhythm = "long evidentiary sentences, then a short landing line"; never-list includes the hype-word set. Register row for newsletter; X/LinkedIn tagged "unknown — no sample."

Example 2 — Taste-handoff to a first growth hire

Context: Founder hiring their first growth person; wants the voice to survive the handoff. Input: 2 essays + 1 internal memo (different register). Output: Voice extracted from the common signal; register table contrasts essay vs. memo (shows the voice flexing); signature moves documented so the new hire can reproduce them.

Example 3 — Insufficient samples

Context: User pastes one 150-word LinkedIn post and asks for a voice print. Output: BLOCK — requests 2–3 genuine samples ≥300 words. Does not fabricate a voice from one thin sample.


Validation Criteria

Output passes if:

  • Every recorded trait is backed by a quoted line from a real sample (anti-fabrication law)
  • Voice and register are separated, not conflated
  • All seven voice dimensions are addressed (with a low / needs more samples tag where thin — not silently skipped)
  • A never-list is present
  • Each dimension carries a confidence tag
  • Where self-description contradicts samples, the gap is named and samples win
  • Output is a reusable artifact in the VOICE-PRINT.md shape, not prose commentary

Output fails if:

  • Any trait is an adjective with no quoted evidence ("bold", "authentic", "engaging")
  • The skill invented a voice from insufficient or AI-drafted samples instead of blocking
  • Voice and per-channel register are merged into one undifferentiated blob

Benchmarks


References & Sources

Tier-1 frameworks:

  • Roy Peter Clark, Writing Tools (2006) — voice as the accumulation of concrete choices; "get the name of the dog" specificity principle
  • Verlyn Klinkenborg, Several Short Sentences About Writing (2012) — the sentence as the unit of voice; rhythm and variance
  • April Dunford, Obviously Awesome (2019) — register calibration to a named audience

Cross-references (this repo):

Output metadata (append to every artifact):

---
Skill: voice-print v1.0.0
Built from: [samples]
Overall confidence: [high/medium/low]
Generated: [date]
---

What ships with it: 1 file

7.1 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 326,852. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.