Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
athola avatar

Voice Extract

  • 74 installs
  • 325 repo stars
  • Updated August 2, 2026
  • athola/claude-night-market

Voice-extract is the register-creation module in the Claude Night Market voice stack.

About

Voice-extract is the register-creation module in the Claude Night Market voice stack. After an extraction pass analyzes a founder’s writing samples, this skill tells the agent how to materialize durable markdown registers—starting with a default profile that captures vocabulary directives, sentence rhythm, rhetorical habits, and qualitative voice markers. Solo builders use it to stop re-pasting style guides into every chat when they ship newsletters, docs, landing updates, or support macros. The module also explains how to spin context-specific registers by re-running extraction on focused samples and documenting only deltas through Inherits, Overrides, and Additions blocks. Detection hooks describe how the companion voice-generate skill should pick a register when the user names a mode like casual or technical. Estimated footprint is modest (~400 tokens in metadata), but the outcome is filesystem-backed voice assets agents can reload across sessions.

  • Creates default register at ~/.claude/voice-profiles/{name}/registers/default.md from extraction sections
  • Maps extraction blocks to Vocabulary, Sentence Structure, Rhetorical Techniques, and Voice Qualities
  • Supports additional registers (casual, technical, narrative, advocacy) via subset re-extraction and overrides
  • Non-default registers inherit default with explicit Overrides and Additions sections
  • Feeds voice-generate skill register selection from explicit user context or detection rules

Voice Extract by the numbers

  • 74 all-time installs (skills.sh)
  • Ranked #1,207 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill voice-extract

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs74
repo stars325
Security audit2 / 3 scanners passed
Last updatedAugust 2, 2026
Repositoryathola/claude-night-market

How do I turn voice extraction output into default and contextual writing registers stored under ~/.claude/voice-profiles for consistent branded copy.?

Turn voice extraction output into default and contextual writing registers stored under ~/.claude/voice-profiles for consistent branded copy.

Who is it for?

Best when you're working on marketing & seo and need structured help with voice extract.

Skip if: Teams with no marketing & seo needs, or anyone wanting a generic chat assistant without this specific workflow.

When should I use this skill?

When you need to turn voice extraction output into default and contextual writing registers stored under ~/.claude/voice-profiles for consistent branded copy., or when voice-extract is the register-creation module in the

What you get

Structured output aligned to voice-extract: Creates default register at ~/.claude/voice-profiles/{name}/registers/default.md from extraction sections, Maps extraction blocks to Vocabulary, Sentence Structure, Rhetorical

Files

SKILL.mdMarkdownGitHub ↗

Voice Extraction Skill

Extract a user's writing voice through SICO comparative analysis.

Method: Comparative Feature Extraction

Rather than measuring surface metrics, this skill uses SICO Phase 1: feed the model user writing samples alongside its own default output on the same topics. The model describes what the user does differently. This produces voice descriptions that encode implicit structural patterns no metrics can capture.

Key Principles (from research)

1. Anonymize samples: Label as "Sample 1", "Sample 2", etc. Context labels cause the extractor to anchor on content rather than reading a unified voice.

2. Variety over volume: 10 samples across different topics beats 20 on the same subject. The extraction needs to see what stays constant when everything else changes.

3. Casual writing is distinctive: Reddit comments, slack messages, quick emails. Polished pieces have rough edges edited away, and those edges are where voice lives.

4. Pressure test for specificity: If extraction output sounds generic ("uses varied sentence lengths"), run pass 2 and force specificity. Good output reads like followable instructions, not a book report.

5. Use Opus for extraction: More nuanced feature descriptions, especially for registers where subtle tonal shifts matter.

Required TodoWrite Items

1. voice-extract:samples-collected - Writing samples gathered 2. voice-extract:samples-anonymized - Labels stripped, numbered 3. voice-extract:baseline-generated - Claude's default output on same topics 4. voice-extract:extraction-pass-1 - Broad comparative features 5. voice-extract:extraction-pass-2 - Pressure test for specificity 6. voice-extract:profile-written - extraction.md created

Step 1: Sample Intake

Load: @modules/sample-intake

Directory Mode

# Scan for samples
PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"
mkdir -p "$PROFILE_DIR/samples"

# Copy samples from user-provided directory
# Rename to Sample-01.md, Sample-02.md, etc.

Interactive Mode

Present the user with:

