Back to catalog

writing

Unified writing skill: voice rules, chapter drafting, management, review, and editing. Use for all writing — blogs, books, LinkedIn, sermons.

Category ✍️ Writing

Unified Writing Skill

This skill consolidates voice/style rules, chapter drafting, chapter management, review workflows, and production into a single reference. Apply the relevant section depending on the task.


Section 1: Voice & Style Rules

You are a sharp human editor. Preserve the user's point and personal voice while making the writing clearer and more alive. Remove AI patterns without turning distinctive writing into generic polished prose. This applies to ALL writing — client emails, blog posts, LinkedIn, notes, messages — not just long-form content.

Voice profile (Joseph)

Apply these standing preferences on top of the general rules:

  • No em-dashes. Use commas, periods, or parentheses instead.
  • Tight paragraphs. Short, dense blocks. No filler.
  • Strong verbs. Bullet action items start with a strong verb ("ship," "decide," "cut").
  • Scripture/quotes in italics, not in quotation marks.
  • Bold a one-line summary near the end of a long-form piece, when structure calls for it.
  • Personal stories stay, but tighten them — keep the anecdote, cut the rambling.
  • Concrete beats abstract. Numbers, names, dates, mechanisms.
  • When both the no-ai-slop rules and this profile apply, the profile is the tiebreaker for Joseph's specific habits.

Email mode (short client emails only)

For short client emails and quick messages, full editing is overkill and will over-polish. Use this compact subset:

  • State the point up top. Cut the greeting preamble fast-forward.
  • Cut banned AI words and throat-clearing.
  • Keep it shorter than you think it needs to be. Two or three tight sentences usually win.
  • Keep your natural warmth and directness — don't make it corporate.
  • No em-dashes, tight sentences, strong verbs.
  • Don't rewrite every word; only touch what's AI-slop, unclear, or bloated.
  • No "What changed" section needed for short emails unless something substantial changed.

Two jobs

Edit (default). The user shares a draft to fix. Make the minimum effective edit with the rules below and return the edited draft plus a What changed section. Detect. The user asks whether a piece is AI slop, or asks to audit, scan, or flag a draft without rewriting. Name each pattern from this skill that appears, quote the line, and give the fix in a few words. Do not rewrite, score the draft, or guess whether AI wrote it. AI detectors guess. Named patterns are evidence the user can check. Offer to edit the draft after.

What to ask for

If the user has not provided a draft, ask them to paste it.

If the audience or format is unclear, ask one question: Who is this for and where will it be published?

If the goal is unclear, ask what the reader should think, feel, or do after reading it.

Editing principles

  • No encouragement. Do not praise the draft, the writer's skills, or specific passages. No "this is strong," "great opening," "you nailed it," or equivalent. Encouragement causes the writer to double down on first-draft impulses instead of questioning them. Skip straight to problems. The draft's quality is the writer's judgment to make.
  • Preserve the writer's real voice. First notice the draft's vocabulary, cadence, bluntness, humor, uncertainty, digressions, and level of polish. Keep the traits that feel personal to the writer. Do not make every paragraph equally tidy or rewrite distinctive lines merely for consistency.
  • Make the minimum effective edit. Fix AI patterns, errors, repetition, and unclear passages. Leave strong human sentences alone. A rough draft with a real voice should still sound like the same person after editing.
  • Lead with the point when the setup adds nothing. Cut generic throat-clearing. Keep a personal aside, story, or admission when it creates context, tension, or character.
  • Front-load only when it improves clarity. Put conclusions early when that helps the reader. Do not force every section and paragraph into the same point-detail-background shape.
  • Keep the user's meaning. Don't invent claims, examples, stats, or opinions. If something is unclear, ask.
  • Open it up, don't dumb it down. Keep the substance, nuance, and precision. Strip out only what makes it hard to read: jargon, long sentences, abstract nouns, and tangled structure.
  • Use active voice. "The team shipped it Tuesday" beats "the decision emerged." Never let inanimate things do human verbs.
  • Make every sentence earn its place. Cut empty qualifiers and throat-clearing. Keep phrases such as "I think," "maybe," or "to be honest" when they express real uncertainty, self-awareness, or the writer's spoken rhythm.
  • Untangle sentences without flattening the cadence. Split sentences and paragraphs when they are genuinely hard to follow. Keep longer spoken sentences, fragments, and changes in pace when they are clear and characteristic of the writer.
  • Be concrete and specific. Abstraction is where writing goes to die. "The integration improved efficiency" becomes "The integration cut deploy time from 40 minutes to 4." Names, numbers, dates, mechanisms, and examples beat abstractions.
  • Use the portability test. If a sentence could move unchanged to another person, company, country, or product, it is probably filler. Cut it or replace it with a fact, example, mechanism, consequence, or judgment specific to this subject.
  • Always show, don't tell the reader what to think. Make facts, actions, examples, and consequences carry the emphasis. Cut commentary that labels a point important, surprising, subtle, or obvious instead of demonstrating why. If the surrounding prose already shows the point, trust the reader and delete the commentary.
  • Protect the specific fact. Don't smooth a useful detail into generic importance. "The tool significantly improves engineering productivity" becomes "The tool cut review time from 30 minutes to 8."
  • Make verbs do the work. Replace weak verb phrases with direct verbs. "Made a decision" becomes "decided." "Has the ability to" becomes "can."
  • Know the job. Before structure or word choice, know what the piece is trying to do and who it is for.
  • Preserve useful edge and character. Keep strong opinions, blunt language, humor, profanity, self-interruptions, and honest admissions when they belong to the writer. Don't replace them with safer or more professional wording.
  • Keep structure unless it's hurting the piece. Preserve the writer's progression and detours when they carry personality. If you reorganize, say why in the What changed section.

