app-growth-design 1.0.0 → 1.0.2
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/README.md +19 -34
- package/bin/install.mjs +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
# app-growth-design
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/app-growth-design)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
|
|
3
6
|
A Claude Code skill for the decisions that actually move an app: **onboarding, paywalls, pricing, retention, gamification, growth loops and screen-level craft.**
|
|
4
7
|
|
|
5
8
|
It is not another "be a helpful product expert" prompt. It is a knowledge base — 5.7 hours of teardowns from [Tim Gabe's YouTube channel](https://www.youtube.com/@TimGabe) compressed into six playbooks where every non-obvious claim carries a `[NN]` marker back to the video it came from, and every case study keeps its numbers.
|
|
6
9
|
|
|
7
10
|
```bash
|
|
8
|
-
npx
|
|
11
|
+
npx app-growth-design
|
|
9
12
|
```
|
|
10
13
|
|
|
11
14
|
That's it. Pick user-wide or project-only, restart Claude Code, and the skill loads itself whenever you're working on one of those problems.
|
|
@@ -41,18 +44,21 @@ Same for the rest:
|
|
|
41
44
|
|
|
42
45
|
```bash
|
|
43
46
|
# interactive — asks user-wide or project-only
|
|
44
|
-
npx
|
|
47
|
+
npx app-growth-design
|
|
45
48
|
|
|
46
49
|
# non-interactive
|
|
47
|
-
npx
|
|
48
|
-
npx
|
|
49
|
-
npx
|
|
50
|
+
npx app-growth-design --user # ~/.claude/skills/app-growth-design
|
|
51
|
+
npx app-growth-design --project # ./.claude/skills/app-growth-design
|
|
52
|
+
npx app-growth-design --dir ~/some/skills
|
|
50
53
|
|
|
51
54
|
# later
|
|
52
|
-
npx
|
|
53
|
-
npx
|
|
55
|
+
npx app-growth-design --force # update in place
|
|
56
|
+
npx app-growth-design --uninstall
|
|
54
57
|
```
|
|
55
58
|
|
|
59
|
+
Straight from the repo works too, if you'd rather skip the registry:
|
|
60
|
+
`npx github:bixxter/app-growth-design`
|
|
61
|
+
|
|
56
62
|
Node 18+. No dependencies — the installer is one file that copies `skill/` into your skills directory and nothing else.
|
|
57
63
|
|
|
58
64
|
Prefer to do it by hand? `cp -r skill ~/.claude/skills/app-growth-design`. It works in anything that reads the [Agent Skills](https://code.claude.com/docs/en/skills) format.
|
|
@@ -67,34 +73,13 @@ The problem with turning a YouTube channel into agent knowledge is that the naiv
|
|
|
67
73
|
|
|
68
74
|
So the pipeline is built around one idea: **the frames are not decoration, they are the missing half of the content.**
|
|
69
75
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
2 ──┤ dedupe rolling captions, regroup → 49,629 words, ~30s blocks
|
|
76
|
-
│ into ~30s timestamped blocks (4.4× smaller, addressable)
|
|
77
|
-
│
|
|
78
|
-
3 ──┤ yt-dlp: 480p video, 3-wide → 510 MB, deleted after stage 4
|
|
79
|
-
│
|
|
80
|
-
4 ──┤ ONE AGENT PER VIDEO, in parallel: → 30 notes / 118,660 words
|
|
81
|
-
│ read transcript → find the moments 1,161 frames extracted
|
|
82
|
-
│ where meaning is on screen, not in 476 described in-line
|
|
83
|
-
│ the audio → ffmpeg those timestamps
|
|
84
|
-
│ → actually LOOK at the frames →
|
|
85
|
-
│ write a structured note
|
|
86
|
-
│ ↓
|
|
87
|
-
│ second agent re-reads each note against the transcript and
|
|
88
|
-
│ fixes what's missing — unresolved "this screen", dropped numbers,
|
|
89
|
-
│ verbatim bloat, vague filler rules
|
|
90
|
-
│
|
|
91
|
-
5 ──┤ SIX AGENTS, one per theme, each → 6 playbooks / 55,241 words
|
|
92
|
-
│ reading across all 30 notes: + SKILL.md router (2,378 words)
|
|
93
|
-
│ merge, resolve contradictions,
|
|
94
|
-
│ keep every number and product name
|
|
95
|
-
```
|
|
76
|
+
<!-- generated — edit docs/diagrams.mjs and run `node docs/diagrams.mjs`, don't hand-edit the SVG -->
|
|
77
|
+
<picture>
|
|
78
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/bixxter/app-growth-design/main/docs/flow-dark.svg">
|
|
79
|
+
<img alt="Two streams enter: captions, deduped from 220,498 to 49,629 words, and 510 MB of 480p video. Both feed an enrich agent that runs once per video — read the transcript, find where meaning is on screen, cut those frames and look at them, write a structured note — followed by a verify agent. Out come 30 notes, 118,660 words and 1,161 frames, which six theme agents turn into six playbooks and a SKILL.md router." src="https://raw.githubusercontent.com/bixxter/app-growth-design/main/docs/flow-light.svg">
|
|
80
|
+
</picture>
|
|
96
81
|
|
|
97
|
-
Note what happens to the word count
|
|
82
|
+
Note what happens to the word count in the middle: the notes come out **more than twice the size of the speech**. That's the whole point — 1,161 screenshots put back what the captions lost.
|
|
98
83
|
|
|
99
84
|
Three details that turned out to matter more than expected:
|
|
100
85
|
|
package/bin/install.mjs
CHANGED
|
@@ -23,9 +23,9 @@ const red = s => c('31', s)
|
|
|
23
23
|
const HELP = `
|
|
24
24
|
${bold('app-growth-design')} — install the skill into Claude Code
|
|
25
25
|
|
|
26
|
-
${cyan('npx
|
|
27
|
-
${cyan('npx
|
|
28
|
-
${cyan('npx
|
|
26
|
+
${cyan('npx app-growth-design')} pick a target interactively
|
|
27
|
+
${cyan('npx app-growth-design --user')} ~/.claude/skills/${SKILL}
|
|
28
|
+
${cyan('npx app-growth-design --project')} ./.claude/skills/${SKILL}
|
|
29
29
|
|
|
30
30
|
Options
|
|
31
31
|
--user, --global install for every project on this machine (default)
|
|
@@ -130,7 +130,7 @@ async function main() {
|
|
|
130
130
|
${cyan('"design a streak that does not backfire"')}
|
|
131
131
|
|
|
132
132
|
The skill loads itself when the topic matches. To force it: ${cyan(`/${SKILL}`)}
|
|
133
|
-
${dim(
|
|
133
|
+
${dim(`Uninstall: npx ${SKILL} --uninstall`)}
|
|
134
134
|
`)
|
|
135
135
|
}
|
|
136
136
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "app-growth-design",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Claude Code skill: app onboarding, paywalls, pricing, retention, gamification and growth — distilled from 30 Tim Gabe teardowns into six source-marked playbooks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|