Skip to main content

Editing content

For non-technical editors. How to log in, edit a page, publish via the editorial workflow, and what NOT to change.

Before the CMS goes live

Until Phase 5's GitHub OAuth setup lands, the CMS at /admin will load but the Login with GitHub button won't actually authenticate. To edit content in the meantime:

  1. Open the file you want to edit in the docs/ tree on GitHub.
  2. Click the pencil icon (top right of the file view) to edit in the browser.
  3. Make your change. Scroll down. Write a short commit message. Choose "Create a new branch and start a pull request".
  4. A Ne-Lo maintainer reviews + merges.

Same outcome as the CMS, slightly more clicks. The CMS just makes step 1–3 prettier.

Once the CMS goes live

1. Log in

Go to https://wiki.anatomyofmarketing.dev/admin. Click Login with GitHub.

You'll be redirected to GitHub to authorise. The first time, GitHub asks "Authorise Anatomy of Marketing CMS?" — click Authorise.

You must have write access to the-kizz/anatomy-of-marketing for the CMS to let you save. Ne-Lo grants this; talk to Ross or Kieran.

2. Pick what to edit

The sidebar shows the same hierarchy as the wiki:

  • Foundations — context pages (Three Layers, Mission, Vision, etc.)
  • Hats — the 6 top-level marketing categories (Investment, Company Strategy, Brand Strategy, Brand Expression, Execution, Data & Insights)
  • Concepts — the 60 individual concept pages, grouped by hat
  • Methodology — Diagnose, Prioritise, Build, Innovate, plus the overview and quarterly-rhythm pages
  • Mindset — the 8 principle scaffolds (most are placeholders awaiting your input)
  • References → Intellectual Lineage — the 7 thinker pages

Click any page to open the editor.

3. Edit

Each page has a left-hand form (front-matter fields) and a right-hand body (Markdown content with a preview pane).

For a concept page, the most useful sections to fill in are:

  • Definition — already filled from the source glossary. Don't change unless the glossary itself is wrong.
  • Why it matters — same.
  • How it connects — currently a 🚧 placeholder. Replace with prose explaining how this concept relates to others. The Mermaid diagram block (if you add one) auto-renders.
  • The framework — currently a 🚧 placeholder. Add the operational framework or template that practitioners use.
  • Inputs & outputs — currently empty arrays. Add concept slugs (e.g., target-audience-profiles) that feed into / out of this concept.
  • Examples — currently a 🚧 placeholder. Add 2–3 worked examples.
  • Common pitfalls — currently a 🚧 placeholder. List 3–5 things to watch for.
  • Further reading — currently a 🚧 placeholder. Link to canonical external sources.

For a mindset principle, replace the placeholder title (Mindset Principle 1) with the actual principle, then fill the body.

For an intellectual-lineage thinker, add the attribution prose: who, when, what they contributed, how AoM draws from their work.

4. Save

Click Save (top right). The CMS:

  1. Creates a new branch in GitHub
  2. Commits your change with a message like Update concept "Purpose" via CMS
  3. Opens a pull request against main

You don't see any of this directly — the CMS just shows "Saved!"

5. Wait for review

A Ne-Lo maintainer (Kieran or Ross, currently) reviews the PR. They may:

  • Merge it immediately (small fixes)
  • Comment with questions or revisions
  • Request changes (you can edit the same page again — the CMS will append commits to the existing PR)

Once merged, the change goes live on wiki.anatomyofmarketing.dev within ~30 seconds (GitHub Actions auto-deploys to Cloudflare).

What NOT to change without discussion

These break things in subtle and expensive ways:

FieldWhy it's locked
slugURL stability — citations break if a slug changes. The CMS marks the field immutable; the build also rejects mismatches.
hat assignment on a conceptReorders the entire information architecture. The 6-hat taxonomy is canonical (CLAUDE.md guardrail).
content_typeTells the validator which schema to apply. Wrong = build fails.
status from stable to draftRemoves the page from search and AI indexes. Only flip if you're actively rewriting and want the page out of indexes during the rewrite.
license / trademark / spec_version fields in front-matterProject-wide; flip via codebase change, not CMS edit.
The 6 hats count or namesSame — taxonomy is canonical.
The 60 concepts count or any concept's canonical nameSame. Adding a new concept is a deliberate roadmap item, not a CMS edit.

If you find yourself wanting to change one of these, open a GitHub issue tagged discuss-before-pr — it's almost always a sign that something deeper needs aligning first.

Uploading courseware

To add a slide deck, hat reference poster, or assignment template:

  1. Go to /admin → in the left sidebar, the Courseware collection (Phase 5+ — collection wired into config.yml from Zod).
  2. Drag-drop your file (PDF, ZIP, etc.).
  3. Add a title + 1-line description.
  4. Save → PR → merge → live at https://wiki.anatomyofmarketing.dev/courseware/<file>.

For now (pre-CMS-courseware-collection), drop files directly into static/courseware/ via a PR.

Open content vs gated bonus downloads (the split)

This split is load-bearing for the project's strategy. Don't blur it.

SurfaceWhere it livesAuth required?
60 concept pages, 6 hat overviews, methodology, mindset, foundations, referencesdocs/**/*.mdNo. Open methodology under CC BY 4.0.
.md mirrors (e.g., /concepts/.../purpose.md)Auto-generated at build timeNo. Asserted by CI on every PR (GATE-04).
/aom.json, /llms.txt, /llms-full.txtAuto-generated at build timeNo. AI agents read these directly.
MCP server queries via the-kizz/aom-mcpLocal installNo.
Bonus downloads — slide decks, expandable hat-map images, courseware bundles, workshop kitsstatic/downloads/gated/** (Phase 6+)Lead-capture form (email + company name + role; no account, no password)

Bonus downloads are the only thing behind a registration form. Concept pages and the methodology itself are open by spec. The CI test in validate.yml walks every spec URL unauthenticated and asserts 200; a PR that puts a signup gate on a concept page fails the build.

If a contributor proposes gating spec content (e.g., paywalling a hat overview), the answer is no. Open discuss-before-pr issue if there's a real strategic reason — it would require milestone-level approval.

Common problems

ProblemFix
"Login with GitHub" does nothingOAuth Worker isn't deployed yet. See Why for status; talk to Ross.
"Field is required" red errorA required field is empty. Hover the field for the description.
"Save" is greyed outValidation is failing on one of the front-matter fields. Check for red errors at the top of the form.
The preview pane looks wrongSveltia's preview is approximate. Trust the actual built site (after merge) over the preview.
Your PR shows extra files you didn't changeThe CMS sometimes batches related codegen changes. Mention to a maintainer if anything looks suspicious.

Asking for help

If you're stuck, comment on the PR (anyone can see it) or open a GitHub issue. Both go to the Ne-Lo maintainer queue.

Continue in: