Reusable frameworks

6 Flat Character Templates

Start with structure, then replace every placeholder with information that is true, relevant, and natural for your context. These templates are intentionally skeletal so your final writing does not sound mass-produced.

Use the framework

How to personalize a template

A good flat character is simple by design, not careless by default: the reader can recognize the character quickly, the character serves a clear story purpose, and selective specificity prevents the person from becoming a generic stereotype.

  1. 1
    Choose the template closest to your actual purpose.
  2. 2
    Replace every bracketed field with specific information.
  3. 3
    Delete any sentence that does not belong in your situation.
  4. 4
    Read the result aloud for unnatural transitions or repeated phrasing.
  5. 5
    Verify names, dates, links, facts, and promises before sending or publishing.
Flat Character Template 1
Function-first: [Character] exists primarily to [story function], expressed through [dominant trait] and [specific habit/detail].
Flat Character Template 2
Contrast character: Make [flat character trait] consistently oppose or expose [protagonist trait].
Flat Character Template 3
Recurring minor: Repeat [behavior/rhythm/object] across appearances so the character becomes recognizable quickly.
Flat Character Template 4
Boundary check: Keep [core trait] stable, but add one concrete preference or competence that avoids stereotype.
Flat Character Template 5
Dependency and propagation audit: Claim / example / recommendation [x] | Controlling source / project record [x] | Dependency strength [direct / shared / advisory / independent] | Review trigger / reason code [x] | Needs-review scope [local / direct dependents / cluster] | Replacement source requirements [x] | Carry-forward decision [x] | Propagation targets [x] | Reader disclosure / changelog action [x].
Flat Character Template 6
Persistent editorial registry audit: Topic slug → [ ]; claim UID/key → [ ]; source UID/key → [ ]; dependency UID + strength → [ ]; source status/version → [ ]; open review UID/reason/priority → [ ]; replacement source if any → [ ]; reviewer + resolution → [ ].