buildpartner 0.4.2 → 0.8.0-dev.20260430072343

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/bin/cli.js +11 -22
  2. package/dist/bin/cli.js.map +1 -1
  3. package/dist/src/api-client.d.ts +1 -1
  4. package/dist/src/api-client.js +9 -1
  5. package/dist/src/api-client.js.map +1 -1
  6. package/dist/src/commands/reset.js +1 -1
  7. package/dist/src/commands/reset.js.map +1 -1
  8. package/dist/src/mcp/server.d.ts +1 -5
  9. package/dist/src/mcp/server.js +20 -75
  10. package/dist/src/mcp/server.js.map +1 -1
  11. package/dist/src/store/local-store.d.ts +13 -2
  12. package/dist/src/store/local-store.js +21 -0
  13. package/dist/src/store/local-store.js.map +1 -1
  14. package/package.json +2 -6
  15. package/dist/src/classifiers/activity-classifier.d.ts +0 -12
  16. package/dist/src/classifiers/activity-classifier.js +0 -300
  17. package/dist/src/classifiers/activity-classifier.js.map +0 -1
  18. package/dist/src/classifiers/path-detector.d.ts +0 -33
  19. package/dist/src/classifiers/path-detector.js +0 -98
  20. package/dist/src/classifiers/path-detector.js.map +0 -1
  21. package/dist/src/commands/log-session.d.ts +0 -7
  22. package/dist/src/commands/log-session.js +0 -23
  23. package/dist/src/commands/log-session.js.map +0 -1
  24. package/dist/src/commands/sync.d.ts +0 -6
  25. package/dist/src/commands/sync.js +0 -36
  26. package/dist/src/commands/sync.js.map +0 -1
  27. package/dist/src/installer/hook-installer.d.ts +0 -19
  28. package/dist/src/installer/hook-installer.js +0 -114
  29. package/dist/src/installer/hook-installer.js.map +0 -1
  30. package/dist/src/installer/mcp-installer.d.ts +0 -9
  31. package/dist/src/installer/mcp-installer.js +0 -80
  32. package/dist/src/installer/mcp-installer.js.map +0 -1
  33. package/dist/src/installer/skill-installer.d.ts +0 -5
  34. package/dist/src/installer/skill-installer.js +0 -55
  35. package/dist/src/installer/skill-installer.js.map +0 -1
  36. package/dist/src/installer/skill-sync.d.ts +0 -10
  37. package/dist/src/installer/skill-sync.js +0 -80
  38. package/dist/src/installer/skill-sync.js.map +0 -1
  39. package/dist/src/mcp/catch-up.d.ts +0 -6
  40. package/dist/src/mcp/catch-up.js +0 -28
  41. package/dist/src/mcp/catch-up.js.map +0 -1
  42. package/dist/src/mcp/tools/ai-profile.d.ts +0 -88
  43. package/dist/src/mcp/tools/ai-profile.js +0 -123
  44. package/dist/src/mcp/tools/ai-profile.js.map +0 -1
  45. package/dist/src/mcp/tools/classify-session.d.ts +0 -31
  46. package/dist/src/mcp/tools/classify-session.js +0 -34
  47. package/dist/src/mcp/tools/classify-session.js.map +0 -1
  48. package/dist/src/mcp/tools/get-knowledge.d.ts +0 -25
  49. package/dist/src/mcp/tools/get-knowledge.js +0 -31
  50. package/dist/src/mcp/tools/get-knowledge.js.map +0 -1
  51. package/dist/src/mcp/tools/get-profile.d.ts +0 -1
  52. package/dist/src/mcp/tools/get-profile.js +0 -14
  53. package/dist/src/mcp/tools/get-profile.js.map +0 -1
  54. package/dist/src/mcp/tools/get-stats.d.ts +0 -32
  55. package/dist/src/mcp/tools/get-stats.js +0 -45
  56. package/dist/src/mcp/tools/get-stats.js.map +0 -1
  57. package/dist/src/mcp/tools/get-suggestions.d.ts +0 -7
  58. package/dist/src/mcp/tools/get-suggestions.js +0 -65
  59. package/dist/src/mcp/tools/get-suggestions.js.map +0 -1
  60. package/dist/src/mcp/tools/get-training.d.ts +0 -48
  61. package/dist/src/mcp/tools/get-training.js +0 -102
  62. package/dist/src/mcp/tools/get-training.js.map +0 -1
  63. package/dist/src/mcp/tools/log-highlight.d.ts +0 -24
  64. package/dist/src/mcp/tools/log-highlight.js +0 -25
  65. package/dist/src/mcp/tools/log-highlight.js.map +0 -1
  66. package/dist/src/mcp/tools/quest.d.ts +0 -4
  67. package/dist/src/mcp/tools/quest.js +0 -8
  68. package/dist/src/mcp/tools/quest.js.map +0 -1
  69. package/dist/src/mcp/tools/web-search.d.ts +0 -15
  70. package/dist/src/mcp/tools/web-search.js +0 -17
  71. package/dist/src/mcp/tools/web-search.js.map +0 -1
  72. package/dist/src/readers/extract-signals.d.ts +0 -23
  73. package/dist/src/readers/extract-signals.js +0 -50
  74. package/dist/src/readers/extract-signals.js.map +0 -1
  75. package/dist/src/readers/history-reader.d.ts +0 -28
  76. package/dist/src/readers/history-reader.js +0 -83
  77. package/dist/src/readers/history-reader.js.map +0 -1
  78. package/dist/src/readers/session-reader.d.ts +0 -75
  79. package/dist/src/readers/session-reader.js +0 -191
  80. package/dist/src/readers/session-reader.js.map +0 -1
  81. package/dist/src/readers/session-sync.d.ts +0 -24
  82. package/dist/src/readers/session-sync.js +0 -114
  83. package/dist/src/readers/session-sync.js.map +0 -1
  84. package/dist/src/readers/stats-reader.d.ts +0 -38
  85. package/dist/src/readers/stats-reader.js +0 -125
  86. package/dist/src/readers/stats-reader.js.map +0 -1
  87. package/skills/bp-claude-coach/SKILL.md +0 -314
  88. package/skills/bp-enhance-claude-md/SKILL.md +0 -62
  89. package/skills/bp-expert-advice/SKILL.md +0 -62
  90. package/skills/bp-flex-socials/SKILL.md +0 -54
  91. package/skills/bp-full-audit/SKILL.md +0 -145
  92. package/skills/bp-generate-personalized-training-data/SKILL.md +0 -145
  93. package/skills/bp-improve-skill/SKILL.md +0 -115
  94. package/skills/bp-interview/SKILL.md +0 -64
  95. package/skills/bp-interview-me/SKILL.md +0 -120
  96. package/skills/bp-life-story/SKILL.md +0 -68
  97. package/skills/bp-log-experience/SKILL.md +0 -72
  98. package/skills/bp-open-dashboard/SKILL.md +0 -31
  99. package/skills/bp-quest-status/SKILL.md +0 -52
  100. package/skills/bp-recap-week/SKILL.md +0 -53
  101. package/skills/bp-setup-coach/SKILL.md +0 -64
  102. package/skills/bp-shorts-ideation/SKILL.md +0 -108
  103. package/skills/bp-shorts-script/SKILL.md +0 -126
  104. package/skills/bp-youtube-ideation/SKILL.md +0 -99
  105. package/skills/bp-youtube-script/SKILL.md +0 -149
