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.
- package/dist/bin/cli.js +11 -22
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/api-client.d.ts +1 -1
- package/dist/src/api-client.js +9 -1
- package/dist/src/api-client.js.map +1 -1
- package/dist/src/commands/reset.js +1 -1
- package/dist/src/commands/reset.js.map +1 -1
- package/dist/src/mcp/server.d.ts +1 -5
- package/dist/src/mcp/server.js +20 -75
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/store/local-store.d.ts +13 -2
- package/dist/src/store/local-store.js +21 -0
- package/dist/src/store/local-store.js.map +1 -1
- package/package.json +2 -6
- package/dist/src/classifiers/activity-classifier.d.ts +0 -12
- package/dist/src/classifiers/activity-classifier.js +0 -300
- package/dist/src/classifiers/activity-classifier.js.map +0 -1
- package/dist/src/classifiers/path-detector.d.ts +0 -33
- package/dist/src/classifiers/path-detector.js +0 -98
- package/dist/src/classifiers/path-detector.js.map +0 -1
- package/dist/src/commands/log-session.d.ts +0 -7
- package/dist/src/commands/log-session.js +0 -23
- package/dist/src/commands/log-session.js.map +0 -1
- package/dist/src/commands/sync.d.ts +0 -6
- package/dist/src/commands/sync.js +0 -36
- package/dist/src/commands/sync.js.map +0 -1
- package/dist/src/installer/hook-installer.d.ts +0 -19
- package/dist/src/installer/hook-installer.js +0 -114
- package/dist/src/installer/hook-installer.js.map +0 -1
- package/dist/src/installer/mcp-installer.d.ts +0 -9
- package/dist/src/installer/mcp-installer.js +0 -80
- package/dist/src/installer/mcp-installer.js.map +0 -1
- package/dist/src/installer/skill-installer.d.ts +0 -5
- package/dist/src/installer/skill-installer.js +0 -55
- package/dist/src/installer/skill-installer.js.map +0 -1
- package/dist/src/installer/skill-sync.d.ts +0 -10
- package/dist/src/installer/skill-sync.js +0 -80
- package/dist/src/installer/skill-sync.js.map +0 -1
- package/dist/src/mcp/catch-up.d.ts +0 -6
- package/dist/src/mcp/catch-up.js +0 -28
- package/dist/src/mcp/catch-up.js.map +0 -1
- package/dist/src/mcp/tools/ai-profile.d.ts +0 -88
- package/dist/src/mcp/tools/ai-profile.js +0 -123
- package/dist/src/mcp/tools/ai-profile.js.map +0 -1
- package/dist/src/mcp/tools/classify-session.d.ts +0 -31
- package/dist/src/mcp/tools/classify-session.js +0 -34
- package/dist/src/mcp/tools/classify-session.js.map +0 -1
- package/dist/src/mcp/tools/get-knowledge.d.ts +0 -25
- package/dist/src/mcp/tools/get-knowledge.js +0 -31
- package/dist/src/mcp/tools/get-knowledge.js.map +0 -1
- package/dist/src/mcp/tools/get-profile.d.ts +0 -1
- package/dist/src/mcp/tools/get-profile.js +0 -14
- package/dist/src/mcp/tools/get-profile.js.map +0 -1
- package/dist/src/mcp/tools/get-stats.d.ts +0 -32
- package/dist/src/mcp/tools/get-stats.js +0 -45
- package/dist/src/mcp/tools/get-stats.js.map +0 -1
- package/dist/src/mcp/tools/get-suggestions.d.ts +0 -7
- package/dist/src/mcp/tools/get-suggestions.js +0 -65
- package/dist/src/mcp/tools/get-suggestions.js.map +0 -1
- package/dist/src/mcp/tools/get-training.d.ts +0 -48
- package/dist/src/mcp/tools/get-training.js +0 -102
- package/dist/src/mcp/tools/get-training.js.map +0 -1
- package/dist/src/mcp/tools/log-highlight.d.ts +0 -24
- package/dist/src/mcp/tools/log-highlight.js +0 -25
- package/dist/src/mcp/tools/log-highlight.js.map +0 -1
- package/dist/src/mcp/tools/quest.d.ts +0 -4
- package/dist/src/mcp/tools/quest.js +0 -8
- package/dist/src/mcp/tools/quest.js.map +0 -1
- package/dist/src/mcp/tools/web-search.d.ts +0 -15
- package/dist/src/mcp/tools/web-search.js +0 -17
- package/dist/src/mcp/tools/web-search.js.map +0 -1
- package/dist/src/readers/extract-signals.d.ts +0 -23
- package/dist/src/readers/extract-signals.js +0 -50
- package/dist/src/readers/extract-signals.js.map +0 -1
- package/dist/src/readers/history-reader.d.ts +0 -28
- package/dist/src/readers/history-reader.js +0 -83
- package/dist/src/readers/history-reader.js.map +0 -1
- package/dist/src/readers/session-reader.d.ts +0 -75
- package/dist/src/readers/session-reader.js +0 -191
- package/dist/src/readers/session-reader.js.map +0 -1
- package/dist/src/readers/session-sync.d.ts +0 -24
- package/dist/src/readers/session-sync.js +0 -114
- package/dist/src/readers/session-sync.js.map +0 -1
- package/dist/src/readers/stats-reader.d.ts +0 -38
- package/dist/src/readers/stats-reader.js +0 -125
- package/dist/src/readers/stats-reader.js.map +0 -1
- package/skills/bp-claude-coach/SKILL.md +0 -314
- package/skills/bp-enhance-claude-md/SKILL.md +0 -62
- package/skills/bp-expert-advice/SKILL.md +0 -62
- package/skills/bp-flex-socials/SKILL.md +0 -54
- package/skills/bp-full-audit/SKILL.md +0 -145
- package/skills/bp-generate-personalized-training-data/SKILL.md +0 -145
- package/skills/bp-improve-skill/SKILL.md +0 -115
- package/skills/bp-interview/SKILL.md +0 -64
- package/skills/bp-interview-me/SKILL.md +0 -120
- package/skills/bp-life-story/SKILL.md +0 -68
- package/skills/bp-log-experience/SKILL.md +0 -72
- package/skills/bp-open-dashboard/SKILL.md +0 -31
- package/skills/bp-quest-status/SKILL.md +0 -52
- package/skills/bp-recap-week/SKILL.md +0 -53
- package/skills/bp-setup-coach/SKILL.md +0 -64
- package/skills/bp-shorts-ideation/SKILL.md +0 -108
- package/skills/bp-shorts-script/SKILL.md +0 -126
- package/skills/bp-youtube-ideation/SKILL.md +0 -99
- package/skills/bp-youtube-script/SKILL.md +0 -149
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "fs";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
import { homedir } from "os";
|
|
4
|
-
const STATS_CACHE_PATH = join(homedir(), ".claude", "stats-cache.json");
|
|
5
|
-
/**
|
|
6
|
-
* Read and parse ~/.claude/stats-cache.json
|
|
7
|
-
*/
|
|
8
|
-
export function readStatsCache() {
|
|
9
|
-
try {
|
|
10
|
-
const raw = readFileSync(STATS_CACHE_PATH, "utf-8");
|
|
11
|
-
return JSON.parse(raw);
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Compute a full stats summary from the cache.
|
|
19
|
-
*/
|
|
20
|
-
export function getStatsSummary() {
|
|
21
|
-
const cache = readStatsCache();
|
|
22
|
-
if (!cache || !cache.dailyActivity.length)
|
|
23
|
-
return null;
|
|
24
|
-
const days = cache.dailyActivity;
|
|
25
|
-
const sorted = [...days].sort((a, b) => a.date.localeCompare(b.date));
|
|
26
|
-
let totalMessages = 0;
|
|
27
|
-
let totalSessions = 0;
|
|
28
|
-
let totalToolCalls = 0;
|
|
29
|
-
for (const day of sorted) {
|
|
30
|
-
totalMessages += day.messageCount;
|
|
31
|
-
totalSessions += day.sessionCount;
|
|
32
|
-
totalToolCalls += day.toolCallCount;
|
|
33
|
-
}
|
|
34
|
-
// Compute streaks from the sorted daily activity
|
|
35
|
-
const activeDates = new Set(sorted.map((d) => d.date));
|
|
36
|
-
const { currentStreak, bestStreak } = computeStreaks(activeDates);
|
|
37
|
-
return {
|
|
38
|
-
totalDays: sorted.length,
|
|
39
|
-
totalMessages,
|
|
40
|
-
totalSessions,
|
|
41
|
-
totalToolCalls,
|
|
42
|
-
firstDate: sorted[0].date,
|
|
43
|
-
lastDate: sorted[sorted.length - 1].date,
|
|
44
|
-
currentStreak,
|
|
45
|
-
bestStreak,
|
|
46
|
-
dailyActivity: sorted,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Get activity for a specific date range.
|
|
51
|
-
*/
|
|
52
|
-
export function getActivityInRange(startDate, endDate) {
|
|
53
|
-
const cache = readStatsCache();
|
|
54
|
-
if (!cache)
|
|
55
|
-
return [];
|
|
56
|
-
return cache.dailyActivity
|
|
57
|
-
.filter((d) => d.date >= startDate && d.date <= endDate)
|
|
58
|
-
.sort((a, b) => a.date.localeCompare(b.date));
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Get activity for the current week (Mon–Sun).
|
|
62
|
-
*/
|
|
63
|
-
export function getThisWeekActivity() {
|
|
64
|
-
const now = new Date();
|
|
65
|
-
const dayOfWeek = now.getDay(); // 0=Sun, 1=Mon, ...
|
|
66
|
-
const mondayOffset = dayOfWeek === 0 ? -6 : 1 - dayOfWeek;
|
|
67
|
-
const monday = new Date(now);
|
|
68
|
-
monday.setDate(now.getDate() + mondayOffset);
|
|
69
|
-
const sunday = new Date(monday);
|
|
70
|
-
sunday.setDate(monday.getDate() + 6);
|
|
71
|
-
const startDate = formatDate(monday);
|
|
72
|
-
const endDate = formatDate(sunday);
|
|
73
|
-
return getActivityInRange(startDate, endDate);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Compute current and best streak from a set of active dates.
|
|
77
|
-
* A streak is consecutive calendar days with activity.
|
|
78
|
-
*/
|
|
79
|
-
function computeStreaks(activeDates) {
|
|
80
|
-
if (activeDates.size === 0)
|
|
81
|
-
return { currentStreak: 0, bestStreak: 0 };
|
|
82
|
-
const sorted = [...activeDates].sort();
|
|
83
|
-
// Current streak: count backwards from today
|
|
84
|
-
const today = formatDate(new Date());
|
|
85
|
-
let currentStreak = 0;
|
|
86
|
-
let checkDate = new Date(today + "T00:00:00");
|
|
87
|
-
// Allow today or yesterday as the starting point
|
|
88
|
-
if (!activeDates.has(formatDate(checkDate))) {
|
|
89
|
-
checkDate.setDate(checkDate.getDate() - 1);
|
|
90
|
-
if (!activeDates.has(formatDate(checkDate))) {
|
|
91
|
-
currentStreak = 0;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
if (currentStreak === 0 && activeDates.has(formatDate(checkDate))) {
|
|
95
|
-
while (activeDates.has(formatDate(checkDate))) {
|
|
96
|
-
currentStreak++;
|
|
97
|
-
checkDate.setDate(checkDate.getDate() - 1);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Best streak: scan all dates
|
|
101
|
-
let bestStreak = 0;
|
|
102
|
-
let streak = 1;
|
|
103
|
-
for (let i = 1; i < sorted.length; i++) {
|
|
104
|
-
const prev = new Date(sorted[i - 1] + "T00:00:00");
|
|
105
|
-
const curr = new Date(sorted[i] + "T00:00:00");
|
|
106
|
-
const diffDays = (curr.getTime() - prev.getTime()) / (1000 * 60 * 60 * 24);
|
|
107
|
-
if (diffDays === 1) {
|
|
108
|
-
streak++;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
bestStreak = Math.max(bestStreak, streak);
|
|
112
|
-
streak = 1;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
bestStreak = Math.max(bestStreak, streak);
|
|
116
|
-
return { currentStreak, bestStreak };
|
|
117
|
-
}
|
|
118
|
-
/** Format a Date as YYYY-MM-DD in local time (not UTC). */
|
|
119
|
-
function formatDate(date) {
|
|
120
|
-
const year = date.getFullYear();
|
|
121
|
-
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
122
|
-
const day = String(date.getDate()).padStart(2, "0");
|
|
123
|
-
return `${year}-${month}-${day}`;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=stats-reader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stats-reader.js","sourceRoot":"","sources":["../../../src/readers/stats-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Your Claude Code coach. Reviews your setup, analyzes your habits, and gives you a prioritized action plan. Run it regularly to keep improving."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /bp-claude-coach
|
|
6
|
-
|
|
7
|
-
Your Claude Code coach. Reviews your setup, analyzes your habits, and gives you a prioritized action plan. Run it regularly to keep improving.
|
|
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
|
-
- Every finding must be backed by data from their sessions or files. Don't suggest generic improvements.
|
|
18
|
-
- "Fix" actions should be specific enough to copy-paste or act on immediately.
|
|
19
|
-
- If a fix is something you can do right now (edit CLAUDE.md, create a skill), offer to do it.
|
|
20
|
-
- Always include "What's Working Well" so it doesn't feel like a list of failures.
|
|
21
|
-
|
|
22
|
-
## Instructions
|
|
23
|
-
|
|
24
|
-
1. Call `get_personal_context` with `{ "include_sessions": true }`.
|
|
25
|
-
|
|
26
|
-
2. Determine which mode to run based on their data:
|
|
27
|
-
|
|
28
|
-
- **< 5 sessions (or no session data)**: Run **Onboarding Mode** (see below)
|
|
29
|
-
- **5+ sessions, no previous coaching**: This is their **first coached review**. Ask quick vs deep.
|
|
30
|
-
- **5+ sessions, has coaching history**: This is a **return visit**. Mention previous recommendations.
|
|
31
|
-
|
|
32
|
-
For first coached review, ask:
|
|
33
|
-
> "Want a quick review or a deep dive?"
|
|
34
|
-
> - **Quick**: I'll check your setup, recent sessions, and give you 3 things to fix this week.
|
|
35
|
-
> - **Deep**: I'll read every config file, audit your full environment, and give you a prioritized action plan.
|
|
36
|
-
|
|
37
|
-
For return visits, also mention:
|
|
38
|
-
> "Last time I suggested: {previous recommendations}. Want me to check how you're doing on those, or start fresh?"
|
|
39
|
-
|
|
40
|
-
### Quick Review
|
|
41
|
-
|
|
42
|
-
Analyze from the session data and context returned by `get_personal_context`:
|
|
43
|
-
|
|
44
|
-
- **Usage patterns**: What tools do they lean on vs. underuse? Are sessions getting shorter or longer?
|
|
45
|
-
- **Skill usage**: Which BuildPartner skills have they tried? What haven't they touched?
|
|
46
|
-
- **Workflow signals**: Do they use Plan mode? Agents? Hooks? Parallel sessions?
|
|
47
|
-
- **Recent prompts**: What are they asking Claude to do? Any repeated patterns that could be automated?
|
|
48
|
-
|
|
49
|
-
Output exactly 3 action items, ranked by impact.
|
|
50
|
-
|
|
51
|
-
### Deep Dive
|
|
52
|
-
|
|
53
|
-
Read and audit every layer of their setup. For each layer, read the relevant files and cross-reference with their session history.
|
|
54
|
-
|
|
55
|
-
#### Layer 1: CLAUDE.md
|
|
56
|
-
|
|
57
|
-
Read `~/.claude/CLAUDE.md` (global) and any project-level CLAUDE.md.
|
|
58
|
-
|
|
59
|
-
Check:
|
|
60
|
-
- Are there rules? If empty or missing, that's a high-priority finding.
|
|
61
|
-
- Do the rules match what they actually do? (Compare rules to session patterns)
|
|
62
|
-
- Are rules too generic? ("Write clean code" is useless)
|
|
63
|
-
- Are rules too long? (Best CLAUDE.md files are under 30 lines)
|
|
64
|
-
- Missing rules they need based on their tech stack and patterns
|
|
65
|
-
|
|
66
|
-
#### Layer 2: MCP Servers
|
|
67
|
-
|
|
68
|
-
Read `~/.claude/mcp_servers.json` (or the equivalent config).
|
|
69
|
-
|
|
70
|
-
Check:
|
|
71
|
-
- What MCP servers are configured?
|
|
72
|
-
- Are they using database tools manually when an MCP server could handle it? (Look for SQL in Bash commands in session history)
|
|
73
|
-
- Are there MCP servers configured but never used? (Compare config to session tool_counts)
|
|
74
|
-
- Missing MCP servers based on their workflow
|
|
75
|
-
|
|
76
|
-
#### Layer 3: Skills
|
|
77
|
-
|
|
78
|
-
Read all skills in `~/.claude/skills/`.
|
|
79
|
-
|
|
80
|
-
Check:
|
|
81
|
-
- How many custom skills do they have (non-BuildPartner)?
|
|
82
|
-
- Which BuildPartner skills have they used vs not used?
|
|
83
|
-
- Are there custom skills that are stale or broken?
|
|
84
|
-
- Could they benefit from creating skills for repeated workflows? (Look for patterns in session history)
|
|
85
|
-
|
|
86
|
-
#### Layer 4: Hooks
|
|
87
|
-
|
|
88
|
-
Check `~/.claude/settings.json` and project-level settings for hooks.
|
|
89
|
-
|
|
90
|
-
Check:
|
|
91
|
-
- Are any hooks configured?
|
|
92
|
-
- Is the BuildPartner tracking hook installed?
|
|
93
|
-
- Could they benefit from pre/post hooks?
|
|
94
|
-
|
|
95
|
-
#### Layer 5: Knowledge and Context
|
|
96
|
-
|
|
97
|
-
Check for knowledge folders:
|
|
98
|
-
- `~/.buildpartner/knowledge/experiences/` - do they have logged experiences?
|
|
99
|
-
- Project-level `knowledge/`, `context/`, `docs/` folders
|
|
100
|
-
- `.claude/` project configuration
|
|
101
|
-
|
|
102
|
-
#### Layer 6: Workflow Patterns
|
|
103
|
-
|
|
104
|
-
From session history, identify:
|
|
105
|
-
- Do they use Plan mode? If not and they should, flag it.
|
|
106
|
-
- Do they run parallel sessions?
|
|
107
|
-
- Do they use agents/subagents?
|
|
108
|
-
- How long are their sessions? (Short = tactical, Long = could benefit from planning)
|
|
109
|
-
- Do they commit frequently or in big batches?
|
|
110
|
-
- What are they repeatedly prompting that could become a skill or hook?
|
|
111
|
-
|
|
112
|
-
## Output Format
|
|
113
|
-
|
|
114
|
-
### Quick Review Format
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
## Coach Review
|
|
118
|
-
|
|
119
|
-
**Activity**: {X sessions, Y tokens, main focus: Z}
|
|
120
|
-
|
|
121
|
-
### What's working
|
|
122
|
-
- {1-2 things they're doing well}
|
|
123
|
-
|
|
124
|
-
### What to improve
|
|
125
|
-
1. {Most impactful action item with specific steps}
|
|
126
|
-
2. {Second action item}
|
|
127
|
-
3. {Third action item}
|
|
128
|
-
|
|
129
|
-
### Quick win
|
|
130
|
-
{One thing they can do in the next 5 minutes}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Deep Dive Format
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
## Deep Dive Results
|
|
137
|
-
|
|
138
|
-
**Environment Score**: {X}/10
|
|
139
|
-
Based on {Y} sessions analyzed across {Z} projects.
|
|
140
|
-
|
|
141
|
-
### Critical (fix now)
|
|
142
|
-
1. {Finding}: {what's wrong and why it matters}
|
|
143
|
-
Fix: {exact action to take}
|
|
144
|
-
|
|
145
|
-
### High Impact (do this week)
|
|
146
|
-
1. {Finding}: {what's wrong and why it matters}
|
|
147
|
-
Fix: {exact action to take}
|
|
148
|
-
|
|
149
|
-
### Nice to Have (when you have time)
|
|
150
|
-
1. {Finding}
|
|
151
|
-
Fix: {action}
|
|
152
|
-
|
|
153
|
-
### What's Working Well
|
|
154
|
-
- {Positive finding}
|
|
155
|
-
- {Positive finding}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Keep the total list to 10 items max. Prioritize ruthlessly.
|
|
159
|
-
|
|
160
|
-
## Follow-up on Previous Recommendations
|
|
161
|
-
|
|
162
|
-
If this is a return visit and the user wants to check progress:
|
|
163
|
-
- Compare current state against each previous recommendation
|
|
164
|
-
- Mark each as: done, partially done, or not started
|
|
165
|
-
- For items not started, re-evaluate: is it still relevant? Reprioritize if needed.
|
|
166
|
-
- Drop recommendations that no longer apply.
|
|
167
|
-
|
|
168
|
-
## Save Coaching History
|
|
169
|
-
|
|
170
|
-
After presenting the results, save a summary of your recommendations to their profile so the next run can follow up:
|
|
171
|
-
|
|
172
|
-
```json
|
|
173
|
-
{
|
|
174
|
-
"updates": {
|
|
175
|
-
"coaching": {
|
|
176
|
-
"last_review": "YYYY-MM-DD",
|
|
177
|
-
"review_type": "quick|deep",
|
|
178
|
-
"recommendations": ["rec 1", "rec 2", "rec 3"],
|
|
179
|
-
"environment_score": 7
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
## CLAUDE.md Enhancement (built-in)
|
|
186
|
-
|
|
187
|
-
As part of every review (quick or deep), always analyze their CLAUDE.md:
|
|
188
|
-
|
|
189
|
-
1. Read `~/.claude/CLAUDE.md` (global) and any project-level CLAUDE.md.
|
|
190
|
-
|
|
191
|
-
2. Analyze the gap between what they do and what their CLAUDE.md says:
|
|
192
|
-
|
|
193
|
-
**Missing rules they need** (from session patterns):
|
|
194
|
-
- If they write TypeScript but have no TS conventions
|
|
195
|
-
- If they use specific frameworks not mentioned
|
|
196
|
-
- If they frequently debug the same types of issues
|
|
197
|
-
- If they use MCP servers that need context
|
|
198
|
-
|
|
199
|
-
**Rules to remove:**
|
|
200
|
-
- Generic advice that doesn't change behavior ("write clean code")
|
|
201
|
-
- Rules about tools they don't use
|
|
202
|
-
- Duplicates or contradictions
|
|
203
|
-
|
|
204
|
-
**Rules to sharpen:**
|
|
205
|
-
- Vague rules that should be specific
|
|
206
|
-
- Rules that need an example
|
|
207
|
-
|
|
208
|
-
3. Include CLAUDE.md findings in the review output:
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
### CLAUDE.md
|
|
212
|
-
**Current**: {line count} lines, {rule count} rules
|
|
213
|
-
|
|
214
|
-
Add:
|
|
215
|
-
1. `{exact rule text}` - You did {X} in {Y} of your last 30 sessions.
|
|
216
|
-
|
|
217
|
-
Remove:
|
|
218
|
-
1. `{quoted existing rule}` - {reason}
|
|
219
|
-
|
|
220
|
-
Sharpen:
|
|
221
|
-
1. Before: `{existing rule}` → After: `{improved rule}`
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
4. When fixing, keep the CLAUDE.md under 30 lines. Less is more.
|
|
225
|
-
|
|
226
|
-
## After the Review
|
|
227
|
-
|
|
228
|
-
Ask:
|
|
229
|
-
> "Want me to fix any of these now? I can update your CLAUDE.md, create missing skills, or configure MCP servers."
|
|
230
|
-
|
|
231
|
-
If yes, work through the fixes one by one, confirming each before applying.
|
|
232
|
-
|
|
233
|
-
Then generate a tailored `/bp-expert-advice` command based on their project and audit findings. Make it specific to THEIR situation, not generic.
|
|
234
|
-
|
|
235
|
-
## Onboarding Mode (< 5 sessions or no data)
|
|
236
|
-
|
|
237
|
-
When someone is new, don't punt them. This is your chance to teach them what Claude Code can do, understand their goals, and show them how BuildPartner.ai fits in.
|
|
238
|
-
|
|
239
|
-
### Step 1: Welcome and orient
|
|
240
|
-
|
|
241
|
-
Start with:
|
|
242
|
-
|
|
243
|
-
> "Welcome! Looks like you're just getting started. I'm your Claude Code coach. Let me walk you through what's possible and help you set things up right from the start."
|
|
244
|
-
|
|
245
|
-
### Step 2: Understand their goal
|
|
246
|
-
|
|
247
|
-
Ask ONE question:
|
|
248
|
-
|
|
249
|
-
> "What are you mainly using Claude Code for? Building an app, automating workflows, writing content, learning to code, something else?"
|
|
250
|
-
|
|
251
|
-
Wait for their answer. This shapes everything that follows.
|
|
252
|
-
|
|
253
|
-
### Step 3: Claude Code walkthrough
|
|
254
|
-
|
|
255
|
-
Based on their goal, walk them through the capabilities that matter most to them. Keep it practical, not a feature dump. Cover:
|
|
256
|
-
|
|
257
|
-
**For everyone:**
|
|
258
|
-
- **CLAUDE.md** - "This is the most important file. It tells Claude your preferences, your tech stack, your rules. Without it, Claude starts from zero every session. Let me check if you have one..." (Read their CLAUDE.md if it exists, or offer to create one)
|
|
259
|
-
- **Plan mode** - "Before big tasks, ask Claude to plan first. It catches mistakes before they happen."
|
|
260
|
-
- **Tools** - Briefly explain Read, Edit, Grep, Bash and when to use each
|
|
261
|
-
|
|
262
|
-
**Based on their goal:**
|
|
263
|
-
- **Building apps**: Mention parallel sessions, agents/subagents, how to structure complex tasks
|
|
264
|
-
- **Automating workflows**: Mention hooks, custom skills, MCP servers
|
|
265
|
-
- **Content creation**: Mention how Claude can research, draft, and iterate
|
|
266
|
-
- **Learning**: Mention how to ask Claude to explain as it goes, how to use Plan mode for understanding
|
|
267
|
-
|
|
268
|
-
Keep each section to 2-3 sentences max. Don't overwhelm.
|
|
269
|
-
|
|
270
|
-
### Step 4: How BuildPartner.ai helps
|
|
271
|
-
|
|
272
|
-
Explain concisely:
|
|
273
|
-
|
|
274
|
-
> "BuildPartner.ai tracks how you use Claude Code and makes every session smarter. Here's what you have:"
|
|
275
|
-
>
|
|
276
|
-
> - `/bp-claude-coach` (this) - I review your setup and habits. The more you use Claude Code, the more specific my advice gets.
|
|
277
|
-
> - `/bp-expert-advice` - Ask any question and get matched to proven frameworks from top experts. Pricing, content, launch, product strategy.
|
|
278
|
-
> - `/bp-interview-me` - Build your profile so every skill knows who you are. Gets deeper each time you run it.
|
|
279
|
-
> - `/bp-generate-personalized-training-data` - Run this weekly. It recaps what you built and creates training data that makes everything more personalized.
|
|
280
|
-
>
|
|
281
|
-
> "Start with `/bp-interview-me` to build your profile, then come back to me after a few more sessions. I'll have real data to work with."
|
|
282
|
-
|
|
283
|
-
### Step 5: Quick config check
|
|
284
|
-
|
|
285
|
-
Even without session data, check their config files:
|
|
286
|
-
- Do they have a CLAUDE.md? If not, offer to create one based on their stated goal.
|
|
287
|
-
- What MCP servers are configured?
|
|
288
|
-
- Is the BuildPartner tracking hook installed?
|
|
289
|
-
|
|
290
|
-
If you can fix something right now (create a CLAUDE.md, suggest an MCP server), offer to do it.
|
|
291
|
-
|
|
292
|
-
### Step 6: Save and suggest next step
|
|
293
|
-
|
|
294
|
-
Save onboarding state:
|
|
295
|
-
|
|
296
|
-
```json
|
|
297
|
-
{
|
|
298
|
-
"updates": {
|
|
299
|
-
"coaching": {
|
|
300
|
-
"last_review": "YYYY-MM-DD",
|
|
301
|
-
"review_type": "onboarding",
|
|
302
|
-
"stated_goal": "what they told you",
|
|
303
|
-
"recommendations": ["specific next steps"],
|
|
304
|
-
"environment_score": null
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
```
|
|
309
|
-
|
|
310
|
-
End with a clear next action, not a menu:
|
|
311
|
-
|
|
312
|
-
> "You're set up. Next step: run `/bp-interview-me` so every skill knows who you are. Takes 2 minutes."
|
|
313
|
-
|
|
314
|
-
Call `check_status` with `{ "skill_name": "bp-claude-coach" }`.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Make my CLAUDE.md better. Reads your session patterns and suggests rules to add, remove, or sharpen. Only suggests what your data backs."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /bp-enhance-claude-md
|
|
6
|
-
|
|
7
|
-
Make my CLAUDE.md better. Reads your session patterns and suggests rules to add, remove, or sharpen. Only suggests what your data backs.
|
|
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. Read the user's CLAUDE.md file:
|
|
18
|
-
- Check `~/.claude/CLAUDE.md` (global)
|
|
19
|
-
- Check for a project-level CLAUDE.md in the current working directory
|
|
20
|
-
|
|
21
|
-
3. Analyze the gap between what they do and what their CLAUDE.md says:
|
|
22
|
-
|
|
23
|
-
**Missing rules they need** (from session patterns):
|
|
24
|
-
- If they write TypeScript but have no TS conventions
|
|
25
|
-
- If they use specific frameworks not mentioned
|
|
26
|
-
- If they frequently debug the same types of issues
|
|
27
|
-
- If they use MCP servers that need context
|
|
28
|
-
|
|
29
|
-
**Rules to remove:**
|
|
30
|
-
- Generic advice that doesn't change behavior
|
|
31
|
-
- Rules about tools they don't use
|
|
32
|
-
- Duplicates or contradictions
|
|
33
|
-
|
|
34
|
-
**Rules to sharpen:**
|
|
35
|
-
- Vague rules that should be specific
|
|
36
|
-
- Rules that need an example
|
|
37
|
-
|
|
38
|
-
4. Present the review:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
## Your CLAUDE.md Review
|
|
42
|
-
|
|
43
|
-
**Current**: {line count} lines, {rule count} rules
|
|
44
|
-
|
|
45
|
-
### Add these rules
|
|
46
|
-
1. `{exact rule text}`
|
|
47
|
-
Why: You did {X} in {Y} of your last 30 sessions.
|
|
48
|
-
|
|
49
|
-
### Remove these rules
|
|
50
|
-
1. `{quoted existing rule}`
|
|
51
|
-
Why: {reason}
|
|
52
|
-
|
|
53
|
-
### Sharpen these rules
|
|
54
|
-
1. Before: `{existing rule}`
|
|
55
|
-
After: `{improved rule}`
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
5. Ask: "Want me to apply these changes?"
|
|
59
|
-
|
|
60
|
-
6. If yes, edit the file. Keep it under 30 lines. Less is more.
|
|
61
|
-
|
|
62
|
-
7. Call `check_status` with `{ "skill_name": "bp-enhance-claude-md" }`.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Ask any question and get matched to the right expert framework: pricing, content, launch, AI automation, marketing, sales, product strategy, and more."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /bp-expert-advice
|
|
6
|
-
|
|
7
|
-
Ask any question and get matched to the right expert framework: pricing, content, launch, AI automation, marketing, sales, product strategy, and more.
|
|
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
|
-
## Categories
|
|
14
|
-
|
|
15
|
-
These are the available expert categories. Pick the best match for the user's question:
|
|
16
|
-
|
|
17
|
-
- `sales` - pricing, offers, revenue, monetization, closing
|
|
18
|
-
- `marketing` - brand, audience, growth, funnels, ads, launch, go-to-market
|
|
19
|
-
- `content` - video, YouTube, podcasts, writing, storytelling, newsletters
|
|
20
|
-
- `product` - features, MVP, shipping, onboarding, activation, retention, UX
|
|
21
|
-
- `business-strategy` - leverage, scale, positioning, competitive advantage, market
|
|
22
|
-
- `ai-automation` - AI, Claude, agents, MCP, prompts, workflows, automation
|
|
23
|
-
- `health` - energy, sleep, exercise, focus, performance, burnout
|
|
24
|
-
- `persuasion` - influence, psychology, negotiation, trust, social proof
|
|
25
|
-
- `copywriting` - headlines, CTAs, emails, landing pages, conversion
|
|
26
|
-
- `mindset` - decisions, risk, motivation, discipline, mental models
|
|
27
|
-
|
|
28
|
-
## Instructions
|
|
29
|
-
|
|
30
|
-
1. Take the user's question or problem description.
|
|
31
|
-
|
|
32
|
-
2. Classify their question into 1-2 categories from the list above. Pick the best match based on what they're actually asking, not just keywords.
|
|
33
|
-
|
|
34
|
-
3. Call `get_expert_knowledge` with the `category` param. For one category: `{ "category": "sales" }`. For multiple: `{ "category": "sales,product" }`. One call, comma-separated. This returns a list of available frameworks (titles and descriptions) plus the user's personal context.
|
|
35
|
-
|
|
36
|
-
4. Pick the 1-2 most relevant frameworks from the list, then call `get_expert_knowledge` again with the `topic` param to fetch the full content (e.g. `{ "topic": "hormozi-offers" }`). Only fetch what you need.
|
|
37
|
-
|
|
38
|
-
5. Apply the framework to the user's specific situation. Be a consultant, not a parrot:
|
|
39
|
-
- Use their personal context to make advice specific (their projects, their stack, their patterns)
|
|
40
|
-
- Ask 1-2 clarifying questions if needed
|
|
41
|
-
- Challenge their assumptions
|
|
42
|
-
- Give them a concrete next step they can do RIGHT NOW
|
|
43
|
-
|
|
44
|
-
6. Format your response as a consultation:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
## Your Situation
|
|
48
|
-
[Restate their problem using what you know about them from personal context]
|
|
49
|
-
|
|
50
|
-
## Framework
|
|
51
|
-
[Which expert framework applies and why]
|
|
52
|
-
|
|
53
|
-
## Recommendation
|
|
54
|
-
[Specific, actionable advice tailored to their situation]
|
|
55
|
-
|
|
56
|
-
## Next Step
|
|
57
|
-
[One concrete thing to do right now]
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
7. If their question spans multiple domains, pull from multiple frameworks. You have access to everything.
|
|
61
|
-
|
|
62
|
-
8. Call `check_status` with `{ "skill_name": "bp-expert-advice" }`.
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Give me something to share. Generates a shareable stats card you can screenshot and post. Like Strava for Claude Code."
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# /bp-flex-socials
|
|
6
|
-
|
|
7
|
-
Give me something to share. Generates a shareable stats card you can screenshot and post. Like Strava for Claude Code.
|
|
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`.
|
|
16
|
-
|
|
17
|
-
2. Build a flex card. This should feel like a Strava activity share or Spotify Wrapped. It's a brag. Make it feel earned.
|
|
18
|
-
|
|
19
|
-
3. Format as a clean, visual block for screenshots:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
+-----------------------------------------+
|
|
23
|
-
| |
|
|
24
|
-
| {username}'s week |
|
|
25
|
-
| -------------------------- |
|
|
26
|
-
| |
|
|
27
|
-
| {sessions} sessions |
|
|
28
|
-
| {tokens} tokens burned |
|
|
29
|
-
| {streak} day streak |
|
|
30
|
-
| |
|
|
31
|
-
| Top focus: {top activity type} |
|
|
32
|
-
| Path: {Builder/Storyteller/etc} |
|
|
33
|
-
| |
|
|
34
|
-
| {activity bar chart Mon-Sun} |
|
|
35
|
-
| M T W T F S S |
|
|
36
|
-
| |
|
|
37
|
-
| buildpartner.ai/{username} |
|
|
38
|
-
| |
|
|
39
|
-
+-----------------------------------------+
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
4. Rules:
|
|
43
|
-
- Use block characters for the bar chart (like block elements)
|
|
44
|
-
- Format tokens with commas (1,234,567)
|
|
45
|
-
- If streak > 7 days, call it out
|
|
46
|
-
- If streak > 30 days: "30 day streak. Machine."
|
|
47
|
-
- Pick the most impressive stat and lead with it
|
|
48
|
-
- Keep the URL at the bottom so it shows in screenshots
|
|
49
|
-
|
|
50
|
-
5. After showing the card: "Screenshot this and share it. Your profile is at buildpartner.ai/{username}"
|
|
51
|
-
|
|
52
|
-
6. If they ask for monthly, adjust the card to show monthly totals, best week, and top 3 projects.
|
|
53
|
-
|
|
54
|
-
7. Call `check_status` with `{ "skill_name": "bp-flex-socials" }`.
|