Skip to content

Three-Axis Model

Most writing guidance collapses “who is writing” and “how they are writing” into a single undifferentiated concept called “voice” or “style.” This works for a single author writing in a single context, but it breaks down when you need to reuse and remix writing instructions across different tasks and audiences.

The three-axis model separates writing instruction into components that vary independently:

  1. Who is writing and how they feel about the audience (Voice & Tone): Voice is stable across all contexts for a given identity; Tone is situational and changes with context. Together they form the first axis.
  2. How they structure reasoning (Style): independent of both identity and mood
  3. How they present output (Format): purely structural, applies to any voice/tone/style combination

Because these three axes are independent, you can compose any combination. A pragmatic-architect voice with a mentoring tone writing in a problem-solution style formatted as a daily-standup is a fully specified, reproducible writing instruction.


Voice and Tone are two dimensions within the first axis. Voice captures persistent identity (how you always sound). Tone captures situational register (how you sound right now). They are kept as separate catalog directories because they have different frontmatter and different entry counts, but they belong to the same conceptual axis.

Voice is the persistent identity of the writer. It captures:

  • The professional archetype they embody (pragmatic-architect, product-thinker)
  • The concerns they characteristically surface (constraints and trade-offs vs. user outcomes)
  • The level of abstraction they prefer (systems vs. features vs. operations)
  • The assumptions they make about the reader

Voice is stable across contexts. A pragmatic-architect voice behaves the same way whether writing a Slack message or a technical RFC - it always reasons from constraints, names trade-offs explicitly, and avoids hand-waving.

IDDescription
pragmatic-architectReasons from system constraints and trade-offs; names costs explicitly
product-thinkerCenters user outcomes; connects decisions to measurable value
ops-realistPrioritizes reliability and operational burden; suspicious of complexity
technical-educatorBuilds up from first principles; patient with foundational gaps
skeptical-analystQuestions assumptions; demands evidence before committing

Tone is situational coloring applied on top of voice. It reflects how the writer wants the reader to feel, and what relational stance the writer is taking in this particular message.

This is the most important distinction in the model. Voice does not change; tone does. The same pragmatic-architect can be:

  • candid: direct, no softening, states the problem plainly
  • mentoring: patient, explanatory, meets the reader where they are
  • optimistic-realist: acknowledges problems while keeping forward momentum

Separating tone from voice means you do not need a different voice entry for every emotional register. You have one pragmatic-architect entry and five tone modifiers.

IDDescription
candidDirect and unhedged; states the situation plainly without softening
mentoringPatient and explanatory; guides the reader rather than directing them
optimistic-realistAcknowledges problems; maintains forward momentum
cautiousSurfaces risks prominently; prefers explicit caveats
energizingMotivating register; emphasizes opportunity and momentum

Style describes the cognitive and rhetorical pattern of the writing: how ideas are organized and sequenced. It is independent of who is writing and how they feel.

IDDescription
problem-solutionDiagnosis first, then remedy; clear causal structure
layered-disclosureLead with the answer; bury supporting detail for readers who want depth
decision-logDocuments a choice: context, options considered, decision, rationale
narrative-arcSituation, complication, resolution; story structure for complex topics
step-by-stepSequential instructions with explicit ordering and numbered steps

Format entries define the visual and structural container. They specify headings, bullet depth, table layouts, section templates, and field ordering. Format is purely presentational and can be applied to any voice/tone/style combination.

IDDescription
adrArchitecture Decision Record: Status, Context, Decision, Consequences
daily-standupThree fields: Yesterday, Today, Blockers
slack-threadOpening summary, threaded replies pattern, reaction-aware length
technical-rfcAbstract, Motivation, Detailed Design, Drawbacks, Alternatives
bullet-briefFlat bullet list with bold lead-ins; no prose paragraphs

The compose-instruction skill reads one entry from each axis and assembles them into a single structured prompt prefix. The prefix has up to four sections - Voice, Tone (both from Axis 1), Style (Axis 2), and Format (Axis 3) - concatenated in that order.

Any axis can be omitted. If you only specify a voice and a format, the skill generates a two-section prefix. The composed instruction is designed to be prepended to any writing task without modification.

See Compose an Instruction for a worked example.