跳到主要内容
知仓学习社ZHICANG

voice-profile

Extract a written voice profile from your own prior papers, then use it to keep new drafts sounding like you. Reads a corpus one document at a time …

不碰外部(只输出文字)无严重或高危命中pedrohcgs/claude-code-my-workflow

它会碰到什么

扫了多少1 个文本文件,6 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Voice profile — write toward something, not just away from tells

[/humanize](../humanize/SKILL.md) is the negative direction: it finds AI tells and says

what to remove. That leaves a draft that is merely less bad.

This is the positive direction: a written description of how you actually write,

extracted from your own published work, so a draft can be measured against a target instead of

a taboo list.

> What this does not do. A voice profile makes prose sound like your prose. It does not

> make model-generated text stop reading as model-generated to a neural detector — nothing an

> LLM applies to its own output does. See [writing-with-ai.md](../../rules/writing-with-ai.md).

> Use this to write well in your own register; write the load-bearing sentences yourself.

Building the profile

1. Assemble the corpus, and count it

Three to twelve of your own pieces where you were the primary writer. Published papers

are best — they survived editing. Mix genres if you write in several (paper, referee report,

grant, teaching notes); the profile should note where your register changes.

find <corpus-dir> -maxdepth 1 \( -name '*.pdf' -o -name '*.tex' \) | wc -l

*(find, not a glob — in zsh an unmatched glob aborts the whole command, which

reports 0 and defeats the count this step exists for.)*

Count before starting. A corpus of eleven is a different task from four, and discovering

that halfway through is how a session gets reset.

2. One subagent per document — never load the corpus into one context

Per [pdf-processing.md](../../rules/pdf-processing.md): spawn one subagent per document

with context: fork. Each reads only its own file, writes a ~300-word note to

notes/voice/<name>.md against the fixed schema below, and returns only the filename.

The main session then reads only the notes. Loading a whole corpus at once has repeatedly

forced a session reset after partial work was already lost.

Per-document note schema — the same six headings every time, so the synthesis can compare:

## Lexicon      words and phrases used repeatedly; words conspicuously avoided
## Rhythm       typical sentence length; variance; where long sentences appear
## Openings     how sections and paragraphs begin; how the paper opens
## Transitions  the actual connectives used, verbatim, with rough frequency
## Hedging      how uncertainty is expressed; how strong claims are made
## Quirks       anything distinctive — punctuation habits, first person, humour, footnotes

3. Synthesize, and mark what is stable

Read only the notes. A trait belongs in the profile if it appears across most of the

corpus, not because one paper did it once. Record frequencies where you can: *"'note that'

appears in 7 of 9 papers; 'delve' appears in none."*

Write to voice-profile.md at the repo root (allowlisted in the repo-hygiene gate). Include:

  • Signature vocabulary and the avoid list — words the author demonstrably does not use.
  • Sentence rhythm, with a number: median length, and where the long ones land.
  • Structural habits — how an introduction is built, where the contribution paragraph sits,

how results are framed.

  • Hedging register — the author's actual calibration language, which is usually narrower

than a model's default.

  • Deliberate quirks, labelled as deliberate. "Uses em-dashes frequently and on purpose"

stops /humanize from flagging a habit as an AI tell.

  • Where the register shifts by genre.

4. Wire it in

/humanize reads voice-profile.md when present and respects documented preferences — a

quirk you have declared deliberate is no longer a finding. Point drafting work at the profile

before it writes, not after.

Auditing a draft

Pass --audit followed by a filename to compare an existing draft against the profile instead of building one:

/voice-profile --audit main.tex

Report, per section: distance from the profile, with concrete evidence — vocabulary outside

your range, hedging denser than your baseline, transitions you do not use, sentence rhythm

that has flattened. Every finding cites the profile line it violates, so it is a deduction

rather than taste.

Read-only. Auto-rewriting prose degrades it and introduces new tells, and it cannot change

what a detector sees. The report says where and why; the author edits.

Anti-patterns

  • Profiling coauthored work you did not draft. You will extract someone else's voice.
  • Treating the profile as a rulebook. It describes what you have done, not what you must

do. Voices change; re-profile after a few new papers.

  • Building it from AI-assisted drafts. The profile will encode the model's register as

yours — the corpus must be work you wrote.

  • Using it to pass a detector. It is a writing aid, not a laundering step. If a venue wants

an AI-use statement, make one ([/submission-disclosures](../submission-disclosures/SKILL.md)).

Cross-references

  • [writing-with-ai.md](../../rules/writing-with-ai.md) — readability vs provenance, and the human-readable standard
  • [/humanize](../humanize/SKILL.md) — the negative direction; reads this profile when it exists
  • [/proofread](../proofread/SKILL.md) — grammar and consistency, a separate lens
  • [pdf-processing.md](../../rules/pdf-processing.md) — the one-subagent-per-document pattern

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,585
本站分层T1
该仓技能数60
原文件路径.claude/skills/voice-profile/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 60 个技能