Skip to content

Maecenas: transform Aurelius fork into a marketing framework (RFC 0003)#118

Closed
PAMulligan wants to merge 5 commits into
mainfrom
feat/maecenas-marketing-transform
Closed

Maecenas: transform Aurelius fork into a marketing framework (RFC 0003)#118
PAMulligan wants to merge 5 commits into
mainfrom
feat/maecenas-marketing-transform

Conversation

@PAMulligan

Copy link
Copy Markdown
Collaborator

Summary

Transforms this repository from the Aurelius React-development framework into Maecenas — a Claude Code marketing framework with the same architectural philosophy (specialized agents + skills + slash commands + a configurable, gated pipeline + a CLAUDE.md brain), re-aimed from design → code to brief → publish-ready asset.

Named for Gaius Cilnius Maecenas, Augustus's counselor and Rome's first great communications strategist. Full plan: docs/rfcs/0003-maecenas-marketing-transformation.md.

One commit per phase

Phase Commit What changed
2 — Agents feat(agents) 56 → 42 agents: 32 code-only removed; 10 adapted (8 renames incl. growth-hacker→growth-marketer, brand-guardian→brand-compliance-checker); 18 new marketing agents; guides rewritten; RFC 0003 added
3 — Skills feat(skills) 24 → 13 skills: campaign-brief-intake (≙ figma-intake), brand-voice-lock (≙ design-token-lock, → brand-guidelines.json lockfile), editorial-qa (≙ visual-qa loop, max 5 revisions), + 9 more; parallel-orchestration re-aimed at per-asset lanes
4 — Pipeline & commands feat(pipeline) pipeline.config.json + schema rewritten: brand-voice gates, per-asset readability targets, fact-check policy (fabrication schema-pinned to block), SEO checklist, assetTypes replacing appTypes, and a schema-pinned human approval gate over publish/send/spend/schedule; 8 code commands removed, 8 marketing commands added (flagship /build-campaign), /create-blog-article re-grounded, /verify-all repointed
5 — Scripts & cleanup feat(scripts) ~40 code scripts + packages/renderers/templates scaffolding removed; 4 dependency-free utilities added (brand-voice-lint, readability-score, seo-check, validate-content-calendar); verify-all rewired; 8 build hooks → 3 marketing hooks; templates repurposed into marketing starters; CI rewritten
6 — Docs & brain docs CLAUDE.md rewritten as the marketing brain with six hard operating rules; README, onboarding, campaign-pipeline / brand-setup / marketing-standards guides; counts reconciled

Safety properties

  • Never fabricate — statistics/testimonials/quotes without sources block at editorial QA, unconditionally (factCheck.fabricationPolicy is const: "block" in the schema)
  • Human approval gatehumanApproval.required/blocking are const: true in the schema; publish, send, spend, and schedule all require recorded per-asset sign-off
  • Brand lockfile — drafting refuses to start without brand-guidelines.json; a linter + editorial QA enforce it

Verification

  • pnpm test: 95/95 passing (incl. rewritten hook + orchestrator suites)
  • ./scripts/verify-all.sh: green (conditional checks skip correctly on a content-less framework repo)
  • ./scripts/validate-pipeline-config.js: config valid vs new schema incl. orchestration-graph checks
  • ./scripts/check-doc-counts.sh: 42 agents / 13 skills consistent across 96 docs

Notes for review

  • Phases 4-5 were committed --no-verify because doc counts intentionally reconciled only in Phase 6; the final commit passes the pre-commit hook normally
  • Incidental fixes: check-doc-counts.sh and lib/common.sh had bash-4-only constructs (${var,,}, mapfile, GNU date %N detection) that broke on macOS bash 3.2 — fixed portably; docs/rfcs/ added to the doc-counts exclusion list as historical records
  • docs/plans/ and docs/rfcs/ retained as historical records per repo convention; CHANGELOG untouched

🤖 Generated with Claude Code

Paul Mulligan and others added 5 commits July 21, 2026 15:02
Phase 2 of the Maecenas transformation (RFC 0003):
- Remove 32 code-only agents (engineering, design-to-code, testing/QA)
- Adapt 10: rename trend-researcher->market-researcher,
  ux-researcher->customer-persona-builder,
  analytics-reporter->marketing-analytics-reporter,
  finance-tracker->budget-planner, brand-guardian->brand-compliance-checker,
  visual-storyteller->art-director, studio-producer->campaign-producer,
  growth-hacker->growth-marketer; reframe sprint-prioritizer and
  project-shipper in place for the campaign cadence
- Author 18 new marketing agents across strategy, content, channel,
  lifecycle/growth, and analytics/ops
- Fold tool-evaluator + workflow-optimizer into marketing-ops
- Patch dev-cycle references in the 14 kept agents
- Rewrite CUSTOM-AGENTS-GUIDE.md and AGENT-NAMING-GUIDE.md (42 agents,
  10 categories, approval-gate note)
- Add RFC 0003 documenting the approved transformation plan

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…kills

Phase 3 of the Maecenas transformation (RFC 0003):
- Remove 23 code-oriented skills (pipeline intake/convert/test/QA + React
  pattern skills)
- Author 12 marketing skills: campaign-brief-intake, brand-voice-lock,
  editorial-qa (bounded revision loop), seo-keyword-research,
  content-calendar, email-sequence, social-content-batching,
  ad-copy-variants, competitor-teardown, persona-research,
  analytics-report, landing-page-copy
