Skip to content

Building Your Own Book

This tutorial walks you through creating a custom technical book using the FCC Agent Team Framework's publishing pipeline. By the end, you will have a plan, a persona team, a chapter outline, a drafting workflow, a review cycle, and a built PDF/EPUB/DOCX. The tutorial includes a complete worked example based on a fictional book "Shipping Event-Driven Systems."

FCC is designed to help small teams and individuals produce technical books with the rigor of a formal publishing process: persona-driven drafting, structural critique, consistent voice, and automated builds. You do not need a publisher or a 200-person team to use this pipeline.


Who This Tutorial Is For

Audience

  • Engineers and architects who want to publish what they know
  • Technical leads creating internal onboarding books
  • Open-source maintainers producing canonical project books
  • Researchers publishing applied-methods guides
  • Teams capturing institutional knowledge before it disperses

Expect to invest 40-120 hours for a first book, depending on scope. Most solo authors complete a 10-chapter book in 3-6 months working part-time.


Prerequisites

  • FCC installed (pip install -e . from the repo root)
  • Quarto installed (optional, for PDF/EPUB generation): https://quarto.org/docs/get-started/
  • Familiarity with Markdown and YAML
  • A topic you know well enough to teach

Step 1: Plan Your Book's Scope and Audience

Before writing a single paragraph, answer these questions in a one-page plan:

Scope Questions

  1. What is the single thesis? State it in one sentence.
  2. Who will read it? Describe two reader personas.
  3. What will readers be able to do after finishing? List 3-5 outcomes.
  4. What is out of scope? List 3-5 topics you will NOT cover.
  5. How long? Word count and chapter count targets.

Audience Modeling

Use the User Advocate Architect (UAA) persona to model your audience:

You are the User Advocate Architect. Model two reader personas for a book
titled "Shipping Event-Driven Systems" targeting backend engineers with
2-5 years of experience.

For each persona, produce:
- Name and role
- Prior knowledge
- Goals for reading the book
- Concerns they bring
- Success criteria (how they know the book helped)

Worked Example

For "Shipping Event-Driven Systems":

  • Thesis: Event-driven systems are operationally manageable when designers apply four disciplines: explicit contracts, idempotency, replayable state, and observable flow.
  • Audience: Backend engineers at Startup-to-Growth stage companies.
  • Outcomes: (1) Design event contracts that survive schema evolution. (2) Build idempotent consumers. (3) Debug production event flows. (4) Replay state from event logs. (5) Instrument event systems for observability.
  • Out of scope: stream processing theory, specific vendor internals, Kafka/Kinesis tuning guides.
  • Length: 10 chapters, ~60,000 words.

Step 2: Design Your Persona Team with R.I.S.C.E.A.R.

Your book needs a persona team to draft, review, and iterate. The minimal team is 4-5 personas. Design each using the 10-component R.I.S.C.E.A.R. specification.

Minimal Book Team

Persona Role in Book Production
Research Crafter (RC) Source gathering, prior art
Blueprint Crafter (BC) Chapter outlines, narrative arc
Documentation Evangelist (DE) Drafting, voice, style
Blueprint Validator (BV) Technical and structural review
User Advocate Architect (UAA) Audience alignment

Customizing Personas for Your Book

Each persona's constitution should adapt to your book's voice and standards. For example, DE's style component might be customized to:

style:
  tone: "conversational but precise"
  voice: "first-person plural ('we'), active voice"
  paragraph_length: "3-5 sentences"
  code_example_policy: "every concept demonstrated within 2 paragraphs"
  jargon_policy: "defined on first use, glossary entry required"

Store customizations in a book-personas/ directory at your book's root.


Step 3: Outline Chapters with the Blueprint Crafter

Run the Chapter Outline Authoring prompt for each chapter. The BC persona produces a structured outline per chapter.

Outline YAML Format

