Agent skill

Voice Generate

by athola in athola/claude-night-market

Generates text in a learned writing voice. An agent skill from athola/claude-night-market.

MITAuto-check passed

Install Voice Generate

skills CLI
$ npx skills add athola/claude-night-market --skill voice-generate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install athola/claude-night-market voice-generate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/scribe/skills/voice-generate .claude/skills/voice-generate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
voice-generate
GitHub stars
341
Token cost
~1.4k tokens
SKILL.md length
370 words
Files
4
Skills in repo
152
Repo updated
First seen
Licence
MIT

At a glance

Generates text in a learned writing voice. An agent skill from athola/claude-night-market.

  • Works in 5 steps: Load Voice Profile → Register Selection → Frame Source Material → …
  • Drafting content that must match a specific authors style profile extracted by voice-extract
  • SKILL.md covers When NOT To Use, Core Principle: Source…, Required TodoWrite Items and Step 1: Load Voice Profile, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Voice Generate is an agent skill from athola/claude-night-market. Generates text in a learned writing voice. Use when drafting content that must match a specific author's style profile extracted by voice-extract.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `modules/generation-pipeline.md`, `modules/register-selection.md` and `modules/source-framing.md`).

The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Drafting content that must match a specific authors style profile extracted by voice-extract

Example prompts

  • “Use the voice-generate skill to generate text in a learned writing voice. An agent skill from athola/claude-night-market”
  • “/voice-generate”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Load Voice Profile
  2. Register Selection
  3. Frame Source Material
  4. Generation Prompt
  5. Post-Generation

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Voice Generate loads about 1.4k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 370 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 370 words, ~1,363 tokens.

