| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This hygiene sweep covers the profile's prose sections (Problem,
Basis, History, Phase 1 findings, Phase 2 list) where em-dashes had
carried over from the original SKILL.md text. 21 prose em-dashes were
replaced with context-appropriate punctuation (periods, colons,
parentheses, or rewords).
Eight em-dashes are preserved as legitimate exceptions: the literal
symbol reference in §13 Rule, §13 Before example (shows source text
with em-dashes), §36 Before example (felt-experience tic), §38
heading "Terse Cut — Rhetorical Padding" (paired with SKILL.md
heading verbatim), §39 Before example (WARN output format), §40
example dialogue (shows what a kind correction reads like).
The profile now follows its own rule for prose voice. The known
follow-up flagged in 10d0bc1's commit message is closed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backfills the remaining 40 patterns into the paired source-of-truth
shape Pattern 13 demonstrated in 296b2e6. Each pattern in SKILL.md
now collapses to a mode-tagged header plus a one-line Rule plus a
profile pointer. The full Problem, Basis, Before/After, Detection,
and History land in the corresponding voice-profile.org §N section.
Sizes:
- voice/SKILL.md: 678 to 437 lines.
- voice/references/voice-profile.org: 134 to 1311 lines.
- Net: 1297 insertions, 360 deletions across both files.
Mode-tag conventions: general-only patterns (#1-12, 14-16, 18-31)
tagged [general]. Prose+personal patterns (#33-38, 41) tagged [prose
· personal]. Personal-only patterns (#32, 39, 40) tagged [personal].
Pattern 13 keeps its dual-mode tag (general overuse-reduction vs
prose/personal zero-tolerance).
Corpus-confirmed Basis entries cite the Phase 1 measurements for
patterns 7, 17, 22, 32, 33, 34, 38. All other patterns are tagged
observation-derived with the appropriate source (Wikipedia Signs of
AI Writing, Strunk and White, Orwell, Plain English, Garner, or
Craig's commits.md / interaction.md rules).
Seven em-dashes were caught in the new SKILL.md Rule lines during a
post-migration spot-check and rewritten as periods or colons. The
em-dash on Pattern 13's Rule line stays because the rule references
the symbol literally.
Known follow-up: the profile's prose sections (Problem, Basis,
History) still contain em-dashes carried over from the original
SKILL.md Problem paragraphs. They don't break the loading model but
they do violate the rule the file documents. A separate hygiene pass
can scrub them. The em-dash sweep was not bundled here so the
migration shape stays the deliverable.
Bulk migration was dispatched to a subagent with strict format
requirements. Spot-checks of patterns 1, 13, 17, 32, and 41
confirmed the shape lands correctly across all four mode-tag
conventions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
source-of-truth, Pattern 13 worked example
This is option C from the structural-split proposal. SKILL.md becomes
the thin rule-set. voice-profile.org becomes the canonical home for
rationale, basis, examples, and per-pattern history. Pattern 13 is
migrated as the worked example to confirm the form. The remaining 40
patterns are scheduled for a backfill pass.
SKILL.md gains a Source of Truth section near the top stating the
pairing rule. Every change to a pattern must land in both files. A
SKILL.md edit without a profile update is incomplete. A profile
update without a SKILL.md edit is fine.
Pattern 13 in SKILL.md collapses to a single Rule line plus mode tags
plus a pointer to voice/references/voice-profile.org §13. The Problem
paragraph, the Mode-dependent-strength paragraph, the Note-on-basis
paragraph, and the Before/After examples all move to the profile.
voice-profile.org gains a How this combines with SKILL.md preamble
that names the pairing rule explicitly. Pattern §13 lands with all
the migrated content plus a History section recording the prior
commits (original SKILL.md entry, the 2026-05-26 prose-mode addition
in 4fac2a0, the 2026-05-29 basis note in c3cf9a5, and this
migration).
If Craig confirms the shape, the next pass backfills patterns 1
through 12 and 14 through 41 in the same form.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
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.
|
|
|
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.
|