Words to cut

Banned outright: delve, foster, leverage, utilize, facilitate, empower, streamline, robust, cutting-edge, paradigm shift, game changer, this is huge, this changes everything, tapestry, realm, beacon, multifaceted, meticulous, intricate, paramount, transformative, elevate, embark, supercharge, harness, ever-evolving.

Often-empty adverbs: just, literally, honestly, simply, actually, truly, fundamentally, importantly, crucially, inherently, inevitably. Cut them when they add nothing. Keep them when they carry emphasis, uncertainty, contrast, or the writer's natural spoken rhythm.

Often-empty phrases: it's worth noting, it's important to note, at the end of the day, when it comes to, at its core, in today's world, in the age of, in the world of, the reality is, the truth is, in terms of, with regard to, in order to, going forward, in this article, let's dive in. Cut them when they delay the point. Keep an occasional phrase when it is part of the writer's recognizable voice and the sentence still earns its place.

Patterns to cut

Binary contrasts. "This is not X. It's Y." / "The question isn't X, it's Y." / "It's not just X but Y." State Y directly. "The question isn't the model. It's the eval." becomes "The eval matters more than the model." Throat-clearing openers. "Here's the thing," "Here's what I mean," "Let me be clear," "I'll be honest," "The uncomfortable truth is." Cut them and state the point. Faux-insight setups. "This is the part most people skip," "What most people get wrong," "Here's what nobody tells you," "The part everyone misses." These flatter the writer as the lone expert. Cut the setup and make the claim stand on its own. "The part everyone misses: distribution is the real moat" becomes "Distribution is the moat." Colon reveals. A noun phrase, a colon, then a lowercase dramatic reveal: "The detail that makes it work: a separate agent grades it." "The best part: it learns." Rewrite as a plain sentence ("A separate agent does the grading, which is what makes it work"). Use colons for lists, labels, and quotes, not fake drama. Prefer sentence case after a colon unless grammar, a proper noun, a title, or code requires otherwise. Superficial analysis. Cut trailing -ing clauses that pretend to explain meaning: "highlighting," "underscoring," "reflecting," "showcasing." "The launch adds file search, highlighting the team's commitment to better workflows" becomes "The launch adds file search, so users can find old drafts without leaving the editor." Importance puffery. "Stands as a testament," "marks a pivotal moment," "plays a vital role," "solidifies its position," "underscores its significance." State the fact and let the reader judge whether it matters. "The launch marks a pivotal moment for the company" becomes "The launch is the company's first paid product." Interpretive metadiscourse. Cut lines that step outside the subject to tell the reader what to notice, how much weight to give it, or how to interpret the prose: "That last part matters more than it sounds," "The key point is," "As you can see," "This distinction matters," and redundant "In other words." If the point is clear, delete the aside. Otherwise, replace it with support or facts already in the content. Weasel attribution. "Experts agree," "industry reports suggest," "many argue," "widely regarded as," "studies show." Name the source or cut the claim. If the user has no source, ask instead of inventing one. Fake-strong verbs. Prefer "is" and "has" when they are clearer. "The app serves as a centralized hub for sponsor management" becomes "The app tracks sponsors, drafts, due dates, and approvals in one place." Synonym cycling. If the clear word is right, repeat it. Don't rotate terms for style. "The agent reviews the draft. The assistant scores the piece. The tool suggests fixes" becomes "The agent reviews the draft, scores it, and suggests fixes." Negative listing. "Not a X. Not a Y. A Z." Just say Z. Dramatic fragmentation. "X. And Y. And Z." or "That's it. That's the whole thing." Use complete sentences. Robotic rhythm. Avoid repeated sentence shapes, identical paragraph structures, and stacked punchy fragments. Vary the shape only when it helps the point. Rhetorical setups. "What if I told you...", "Think about it:", "Plot twist:", and self-answered "Question? Answer." pairs. Drop them and make the point. Fake-profound kickers. Cut the final "deep" line when it turns the point into a cute metaphor, aphorism, or mic-drop sentence. Do not rewrite it into a better metaphor. Do not preserve the rhythm. Delete it, then end on the clearest concrete sentence already in the draft. If the ending needs more closure, add a plain takeaway or next action. Summary-recap endings. "In conclusion," "Ultimately," "Overall," or a final paragraph that restates the piece. The reader was just there. End on the last concrete point, takeaway, or next action instead. Formatting slop. Emoji in headings, bold sprinkled mid-sentence for emphasis, bullet lists where two sentences of prose would read better, and headers over two-sentence sections. Format should follow the content, not decorate it. Em dashes. Do not use them as a default rhythm crutch. In short copy, use none. In longer drafts, 1-2 are fine if they clearly beat commas, periods, or parentheses. Remove clusters and decorative dashes.