Paste your writing sample below (minimum 200 words).
Type END on a new line when done.

Repeat until user says "done collecting" or reaches 10+ samples.

Manifest

Create manifest.json:

{
  "profile_name": "{name}",
  "created": "YYYY-MM-DD",
  "samples": [
    {
      "id": "sample-01",
      "original_source": "anonymized",
      "word_count": 450,
      "date_added": "YYYY-MM-DD"
    }
  ],
  "extraction_model": "opus",
  "extraction_date": null,
  "registers": ["default"]
}

Validation

  • Minimum 3 samples
  • Minimum 500 words total
  • Each sample minimum 100 words
  • Variety check: warn if all samples share obvious topic

Step 2: Baseline Generation

For each sample's topic/context, generate Claude's default output on the same subject. This creates the comparison pair.

Prompt for baseline:

Write a short piece about [topic extracted from sample].
Use your natural default style. Do not try to match any
particular voice or style. Just write naturally about this
subject in approximately [word_count] words.

Store baselines alongside samples for comparison.

Step 3: SICO Extraction Pass 1

Load: @modules/sico-extraction

The core comparative prompt:

I'm going to show you pairs of text. In each pair:
- Text A is written by a specific person
- Text B is your default output on the same topic

Your task: describe what the writer of Text A does
differently from your default style. Focus on:

- Structural patterns (paragraph shapes, section architecture)
- Rhetorical moves (how they build arguments, make transitions)
- Tonal devices (hedging patterns, commitment patterns)
- Sentence-level techniques (clause structure, rhythm)
- Vocabulary tendencies (physical vs abstract language,
  technical vs conversational)
- Distinctive habits (parentheticals, fragments, questions)

Do NOT describe surface metrics (average sentence length,
word count). Describe the voice in terms a writer could
follow. Be specific enough that someone could use your
description to imitate this voice.

[Pairs follow]

Quality Gate

If the extraction output contains any of these generic phrases, reject and re-run with higher specificity demand:

  • "uses varied sentence lengths"
  • "maintains a conversational tone"
  • "balances formal and informal"
  • "engages the reader"
  • "creates a sense of"

Step 4: Extraction Pass 2 (Pressure Test)

Review your feature description. For each characteristic
you identified, answer:

1. Could this describe 50% of writers? If yes, be more
   specific or remove it.
2. Can someone follow this as a concrete instruction?
   If not, add an example from the samples.
3. Are there patterns you noticed but didn't name?
   Writers often have unnamed habits. Look for:
   - How they use parentheticals
   - Where they commit vs hedge
   - Physical language for abstract concepts
   - Rhythm of building caution then dropping unhedged claims
   - How they anticipate reader objections

Revise your description to be more specific and followable.

Step 5: Write Profile

Write the extraction to ~/.claude/voice-profiles/{name}/extraction.md:

# Voice Extraction: {name}

## Feature Description

[SICO extraction output here]

## Craft Rules (Detection-Neutral)

These techniques improve writing without increasing
AI detectability:

- Concrete-first: Lead with specific, physical details
- Naming: Label patterns and dynamics explicitly
- Opening moves: Start mid-thought or with a specific moment
- Human-moment anchoring: Ground abstractions in lived experience
- Aphoristic destinations: Write sentences worth repeating alone

## Banned Phrases

[Standard AI vocabulary list + user additions]

## Notes

- Extraction model: {model}
- Extraction date: {date}
- Sample count: {n}
- Total word count: {words}

Create default register at registers/default.md from the extraction output.

Exit Criteria

  • Profile directory exists with manifest
  • extraction.md contains specific, followable voice description
  • Default register created
  • No generic phrases in extraction output
  • User has reviewed and confirmed the extraction captures

their voice

Related skills

FAQ

What does voice-extract do?

Voice-extract is the register-creation module in the Claude Night Market voice stack.

When should I use voice-extract?

When you need to turn voice extraction output into default and contextual writing registers stored under ~/.claude/voice-profiles for consistent branded copy., or when voice-extract is the register-creation module in the claude night market voice stack.

What are the main capabilities?

Creates default register at ~/.claude/voice-profiles/{name}/registers/default.md from extraction sections; Maps extraction blocks to Vocabulary, Sentence Structure, Rhetorical Techniques, and Voice Qualities; Supports additional registers (casual, technical, narrative, advocacy)

Is Voice Extract safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Marketing & SEOcontentlifecycle

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.