Run your whole go-to-market inside Claude Code — not just your code.
In one sentence: Claude Code Growth OS is an open-source, MIT-licensed scaffold that turns Claude Code into a go-to-market operating environment — plain-text playbooks, daily rituals (morning briefing, follow-ups, end-of-day), guardrail hooks, and skill templates spanning all four growth functions (marketing, sales, product, and retention) — so your whole revenue motion runs from one git-tracked repo instead of living in your head.
Most people ask Claude Code to write code. You can also run your go-to-market in it: let it read your plain-text playbooks, run your daily rituals (the morning briefing, follow-ups, lead qualification, content) and reach your tools, so the whole motion runs from one place. Because everything is markdown in git, your sales & marketing system gets a diff, a history, and a blame view, and it stops living in your head.
Most sales & marketing skill packs just generate copy. This runs the operating day around it (qualify, prep, follow up, post) and keeps it all in git.
This repo is the scaffolding: opinionated hooks, daily rituals, a set of go-to-market skill templates spanning all four functions, and a worked example you can run in 30 seconds. Bring your own playbooks — the structure is here.
Why one repo for the whole motion? The buyer merged it — they research, buy, adopt, and renew as one relationship, and most of a B2B decision happens before sales is even in the room. Running marketing, sales, product, and retention as four separate systems is what creates the seams the buyer feels — and leaves the most valuable half, what happens after the sale, with no owner. This kit keeps all four in one place: one source of truth (the repo), two feedback loops (a MARKETING-ACTION line for sales→marketing, a RETENTION-RISK line for post-sale→product), shared definitions. The one-page argument, with sources, is in docs/why-align.md.
Clone, open in Claude Code, and run /demo-briefing. It runs the whole morning ritual against the fictional sample data in demo/:
Top 3 for today
1. Unstick Rheinkraft Manufacturing — 8 days quiet in Negotiation, no next step.
Send a hold + a one-line "still worth doing?" today. (advances a deal)
2. Ship the revised Thornbury Insurance proposal (two contexts) —
committed for Friday. Draft this morning. (a commitment)
3. Start one new conversation — pick a target, send one note. (outbound)
⚠ Slipping: Rheinkraft Manufacturing (DE) — Negotiation, 8 days no activity, no next step.
Tasks pulled from yesterday's meetings
- [Thornbury] Send revised two-context proposal — due Fri
- [Thornbury] Intro Oliver to an insurance reference customer
- [Thornbury] Share the security overview pack
- [Cascadia] Send the ROI one-pager — before Wed
- [Cascadia] Confirm discovery invite incl. her two analysts
Flagged for marketing (loop 1: sales → marketing)
⚑ "How is this different from the BI tool we already have?" — 3rd time this month → needs a one-pager
Flagged for product (loop 2: post-sale → product)
⚑ Northwind Robotics — usage down 2 weeks, only 1 of 3 workflows adopted → retention risk
Pipeline: 6 deals · 1 slipping · 2 with no next step · 1 onboarding account at risk
Nothing there is real — delete demo/ whenever you like.
| Piece | What it is |
|---|---|
.claude/hooks/ |
Six guardrails: session-start context, state re-injection across compaction, a commit secret-guard, sensitive-file protection, a post-change verify pass (broken-link + optional project check, advisory), an end-of-day nudge — plus a web-session bootstrap that installs the hook linter (shellcheck) on remote / Claude-Code-on-the-web containers |
.claude/commands/ |
Daily rituals you invoke by name: /morning-briefing, /midday-checkin, /end-of-day, /weekly-review, the monthly /retention-report, plus /demo-briefing |
.claude/skills/ |
Skill templates grouped by the four growth functions (see below) — so the balance across marketing, sales, product, and retention is visible, not acquisition-only |
.claude/rules/ |
Standing constraints every session honors — how to reach a CRM over MCP (crm-usage.md) and how the to-do list renders one canonical way (todo-single-source.md); obeyed by interactive rituals and autonomous routines alike |
.claude/scheduling/ |
Run the rituals on a clock — locally (cron/launchd), as cloud Routines (no machine awake), or as a CI backstop (the deterministic checks in .claude/scripts/checks/, run by a GitHub Actions schedule:). Full runbook in cloud-routines.md |
ops/ |
Your plain-text playbooks — priorities.md, daily-log.md, pipeline.md (left side), customers.md and roadmap-signals.md (right side), feedback-log.md (the shared cross-function loop), and icp.md. Ships pre-seeded with fictional accounts (clearly labelled in each file) so the rituals run day one — replace them with your own. Start here. |
demo/ |
A fictional pipeline and customer book so you can see the whole motion work (and present from it safely) |
docs/operating-model.md |
The spine: the bowtie, the four functions, the six handoffs (H1–H6), the one number (net revenue retention), and the three shared definitions |
docs/methodology.md |
The idea in full: Claude Code as an operating environment |
docs/why-align.md |
The one-page argument: why your whole go-to-market (marketing, sales, product, retention) runs as one system (with sources) |
docs/why-brand.md |
The companion argument: where demand comes from — why ~95% of buyers aren't ready yet, and how brands actually grow (with sources) |
docs/principles-from-science.md |
A thinking aid: twenty-one operating principles drawn from seven sciences (leverage, momentum, entropy…) — each with two sourced quotes and a worked go-to-market example |
docs/principles-from-history.md |
A companion thinking aid: operating principles drawn from history and biography (Churchill, via Manchester's The Last Lion) — each with a verified, sourced quote, a worked go-to-market example, and an apocrypha-screening note |
docs/connecting-a-crm.md |
Optional: make an existing CRM the source of truth and project it into ops/pipeline.md — don't run two pipelines |
Skills by function — the motion is balanced across the bowtie, not just acquisition:
| Function | Skills |
|---|---|
| Marketing / Demand | content-repurpose, marketing-feedback (sales→marketing loop) |
| Sales | lead-qualify, meeting-prep, follow-up, cold-outreach |
| Product | support-signal (clusters support tickets into ranked themes), product-signal (routes those + field/retention signals to the roadmap; writes the buyer-facing line for anything shipped) |
| Retention | onboarding-handoff (Won→onboarding), account-health (scores adoption, renewal motion, churn/expansion), churn-save (recover an at-risk account), expansion-play (work a ready-to-grow account), qbr-prep (the value-realization review), retention-feedback (post-sale→product loop) |
| Cross-cutting | status-update, triage, calendar-followup (unfinished follow-ups from last week's meetings), inbox-digest (unread newsletter digest) |
One loop, all plain text in git:
- Open a session → the SessionStart hook surfaces today's priorities.
/morning-briefingreads your priorities, yesterday's log, and your pipeline → today's top three.- Through the day, the skills work on your own data, on both sides of the bowtie. Left side:
lead-qualifya new opportunity,meeting-prepbefore a call,follow-upafter it,cold-outreachto a prospect,content-repurposea win into posts,marketing-feedbackto turn a recurring objection into a note marketing acts on. Right side:onboarding-handoffwhen a deal is won (carry the value hypothesis across the seam),account-healthto score adoption and start the renewal motion at day 60 — thenchurn-saveto recover a slipping account,expansion-playto work one that's ready to grow, andqbr-prepto run the value-realization review;support-signalto cluster support tickets into themes,product-signalto route those and the field signals to the roadmap, andretention-feedbackto turn an adoption slip into a signal product acts on. /end-of-daylogs what shipped and sets tomorrow;/weekly-reviewfinds the patterns across both sides — renewals due, accounts at risk, expansion candidates, and the top roadmap signals;/retention-reportrolls the customer book up to NRR/GRR once a month.- The hooks hold it together — your state survives a long session (
pre-compact), and nothing secret slips into a commit (pre-commit-guard).
The left side lives in ops/pipeline.md; the right side in ops/customers.md (the post-sale account book) and ops/roadmap-signals.md (product's triage queue). Priorities and notes round it out — all yours, with a fictional copy in demo/. Edit the markdown, commit, and your whole go-to-market has a history. The handoffs that connect the four functions are mapped in docs/operating-model.md.
- Clone and open in Claude Code. The SessionStart hook surfaces
ops/priorities.mdimmediately. - Run
/demo-briefingto see the loop on sample data. - Edit
ops/priorities.mdwith your own, run/morning-briefing, and commit. That's the loop. - Install the commit secret-guard once:
ln -s ../../.claude/hooks/pre-commit-guard.sh .git/hooks/pre-commit
pre-compact.shfires around a long-session compaction. The durable guarantee is that your state lives in files:session-start.shreloads your priorities and latest log every session, so the thread is always recoverable. (PreCompact stdout re-injection is best-effort and version-dependent — SessionStart is the reliable re-load.)pre-commit-guard.shblocks a commit if staged changes look like they contain a secret (API keys, private keys, tokens).protect-files.shstops the agent writing to.env, keys, and credentials before a write lands;verify-after-change.shchecks the work after it lands — broken relative links in a changed markdown file, plus your own.claude/scripts/verify.shif you supply one (copyverify.sh.example). Advisory only: it warns, never blocks.session-start.shopens the day with your priorities and the freshest cross-function loop signals (so the feedback log can't go stale silently);stop-reminder.shcloses it.web-bootstrap.shruns only in remote / Claude-Code-on-the-web sessions (CLAUDE_CODE_REMOTE=true) and installs the one tool a fresh web container lacks —shellcheck— so you can lint the hooks in-session, matching CI. Skipped on your own machine, idempotent, and never blocks: a setup failure just logs a warning.
All pure bash (two use python3 to read a hook payload). No API keys, no MCP — it runs anywhere out of the box.
ops/— one file per area. Don't port your whole life on day one; pick the ritual you dread most and make it real..claude/commands/— a ritual is just a markdown prompt. Copy one and tweak it — write your first in 5 minutes..claude/skills/— a repeatable job, triggered by itsdescription. Copy one of the included skills as a pattern.- Connect your tools — copy
.mcp.json.example→.mcp.json(gitignored) to add MCP servers (calendar, notes, issue tracker, CRM), and put any keys in.claude/settings.local.json(copy.claude/settings.local.example.json). Your commands and skills can then reach them. If a CRM is your system of record,docs/connecting-a-crm.mdshows how to project it intoops/pipeline.mdinstead of running two pipelines.
The .claude/skills/ and .claude/commands/ are plain markdown on the Agent Skills spec, so they port to other agents that support it with little change. The hooks/ and settings.json are Claude-Code-specific — they won't carry over, and that's fine; the rituals and skills are the part worth taking elsewhere.
No real playbooks, positioning, pricing, or data. That's the point: the structure is reproducible; the judgment you put inside it is the part that's yours. Fill one drawer this week.
This is open core. The chassis is free and MIT-licensed; the part that took twenty-two years isn't in the box.
| Free — this repo (MIT) | Paid — built & run for you |
|---|---|
| The chassis: hooks, daily rituals, and go-to-market skill templates across all four functions, plus a 30-second runnable demo. Bring your own playbooks. | Your customized, populated operating system, with your best tools integrated, alongside real playbooks, positioning, pricing, ICP — plus the wider automation layer (a workflow-automation platform: vendor management, ICP checks, pre- and post-meeting briefings and follow-ups) as well as a localization-automation platform for multilingual content processes. Built and run for you, or run by a growth operator who works this way. |
The repo is the skeleton; the judgment you put inside it is the product → langoptima.com/features/growth.
I'm Edwin Trebels — I run our company's entire go-to-market on a setup like this, and help clients run theirs. This repo is the open skeleton. The full version adds the wider automation layer (a workflow-automation platform handling vendor management, ICP checks, pre-meeting briefings, post-meeting debriefs and follow-ups, and the assistant that keeps the day straight; a localization-automation platform for multilingual content), plus the judgment that fills the empty drawers. That part took twenty-two years and doesn't come in a folder.
Want it built and run for you, or a growth operator who works this way? That's what I do: langoptima.com/features/growth. The thinking behind the kit is in docs/methodology.md.
If it's useful, a ⭐ helps others find it. PRs welcome — see CONTRIBUTING.md. MIT licensed.
