From mainbranch
Generates organic content scripts (Reels, TikTok, carousels, static posts) and repurposes sales videos into short clips. For new script creation or excerpting, not competitor research or paid ads.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mainbranch:mb-organicThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create organic content scripts in your voice — Reels, TikToks, carousels, static posts.
Create organic content scripts in your voice — Reels, TikToks, carousels, static posts.
Shared source: The portable workflow contract lives in
workflows/mb-organic/workflow.md. This Claude skill is the Claude Code shell
over that source.
Shared contract markers: Keep these aligned with the shared source.
Required commands:
mb status --json --peekmb start --jsonmb doctor repair --planmb validate --cross-refs --jsonmb checkpoint --plan --jsonRequired fact paths:
money_pathmoney_path.objects.proof.qualitymoney_path.objects.channel_strategymoney_path.objects.active_pushvalidation.file_contractscontent_strategycontent_strategy.overall_statecontent_strategy.simple_entry_pointcontent_strategy.layerscontent_strategy.layers.distributioncontent_strategy.layers.channelscontent_strategy.layers.accountscontent_strategy.layers.peoplecontent_strategy.findingsranked_actionsupdatereadinessdrift.itemsrelationship_health.gapscheckpoint.pendingcheckpoint.pending.blockersruntime.codex_cliruntime.claude_codeApproval gates: updates_repairs_migrations, file_writes, checkpoint,
provider_mutation, publishing_or_spend, customer_contact, private_data,
destructive_operations, structured_collection, and
public_issue_or_proposal.
Public/private boundaries: no_secrets, no_raw_provider_exports,
no_raw_transcripts, no_customer_member_data,
no_private_runtime_settings, no_private_dms_or_gated_communities, and
no_raw_finance_legal_records.
Core flow: support plan, video, carousel, static, sales-video-repurpose, or
review.
Marker phrase: plan, video, carousel, static, sales-video-repurpose, or review.
If the operator wants mining or source collection, route to mb-think.
Use content_strategy.overall_state and
money_path.objects.proof.quality before drafting; keep source/privacy
boundaries visible; route coordinated drafts to
pushes/<YYYY-MM-DD-slug>/organic-batch-001.md; Do not publish, schedule,
upload, mutate provider accounts, spend, auto-DM, auto-reply, or contact
customers. Codex support stays read-only planning until runtime smoke proves
organic drafting writes.
Need help? Type /mb-help + your question anytime. If conversation compacts, /mb-help reloads fresh context.
CLI facts first: Run mb status --json --peek from the business repo before
triage, reference-health checks, or content planning. Use its readiness, drift,
and ranked-action facts instead of hand-rolled repo-health probes.
When this skill produces a coordinated push (a content sequence with a goal,
audience, and review date), write the wrapping record to
pushes/<YYYY-MM-DD-slug>/push.md (type: push, linked_pushes for inbound
links). One-off scripts and source captures route to documents/transcripts/
or documents/prototypes/ per the artifact-routing rules in the system
architecture doc; they don't need a push wrapper.
If a content push uses a comment-keyword, DM-keyword, reply/link, resource
delivery, or external provider setup plan, write the durable plan to
pushes/<YYYY-MM-DD-slug>/playbooks/<playbook>.md with type: playbook.
The playbook records the plan, approval state, safe provider state, validation
evidence, and outcomes. It does not execute provider mutation.
If core/vocabulary.md defines display words (e.g. terms.push.singular: drop),
speak the operator's word in conversation while still writing engine files.
If the repo still has legacy campaigns/ records, recommend mb doctor and
mb migrate campaigns --plan before creating new push work.
When creating push.md, include the validator-required frontmatter and fill
the values from repo truth or operator answers:
---
type: push
slug: YYYY-MM-DD-slug
kind: nurture
status: planned
health: unknown
goal: { metric: "", target: "", by: YYYY-MM-DD }
owner: ""
audience: ""
offer: core/offers/<offer>/offer.md
promise: ""
---
If the push is tied to a bet, decision, research file, playbook, or outcome,
add the appropriate typed frontmatter link (linked_bets,
linked_decisions, linked_research, linked_playbooks,
linked_outcomes). Mirror frontmatter links in ## Related links with
Markdown relative links, or preview mb doctor repair --plan and ask before
applying the repair. Use the connection decision matrix in
docs/business-connections.md before adding typed links. Do not infer
frontmatter links from body-only references.
Detect if user is in the right place:
| User Says | They Want | Route To |
|---|---|---|
| "mine", "scrape", "research competitors", "what are they saying" | Research/Mining | /mb-think (research mode) |
| "transcribe", "extract from video" | Mining | /mb-think (research mode) |
| "short clips from sales video", "repurpose this VSL", "turn this sales video into clips" | Repurpose | Continue with references/sales-video-repurpose.md |
| "create", "generate", "write scripts", "make content" | Create | Continue in /mb-organic |
If mining intent detected:
"Sounds like you want to research/mine competitor content. That's
/mb-thinkterritory — it saves toresearch/and feeds your reference files. Should I switch you to/mb-think?"
If unclear:
"Are you trying to mine competitor content (research) or create new scripts (generate)?"
For the standard Main Branch update check and failure warning, see references/pull-engine-updates.md. Run it at the start of every invocation.
Then run mb status --json --peek from the business repo and use its
readiness, drift.items, and ranked_actions facts before asking setup or
reference-health questions. Direct file checks below are content-specific, not
repo-health probes.
Mining competitor content is research work. It belongs in /mb-think because:
research/ folderIf user wants to mine: Route them to /mb-think. Say:
"Mining is research work —
/mb-thinkhandles that and saves to yourresearch/folder. Should I switch you over?"
This skill assumes mining already happened. Users arrive here with:
research/*-competitor-mine.mdIf a selected research file has brief_format: grok-8, use its downstream
handoff before generating: ICP and audience language for hooks, journey stage
for format and CTA, competitive landscape for contrast, brand story for voice,
content/assets for proof, and metrics/constraints for the success bar. If the
brief names a resource-delivery mechanic, write or update a push playbook as a
plan only; do not execute provider mutation.
When organic work is meant to sharpen an offer instead of only create content,
load .claude/reference/conversion/offer-sharpening.md. Use the rubric to turn
audience language, objections, proof angles, and soft CTAs into durable offer
updates through /mb-think; do not treat comments or saves as buyer proof by
themselves.
For the full mining methodology (Visual/Audible/Emotional framework, AI capabilities and limits, why mining flows into reference) see references/mining-methodology.md.
Before loading reference files, resolve active offer context with
.claude/reference/business-primitives/offer-bet-push-proof.md:
mb JSON field exposes active offer state, use it..vip/local.yaml as the source of truth for active-offer
state. If legacy state exists, confirm the offer with the user instead of
silently routing.core/offers/[offer]/offer.md exists, load it as the active offer.core/offers/ exists: ask which offer.core/offers/ folder: use core/offer.md (single-offer mode)core/, do not infer current offer context from
old paths. Run mb doctor repair --plan; use reference/* only as legacy
migration input.Always-core files: soul.md, voice.md, content-strategy.md
Content strategy layers: read core/marketing/distribution-strategy.md,
core/marketing/channels/<channel>.md,
core/marketing/accounts/<platform>-<account>.md, and
core/people/<person>.md when the run names a channel, account, founder, or
weekly content plan that depends on them. Do not copy person voice into every
account file; reference it.
Offer-aware files: offer.md, audience.md
Proof files: company-wide proof in core/proof/testimonials.md,
core/proof/typicality.md, and core/proof/angles/; offer-specific proof in
matching files under core/offers/[active]/proof/. Read older offer
testimonial files as compatibility context only.
Before turning proof into posts, videos, or outcome claims, read
money_path.objects.proof.quality from mb status --json --peek. Treat
generic testimonials, specific outcomes, offer linkage, typicality context, and
outcome feedback as factual signals. Do not describe proof as good,
high-converting, persuasive, or ready to win.
Offer argument: /mb-organic video [offer] "concept" — e.g., /mb-organic video community "morning routine"
If offer specified, it selects the offer for this run only.
Requires core/voice.md (always core), plus resolved offer.md and audience.md (offer-aware — checks core/offers/[active]/ first, falls back to core/).
Optional but recommended: core/content-strategy.md — If present,
/mb-organic reads the recognition target, pillars, asset jobs, non-publishing
rules, and strategy links. If the repo has
core/marketing/distribution-strategy.md, channel files, account files, or
core/people/<person>.md, read the relevant ones before drafting. Works
perfectly without them.
Congruence check: If core/operations/funnel/skool-surfaces.md exists, read it. Organic content should echo the same positioning and claims visible on the Skool about page and pricing cards. No contradictions between organic and the landing experience.
CWD-first: If current Main Branch markers exist in CWD, use it. If CWD looks like an old Main Branch repo, run mb status --json --peek and/or mb doctor repair --plan before saved config or discovery. Do not write to old repo structure. Otherwise, run mb status --json --peek and use its repo/readiness facts if available. If status cannot identify a repo, ask the user or run /mb-setup.
Missing files? See references/first-time-setup.md.
Don't list all modes in chunky blocks. Instead:
research/?Example output (concepts exist):
Found recent mining (research/2026-01-20-competitor-mine.md) with 10 concepts.
Recommended: Pick a concept and generate a video script.
Other modes: `carousel "concept"`, `static "concept"`
Which concept interests you? Or provide your own topic.
Example output (no concepts):
No recent mining found. Two options:
1. Mine competitors first → `/mb-think` (saves to research/, come back here after)
2. Skip mining, give me a topic → I'll generate directly
Which works better for you?
/mb-organic (Default)Check for existing mined concepts, pick one, generate scripts.
Check research/ -> Check content-strategy.md and relevant strategy layers (if present) -> Select concept -> Generate -> Output
If content-strategy.md exists and has pillars or asset jobs defined, suggest topics aligned to those pillars when the user has no specific concept in mind.
If no mining exists, prompt: "No mined concepts found. Want to mine competitors first? That's /mb-think — should I switch you over?"
/mb-organic mine (Routes to /mb-think)If user types /mb-organic mine, redirect:
"Mining is research work now. Routing you to
/mb-thinkfor mining — it'll save toresearch/and you can come back here to generate scripts from those concepts."
Then invoke /mb-think.
/mb-organic video "concept"Generate Reels/TikTok script from a concept.
/mb-organic carousel "concept"Generate multi-slide carousel copy from a concept.
/mb-organic static "concept"Generate single-post caption from a concept.
Output path (all script modes): pushes/YYYY-MM-DD-organic-[offer]-{slug}/organic-batch-001.md (include offer slug in multi-offer mode; omit [offer]- in single-offer mode). On legacy repos that still have campaigns/, run mb migrate campaigns --plan first; do not write new content under campaigns/.
Output frontmatter:
---
type: output
format: video | carousel | static
date: YYYY-MM-DD
status: draft
platform: instagram | tiktok
---
Campaign name is REQUIRED. Ask user if not provided. Examples: january-hooks, transformation-series, pain-point-reels.
At session start, scan what's been done:
research/*-competitor-mine.md — Who was mined? When?pushes/*-organic-*/ — What scripts exist? Treat campaigns/ as a legacy fallback only.core/content-strategy.md — What recognition target, pillars, asset jobs, and strategy links are defined?core/marketing/ and core/people/ files before drafting.Example context-aware response:
Found today's mining (research/2026-01-20-competitor-mine.md):
- @cassie.schoonover, @likfoon already mined
- 10 concepts extracted, 2 scripts generated
Options:
1. Generate from remaining 8 concepts
2. Mine new competitors → `/mb-think`
3. Start fresh with your own topic
What should we call this batch? (e.g., "january-hooks", "transformation-reels")
Before generating: show which reference files you're using. Before saving: show file paths.
research/*-competitor-mine.md or research/*-mining.md/mb-think) or provide a topic directlypushes/YYYY-MM-DD-organic-{slug}/. Never campaigns/; that folder is legacy compatibility only.mb checkpoint --plan --json, show the proposed checkpoint and blockers, validate the chosen message with mb checkpoint --validate "..." --json, then after operator approval save with mb checkpoint --message "..." --yes.Mining lives in /mb-think now. If user needs to mine competitors, route them there first.
Input: concept from mining, user topic, or research file.
| Framework | Structure | When to Use |
|---|---|---|
| Educational | Hook -> Tips -> Takeaway | How-to, lists |
| Story-based | Hook -> Trigger -> Outcome | Personal narrative |
| Transformation | Before -> Turning Point -> After | Journey, case study |
| Problem-Solution | Hook -> Problem -> Solution | PAS for organic |
Structure: Hook (0-3s) → Retain (3-45s) → Reward (final 5-15s)
See references/organic-frameworks.md and references/video-script-template.md.
7-10 slides: Hook → Value (one idea/slide) → Summary → CTA
See references/carousel-template.md.
Hook (first line) → Body → Soft CTA → Hashtags (optional)
See references/static-template.md.
Read current voice context. If CWD looks like an old Main Branch repo, run mb status --json --peek and/or mb doctor repair --plan before relying on it. Match tone, use their vocabulary, avoid their "never say" list.
Authenticity: Sounds like creator (not copywriter). Uses contractions. Matches energy. No AI tells ("dive into", "unlock", "game-changer").
See references/organic-frameworks.md for soft CTA examples.
To save winning angles: route to /mb-think codify → core/proof/angles/.
If core/content-strategy.md exists, /mb-organic uses it to improve output:
core/people/<person>.md for founder/person beliefs, stories, and fabrication boundaries when an account references itIf content strategy files do not exist, /mb-organic works exactly as before -- from mined concepts or user-provided topics. No warnings, no degradation.
Content: Hook stops scroll. One idea. Value before ask. Soft CTA.
Saves optimization: Is this content saveable? Educational, actionable, reference-worthy content drives saves. Saves are the #1 purchase intent signal — weight them above shares and likes.
Enemy clarity: Does this content fight a named enemy? Check voice.md for Named Enemies section. Enemy-driven content creates identity contrast.
Voice: Sounds like creator. Matches energy. Uses vocabulary. No AI tells.
Platform: Appropriate length. Correct structure. Optimized for retention/saves.
Skool congruence: If skool-surfaces.md exists, claims and positioning match live about page + pricing cards.
For walkthrough examples (context-aware start, video-only, mining redirect) and the recovering-from-compaction protocol, see references/examples.md.
Setup: first-time-setup.md, minimal-voice-template.md, apify-setup.md
Frameworks: organic-frameworks.md
Sales video repurposing: sales-video-repurpose.md
Templates: mining-template.md, video-script-template.md, carousel-template.md, static-template.md
Methodology & Examples: mining-methodology.md, examples.md
npx claudepluginhub noontide-co/mainbranch --plugin mainbranchPlans and executes product launch campaigns with research, positioning, content production, and review phases. Useful when orchestrating multi-channel campaigns from a single brief.
Creates, schedules, and optimizes social media content across LinkedIn, Twitter/X, Instagram, TikTok, and Facebook. Includes short-form video scripting, social listening, engagement triage, and content repurposing.
Generates platform-native content for X, LinkedIn, TikTok, YouTube, and newsletters from one idea. Useful for social posts, threads, video scripts, and content calendars.