rl-voice-discovery
Use when someone has no author-voice skill set up yet, asks "help me find my voice," "build a voice profile," "what does my writing actually sound like," or…
Skill by reventurelabs
Chalk Labs
Need help deploying rl-voice-discovery?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/reventurelabs-rl-voice-discovery
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, data, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/rl-voice-discovery
What's inside
- Skill name
rl-voice-discovery- Description
- Use when someone has no author-voice skill set up yet, asks "help me find my voice," "build a voice profile," "what does my writing actually sound like," or when `rl-content-pipeline` notes no author-voice skill is configured. Builds a portable voice profile — register, rhythm, phrase preferences, what to avoid — from real writing samples (preferred when they exist), a structured interview (when there are no samples, or when the person wants to name a voice they are building toward rather than the one already on the page), or both together, then validates it against a test passage before finalizing. Produces `VOICE-PROFILE.md` at the repo root, which `rl-content-pipeline` and `rl-writing-craft` reference generically as "your author-voice skill." A one-time (or occasional refresh) process, not invoked per-draft — once the file exists, other skills read it directly. Does not replace a fuller, continuously-evolving voice skill built from ongoing corrections — this produces the seed, not the finished thing.
- License
- MIT
- Instructions
- 220 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- voice_metrics.py
SKILL.md (first lines)
# Voice Discovery
Most people can't accurately describe their own writing voice in the
abstract — they describe how they *want* to sound, or a generic idea of
"professional but approachable." Real writing beats a vague description of
writing every time: patterns stated about yourself in the abstract are
often wrong; patterns pulled from what you actually wrote are grounded.
That doesn't rule out intent. Wanting to sound like a voice you haven't
fully written into yet is a real, legitimate target, not a bias to correct
for — people hire ghostwriters with direction all the time, and there's
nothing dishonest about building toward a voice on purpose. The actual
distinction this skill draws isn't existing-voice-good,
wanted-voice-bad — it's specific versus vague. A concrete answer to "what's
a phrase you'd never say out loud" is signal whether it describes what's
already true or what someone's building toward. A vague answer to "how
would you describe your voice" is noise either way. This skill's design
follows from that distinction, not from a preference for the past over the
future.
Output is `VOICE-PROFILE.md` at the repo root — a structured reference the
rest of the suite already knows to look for wherever "your author-voice
skill" is mentioned. This is a discovery process, not a per-draft tool: run
it once to build the profile, run it again later only to refresh it (a
voice can drift, or you might want to capture a second register — e.g. a
more technical one for a different audience).
## Step 1: Get real material — and ask about intent
Ask for **5-10 pieces of real writing**, in whatever formats the person
writes most: emails they actually sent, posts they actually published,
messages written fast and not overthought. Minimum useful sample is roughly
500 words total; more is better, and variety of format matters more than
raw volume — three genuinely different contexts (an email, a LinkedIn post,
a Slack message) reveal more than nine similar emails.
**If they have samples:** work from those first — don't ask them to also
describe their voice in the abstract, let the samples speak, then check
your read against their reactions in step 4. But also ask directly: is this
profile meant to describe how you already write, or is there a voice
you're building toward that these samples don't fully show yet? Both are
legitimate answers. If they want the second, run the structured interview
below alongside the sample analysis, and keep the two sources
distinguishable in the profile (Step 3) rather than quietly blending them
into one voice that overstates what the samples actually show.
**Run the structured interview** when there are no samples (a brand-new
writer, or someone who's never published anything), or whenever the person
wants it regardless of samples — direction toward a voice they're aiming
for, not just a description of the one they already have. Ask open-ended
questions that surface concrete preferences rather than abstractions — not
"how would you describe your voice" (too abstract, people default to
flattering generalities either way, whether describing the past or the
future) but things like: "read this paragraph out loud in your head — does
it sound like you, or like a brand?", "what's a phrase you'd never say out
loud?", "when you write fast and don't edit, what do you sound like?" —
and, when it's about intent specifically, "who's a writer whose voice you'd
want this to have some of?", "what would this sound like if you'd already
become the writer you're trying to be?"
Interview answers describing an **existing** voice with no samples to check
them against are a rougher first draft than sample-derived ones — flag that
portion "interview-derived, lower confidence" until real samples validate
it. Interview answers naming an **aspirational** voice don't get that same
flag; they're not claiming to describe current behavior, so there's nothing
to validate them against. They're a direction, stated as one.
## Step 2: Extract the actual patterns
Read the samples for what's *there*, not what they say about themselves.
Cover, at minimum:
- **Sentence rhythm** — average length, variance, how short sentences get
used (for emphasis? fragments?), how long ones get built (subordinate
clauses stacked, or simple additive "and... and...").
- **Formality baseline** — where it sits on a scale, and whether it shifts
by context (more formal for technical explanation, looser for a personal
anecdote, say) — most real voices modulate, they aren't a single flat
register.
- **Contraction usage** — near-universal in casual writing, near-absent in
some formal registers; note the actual rate, not an assumption.
- **Hedging frequency** — how often claims get qualified ("I think," "maybe,"
"in my experience") versus stated flatly. Both are legitimate voices; the
point is to capture which one this person actually does.
- **Signature phrases and vocabulary** — words or short constructions that
recur enough to be a tell (not generic words everyone uses — the specific,
slightly unusual ones this person reaches for repeatedly).
- **What they explicitly never do** — no exclamation points, never opens
with a question, never uses em-dashes, whatever the samples consistently
avoid. Absence patterns are as much a signature as presence patterns.
- **Emotional range and vulnerability level** — how much personal
admission, humor, or emotional register shows up, and whether it's
proportional (real vulnerability) or performed (announced candor —
`rl-writing-craft`'s Grounding Rules already flag manufactured
vulnerability; this step is about the person's actual baseline, not
policing it).
- **Opening and closing patterns** — how pieces tend to start (cold open?
a question? context-setting?) and end (summary? forward-pointer? a
specific callback?).
**Measure what can be counted.** Sentence length and spread, contraction rate, hedging,
punctuation habits, and function-word use are counts, not judgments — and a model reading for
them estimates, while a script counts. Run `voice_metrics.py` (next to this file) on the samples:
```bash
python3 voice_metrics.py --block samples/*.md
```
Its output goes into the profile's Measured Baseline section verbatim. Use the numbers to ground
the prose sections too — "short declaratives" is a vibe; "15% of sentences at 8 words or fewer,
spread of 13.5" is checkable. The review panel's Keeper compares revised drafts against this
baseline to catch a revision that sands the voice down. With no samples (interview-only), there's
nothing to count: leave the section out and say so in **Source**. If Python isn't available, say
so rather than filling the section with estimates.
## Step 3: Draft the profile
Write `VOICE-PROFILE.md` with these sections — the template below is the
shape:From reventurelabs/rl-content-os, MIT.
More from reventurelabs/rl-content-os
- 0.604score
rl-writing-craft
reventurelabs
Self-contained writing-quality skill with four functions: structure (architecture, flow, openings, closes), edit (line-level cutting, grounding, rhythm…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
rl-content-pipeline
reventurelabs
Structured 10-step writing process for long-form content (blog posts, whitepapers, essays, case studies, past ~800 words) OR high-stakes content regardless of…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
rl-review-panel
reventurelabs
Blind review panel for finished content drafts — articles, posts, newsletters, emails, case studies, web and landing copy, decks, scripts, announcements.
SkillAFreshness: A★ 3Claude Code +9 - 0.596score
panel
reventurelabs
Run the blind review panel on a content draft — structure and stakes, claims, the reader's access, honest persuasion, and story for narrative pieces — and get…
SkillAFreshness: A★ 3Claude Code +9 - 0.564score
rl-context-discovery
reventurelabs
Use when `AUTHOR-CONTEXT.md` is still the unfilled template, someone asks "help me figure out who I'm writing for," "why do I even write," "what should I…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
rl-topic-scout
reventurelabs
Scans a repo's git history, README/CLAUDE.md, and recent structural changes — and, where connected, Slack threads, meeting transcripts, and sent email — to…
SkillBFreshness: B★ 3Claude Code +9 - 0.556score
pipeline
reventurelabs
Run the structured content pipeline on a long-form or high-stakes piece — define, interview, brief, outline, draft, critique, revise, writing suite, refine…
SkillBFreshness: B★ 3Claude Code +9 - 0.556score
voice
reventurelabs
Build VOICE-PROFILE.md from real writing samples (or a structured interview if none exist), validated against a test passage.
SkillBFreshness: B★ 3Claude Code +9 - 0.556score
scout
reventurelabs
Scan this repo's git history for evidence-grounded content topics, present a ranked shortlist, and hand the chosen one into the content pipeline.
SkillBFreshness: B★ 3Claude Code +9 - 0.556score
context
reventurelabs
Build or refresh AUTHOR-CONTEXT.md through a guided interview — who you write for, why you write, and what's worth publishing.
SkillBFreshness: B★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 28, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/reventurelabs/rl-content-os
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from reventurelabs
- 0.604score
rl-writing-craft
reventurelabs
Self-contained writing-quality skill with four functions: structure (architecture, flow, openings, closes), edit (line-level cutting, grounding, rhythm…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
rl-content-pipeline
reventurelabs
Structured 10-step writing process for long-form content (blog posts, whitepapers, essays, case studies, past ~800 words) OR high-stakes content regardless of…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
rl-review-panel
reventurelabs
Blind review panel for finished content drafts — articles, posts, newsletters, emails, case studies, web and landing copy, decks, scripts, announcements.
SkillAFreshness: A★ 3Claude Code +9 - 0.596score
panel
reventurelabs
Run the blind review panel on a content draft — structure and stakes, claims, the reader's access, honest persuasion, and story for narrative pieces — and get…
SkillAFreshness: A★ 3Claude Code +9 - 0.564score
rl-context-discovery
reventurelabs
Use when `AUTHOR-CONTEXT.md` is still the unfilled template, someone asks "help me figure out who I'm writing for," "why do I even write," "what should I…
SkillBFreshness: B★ 3Claude Code +9 - 0.564score
rl-topic-scout
reventurelabs
Scans a repo's git history, README/CLAUDE.md, and recent structural changes — and, where connected, Slack threads, meeting transcripts, and sent email — to…
SkillBFreshness: B★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get rl-voice-discovery running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
rl-voice-discovery skill. Agent Mart. https://agentmart.dev/skills/reventurelabs-rl-voice-discovery (last updated 2026-10-24)