agricidaniel/blog-style
Learn author writing style from 5 to 10 existing blog posts and generate a voice profile for /blog style learn, VOICE.md, blog-persona, and blog-write when users ask to infer tone, analyze author voice, learn style, or build a writing baseline.
npx skills add https://github.com/AgriciDaniel/claude-blog --skill blog-style
Learn an author voice profile from existing posts, then use it as a baseline for
VOICE.md, blog-persona, and blog-write. The profile captures measurable style
signals so future drafts can preserve the author's cadence, vocabulary, and
tone.
| Command | Purpose |
|---------|---------|
| /blog style learn <paths> | Analyze sample posts and generate a voice profile |
Use 5 to 10 representative posts from the same author, brand, or editorial
voice. Accept individual markdown files, MDX files, text files, or a directory
containing posts.
Run the local learner:
python3 scripts/style_learn.py <paths> --format markdown
For machine-readable output:
python3 scripts/style_learn.py <paths> --format json --output voice-profile.json
For a VOICE.md-ready block:
python3 scripts/style_learn.py <paths> --format markdown --output VOICE.md
If fewer than the requested minimum sample count is supplied, warn and continue.
The default minimum is 5 posts.
The learner aggregates the existing blog analyzer across each sample post:
Drop the markdown block into project VOICE.md when the goal is durable
project context. Blog-write can use the style baselines as drafting targets:
looser cadence.
terms.
question-led the draft should feel.
Feed the JSON output into blog-persona when a structured persona should be
created or updated. Map the learned values to persona sentence length, passive
voice, readability, vocabulary, and tone settings.
Take agricidaniel/blog-style from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.