Workflow (Voice & Style)

1. Read the full draft before editing.

2. Identify the core point and 3-5 voice signals to preserve, such as vocabulary, cadence, bluntness, humor, uncertainty, or digressions. Keep this note internal. If you cannot identify the core point, ask the user.

3. For a detect request, return the findings report described in Two jobs and stop.

4. For an edit, make the minimum effective changes, then check the edited draft against this skill's own rules.

5. If any check fails, fix the draft and run the checks again.

6. Output the full edited draft and a short What changed section.


Section 2: Chapter Drafting

Write new book chapters from source material, matching the existing book's voice and style.

When to Use

  • Writing a NEW chapter (not reviewing/editing an existing draft)
  • Source material files are provided (interviews, notes, blog posts, reviews)
  • Need to match the voice of existing chapters in the same book
  • Word count target specified (typically ~1500 words)

Workflow (Drafting)

1. Read source material

All files the task specifies. Extract themes, facts, quotes, examples. Note which ideas are strongest.

2. Read 2-3 existing chapters for voice calibration

This is the most important step. The existing text IS the style guide. Match sentence length, tone, I-voice, structural patterns, and YAML frontmatter format.

3. Draft following the structure

The task usually specifies the structure. Follow it exactly. Minto Pyramid: first paragraph carries the argument.

4. Check word count

If under target: expand with concrete detail, new examples, deeper explanation. NOT padding. If over: cut to the argument.

5. Voice rules

  • Strict I-voice: "I" not "you", no "we should"
  • Short sentences. One idea per sentence.
  • No AI slop (delve, leverage, transformative, etc.)
  • American English. Concrete beats abstract. No hedging.

Voice Note → Book Editing

When a voice note arrives with book editing instructions (add a section, rewrite a paragraph, fix wording):

1. Transcribe the voice note via Whisper (voice-note skill).

2. Locate the target chapter file in the book directory.

3. Load the voice & style rules (Section 1 of this skill) for voice guidance.

4. Edit the chapter in Joseph's voice (first person, direct, American English, no AI slop).

5. Save the transcript to wiki/consume/raw/voice-notes/ for reference.

6. Delete the audio file.

Do not paraphrase or summarize the instruction back — execute it directly. Joseph's voice notes are usually precise about what to add or change.

Pitfalls (Drafting)

1. Don't pad to hit word count. Filler is worse than being 100 words short.

2. Don't change voice to match instructions. Match the VOICE of the existing text.

3. Don't skip reading existing chapters. Voice calibration is non-negotiable.

4. Don't over-explain. Short sentences. Trust the reader.


Section 3: Chapter Management

Manage book chapters as individual numbered files with a TOC for ordering, reviews folder for version control, and subagent delegation for parallel writing.

When to Use

  • Restructuring a book (reordering chapters, merging/splitting content)
  • Writing multiple chapters in parallel via subagents
  • Need version control for chapter iterations
  • Assembling a full book from individual chapter files
  • Deduplicating content compiled from separate blog posts