Download SKILL.mdSave it as .claude/skills/voice-generate/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
voice-generate
description
Generates text in a learned writing voice. Use when drafting content that must match a specific author's style profile extracted by voice-extract.
globs
**/*.{md,txt}
alwaysApply
false
category
writing-quality
tags
voice, generation, style-transfer, writing, registers
complexity
high
model_hint
opus
estimated_tokens
2400
progressive_loading
true
modules
modules/source-framing.md, modules/register-selection.md, modules/generation-pipeline.md
dependencies
scribe:voice-extract, scribe:slop-detector

Voice Generation Skill

Generate text in a user's extracted writing voice.

When NOT To Use

  • No profile exists yet (use scribe:voice-extract)
  • Checking the output for drift (use scribe:voice-review)

Core Principle: Source Material Framing

The single largest variable in output quality is how source material is framed in the prompt. Material framed as "raw notes I'm still thinking through" produces text that feels like thinking. Material framed as summaries produces reporting.

Always frame user-provided source material as raw notes unless the user explicitly requests otherwise.

Required TodoWrite Items

  1. voice-generate:profile-loaded - Voice profile read
  2. voice-generate:register-selected - Register chosen
  3. voice-generate:source-framed - Material framed as notes
  4. voice-generate:generated - Text produced
  5. voice-generate:review-dispatched - Sent to review agents

Step 1: Load Voice Profile

bash
PROFILE_DIR="$HOME/.claude/voice-profiles/{name}"

Read in order:

  1. extraction.md - Core voice features
  2. registers/{register}.md - Active register
  3. craft-rules.md - Shared craft techniques (if exists)
  4. banned-phrases.md - Anti-patterns to avoid (if exists)

Check for per-project override:

bash
if [ -f ".voice/override.md" ]; then
  # Merge project overrides with profile
fi

Step 2: Register Selection

Load: @modules/register-selection

Select register by:

  1. Explicit user request ("use casual register")
  2. Context matching from register metadata
  3. Default fallback to registers/default.md

Step 3: Frame Source Material

Load: @modules/source-framing

Default framing (always use unless user overrides):

Below are my rough notes on this topic. I'm still thinking
through these ideas. Use them as the raw material for the
piece, not as a structure to follow:

---
{user_provided_source_material}
---

Alternative framings (only if user requests):

  • "structured outline" - when user wants to preserve structure
  • "key points to cover" - when user provides bullet points
  • "conversation to draw from" - when source is a transcript
Show full SKILL.md (150 more words)Show less

Step 4: Generation Prompt

Compose the generation prompt:

You are writing a piece in a specific voice. The voice
features below were extracted from the writer's own work.
Follow them as concrete instructions, not suggestions.

## Voice Features

{extraction.md content}

## Active Register: {register_name}

{register content}

## Craft Techniques (apply all)

- Concrete-first: Lead with specific, physical details before
  any abstraction
- Naming: When you describe a pattern in 2+ sentences, compress
  it into a 2-4 word label
- Opening moves: Start mid-thought, with a specific moment, or
  with a counterintuitive claim. Never start with throat-clearing
- Human-moment anchoring: Ground every abstraction in a specific
  scene or lived experience
- Aphoristic destinations: At least one sentence per section
  should be worth repeating out of context

## Banned (never use)

{banned_phrases content, or default list:}
- Em dashes (use commas, colons, semicolons, parentheses)
- ", so" tails on fact after fact (cut the consequence, or give it
  its own sentence)
- "delve", "utilize", "leverage", "facilitate"
- "it's important to note", "in today's world"
- "here's the thing", "let that sink in"
- "furthermore", "moreover", "comprehensive"
- Negation-correction patterns ("This isn't X. This is Y.")

## Source Material

{framed source material from Step 3}

## Task

Write the piece. Follow the voice features precisely. Apply
craft techniques. Do not use any banned phrases. The output
should read as if the writer produced it themselves.

Length: {user_specified or ~same as source material}
Format: {user_specified or prose paragraphs}

Step 5: Post-Generation

After generation:

  1. Scan output for banned phrases (auto-fix silently)
  2. Check for em dashes (replace with appropriate punctuation)
  3. Dispatch to voice-review skill if user wants review
  4. Save pre-review snapshot if learning mode is active

Model Routing

  • Generation: Use Opus. Tonal shifts, parenthetical subversion, and subtle voice qualities require the larger model. Sonnet flattens these.
  • Banned phrase scan: Can run locally (regex/grep)
  • Review agents: Sonnet is sufficient (the prompts are templated, so Opus tonal range is not needed)

Per-Project Voice

If .voice/override.md exists in the current project:

  • Read override content
  • Merge with profile (overrides take precedence)
  • Note in output: "Applied project voice override"

Exit Criteria

  • Text generated in the specified voice
  • No banned phrases present
  • Craft techniques applied (concrete-first, naming, etc.)
  • Source material framed as raw notes
  • Review dispatched (if requested)
  • Snapshot saved (if learning mode active)

© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in plugins/scribe/skills/voice-generate of athola/claude-night-market.

  • SKILL.md
  • modules/generation-pipeline.md
  • modules/register-selection.md
  • modules/source-framing.md

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Voice Generate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Voice Generate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Voice Generate this skillathola/claude-night-market341—~1.4kAutomated safety check: PassMIT
Learning to Learn (OpenMAIC)THU-MAIC/OpenMAIC40k—~502Automated safety check: PassMIT
Changelog Draft Generatorwarpdotdev/warp65k1 repos~3.1kAutomated safety check: PassAGPL-3.0
Generatealirezarezvani/claude-skills28k1 repos~1.1kAutomated safety check: PassMIT
Scikit LearnK-Dense-AI/scientific-agent-skills48k1 repos~3.3kAutomated safety check: NotesBSD-3-Clause
Fal Generatenexu-io/open-design100k—~306Automated safety check: PassApache-2.0

Similar skills

  • A Chinese-language skill that embeds learning strategies like retrieval practice and self-explanation as a parallel goal inside an OpenMAIC subject lesson, without making study skills the topic.

    40k GitHub stars~502 tokensUpdated today
    EducationAuto-check passed
  • Builds a reviewable changelog draft from the PRs merged between two release cuts, with contributor attribution and Markdown and JSON outputs.

    65k GitHub starsUsed in 1 repo~3.1k tokens
    DevelopmentAuto-check passed
  • Generate

    alirezarezvani/claude-skills

    Generate Playwright tests. An agent skill from alirezarezvani/claude-skills.

    28k GitHub starsUsed in 1 repo~1.1k tokens
    Testing & QAAuto-check passed
  • Scikit Learn

    K-Dense-AI/scientific-agent-skills

    Supports machine learning in Python with scikit-learn. An agent skill from K-Dense-AI/scientific-agent-skills.

    48k GitHub starsUsed in 1 repo~3.3k tokens
    Data & AnalyticsAuto-check: notes
  • Fal Generate

    nexu-io/open-design

    Generate images and videos using fal.ai AI models. An agent skill from nexu-io/open-design.

    100k GitHub stars~306 tokensUpdated today
    Media & CreativeAuto-check passed
  • Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.

    276k GitHub stars~2.9k tokensUpdated today
    Legal & ComplianceAuto-check passed

More from athola/claude-night-market

All 152 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    341 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    341 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    341 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    341 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    341 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    341 GitHub stars~1.6k tokensUpdated today
    Auto-check passed

Questions about Voice Generate

What does Voice Generate do?

Generates text in a learned writing voice. An agent skill from athola/claude-night-market. Voice Generate is an agent skill from athola/claude-night-market. Generates text in a learned writing voice.

When should I use Voice Generate?

Voice Generate fits situations like: drafting content that must match a specific authors style profile extracted by voice-extract.

How do I install Voice Generate in Claude Code?

Run `npx skills add athola/claude-night-market --skill voice-generate -a claude-code`. Or copy the skill folder (plugins/scribe/skills/voice-generate in athola/claude-night-market) into .claude/skills/voice-generate in your project. Claude Code loads it when a task matches its description.

How do I install Voice Generate in Codex?

Run `npx skills add athola/claude-night-market --skill voice-generate -a codex`. Or copy the skill folder (plugins/scribe/skills/voice-generate in athola/claude-night-market) into .agents/skills/voice-generate in your project. Codex loads it when a task matches its description.

Can I use Voice Generate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill voice-generate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/voice-generate, .gemini/skills/voice-generate, .github/skills/voice-generate and .opencode/skills/voice-generate in your project.

What does Voice Generate need to run?

SKILL.md names no scripts, command-line tools or credentials: Voice Generate is instructions for the agent only.

Does Voice Generate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Voice Generate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Voice Generate use?

Voice Generate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Voice Generate use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Voice Generate?

Skills that share tags, products or a category with Voice Generate: Learning to Learn (OpenMAIC) (THU-MAIC/OpenMAIC, 40k stars), Changelog Draft Generator (warpdotdev/warp, 65k stars), Generate (alirezarezvani/claude-skills, 28k stars) and Scikit Learn (K-Dense-AI/scientific-agent-skills, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Voice Generate?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 341 GitHub stars. The repository holds 152 skills in this directory. The repository was last updated on October 9, 2026.

Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.