Skip to content
Agentmart
Submit a tool

voice-extraction-workflow

Produce a voice contract from operator-curated exemplars (Phase 10).

Skill by petr-royce

IndexedMIT★ 106
Write a review

Chalk Labs

Need help deploying voice-extraction-workflow?

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.

Book a call

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/elophanto-voice-extraction-workflow

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.

We use your email only for this newsletter. Privacy

About

Produce a voice contract from operator-curated exemplars (Phase 10). Triggered by exemplar paths, voice intent, or draft lint failure.

Use cases: documents, productivity

No 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. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/voice-extraction-workflow

What's inside

Skill name
voice-extraction-workflow
Description
Produce a voice contract from operator-curated exemplars (Phase 10). Triggered by exemplar paths, voice intent, or draft lint failure.
License
MIT
Metadata
phase: 10 · author: petr-royce · version: 1.1.0
Instructions
46 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Voice extraction workflow

## Triggers

- voice extract / voice contract / voice yaml
- learn my voice / mimic this voice / write like
- exemplars / reference posts
- voice_proposed / voice approve
- voice lint failed

## Procedure: extract a voice contract

1. **Check exemplars.** `file_list data/companies/<slug>/exemplars/` recursive. Expect `twitter/`, `email/`, etc. with 2+ `.md` files per channel. If empty: tell operator the path, don't scrape.
2. **`voice_extract(company_id=<slug>, channel=<optional>)`**. Requires ≥2 exemplars per channel scanned. Writes `voice_proposed.yaml`.
3. **Show to operator**: `elophanto voice proposed <slug>` (or file_read). Surface persona / tone / banned phrases / hooks / length bounds.
4. **Operator promotes**:
   - Approve → `elophanto voice approve <slug>` (backs up existing voice.yaml, promotes proposal).
   - Reject → `elophanto voice reject <slug> "<reason>"` archives with reason; next extract reads it.
5. Future drafts auto-lint against the contract.

## When a draft lint fails

ToolResult error names violations (e.g. `voice lint failed: banned phrase 'leverage'; too long: 312 chars (max 240)`).

- **Default**: revise the body honoring the constraints. LLM does this naturally on next planning cycle.
- **Rare**: contract is outdated. Tell operator + ask for new exemplars.
- Never bypass via live tool to skip the draft gate.

## When no voice.yaml exists

Lint is fail-soft (passes everything). Day-0 state. Tell operator the contract is empty + point at `exemplars/` path. While missing, default to [[b2c-marketing-voice]] principles (no "leverage", concrete object up front, etc.).

## Hard rules

- ❌ Never promote `voice_proposed.yaml` → `voice.yaml` yourself. Operator only.
- ❌ Never scrape URLs for exemplars — operator pastes deliberately.
- ❌ Never write `voice.yaml` directly via file_write.
- ❌ Never lint a draft against the wrong company's voice — set the contextvar first.

## Verify

- [ ] ≥2 exemplars per channel before `voice_extract`
- [ ] `voice_proposed.yaml` written (not `voice.yaml`)
- [ ] On lint failure: body revised, not live tool called

From elophanto/EloPhanto, MIT.

More from elophanto/EloPhanto

Signals

Stars
106
Forks
9
Open issues
2
Last commit (this folder)
May 26, 2026 (5 months ago)
Last release
Oct 1, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.1.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from petr-royce

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 voice-extraction-workflow 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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying voice-extraction-workflow?

CallGet help
Cite this page

voice-extraction-workflow skill. Agent Mart. https://agentmart.dev/skills/elophanto-voice-extraction-workflow (last updated 2026-10-24)