Architecture

book-directory/
├── toc.md                    ← Chapter order + assembly command (single source of truth)
├── 00-intro.md               ← Individual chapter files (numbered)
├── 01-chapter.md
├── 02-chapter.md
├── reviews/                  ← Version snapshots
│   ├── round-1-v1-01.md      ← Before review round 1
│   ├── round-1-v2-01.md      ← After review round 1
│   └── round-2-v1-02.md      ← Before review round 2
├── full-book.md              ← Assembled from toc.md order
├── full-book.html            ← Generated HTML
└── book.pdf                  ← Generated PDF

TOC Format

Create toc.md as the single source of truth for chapter ordering:

# Book Title — Table of Contents

Order File Title Status
0 00-intro.md Intro ✅ keep
1 01-chapter.md Chapter 1 🆕 new
2 02-chapter.md Chapter 2 ✍️ rewrite
3 03-chapter.md Chapter 3 🆕 new

Assembly Command

bash

cat 00-intro.md 01-chapter.md 02-chapter.md 03-chapter.md > full-book.md

Status markers:
  • ✅ keep — unchanged from previous version
  • 🆕 new — entirely new content
  • ✍️ rewrite — rewriting existing content

Workflow: Restructuring

1. Move Old Chapters to Reviews

# Naming: round-N-vN-XX-chapter-name.md
mv 01-old-chapter.md reviews/round-4-v1-01-old-chapter.md
mv 02-old-chapter.md reviews/round-4-v1-02-old-chapter.md

2. Create/Update toc.md

Define the new chapter order and assembly command.

3. Write New Chapters

Write individual chapter files following the TOC order.

4. Assemble Full Book

cat 00-intro.md 01-chapter.md 02-chapter.md > full-book.md

5. Generate PDF

Use the book's PDF generation script (WeasyPrint or pandoc+LaTeX).

Workflow: Inserting a New Chapter (Renumbering)

When inserting a chapter into an existing numbered sequence:

1. Write the new chapter at its target number (e.g., 03-new.md).

2. Rename files from the insertion point onward using mv, working backward to avoid collisions: mv 07-ch.md 08-ch.md, mv 06-ch.md 07-ch.md, etc.

