Internal · Reference
Where the Mangrove proposal system lives, what each piece is for, and how to run a
proposal end to end. Companion to the Skills catalog
and the PROPOSAL-PLAYBOOK.md in the hub.
One hub, a few satellites. The whole system centers on the mangrove-docs hub repo — it holds the deck, the workflow, the build/deploy scripts, voice, brand, and now the two proposal skills. Everything else (the live-proposals host, the editor, quick estimates, the Firefly deck) is a separate repo the hub feeds or references. Clone the hub, work from it, and the skills + files stay in sync.
| Piece | Repo / location | What it's for |
|---|---|---|
| The hub | mangrove-docs ~/Dev/_MG Ops/mangrove-docs-wiki |
Source of truth for the proposal system: base deck, playbook, build + deploy
scripts, voice guides, brand tokens — and the two skills below (in .claude/skills/). |
| Branded deck | mangrove-docs → platform/decks/mangrove-base/live: mangrove-base-deck.pages.dev/deck |
The master Mangrove-solo proposal deck. Every client proposal starts from a copy. |
| Workflow + scripts | mangrove-docs → platform/{docs,build,deploy}/ |
Playbook, new-client.sh, publish_proposal.py, deploy.sh, voice + brand. |
| Live proposals host | mg-proposals live: proposals.mangrove-web.com |
The assembled deploy artifact — one folder per live proposal. Source of truth for what's currently live. Don't hand-edit; publish_proposal.py writes here. |
| Proposal editor | mg-proposal-editor live: mg-proposal-editor.pages.dev |
Shared app to edit any live proposal in-browser (/?proposal=<id>). Currently unauthenticated — auth moving to Clerk. |
| Quick estimates | mg-estimates ~/Dev/_MG Ops/mg-estimates |
No-repo, move-fast host for quick estimates (not full proposals). new-estimate.sh → publish.sh. |
| Firefly deck variant | ff-proposal_template | The Firefly-brand proposal deck, for Firefly-led / joint bids. Its own repo so it travels with each client copy. |
| Per client | mg-client-<CODE> / mg-ff-client-<CODE> ~/Dev/_Clients/ |
One repo per client engagement — the tailored deck + working files. Scaffolded by the skills. |
Both live in mangrove-docs/.claude/skills/ — they call the hub's files
by path, so they ship with the hub rather than in a separate plugin. Available in Claude
Code when you're working in the hub. Invoke with /<name>.
| Skill | What it does |
|---|---|
mg-new-client-proposal | Stand up a full proposal: calls infra, then layers voice guides, RFP intake, and compliance audit. Publishes to proposals.mangrove-web.com/<slug>/<serial>/. Triggers: "new proposal", "start a bid". |
mg-client-infrastructure | Stand up client hosting — local repo, GitHub, Cloudflare Pages, folder structure. Any project type; called by the proposal skill. Triggers: "new client repo", "set up hosting". |
Generic, non-proposal skills (e.g. mg-session-handoff) stay in the
marketplace plugins — see the Skills catalog. Rule of thumb: a skill tied to a specific repo's files
lives in that repo's .claude/skills/; a standalone skill lives in a plugin.
| # | Step |
|---|---|
| 1 | From the hub, invoke /mg-new-client-proposal with the client code + name (it runs /mg-client-infrastructure for repo + hosting first). |
| 2 | It scaffolds mg-client-<CODE>, copies the base deck, and pulls in voice + RFP intake. |
| 3 | Tailor the deck (fill placeholders, pick case studies, set timeline + team) per the PROPOSAL-PLAYBOOK.md. |
| 4 | Verify against the RFP + run the pre-send checklist; strip any review flags. |
| 5 | Publish with publish_proposal.py → assembles into mg-proposals → live at proposals.mangrove-web.com/<slug>/<serial>/. |
| 6 | Need in-browser edits after sending? Open it in the proposal editor and fold changes back with FOLD-IN.md. |