chapter: 3
title: "Designing Event Contracts"
learning_objectives:
  - "Explain why event contracts differ from API contracts"
  - "Apply schema evolution patterns to event payloads"
  - "Design event metadata for cross-team use"
prerequisites:
  - Chapter 1 (event fundamentals)
  - Chapter 2 (publish-subscribe patterns)
sections:
  - name: "The Contract Asymmetry"
    summary: "Why events bind more tightly than APIs"
    est_words: 400
  - name: "Schema Evolution Patterns"
    summary: "Adding fields, deprecating fields, versioning"
    est_words: 1200
  - name: "Metadata Conventions"
    summary: "Tracing, causation, ownership fields"
    est_words: 800
  - name: "Worked Example: Payment Event"
    summary: "End-to-end contract with evolution"
    est_words: 1000
diagrams:
  - placement: "Section 1"
    type: "comparison"
    subject: "API vs event coupling"
  - placement: "Section 2"
    type: "sequence"
    subject: "backwards-compatible schema change"
exercises:
  - "Design a v2 event for [scenario]"
  - "Identify breaking vs non-breaking changes in [sample diff]"
est_total_words: 3500

Planning Across Chapters

Ensure your chapters flow with dependency tracking:

flowchart TD
    Ch1[Ch 1: Fundamentals] --> Ch2[Ch 2: Pub-Sub Patterns]
    Ch2 --> Ch3[Ch 3: Event Contracts]
    Ch3 --> Ch4[Ch 4: Idempotency]
    Ch4 --> Ch5[Ch 5: Consumer Patterns]
    Ch3 --> Ch6[Ch 6: Replay & State]
    Ch5 --> Ch7[Ch 7: Observability]
    Ch6 --> Ch7
    Ch7 --> Ch8[Ch 8: Failure Modes]
    Ch8 --> Ch9[Ch 9: Operations]
    Ch9 --> Ch10[Ch 10: Case Studies]

    classDef ch fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px;
    class Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,Ch8,Ch9,Ch10 ch;

Step 4: Draft Chapters with the Research Crafter and DE

For each chapter, follow this drafting cycle:

4a. Research (RC)

Gather source material: - Prior chapters for cross-reference - Code examples you will include - External papers, blog posts, specs - Personal war stories with permission

Produce a research brief: 400-word summary with citations.

4b. Draft (DE)

Follow the outline produced by BC. Key drafting disciplines:

Drafting disciplines

  • Write in 500-word chunks; rest between chunks
  • Draft concepts before examples, examples before exercises
  • Use the Drafting a New Chapter prompt as your workflow spine
  • Commit drafts to git daily; version chapters independently

4c. Generate Diagrams

Use the Generating Diagrams prompt. Save each diagram as a separate Mermaid file in diagrams/ and include via Quarto short-codes.


Step 5: Review Cycles with the Blueprint Validator

After a chapter drafts, run two review passes.

Pass 1: Technical and Structural (BV)

Use the Reviewing an Existing Chapter prompt. BV scores the chapter on:

  • Technical accuracy
  • Claim-evidence alignment
  • Code example correctness
  • Cross-reference health
  • Logical coherence

Pass 2: Style and Voice (DE)

DE does a second pass focused on:

  • Voice consistency with prior chapters
  • Jargon handling
  • Paragraph length
  • Transition quality

Pass 3: Audience Fit (UAA, optional)

UAA spot-checks a sample: would your target audience understand this chapter?

Review Artifact

Produce a review record per chapter:

## Review: Chapter 3 "Designing Event Contracts"
**Draft date:** 2026-03-15
**Reviewer:** BV + DE
**Overall score:** 4/5
**Blockers:** 2 (see findings below)
**Nice-to-haves:** 5

### Blockers
1. Line 245: code example uses deprecated API (fix: update to v2 API)
2. Section 3: claim about "99% of teams" lacks citation (fix: remove or cite)

### Nice-to-haves
(5 items)

### Status
Revision required. Target re-review: 2026-03-22.

