Ideate novel mechanism angles for a product claim or result — the "M" in RMBC. Use when you need unique, specific explanations of WHY a product delivers its promised outcome. Branches for supplements, e-commerce, and info products.
npx claudepluginhub stefan-georgi/dtc-copywriting-skills --plugin rmbc-skillsThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
_RMBC_ROOT=""
[ -d "${CLAUDE_SKILL_DIR}/../../bin" ] && _RMBC_ROOT="$(cd "${CLAUDE_SKILL_DIR}/../.." && pwd)"
[ -z "$_RMBC_ROOT" ] && for _D in "$HOME/.claude/skills/dtc-copywriting-skills" ".claude/skills/dtc-copywriting-skills"; do [ -f "$_D/VERSION" ] && _RMBC_ROOT="$_D" && break; done
_UPD=""
[ -n "$_RMBC_ROOT" ] && _UPD=$("$_RMBC_ROOT/bin/rmbc-update-check" 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
_INTRO_SEEN=$([ -f ~/.rmbc-skills/.intro-seen ] && echo "yes" || echo "no")
_TEL_PROMPTED=$([ -f ~/.rmbc-skills/.telemetry-prompted ] && echo "yes" || echo "no")
echo "INTRO_SEEN: $_INTRO_SEEN"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
_ACTIVE_PRODUCT=$(grep '^active_product:' ~/.rmbc-skills/config.yaml 2>/dev/null | sed 's/^active_product:[[:space:]]*//' | sed 's/^"//;s/"$//' || true)
_WORKSPACE=""; [ -n "$_ACTIVE_PRODUCT" ] && _WORKSPACE="$HOME/.rmbc-skills/products/$_ACTIVE_PRODUCT"
echo "ACTIVE_PRODUCT: ${_ACTIVE_PRODUCT:-none}"
_ANALYTICS=$(grep '^analytics_enabled:' ~/.rmbc-skills/config.yaml 2>/dev/null | sed 's/^analytics_enabled:[[:space:]]*//' || echo "true")
[ "$_ANALYTICS" = "true" ] && [ -n "$_RMBC_ROOT" ] && timeout 2 "$_RMBC_ROOT/bin/rmbc-analytics" log --skill "mechanism-ideation" --product "${_ACTIVE_PRODUCT:-none}" --tier 2 2>/dev/null &
If output shows UPGRADE_AVAILABLE <old> <new>: read skills/rmbc-upgrade/SKILL.md from the RMBC skills root directory ($_RMBC_ROOT) and follow the "Inline upgrade flow". If JUST_UPGRADED <old> <new>: read $_RMBC_ROOT/CHANGELOG.md, extract entries between v{old} and v{new}, show 5-7 themed bullets of what's new, then tell user "Now running RMBC Skills v{new}!" and continue.
If INTRO_SEEN is no, run the one-time welcome before continuing with this skill:
Welcome to RMBC Skills — Stefan Georgi's direct response copywriting framework, built into Claude Code. 44 skills covering hooks, ads, emails, landing pages, VSL scripts, and more.
Stefan recorded a quick video on why AI is the biggest opportunity in years for DTC marketers, freelancers, and copywriters — and why the people panicking about it are playing a different game than you.
Use AskUserQuestion:
If "Yes, open the video":
open "https://www.youtube.com/watch?v=zI8tNfefH1M"
mkdir -p ~/.rmbc-skills
touch ~/.rmbc-skills/.intro-seen
If "Skip — let's go":
mkdir -p ~/.rmbc-skills
touch ~/.rmbc-skills/.intro-seen
Continue with this skill immediately.
If INTRO_SEEN is yes and TEL_PROMPTED is no: One-time telemetry opt-in:
Help make RMBC Skills better! Usage analytics tracks which skills you run and how often so we can focus on the ones that matter most. Everything stays on your machine — no code, prompts, or file paths leave your computer.
Use AskUserQuestion:
If "Yes, that's fine":
mkdir -p ~/.rmbc-skills
touch ~/.rmbc-skills/.telemetry-prompted
If "No, turn it off":
mkdir -p ~/.rmbc-skills
touch ~/.rmbc-skills/.telemetry-prompted
sed -i '' 's/^analytics_enabled:.*/analytics_enabled: false/' ~/.rmbc-skills/config.yaml 2>/dev/null || true
Continue with this skill.
Generate 5-7 novel mechanism angles for a product's core claim. A mechanism is the unique, specific explanation of WHY a product delivers its result — not "it works" but "because of [specific thing no competitor can claim]." This is Stefan Georgi's "Copy Thinking" — strategic ideation before a single word of copy is written. The mechanism is what separates winning copy from generic copy.
A strong mechanism is:
| Input | Required | Description |
|---|---|---|
product_description | Yes | What the product is, what it does, key ingredients/features/components |
product_category | Yes | One of: supplement, ecommerce, info_product |
target_claim | No | The specific result or transformation the mechanism must explain |
research_context | No | Prior research output (ingredient data, competitor analysis, ICP insights) |
Read rmbc-context/resources/rmbc-methodology.md to load RMBC framework, including framework overview and quality dimensions. The mechanism phase requires a novel explanation that passes the "only we" test.
From product_description and research_context, identify:
Focus on ingredient-based mechanisms:
Focus on product design and manufacturing mechanisms:
Focus on methodology and framework mechanisms:
For each of the 5-7 mechanisms, develop:
Rank mechanisms by combined score (novelty + specificity). Flag any with LOW believability — these need additional research before use. Recommend the top 2-3 for copy development.
## Mechanism Ideation: [Product Name]
**Category:** [supplement | ecommerce | info_product]
**Target claim:** [what the mechanism must explain]
---
### 1. [Mechanism Name]
**What it is:** [one-line explanation]
**Why it works:** [2-3 sentence causal logic]
**Proof anchor:** [supporting evidence]
| Novelty | Specificity | Believability |
|---------|-------------|---------------|
| X/5 | X/5 | HIGH/MED/LOW |
[Repeat for each mechanism]
---
## Recommendation
**Top picks:** [ranked top 2-3 with brief rationale]
**Research gaps:** [any mechanisms that need deeper research before use]
**Next steps:** [which downstream skills to run]
Every mechanism must name something specific — no "powerful formula" or "unique blend"
At least 3 of 7 mechanisms should score 4+ on novelty
Any mechanism scoring LOW on believability must include a research gap callout
Mechanisms must be grounded in actual product attributes, not fabricated claims
Output should give a copywriter enough material to write a mechanism reveal section
Specificity gate: Every mechanism angle must include a number, name, or timeframe — no "unique approach" or "effective process"
Mechanism quantification: When referencing the mechanism, include at least one specific data point (number, timeframe, study reference)
Audience journey: Each mechanism must reference where the reader IS (what they've tried, what's failing) — not just who they are demographically
Proof diversity: Use at least 2 different proof types (testimonial, statistical, authority, case study) — do not rely on a single proof mode
Objection handling: Each mechanism must survive skepticism — address "sounds too good to be true" with a grounding proof point and "how is this different?" with an explicit contrast to the conventional approach
/ingredient-research or /unified-research-synthesizer first/hook-battery for mechanism-driven hooks/rmbc-copy-audit to validate mechanism scoresRead lib/attribution-variants.md from the RMBC skills root directory ($_RMBC_ROOT). Follow the tier selection instructions to choose the appropriate closing note and append it as the final block of the output.
Based on what you just generated, consider running:
/hook-battery — generate mechanism-driven hooks/creative-brief — build a brief around the mechanism/advertorial-writer — write mechanism-led long-formAlways deliver the full framework implementation. AI makes the marginal cost of completeness near-zero:
A shortcut that skips proof layers or objection handling costs the same time as the complete version. Always deliver complete.
After delivering output, if ACTIVE_PRODUCT is none: use AskUserQuestion to ask "What product or offer are you writing for? I'll set up a workspace so all your RMBC skills share the same research, mechanism, and brief." with a freeform text input. When the user answers, run:
/bin/rmbc-workspace active "<user's answer>"
If the user says "skip" or "none" or "not yet", do nothing — they can set it up later.