@@ -1,72 +0,0 @@
1
- ---
2
- description: "Get better responses by documenting your lived experience. The more context BuildPartner has about what you've built, learned, and struggled with, the better every skill works for you."
3
- ---
4
-
5
- # /bp-log-experience
6
-
7
- Get better responses by documenting your lived experience. The more context BuildPartner has about what you've built, learned, and struggled with, the better every skill works for you.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Instructions
14
-
15
- 1. Call `get_personal_context` with `{ "include_sessions": true }`.
16
-
17
- 2. Show the user a quick summary of their recent sessions:
18
-
19
- ```
20
- Your recent sessions:
21
- - {project}: {summary} ({when})
22
- - {project}: {summary} ({when})
23
- - {project}: {summary} ({when})
24
- ```
25
-
26
- 3. Ask ONE question:
27
-
28
- > "What did you build, learn, or figure out? A sentence or two is plenty. Or type 'skip' and I'll generate from your session data."
29
-
30
- 4. If they type something: combine their description with the session data.
31
- If they type 'skip': infer the key experience from session patterns.
32
- If they say 'done' or give a very short answer: use what you have, don't push for more.
33
-
34
- 5. Generate a structured experience entry:
35
-
36
- ```markdown
37
- # {Date} - {Brief Title}
38
-
39
- ## What happened
40
- {1-2 paragraph narrative combining their description with session specifics}
41
-
42
- ## What was built
43
- - {Files/features created or modified, from session data}
44
- - {Tools or approaches used}
45
-
46
- ## Key learning
47
- - {The transferable insight from this experience}
48
-
49
- ## Tags
50
- {topic1, topic2, topic3}
51
- ```
52
-
53
- 6. Save the entry. Use the Bash tool to create the file:
54
-
55
- ```bash
56
- mkdir -p ~/.buildpartner/knowledge/experiences
57
- ```
58
-
59
- Save to `~/.buildpartner/knowledge/experiences/{YYYY-MM-DD}-{brief-slug}.md`
60
-
61
- 7. Confirm:
62
-
63
- > "Saved. This experience now feeds into /bp-claude-coach, /bp-expert-advice, and /bp-recap-week. The more you log, the more personalized everything gets."
64
-
65
- 8. Rules:
66
- - Keep it fast. This should take 30 seconds, not 5 minutes.
67
- - One question max. Don't interview them.
68
- - If the session data is rich enough, skip the question entirely and just confirm what you generated.
69
- - Write in their voice (use their AI profile writing style if available).
70
- - The entry should be useful for future consultations, not just a diary entry.
71
-
72
- 9. Call `check_status` with `{ "skill_name": "bp-log-experience" }`.
@@ -1,31 +0,0 @@
1
- ---
2
- description: "Open my dashboard in the browser, automatically signed in."
3
- ---
4
-
5
- # /bp-open-dashboard
6
-
7
- Open my dashboard in the browser, automatically signed in.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Instructions
14
-
15
- 1. Read the auth file at `~/.buildpartner/auth.json` using the Read tool.
16
-
17
- 2. If the file doesn't exist or has no token, tell the user:
18
- "You haven't set up BuildPartner yet. Run `npx buildpartner setup` to get started."
19
- Stop here.
20
-
21
- 3. Extract the `token` value from the auth file.
22
-
23
- 4. Open the dashboard by running:
24
- ```
25
- open "https://buildpartner.ai/dashboard?t=TOKEN_HERE"
26
- ```
27
- Replace TOKEN_HERE with the actual token.
28
-
29
- 5. Tell the user: "Your dashboard is open."
30
-
31
- 6. Call `check_status` with `{ "skill_name": "bp-open-dashboard" }`.
@@ -1,52 +0,0 @@
1
- ---
2
- description: "What should I do next in BuildPartner? Shows your quest progress and guides you through the next step. Start here if you're new."
3
- ---
4
-
5
- # /bp-quest-status
6
-
7
- What should I do next in BuildPartner? Shows your quest progress and guides you through the next step. Start here if you're new.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Instructions
14
-
15
- 1. Call `get_quest_progress`.
16
-
17
- 2. Show a progress overview:
18
-
19
- ```
20
- ## Quest Progress
21
-
22
- **Getting Started**: {completed}/{total}
23
- **Builder**: {completed}/{total} {locked if core not done}
24
- **Storyteller**: {completed}/{total} {locked if core not done}
25
- **Systems Thinker**: {completed}/{total} {locked if core not done}
26
- ```
27
-
28
- 3. If there's an active quest, guide them through it. Don't just describe it, DO it with them:
29
-
30
- - **"Run Your First Skill"**: Tell them to type /bp-claude-coach right now.
31
- - **"Build Your Training Data"**: Start the /bp-interview-me flow.
32
- - **"Plan Before You Build"**: Walk them through the planning approach.
33
- - **"Consult an Expert"**: Ask what they need help with, run /bp-expert-advice.
34
- - Path quests: guide them to the relevant skill.
35
-
36
- 4. If core is done and paths are unlocked, show all three paths and let them pick.
37
-
38
- 5. If all quests are done:
39
-
40
- ```
41
- All quests complete! You've mastered the fundamentals.
42
- More quests coming soon. In the meantime: /bp-claude-coach for setup reviews,
43
- /bp-generate-personalized-training-data for weekly recaps, and /bp-expert-advice for expert advice.
44
- ```
45
-
46
- 6. Rules:
47
- - Don't just show the quest and stop. HELP THEM COMPLETE IT.
48
- - One quest at a time. Keep it moving.
49
- - If they say "skip" or "next", advance to the next quest.
50
- - Each quest should feel like 1-3 minutes max.
51
-
52
- 7. Call `check_status` with `{ "skill_name": "bp-quest-status" }`.
@@ -1,53 +0,0 @@
1
- ---
2
- description: "What happened this week? Weekly summary of what you built, your numbers, and what to add to your workflow. Run this on Fridays."
3
- ---
4
-
5
- # /bp-recap-week
6
-
7
- What happened this week? Weekly summary of what you built, your numbers, and what to add to your workflow. Run this on Fridays.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Instructions
14
-
15
- 1. Call `get_personal_context` with `{ "include_sessions": true }`.
16
-
17
- 2. From the returned data, build a weekly digest. Focus on THIS WEEK's sessions.
18
-
19
- 3. Format:
20
-
21
- ```
22
- ## This Week
23
-
24
- **{X} sessions | {Y} tokens | {streak} day streak**
25
-
26
- ### What you worked on
27
- - {Project/activity 1} ({X sessions})
28
- - {Project/activity 2} ({X sessions})
29
- - {Project/activity 3} ({X sessions})
30
-
31
- ### Best session
32
- {The most interesting or productive session this week. One sentence.}
33
-
34
- ### Add to your playbook
35
- {1-2 specific things they should start doing based on this week's patterns. Concrete, not abstract.}
36
-
37
- Examples:
38
- - "You researched pricing 3 times this week. Run /bp-expert-advice next time to get expert frameworks instantly."
39
- - "You built 2 new features but didn't deploy either. Ship one this week."
40
- - "You used Claude Code 12 times but never used Plan mode. Try planning before your next big feature."
41
-
42
- ### Your week in numbers
43
- Code {X%} | Content {X%} | Research {X%} | Other {X%}
44
- ```
45
-
46
- 4. Rules:
47
- - Keep it SHORT. No more than 15 lines total.
48
- - Lead with what matters. No preamble.
49
- - The "Add to your playbook" section is the most important part. Make it specific.
50
- - If they had a great week, say so. If they were inconsistent, say that too. Be honest.
51
- - End with nothing. No "let me know if you want more detail." Just the recap.
52
-
53
- 5. Call `check_status` with `{ "skill_name": "bp-recap-week" }`.
@@ -1,64 +0,0 @@
1
- ---
2
- description: "Review my Claude Code setup and habits. Looks at how you use tools, what you're missing, what patterns to fix. Gives you 3 action items to improve this week."
3
- ---
4
-
5
- # /bp-setup-coach
6
-
7
- Review my Claude Code setup and habits. Looks at how you use tools, what you're missing, what patterns to fix. Gives you 3 action items to improve this week.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Rules
14
-
15
- - Only recommend BuildPartner skills (commands starting with `/bp-`). Do not recommend built-in Claude Code skills like /simplify, /review, etc.
16
- - Do not display subscription status, trial info, or uses remaining. The system handles that separately.
17
-
18
- ## Instructions
19
-
20
- 1. Call `get_personal_context` with `{ "include_sessions": true }`.
21
-
22
- 2. From the returned data, analyze:
23
-
24
- ### Setup Review
25
- - What MCP servers are they using? What are they missing?
26
- - What skills have they tried? What haven't they touched?
27
- - What tools do they lean on vs. underuse? (e.g., heavy Read but no Grep)
28
- - Are they using hooks? Plans? Agents?
29
-
30
- ### Usage Patterns
31
- - Are they stuck in one activity type? (all code, no automation)
32
- - Are sessions getting shorter or longer? (efficiency signal)
33
- - What projects are they spending the most time on?
34
-
35
- ### What to Do Next
36
- - Give exactly 3 actionable items, ranked by impact
37
- - Each should be specific and doable THIS WEEK
38
- - Reference their actual projects and patterns, not generic advice
39
-
40
- 3. Format the review:
41
-
42
- ```
43
- ## Your Setup Review
44
-
45
- **Activity**: {X sessions, Y tokens, main focus: Z}
46
- **Streak**: {current streak}
47
-
48
- ### What's working
49
- - {1-2 things they're doing well}
50
-
51
- ### What to improve
52
- 1. {Most impactful action item with specific steps}
53
- 2. {Second action item}
54
- 3. {Third action item}
55
-
56
- ### Quick win
57
- {One thing they can do in the next 5 minutes}
58
- ```
59
-
60
- 4. Keep the tone direct and encouraging. No fluff, just "here's what to do."
61
-
62
- 5. If they have < 5 sessions, say: "Keep going. After a few more sessions I'll have real recommendations. For now, try /bp-interview to build your profile."
63
-
64
- 6. Call `check_status` with `{ "skill_name": "bp-setup-coach" }`.
@@ -1,108 +0,0 @@
1
- ---
2
- description: "Generate short-form content ideas with viral hooks, format selection, and share-optimized angles for Shorts, Reels, and TikTok."
3
- ---
4
-
5
- # /bp-shorts-ideation
6
-
7
- Generate short-form content ideas with viral hooks, proven formats, and share-optimized angles. Works for YouTube Shorts, Instagram Reels, and TikTok.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Project Structure
14
-
15
- This skill uses a local `content/` directory:
16
-
17
- ```
18
- content/
19
- knowledge/ # User's voice, audience, brand context
20
- shorts/
21
- {short-slug}/
22
- idea.md # Created by this skill
23
- youtube/ # Check for upcoming long-form videos to promote
24
- ```
25
-
26
- ## Instructions
27
-
28
- 1. Call `get_expert_knowledge` with `{ "topic": "viral-short-form,shorts-format-library" }` to get the viral frameworks and format library, plus the user's personal context.
29
-
30
- 2. Check for existing context:
31
- - Read `content/knowledge/audience.md` and `content/knowledge/brand.md` if they exist
32
- - List `content/youtube/` to see upcoming long-form videos that shorts could promote
33
-
34
- 3. Ask the user what they need:
35
- - "What's your niche?" (or read from knowledge folder)
36
- - "Do you want to brainstorm new ideas, or create a short that promotes an upcoming video?"
37
-
38
- 4. Run the appropriate mode:
39
-
40
- ### Mode: Brainstorm Ideas
41
- Generate 5-10 short-form ideas using the frameworks:
42
-
43
- - **Virality Formula Check**: For each idea, evaluate:
44
- - Unique Idea? (not what everyone's already said)
45
- - Unique POV? (your specific angle or experience)
46
- - Large Applicable Audience? (broad enough to share widely)
47
- - World-Class Hook potential? (can you write a 3-4 word visual hook?)
48
- - Compelling Story? (is there a narrative arc in 60 seconds?)
49
-
50
- - **Idea + POV Matrix**: Rate each idea:
51
- - Common Idea + Common POV = Skip (forgettable)
52
- - Common Idea + Uncommon POV = Good (potentially viral)
53
- - Uncommon Idea + Common POV = Good (potentially viral)
54
- - Uncommon Idea + Uncommon POV = Risky (might be too weird)
55
-
56
- - **Format Selection**: For each idea, recommend a format:
57
- 1. **Challenge**: "I tried to [goal] in [time]" - best when you have a clear outcome
58
- 2. **B-Roll Storytelling**: Narration over cinematic clips - best for personal brand
59
- 3. **Split-Screen Reaction**: React to news/clip - best for hot takes
60
- 4. **POV Reveal**: "POV: You just [did X]" - best for aspirational content
61
- 5. **Speed Demo**: "In 60 seconds" - best for tutorials framed as outcomes
62
- 6. **Before/After**: Transformation with contrast - best for results
63
- 7. **Contrarian Take**: "Stop using X, do Y" - best for thought leadership
64
- 8. **Problem Warning**: "The #1 mistake when..." - best for peer knowledge
65
-
66
- - **Share Prediction**: For each idea, answer: "Why would someone share this? Who would they send it to?"
67
-
68
- Present ideas ranked by viral potential with format recommendation and hook draft.
69
-
70
- ### Mode: Promote Long-Form Video
71
- When the user wants shorts that tease or promote an upcoming YouTube video:
72
-
73
- - Read the video's titles.md, outline.md, or script.md from `content/youtube/{slug}/`
74
- - Extract the most compelling moments, surprising insights, or shareable takeaways
75
- - Generate 3-5 short concepts that:
76
- - Stand alone as valuable content (not just a trailer)
77
- - Create curiosity about the full video
78
- - Use a different angle than the main video's hook
79
- - For each, draft a hook using the 3-Step Hook Formula:
80
- 1. **Context Lean**: Topic clarity + lean-in (benefit or pain point)
81
- 2. **Scroll Stop**: Contrasting word ("but," "however") that stuns
82
- 3. **Contrarian Snapback**: Opposite direction, bigger shock = bigger snap
83
-
84
- ### Mode: Hook Workshop
85
- When the user has an idea and wants to craft the perfect hook:
86
-
87
- - Apply the 6 Power Words framework:
88
- 1. **Subject**: Who is this about? (I, you, we, the product)
89
- 2. **Action**: What verb describes what's happening?
90
- 3. **Objective**: What's the shocking end result? Make it non-obvious.
91
- 4. **Contrast**: Base state vs. new reality
92
- 5. **Proof** (optional): Why should they trust you?
93
- 6. **Time** (optional): Urgency or speed constraint
94
-
95
- - Generate 5+ hook variations
96
- - Score each on: Curiosity (1-5), Clarity (1-5), Share potential (1-5)
97
- - Recommend the strongest with reasoning
98
-
99
- 5. Save the best ideas to `content/shorts/{slug}/idea.md` with:
100
- - Hook (visual text + verbal)
101
- - Format type
102
- - Target length
103
- - Key points to cover
104
- - Share prediction
105
-
106
- 6. Suggest next step: "Ready to write the script? Run `/bp-shorts-script` to draft it."
107
-
108
- 7. Call `check_status` with `{ "skill_name": "bp-shorts-ideation" }`.
@@ -1,126 +0,0 @@
1
- ---
2
- description: "Write viral 60-90 second scripts for YouTube Shorts, Reels, and TikTok using proven hook formulas and retention structures."
3
- ---
4
-
5
- # /bp-shorts-script
6
-
7
- Write viral 60-90 second scripts for YouTube Shorts, Instagram Reels, and TikTok using proven hook formulas, re-hooking mechanics, and share-optimized structures.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Project Structure
14
-
15
- ```
16
- content/
17
- knowledge/ # User's voice, audience, brand context
18
- shorts/
19
- {short-slug}/
20
- idea.md # From bp-shorts-ideation (optional)
21
- script.md # Created by this skill
22
- ```
23
-
24
- ## Instructions
25
-
26
- 1. Call `get_expert_knowledge` with `{ "topic": "viral-short-form" }` to get the viral short-form framework and the user's personal context.
27
-
28
- 2. Check for existing context:
29
- - Read `content/shorts/{slug}/idea.md` if it exists (from bp-shorts-ideation)
30
- - Read `content/knowledge/voice.md` if it exists for voice/tone
31
-
32
- 3. If no idea file exists, ask:
33
- - "What's the topic or concept for this short?"
34
- - "What format? (challenge, B-roll storytelling, reaction, POV reveal, speed demo, before/after, contrarian take, problem warning)"
35
- - "What's the one thing you want viewers to walk away with?"
36
-
37
- 4. Write the script following this structure:
38
-
39
- ### Opening Hook (First 3-5 Seconds)
40
-
41
- The hook has three parts that fire in rapid sequence:
42
-
43
- **Visual Hook (ON SCREEN TEXT):**
44
- - 3-4 words maximum
45
- - Must make viewer think "Wait, what?"
46
- - People read faster than they listen. Visual hooks are 10x more effective than spoken-only hooks.
47
- - Examples: "Future of farming", "This changes everything", "Secret Japanese city"
48
-
49
- **Verbal Hook (SPOKEN - 3 Steps):**
50
-
51
- 1. **Context Lean** (1-2 sentences):
52
- - Be super clear about what the video is about (topic clarity)
53
- - Get them leaning in: establish common ground, reference a benefit or pain point, use a metaphor, or say something mind-blowing
54
- - Example: "The tech in the Vegas sphere is insane. Biggest screen ever built. 20 times bigger than an IMAX."
55
-
56
- 2. **Scroll Stop Interjection** (1 sentence):
57
- - Single line that acts like a stun gun
58
- - Use a contrasting word: "but," "however," "yet," "although," "therefore"
59
- - This is the setup for the snapback
60
- - Example: "But get this, the screen is actually the least impressive part of the whole thing."
61
-
62
- 3. **Contrarian Snapback** (1 sentence):
63
- - Goes in the OPPOSITE direction of the initial lean
64
- - The bigger the shock, the bigger the snap, the better the effect
65
- - Example: "Because the most impressive part is the audio. This is going to blow your mind."
66
-
67
- At this point the viewer is fully hooked. The curiosity loop is open and they cannot scroll away.
68
-
69
- ### Body (10-15 Second Segments)
70
-
71
- Each segment follows the Value Loop:
72
- - **What**: State the point clearly and simply
73
- - **Why/How**: Supporting evidence, example, or context
74
- - **Head Fake/Re-hook**: "But here's what's really interesting..." / "And that's not even the craziest part..."
75
-
76
- Rules for the body:
77
- - Use "but" and "therefore" for narrative flow. NEVER "and then" (creates monotonous piling)
78
- - Re-hook every 10-15 seconds. Each re-hook opens a new mini curiosity loop.
79
- - Front-load the best value. Second point should be BETTER than first (ascending trend)
80
- - Vary sentence length for rhythm: short punchy sentences for emphasis, longer ones for explanation
81
- - Staccato at transitions, flowing during explanation
82
-
83
- ### Closer (Final 5-10 Seconds)
84
-
85
- - Deliver the final payoff or reframe
86
- - Make it feel like a mic drop, not a fade out
87
- - The last line should be shareable on its own
88
- - For looping platforms: the last line should set up rewatching the first line
89
- - Example: "This is going to change agriculture forever." / "The game has just changed again."
90
-
91
- 5. Format the script clearly:
92
-
93
- ```
94
- [ON SCREEN TEXT]: {3-4 words}
95
-
96
- [VISUAL]: {What the viewer sees}
97
-
98
- [SPOKEN]:
99
- {Full script with natural spoken language}
100
-
101
- [EDIT NOTES]:
102
- - {Visual changes, B-roll suggestions, sound effects}
103
-
104
- TARGET LENGTH: {60/75/90} seconds
105
- FORMAT: {Challenge/B-Roll/Reaction/etc.}
106
- ```
107
-
108
- 6. After writing, run a quick quality check:
109
- - Hook has all 3 steps? (context lean, scroll stop, snapback)
110
- - Visual hook text is 3-4 words?
111
- - Re-hooks every 10-15 seconds in the body?
112
- - Uses but/therefore, not "and then"?
113
- - Ascending value (each point more interesting)?
114
- - Last line is shareable/memorable?
115
- - Would someone share this? Who would they send it to?
116
- - Share rate prediction (target 3%+)
117
-
118
- 7. Save script to `content/shorts/{slug}/script.md`
119
-
120
- 8. If the user wants revisions, iterate. Focus on:
121
- - Tightening the hook (fewer words, bigger snap)
122
- - Stronger re-hooks between segments
123
- - More specific/concrete language (numbers, names, details)
124
- - Better rhythm variation
125
-
126
- 9. Call `check_status` with `{ "skill_name": "bp-shorts-script" }`.
@@ -1,99 +0,0 @@
1
- ---
2
- description: "Generate video ideas, craft titles, plan thumbnails, and validate your packaging before scripting. The full pre-production workflow."
3
- ---
4
-
5
- # /bp-youtube-ideation
6
-
7
- Generate video ideas, craft compelling titles, plan thumbnail strategy, and validate your full packaging before you start scripting.
8
-
9
- ## MCP Tools
10
-
11
- Only call tools that are registered on the `buildpartner` MCP server. If a tool call fails or a tool name isn't recognized, do not retry with a different name. The available tools are: `get_personal_context`, `get_expert_knowledge`, `save_profile`, `get_quest_progress`, `check_status`.
12
-
13
- ## Project Structure
14
-
15
- This skill uses a local `content/` directory to organize video projects. On first run, scaffold the structure if it doesn't exist:
16
-
17
- ```
18
- content/
19
- knowledge/ # User's own context (voice, audience, brand)
20
- voice.md
21
- audience.md
22
- brand.md
23
- youtube/
24
- {video-slug}/ # One folder per video project
25
- titles.md
26
- thumbnail.md
27
- status.md
28
- ```
29
-
30
- Use the Bash tool to check for and create this structure. If `content/knowledge/` files exist, read them for context. If they don't exist, mention that the user can create them for better personalization, but proceed without them.
31
-
32
- ## Instructions
33
-
34
- 1. Call `get_expert_knowledge` with `{ "category": "content" }` to get available frameworks and the user's personal context. Based on what the user needs, fetch specific frameworks:
35
- - For title work: `{ "topic": "galloway-packaging,title-psychology" }`
36
- - For thumbnail work: `{ "topic": "galloway-packaging,youtube-packaging-tactics" }`
37
- - For full packaging validation: `{ "topic": "youtube-packaging-tactics" }`
38
-
39
- 2. Check for existing video projects by listing `content/youtube/` directories. If the user is working on an existing project, read its files for context.
40
-
41
- 3. Detect what the user needs and run the appropriate mode:
42
-
43
- ### Mode: Idea Generation
44
- When the user has a concept but needs title options:
45
- - Ask about their niche and target audience (or read from `content/knowledge/audience.md`)
46
- - Generate 10+ title variations using these frameworks:
47
- - **Curiosity Gap**: Does the title create tension that demands resolution? Is there a counterpoint, head fake, or twist?
48
- - **CCN Fit**: Would a Core fan, Casual viewer, AND New viewer all click?
49
- - **Specificity**: Use specific numbers and concrete language over vague claims
50
- - **The 60-Character Rule**: Most important words come first, nothing essential after 60 chars
51
- - **The 7-Year-Old Test**: No jargon, no acronyms (unless universally known)
52
- - Score each title on Curiosity Gap (1-5) and CCN Fit (1-5)
53
- - Present the top 5 with reasoning
54
-
55
- ### Mode: Outlier Translation
56
- When the user shares competitor titles they admire:
57
- - Extract the first principle (WHY it works, not just the format)
58
- - Validate the structure across industries (search for similar patterns)
59
- - Translate it to the user's niche while maintaining the psychological mechanism
60
- - Generate 5+ adapted variations
61
-
62
- ### Mode: Thumbnail Strategy
63
- When the user wants to develop thumbnail direction:
64
- - Apply the Three-Element Rule (max 3: face + object + text)
65
- - Evaluate against the Boring-to-Misleading Spectrum (aim for 70% toward intriguing)
66
- - Run through the Thumbnail Checklist:
67
- - Works at phone size?
68
- - Clear contrast between foreground and background?
69
- - Emotion on the face? (neutral underperforms by 30-50%)
70
- - 3 or fewer elements?
71
- - Creates a question the title answers (or vice versa)?
72
- - Stranger understands the topic in under 1 second?
73
- - If user shares thumbnail images, provide framework-based feedback
74
- - Evaluate Title-Thumbnail Synergy (5 factors: visual anchor, emotional match, text redundancy, curiosity gap completion, at-a-glance clarity)
75
-
76
- ### Mode: Packaging Validation
77
- When the user has a title + thumbnail concept and wants to validate before scripting:
78
- - Run the Pre-Flight Checklist:
79
- 1. Outlier foundation solid?
80
- 2. Topic validated? (current cultural relevance)
81
- 3. First principle extracted? (why the outlier works)
82
- 4. Structure validated? (proven across niches)
83
- 5. Curiosity gap strong? (passes "So What?" test)
84
- 6. CCN fit confirmed?
85
- 7. Target audience would click?
86
- 8. 10+ title variations generated?
87
- 9. Thumbnail direction set? (3 elements, reinforces gap)
88
- - Flag any missing items and help resolve them
89
- - If all pass: recommend moving to scripting
90
-
91
- 4. Save outputs to the project folder:
92
- - Create `content/youtube/{slug}/` if it doesn't exist
93
- - Write `titles.md` with all title options, scores, and the locked winner
94
- - Write `thumbnail.md` with concept notes, checklist results, synergy score
95
- - Write `status.md` with current stage
96
-
97
- 5. Suggest next step: "Ready to script? Run `/bp-youtube-script` to start writing."
98
-
99
- 6. Call `check_status` with `{ "skill_name": "bp-youtube-ideation" }`.