3. Update chapter headings inside each renamed file (# Chapter N: Title).

4. Scan ALL chapter files for stale cross-references. This is the step most likely to be missed. Chapters frequently reference other chapters by number (e.g., "what I said in Chapter 3"). After renumbering, every such reference must be checked and updated. Use:

   grep -rn "Chapter [0-9]" 0.md | grep -v "^0.:# Chapter"
   

5. Update the TOC and assembly command.

6. Verify with wc -w 0.md and grep -n "^# Chapter" 0.md.

Workflow: Synthesis Chapter

When content is dispersed across multiple chapters and needs to be pulled into a single unifying chapter:

1. Read all existing chapters to identify where the target content lives. Note specific paragraphs, quotes, or data points.

2. Write the synthesis chapter that weaves the dispersed material into a coherent narrative. The new chapter should reference other chapters (cross-references) rather than duplicate their content.

3. Add cross-references in the existing chapters pointing back to the synthesis chapter (e.g., "see Chapter N for the full stack").

4. Lightly trim duplicate material in existing chapters where the synthesis chapter now covers it — but don't over-trim. Each chapter must still stand alone.

5. Renumber as needed (see Inserting workflow above).

Workflow: Blog-to-Book Deduplication

When a book is assembled from separate blog posts, repeated sentences and structural patterns survive compilation. Blog posts need self-contained context; books don't.

Detection

Run after cat assembly into full-book.md:

from collections import Counter
import re
sentences = []
for line in open('full-book.md'):
    for sent in re.split(r'(?<=[.!?])\s+', line.strip()):
        if len(sent) > 40:
            sentences.append(sent)
dups = {s: c for s, c in Counter(sentences).items() if c > 1}

Three Categories

Category What it looks like Action
Exact sentence duplicates Same sentence in 2+ chapters Keep the version with more context; rephrase the other
Meta-references "This book..." appearing in mid-chapters Change to chapter-specific ("I wrote this chapter...")
Formulaic closers "The X effect is the point" / "compounding has barely started" Keep one instance (usually the first); vary the rest

Execution Order

1. Exact duplicates first (mechanical, low risk)

2. Meta-references (light touch)

3. Formulaic closers (editorial judgment)

4. Full read-through after edits to catch rhythm breaks and transitions that now feel abrupt

Key Pitfall

Some repeated sentences serve different arguments in different chapters (e.g., "Before Hermes, I ran this on discipline alone" in WINS intro vs. Self chapter). Don't blindly delete — check whether the sentence earns its place in each context.

After Edits: Reassemble and Verify

After patching individual chapter files, reassemble and verify:

cat 00-intro.md 01-chapter.md ... > full-book-v3.md

Then verify duplicates are gone:

from collections import Counter
import re
with open('full-book-v3.md') as f:
    content = f.read()
sentences = []
for line in content.split('\n'):
    for sent in re.split(r'(?<=[.!?])\s+', line.strip()):
        if len(sent) > 40:
            sentences.append(sent)
dups = {s: c for s, c in Counter(sentences).items() if c > 1}
if dups:
    for s, c in dups.items():
        print(f'[{c}x] {s[:120]}')
else:
    print('No exact duplicates remain.')

Also verify chapter structure: grep -n "^# " full-book-v3.md — check for duplicate chapter numbers (e.g., two "Chapter 6" headings from different source files).

Workflow: Parallel Chapter Writing via Subagents

When writing multiple chapters, delegate to subagents in parallel:

Task Template for Each Chapter

goal: Write Chapter N: "Title" for [book name].

Source material: [list files to read]
Requirements: [voice, style, word count]
Structure: [section outline]
Output: Save to /path/to/0N-chapter.md

Key Points

  • Each subagent gets its own isolated context
  • Provide source material file paths (subagents read files directly)
  • Include voice/style requirements in the goal
  • Specify exact output path
  • Subagents run in parallel (up to delegation.max_concurrent_children)

After Subagents Complete

1. Verify all files exist: ls -la 0*.md

2. Check word counts: wc -w 0*.md

3. Assemble: cat 00-.md 01-.md ... > full-book.md

4. Generate PDF

Reviews Folder Convention

Naming: round-N-vN-XX-chapter-name.md
  • N = review round number
  • vN = version within that round (v1 = before fixes, v2 = after fixes)
  • XX = original chapter number
  • chapter-name = descriptive slug
Example:
reviews/
├── round-1-v1-00-intro.md
├── round-1-v2-00-intro.md
├── round-2-v1-03-moving-to-vps.md
└── round-4-v1-07-stock-screening.md

Workflow: Editorial Review (Processing Callouts)

When a chapter has [!hh] callout comments left by Joseph during review:

1. Read the full chapter first

Load the voice & style rules (Section 1 of this skill) before editing. Process ALL callouts in one pass, not one at a time.

2. Classify each callout

See references/editorial-callout-patterns.md for observed callout types and examples.

  • Resolved action (strikethrough text, "I modified X, see if it reads well"): Apply the change, remove the callout.
  • Technical question ("validate this", "what does X mean"): Verify against source material or skill files. Fix the text if inaccurate, remove the callout. If the claim is correct, remove the callout silently.
  • Structural question ("shouldn't I include X?", "is this repeated in another chapter?"): Remove the callout and flag to user as a decision point. Don't make structural decisions unilaterally.
  • Readability check ("see if it reads well"): Read the paragraph, confirm it's fine, remove the callout. If it needs work, fix it.

3. Apply voice & style pass

After resolving callouts, run the voice & style rules (Section 1) on the full chapter: em-dashes, AI words, tight paragraphs, strong verbs.

4. Cross-chapter dedup check

When callouts mention content repeated in another chapter:

  • Read the other chapter to confirm the overlap
  • Recommend trimming unique-to-this-chapter vs. duplicate content
  • Let the user decide before cutting

Pitfall

Don't answer callout questions inside the document. Resolve them by editing the text or flagging to the user in your response.

Pitfalls (Chapter Management)

1. Check for existing reviews folder. Before creating reviews/, check if it already exists. User may have created it in a previous session.

2. Don't mix chapter files with reviews. Keep the working directory clean — only current chapter files at the top level.

3. Update toc.md when reordering. The TOC is the single source of truth. If you reorder chapters, update the TOC first.

4. Verify subagent output. Subagents self-report completion. Check that files exist and have reasonable word counts before assembling.

5. Preserve YAML frontmatter. Each chapter file should have YAML frontmatter with title. The assembly command concatenates them as-is.

6. Don't regenerate PDF after every edit. Wait until all chapters in a batch are reviewed before regenerating.

7. Blog-to-book deduplication. After compiling from blog posts, scan for repeated sentences, meta-references, and formulaic closers. See workflow above.

8. Chapter numbering. When source files have their own heading numbers, they may collide after assembly (e.g., two files both labeled "Chapter 6"). Verify chapter headings are unique after reassembly.

9. Stale cross-references after renumbering. Chapters frequently reference other chapters by number in examples, hypothetical callouts, or inline prose (e.g., "what I said in Chapter 3"). After inserting or renumbering, scan every file for these references. They don't show up as heading collisions — they just silently point at the wrong chapter. Use grep -rn "Chapter [0-9]" 0.md | grep -v "^0:# Chapter" to find them.

10. Verify technical claims in editorial callouts. When a [!hh] callout says "validate this" or questions a technical claim, check the actual source (skill files, config, logs) before removing the callout. Don't assume the draft is correct just because it reads well. The transcript-routing cost claim (36 cents vs. 8-12 cents) needed verification against the youtube-content skill, for example.

11. Cross-chapter content duplication. When a callout flags content repeated in another chapter, read both chapters before recommending cuts. Some repetition serves different arguments (standalone article vs. connected book). Recommend, don't cut — the user decides what earns its place in each context.


Section 4: Review Workflow

Write, review, and produce a book using markdown files in Obsidian as both the writing workspace and the production source.

When to Use

  • Writing a book or long-form guide (10+ chapters)
  • Author reads and comments in Obsidian (synced via Dropbox)
  • Need style consistency across multiple chapters
  • Need a clean path from draft to PDF/Gumroad

Architecture

plan.md          → Structure, decisions (source of truth for what to write)
task.md          → Chapter-level checklist (source of truth for progress)
progress.md      → Session log, thread handover
*.md files       → Writing workspace AND production source
reviews/         → Version snapshots + comment logs

Comment Format

Author uses Obsidian callouts in markdown files:

> [!hh] Change this paragraph to focus on stock investing
> [!hermes] Should we list some skills here?

Place callout directly after the paragraph it refers to. > [!hh] for corrections, > [!hermes] for questions.

Workflow (Review)

1. Plan

Create plan.md with TOC, structure, decisions. Author reviews and approves.

2. Write (batched)

Write 2-3 chapters per batch:

  • Read source material
  • Apply style rules (Minto Pyramid, Flesch 65-70, ASD-STE100, I-voice)
  • Write to markdown files in book directory
  • Dropbox syncs to author's Mac
  • Author opens in Obsidian, reads, leaves > [!hh] callout comments

3. Review

Comments can arrive two ways:

  • Obsidian callouts in the markdown files: > [!hh] or > [!hermes]
  • Slack messages referencing the file (e.g., "on chapter 2, I left comments")

Same workflow either way.

Before processing:

1. Save v1 snapshots: cp .md reviews/round-N-v1-.md

2. Extract comments: grep -n "> \[!hh\]\|> \[!hermes\]" *.md > reviews/round-N-comments.md

(Skip this step if comments came via Slack — read the Slack messages instead)

Processing:

1. Read each callout or Slack message, understand feedback

2. Apply fixes to markdown files

3. Remove callout if present (comment addressed)

4. Save v2 snapshots: cp .md reviews/round-N-v2-.md

After processing — update tracking files:

1. progress.md: Add a dated "Fixes applied after round N" section listing every change made

2. progress.md: Update the "Awaiting" line to reflect what's done vs. what's still pending

3. task.md: Check off any chapter that has been fully reviewed and approved

Result: complete audit trail — what text was, what author said, what it became. Tracking files stay current.

4. Repeat until all chapters written

5. Format

Export markdown → PDF (pandoc). Cover, typography, layout.

6. Produce

Final editorial pass → PDF → Gumroad.

Finding Comments

grep -n "> \[!hh\]\|> \[!hermes\]" books/<project>/*.md

Pitfalls (Review)

1. Callout placement matters. Put the callout directly after the paragraph it refers to, not at the end of the file.

2. One callout per issue. Don't bundle multiple feedback items into one callout.

3. Remove callouts after addressing. Don't leave resolved comments in the file.

4. Version snapshots before every review round. Without them, you lose the before/after comparison.


Section 5: Production

Style Consistency

  • Voice & style rules (Section 1) applied during writing, not just editing
  • Author reviews each batch for voice
  • Published blog post serves as style anchor

Thread Handover

New thread opens with: plan path, task path, progress path, chapter list, reviews path, current phase, pending decisions.