notbucki 91c193ac05
fix(skills): skill-relative paths below SKILL.md, widen path contract (#482)
Refs #474 (finding 1 follow-up to #476, which rewrote design/SKILL.md
and added a contract that grepped only */SKILL.md; the same defect one
level down survived).

- 29 home-rooted paths (~/.claude/skills/design/scripts/...) in
  design/references/{cip,icon,logo}-design.md -> scripts/... (27 at
  review time, two more added by #470); the printed
  hint in design/scripts/cip/generate.py now derives the absolute path
  from __file__
- 19 project-rooted invocations (.claude/skills/<skill>/scripts/...) in
  brand/, slides/ and design/ references -> scripts/... (own skill) or
  ../<skill>/scripts/... (sibling sub-skill; sub-skills are installed
  side by side in every layout)
- brand/scripts/sync-brand-to-tokens.cjs resolved its sibling script from
  process.cwd(), silently skipping CSS regeneration under plugin and
  --global installs; now resolved from __dirname, with a warning when
  the sibling skill is missing; regression test asserts the regeneration
- brand/scripts/extract-colors.cjs: tool-neutral hint instead of a
  project-rooted path into a skill this plugin does not ship
- "Script Paths" section in the five sub-skills that invoke scripts:
  script path from the skill directory, working directory at the
  project root
- new test_skill_script_paths.py (src, mirrored to both scripts/tests
  copies): every python/node/bash invocation in every shipped skill
  markdown must be skill-relative and name a file that ships
- check-asset-sync.yml: contract covers every file under both skill
  trees and home-/project-/variable-rooted forms; ${CLAUDE_PLUGIN_ROOT}
  allowed only in the plugin-only core SKILL.md; LC_ALL=C + -I for the tracked
  .coverage binary; grep errors fail instead of passing; push filter
  includes the workflow and sync-assets.mjs
- CLI copy regenerated via sync-assets.mjs

Co-authored-by: notbucki <daniel@buckenmaier.xyz>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-03 15:14:02 +07:00

2.5 KiB

Copywriting Formulas

25 formulas for persuasive slide copy.

Core Formulas

PAS (Problem-Agitate-Solution)

Use: Problem slides, pain points Components: Problem → Agitate → Solution Template: "[Pain point]? Every [time frame], [consequence]. [Solution] fixes this."

AIDA (Attention-Interest-Desire-Action)

Use: CTAs, closing slides Components: Attention → Interest → Desire → Action Template: "[Bold statement]. [Benefit detail]. [Social proof]. [CTA]."

FAB (Features-Advantages-Benefits)

Use: Feature slides, product showcases Components: Feature → Advantage → Benefit Template: "[Feature] lets you [advantage], so you can [benefit]."

Cost of Inaction

Use: Agitation slides, urgency Components: Status Quo → Loss → Time Decay Template: "Without [solution], you're losing [amount] every [timeframe]."

Before-After-Bridge

Use: Transformation slides, case studies Components: Before → After → Bridge Template: "[Pain point before]. [Desired state after]. [Your solution] is the bridge."

Formula-to-Slide Mapping

Slide Type Primary Formula Emotion
Title/Hook AIDA, Hook curiosity
Problem PAS, Agitate frustration
Cost/Risk Cost of Inaction fear
Solution FAB, BAB hope
Features FAB confidence
Traction Proof Stack trust
Social Proof Testimonial trust
Pricing Value Stack confidence
CTA AIDA, Urgency urgency

Headline Patterns

Power Words

  • "Stop [bad thing]"
  • "Get [desired result] in [timeframe]"
  • "The [adjective] way to [action]"
  • "Why [audience] choose [product]"
  • "[Number] ways to [achieve goal]"

Contrast Patterns

  • "[Old way] is dead. Meet [new way]."
  • "Don't [bad action]. Instead, [good action]."
  • "From [pain point] to [benefit]."

Social Proof Patterns

  • "[Number]+ [users/companies] trust [product]"
  • "Join [notable company] and [notable company]"
  • "As seen in [publication]"

Search Commands

# Find formula for slide type
python ../design-system/scripts/search-slides.py "problem agitation" -d copy

# Get emotion-appropriate formula
python ../design-system/scripts/search-slides.py "urgency cta" -d copy

Quick Reference

Need Use Formula
Create urgency Cost of Inaction, Scarcity
Build trust Social Proof, Testimonial
Show value FAB, Value Stack
Drive action AIDA, CTA
Tell story BAB, Story Arc
Present data Proof Stack