aboutsummaryrefslogtreecommitdiff
path: root/voice
Commit message (Collapse)AuthorAgeFilesLines
* docs(voice): apply Phase 1 deltas to SKILL.md per Craig's confirmationCraig Jennings2026-05-291-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Three rationale-honesty edits land. Craig confirmed (vacation chat 2026-05-29) that the em-dash and semicolon zero-tolerance rules are intentional self-discipline, not codified habit. He also confirmed he's trying to use "comprehensive" sparingly despite its high natural rate in his prose. Pattern 13 (em-dash) gained a Note-on-basis paragraph naming the 3.49-per-1000-words corpus rate. The note states the rule is self-discipline, not habit-reflection. The zero-tolerance directive itself is unchanged. Pattern 33 (semicolons) gained the same shape. The note names the 3.16-per-1000-words rate. The directive is unchanged. One em-dash in the existing Problem paragraph that contradicted the rule was replaced with a comma. Pattern 7 (AI vocabulary watch-list) gained "comprehensive" as an entry. A note explains the rationale. The corpus shows 42 uses vs zero-or-one for every other watch-word, but Craig is consciously reducing his use, so flag-and-suggest is the right action. Three of the six proposed deltas from voice-profile.org are now applied. The other three (new positive patterns: single-sentence paragraph cadence, parenthetical density, declarative-default register) await Craig's call.
* docs(voice): land Phase 1 voice profile derived from git-commit corpusCraig Jennings2026-05-291-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Phase 1 of the writing voice profile TODO (filed 7a861ed). The work covers corpus assembly, statistics, and a cross-check against the 41 SKILL.md patterns. Email, PR, Slack, and long-form sources deferred to Phase 2. Corpus: 5355 commits, 1895 with non-trivial bodies, 128608 words across 33 repos. Strong findings: - Pattern 17 (no emojis), Pattern 7 (AI vocabulary), Pattern 22 (filler), Pattern 32 (first-person), Pattern 34 (contractions), and Pattern 38 (terse cut) are all confirmed by direct corpus measurement. - Pattern 13 (em-dash zero-tolerance) and Pattern 33 (semicolons to period) contradict the corpus. Craig USES em-dashes at 3.49 per 1000 words and semicolons at 3.16 per 1000 words, rates comparable to AI-generated prose. The rules are self-discipline, not habit-reflection. SKILL.md should say so honestly. - Pattern 7 watch-word "comprehensive" appears 42 times in the corpus while every other watch-word clocks zero or one. "comprehensive" is genuine Craig vocabulary. The rule should pull it from the watch-list or flag only when it co-occurs with other AI tells. New patterns the corpus suggests adding: single-sentence-paragraph cadence (41.1% of paragraphs are exactly one sentence), parenthetical density (23 opening parens per 1000), declarative-default register (0.33 question marks per 1000). Six concrete SKILL.md edits proposed in the doc, none applied. The deltas await Craig's call. Phase 2 sources are documented in the doc body.
* feat(voice): add prose mode for Craig-authored prose + strengthen em-dash, ↵Craig Jennings2026-05-261-28/+45
| | | | | | | | | | | | fragments, formatting The personal voice patterns only ran for commits and PRs, so the emails and documents I author never got my actual writing voice. General mode deliberately skips them. I added a third mode, prose, that applies my voice patterns to prose I write or send without dragging in the publish-artifact mechanics that misfire on free text. The modes now nest. General (#1-31) handles anyone's prose, prose adds my voice patterns (em-dash zero-tolerance, contractions, semicolons to periods, sentence-split, felt-experience cut, fragment rewrite, terse-cut, no-emphasis-formatting), and personal adds the three artifact-mechanics patterns on top (first-person rewrite, public-artifact scope flag, praise/correction asymmetry). Those three stay personal-only because they assume a commit or PR: a document is legitimately third-person, a journal has no public-scope concern, and praise/correction asymmetry is a PR-review rule. Three gaps closed along the way. #13 (em-dash) was "use fewer". It's now zero-tolerance in prose and personal modes, and the rule holds inside examples and quoted text, not just running prose. #37 (every prose sentence needs a subject and a verb) was locked to personal mode. It now applies to my prose too. And #41 is new: I make points with words, not bold or italics or underscores, so emphasis markup gets rephrased so the stress lives in the wording. I updated commits.md to match. The publish flow still uses personal mode, but the pattern count is now 41 and the personal-only set is the three artifact-mechanics patterns.
* docs(skills): add voice pattern 40, praise/correction asymmetryCraig Jennings2026-05-251-5/+21
| | | | | | Voice gains pattern #40: strip the "why" from praise on an approve, since the author already knows why their change is good and the justification reads as flattery. Always keep the why on a finding or change-request, delivered gently. Behavior only changes when the reason lands. review-code now runs a praise/correction gate before posting any summary, and its inline-comment guidance is tightened so the why-it-matters survives the brevity cuts. The reviewer states the stakes (a user hits a 500, a screen reader announces nothing), not just the mechanism.
* docs(skills): expand voice's cliche-flag watch listCraig Jennings2026-05-221-2/+2
| | | | Added more clichés to pattern #29 (keep it loose, touch base, circle up, hit the ground running, move the needle, on the same page, no-brainer, win-win, and others) and a note that a casual or conversational register isn't a license to keep one — cut it there too. Prompted by "keep it loose" slipping through as "acceptable casual," which is exactly the miss the note guards against.
* feat(skills): add voice skill (humanizer + universal + personal passes)Craig Jennings2026-05-071-0/+635
I built voice as a single skill that walks 39 numbered prose-editing patterns. The first 25 patterns come straight from the existing humanizer skill (Wikipedia's Signs of AI Writing). Patterns 26-31 add universal good-writing rules from Strunk & White, Orwell, the Plain English Campaign, and Garner — long-word → short-word, active-over-passive, comma splices, cliché flag, jargon-fragment-in-prose rewrite, and corporate-speak nominalizations. Patterns 32-39 are tagged "personal only" and cover first-person rewrite, semicolon swaps, contractions, sentence-split on conjunctions, felt-experience cut, sentence-fragment-in-prose rewrite, terse cut for rhetorical padding, and a public-artifact scope flag. Two modes determine which patterns get walked. General mode (default) walks 1-31 and is the right fit for research notes, philosophy and history essays, emails, README prose, journal entries, anything that isn't a commit, PR, or PR review comment. Personal mode walks all 39 patterns and is invoked explicitly by the publish flow in commits.md (and similar callers) so first-person and contraction enforcement don't leak into academic or literary writing where they don't belong. The follow-up commits migrate callers to /voice and remove the standalone humanizer skill.