- Rewrite parallel-orchestration for campaign phases and per-asset lanes
  with a hard barrier at the human approval gate
- Rewrite skills/README.md (13 skills, campaign pipeline flow)

Structural analogs preserved: campaign-brief-intake mirrors figma-intake,
brand-voice-lock mirrors design-token-lock (brand-guidelines.json lockfile),
editorial-qa mirrors visual-qa-verification (bounded loop, max 5 revisions).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…g commands

Phase 4 of the Maecenas transformation (RFC 0003):
- Rewrite pipeline.config.json for the campaign pipeline: brand-voice
  enforcement (lockfile-gated drafting), per-asset-type readability
  targets, bounded editorial revision loop (max 5), fact-check policy
  (fabrication always blocks), SEO checklist, asset-type definitions
  replacing appTypes, calendar lead times, and a non-negotiable human
  approval gate over publish/send/spend/schedule
- Rewrite pipeline.config.schema.json to match (const-pinned approval
  gate: required/blocking cannot be schema-validly disabled); config
  passes validate-pipeline-config.js including graph checks
- Remove 8 code commands (build-from-figma/canva/conversation/screenshot,
  export-design-system, lint, test, ci)
- Add /build-campaign (flagship 9-phase orchestrator), /write-content,
  /plan-content-calendar, /seo-audit, /competitor-teardown,
  /build-email-sequence, /analyze-performance, /setup-brand
- Re-ground /create-blog-article (was aitmpl.com-specific) as a generic
  SEO article pipeline through the editorial QA gates
- Repoint /verify-all at the marketing check suite (--ci absorbs /ci)
- Fix bash-3.2 incompatibilities in check-doc-counts.sh (${var,,},
  mapfile) and exclude docs/rfcs/ as historical records

Committed with --no-verify: doc counts intentionally reconcile in
Phase 6 when CLAUDE.md/README/onboarding are rewritten.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mplates repurposed

Phase 5 of the Maecenas transformation (RFC 0003):
- Remove ~40 code-only scripts (visual-diff, token/coverage/type/bundle/
  security/dead-code checks, cross-browser + Playwright tooling,
  setup-project, generators, build caching/profiling) plus per-agent
  helper dirs, packages/pipeline, renderers/, root tests/, stryker
  configs, pnpm-workspace, .claude/visual-qa, .claude/test-fixtures
- Add dependency-free Node utilities: brand-voice-lint.js (enforces
  brand-guidelines.json), readability-score.js (Flesch vs per-asset
  targets), seo-check.js (on-page checks), validate-content-calendar.js
- Rewire verify-all.sh to the marketing check registry (brand-voice,
  readability, seo, calendar, pipeline-config, doc-counts, agent-plugins)
  with graceful skips and a node/bash dispatcher
- Fix common_now_ms false-positive %N detection on BSD date; prune dead
  lib helpers (baselines, build-artifact, config-get)
- Replace 8 build/test hooks with 3 marketing hooks (pre-commit brand
  guard, editorial QA reminder, approval-gate guard) in settings.json;
  husky pre-commit now brand-lints content/
- Repurpose templates/ into marketing starters (brand lockfile, campaign
  brief, calendar, email sequence, blog post, press release)
- Prune package.json (drop stryker/pixelmatch/pngjs/ts-morph; add pnpm
  test/verify), rename package to maecenas v2.0.0
- Rewrite ci.yml (structure validation + tests + verify-all --ci); drop
  mutation and cross-browser workflows
- Rewrite hooks.test.js and verify-all.test.js for the new contracts;
  94/95 tests green (the one red is the doc-counts drift guard, which
  reconciles in Phase 6)

Committed with --no-verify: doc counts reconcile in Phase 6.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ine and brand guides

Phase 6 of the Maecenas transformation (RFC 0003):
- Rewrite CLAUDE.md as the marketing brain: hard operating rules (never
  fabricate; cite everything; absolute human approval gate; binding brand
  lockfile; legal-review flags; honest persuasion only), 42-agent and
  13-skill catalogs, campaign pipeline, marketing standards
- Rewrite README.md (Maecenas identity, pipeline, asset types, Aurelius
  added to Related Projects)
- Rewrite docs/onboarding (README, quickstart, architecture,
  pipeline-configuration, troubleshooting) for the marketing framework
- Add docs/campaign-pipeline/README.md (flagship guide, phase by phase),
  docs/brand-setup/README.md, docs/marketing-standards/README.md
- Remove retired doc trees (figma/canva/screenshot/conversation/indesign
  pipelines, multi-framework, react-development, regression-testing,
  design-system-export, app-security best practices) and code-specific
  guides; keep docs/plans and docs/rfcs as historical records
- Rewrite docs/guides README + hooks guide for the 3 marketing hooks;
  re-aim agent-creation and agent-plugins examples
- Update CONTRIBUTING.md and community doc to Maecenas/Marketing

check-doc-counts now passes (42 agents, 13 skills everywhere);
pnpm test 95/95; verify-all green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@PAMulligan

Copy link
Copy Markdown
Collaborator Author

Opened against the wrong repository (gh defaulted to the fork parent) — this transformation targets the Marketing fork, not Aurelius. Re-opened there.

@PAMulligan PAMulligan closed this Jul 21, 2026
@PAMulligan
PAMulligan deleted the feat/maecenas-marketing-transform branch July 22, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant