The content matrix is one of those structures that is obvious in retrospect and rare to see executed cleanly. Pillars across the rows, formats across the columns, one specific post idea per cell. content-matrix automates the painful part, which is filling thirty-plus cells with ideas that are specific to the pillar AND the format, rather than generic restatements of the pillar in different wrappers.
The content matrix as a structure works because it forces a specific kind of cognitive friction. Generic ideas survive in single-cell brainstorms. They do not survive in a grid where every cell has to differ from every other cell on two axes at once. content-matrix is the skill that runs that grid for the writer in one pass and treats vague cells as failures.
§01What it does
The skill reads about-me.md if it exists, pulling positioning, audience, and topic pillars. If the file is missing, it asks for two paragraphs describing who the writer is and what they cover. Then it accepts three to five pillars, either typed by the writer, pulled from voice.md, or suggested by the model based on the about-me file.
The columns are fixed. Eight formats in this exact order: actionable, motivational, analytical, contrarian, observation, X versus Y, present versus future, listicle. The order matters because the formats progress from concrete to comparative to forward-looking, which makes the resulting matrix scannable as well as filled in.
Then the model fills every cell. Each cell holds a single specific post headline tailored to the pillar and the format together. The 3-line hook formula I stole from David Ogilvy is a valid cell. Hooks is not. The skill treats theme-level cells as broken and rewrites them. After the table is complete it names the single strongest idea across the matrix and offers to pipe that cell to post-writer or post-formatter for full drafting.
§02Specificity is the constraint
The cell-level constraint is what separates this skill from the dozen other "give me content ideas" prompts on the internet. Most of those return a list of thirty topics phrased as themes. Themes are useless. They produce posts that read like the topic restated in a different paragraph because the writer never had to commit to an angle.
A specific cell forces the angle up front. Why founders should stop hiring senior marketers (contrarian × hiring) is committed in a way that Hiring never is. The matrix structure also gives the writer something to look at: a full month of differentiated ideas that fit together as a content arc, rather than thirty unrelated post seeds that have to be re-prioritised every Sunday.
The Justin Welsh provenance is worth naming because the structure has been used by enough successful writers that the formats themselves are not load-bearing. The pillars matter, the specificity rule matters, the prohibition on cross-cell reuse matters. The eight format names are a useful default, not a sacred set.
§03Setup
# Trigger phrases:
# "give me post ideas"
# "content matrix"
# "what should I post about"
# "map out my content for the month"
Run voice-builder first if you have not. The matrix tunes its language to voice.md when that file is present, which is what makes the cell headlines actually sound like things the writer would say.
◆ pull quote
“Themes are useless. The cell-level specificity rule is what makes the matrix produce posts you can write rather than topics you have to think about.”
§04Caveats
More than five pillars dilutes the matrix. The skill caps at five and pushes back if the writer types more, which is the right call. A matrix with eight pillars and eight formats is not eight times as useful; it is just sixty-four cells the writer cannot hold in their head.
The matrix is an ideation artifact, not a publishing schedule. Treat it as the source the post-writer skill draws from when the writer wants to draft, rather than as a content calendar to grind through.
- 01Inputs
- ▸read about-me.md if present
- ▸3 to 5 pillars (typed or suggested)
- ▸audience and POV
- 02Eight formats
- ▸actionable
- ▸motivational
- ▸analytical
- ▸contrarian
- ▸observation
- ▸X vs Y
- ▸present vs future
- ▸listicle
- 03Fill cells
- ▸one specific headline per cell
- ▸never reuse across pillars
- ▸voice-tuned if voice.md exists
- 04Output
- ▸markdown table, code block
- ▸strongest idea named at the bottom
- ▸hand-off to post-writer