Step 6: Quarto Configuration

Quarto is the recommended build tool for producing PDF, EPUB, and DOCX from a Markdown book. If you are not using Quarto, you can stop after Step 5 -- your Markdown is the deliverable.

Project Structure

my-book/
  _quarto.yml
  index.qmd
  chapters/
    01-fundamentals.qmd
    02-pubsub.qmd
    03-contracts.qmd
    ...
  diagrams/
    contract-evolution.mmd
  book-personas/
    rc.yaml
    bc.yaml
    de.yaml
    bv.yaml
  code/
    examples/
  references.bib

Sample _quarto.yml

project:
  type: book

book:
  title: "Shipping Event-Driven Systems"
  author: "Your Name"
  date: "2026"
  chapters:
    - index.qmd
    - chapters/01-fundamentals.qmd
    - chapters/02-pubsub.qmd
    - chapters/03-contracts.qmd
    - chapters/04-idempotency.qmd
    - chapters/05-consumer-patterns.qmd
    - chapters/06-replay-state.qmd
    - chapters/07-observability.qmd
    - chapters/08-failure-modes.qmd
    - chapters/09-operations.qmd
    - chapters/10-case-studies.qmd
  appendices:
    - chapters/glossary.qmd
    - chapters/references.qmd

format:
  html:
    theme: cosmo
    code-fold: false
    toc: true
  pdf:
    documentclass: scrbook
    geometry:
      - margin=1in
  epub:
    cover-image: cover.png

bibliography: references.bib

Build Commands

# Preview locally
quarto preview

# Build all formats
quarto render

# Build PDF only
quarto render --to pdf

# Build EPUB only
quarto render --to epub

Step 7: Iterate Based on Reader Feedback

Publish a draft, gather feedback, iterate. Do not wait for perfection.

Feedback Collection

Set up three channels:

  1. GitHub issues -- structured feedback from engineers
  2. Anonymous survey -- one per chapter with 3 questions
  3. Direct interviews -- 5 readers at draft and 10 at final

Survey Questions (per chapter)

  1. What is one concept you will use within 30 days?
  2. What confused you?
  3. What is missing?

Iteration Workflow

Run the Publication Retrospective prompt 30 and 90 days after release. Bucket feedback by chapter and severity. Apply changes in a v1.1 release.


Worked Example: First 30 Days

Here is a concrete day-by-day plan for the first month of "Shipping Event-Driven Systems":

Day Activity Persona
1-2 Write plan, pick audience UAA
3-5 Customize persona constitutions BC
6-8 Outline chapters 1-3 BC
9-10 Research for chapter 1 RC
11-15 Draft chapter 1 DE
16-17 Review chapter 1 BV + DE
18-19 Revise chapter 1 DE
20-21 Research for chapter 2 RC
22-26 Draft chapter 2 DE
27-28 Review chapter 2 BV + DE
29-30 Revise chapter 2, retro CO

At this pace, a 10-chapter book takes 4-5 months.


Common Pitfalls

Book writing pitfalls

Writing without outlining -- produces rework. Outline first.

Skipping reviews -- solo authors especially need BV's structural critique.

Waiting to ship -- drafts published early get 10x more feedback.

Persona drift -- customize persona constitutions upfront, freeze during drafting.

Ignoring audience fit -- write for a specific reader, not "everyone."

Over-scoping -- if your ToC exceeds 15 chapters, cut it in half.

Perfectionism -- ship a v1.0 at 80% polish; iterate to 95% in v1.1.


Build Checklist

Before you declare v1.0:

  • All chapters have learning objectives in front matter
  • All code examples execute in a clean environment
  • All cross-references resolve
  • BV has reviewed every chapter
  • DE has passed every chapter for style
  • 5 external readers have reviewed
  • PDF, EPUB, DOCX all build without warnings
  • Glossary has 15+ entries
  • References/bibliography is complete
  • Cover image prepared

Next Steps