ethan-agent-skills 0.1.0 β 0.2.0
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 +157 -5
- package/package.json +1 -1
- package/skills/fix-my-life/SKILL.md +57 -0
- package/skills/fix-my-life/phase-1-excavation.md +98 -0
- package/skills/fix-my-life/phase-2-design.md +141 -0
- package/skills/fix-my-life/phase-3-commit.md +124 -0
- package/skills/fix-my-life/skill.json +5 -0
- package/skills/pdf-extract/SKILL.md +42 -160
- package/skills/pdf-extract/references/manual-implementation.md +141 -0
- package/skills/pdf-extract/scripts/pdf_extract.py +97 -5
- package/skills/pdf-extract/skill.json +2 -2
- package/skills/skill-evolution/.env.example +11 -0
- package/skills/skill-evolution/CONTRIBUTING.md +53 -0
- package/skills/skill-evolution/LICENSE +21 -0
- package/skills/skill-evolution/README.md +254 -0
- package/skills/skill-evolution/ROADMAP.md +32 -0
- package/skills/skill-evolution/SKILL.md +66 -0
- package/skills/skill-evolution/references/eval-mode.md +73 -0
- package/skills/skill-evolution/references/maturity.md +44 -0
- package/skills/skill-evolution/references/merge.md +87 -0
- package/skills/skill-evolution/references/publish.md +78 -0
- package/skills/skill-evolution/references/reflect-mode.md +69 -0
- package/skills/skill-evolution/references/search.md +77 -0
- package/skills/skill-evolution/references/structure.md +156 -0
- package/skills/skill-evolution/scripts/audit.py +206 -0
- package/skills/skill-evolution/scripts/install.py +163 -0
- package/skills/skill-evolution/scripts/lib/__init__.py +60 -0
- package/skills/skill-evolution/scripts/lib/supabase.py +128 -0
- package/skills/skill-evolution/scripts/merge.py +269 -0
- package/skills/skill-evolution/scripts/publish.py +325 -0
- package/skills/skill-evolution/scripts/review.py +155 -0
- package/skills/skill-evolution/scripts/search.py +152 -0
- package/skills/skill-evolution/scripts/uninstall.py +73 -0
- package/skills/skill-evolution/setup.sql +357 -0
- package/skills/skill-evolution/skill.json +5 -0
- package/skills/smzdm-picks/SKILL.md +108 -0
- package/skills/smzdm-picks/scripts/fetch.sh +296 -0
- package/skills/smzdm-picks/skill.json +5 -0
package/README.md
CHANGED
|
@@ -25,6 +25,9 @@ npx -y ethan-agent-skills@latest update --target /tmp/test-skills
|
|
|
25
25
|
npx -y ethan-agent-skills@latest list
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
+
Current common bundled skills include `pdf-extract`, `skill-evolution`,
|
|
29
|
+
`fix-my-life`, and `smzdm-picks`, plus the client-specific OpenSpec OPSX skills.
|
|
30
|
+
|
|
28
31
|
The updater writes `.skills-lock.json` in each target skill root and only
|
|
29
32
|
rewrites skills managed by this package. If a destination skill directory exists
|
|
30
33
|
but is not recorded in the lock file, the updater reports a conflict and leaves
|
|
@@ -88,8 +91,14 @@ npm login
|
|
|
88
91
|
npm publish --access public
|
|
89
92
|
```
|
|
90
93
|
|
|
94
|
+
### Automated Release Workflow
|
|
95
|
+
|
|
91
96
|
This repo includes `.github/workflows/publish.yml` for automated publishing
|
|
92
|
-
with npm Trusted Publishing.
|
|
97
|
+
with npm Trusted Publishing. The package `ethan-agent-skills@0.1.0` has already
|
|
98
|
+
been published manually, so do not create or push a `v0.1.0` tag now. That tag
|
|
99
|
+
would try to publish the same version again and fail.
|
|
100
|
+
|
|
101
|
+
One-time setup:
|
|
93
102
|
|
|
94
103
|
1. Push this repository to GitHub.
|
|
95
104
|
2. On npmjs.com, open the package settings for `ethan-agent-skills`.
|
|
@@ -98,16 +107,159 @@ with npm Trusted Publishing. To enable it:
|
|
|
98
107
|
- Organization or user: `EthenZhang`
|
|
99
108
|
- Repository: `my_agent_skill`
|
|
100
109
|
- Workflow filename: `publish.yml`
|
|
101
|
-
|
|
110
|
+
Trusted Publishing uses GitHub OIDC, so no long-lived `NPM_TOKEN` secret is
|
|
111
|
+
required.
|
|
112
|
+
|
|
113
|
+
Normal release flow:
|
|
102
114
|
|
|
103
115
|
```bash
|
|
116
|
+
npm run test:local
|
|
117
|
+
npm run pack:check
|
|
104
118
|
npm version patch
|
|
105
119
|
git push --follow-tags
|
|
106
120
|
```
|
|
107
121
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
122
|
+
`npm version patch` updates `package.json` and `package-lock.json`, creates a
|
|
123
|
+
commit, and creates a tag like `v0.1.1`. Pushing the tag triggers the workflow,
|
|
124
|
+
which runs validation and publishes the tagged version to npm.
|
|
125
|
+
|
|
126
|
+
### Publishing Skill Updates
|
|
127
|
+
|
|
128
|
+
When you change a skill, a normal `git push origin main` only updates GitHub.
|
|
129
|
+
It does not publish a new npm version. To make the change available through
|
|
130
|
+
`npx -y ethan-agent-skills@latest update`, publish a new package version:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Edit skill files first, then:
|
|
134
|
+
npm run test:local
|
|
135
|
+
npm run pack:check
|
|
136
|
+
git add .
|
|
137
|
+
git commit -m "Update <skill-name> skill"
|
|
138
|
+
npm version patch
|
|
139
|
+
git push --follow-tags
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Use `patch` for routine skill edits and fixes. Use `minor` when adding a new
|
|
143
|
+
skill or a meaningful new CLI capability. Use `major` only for breaking changes.
|
|
144
|
+
|
|
145
|
+
After the GitHub Actions publish job succeeds, users can refresh local skills:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
npx -y ethan-agent-skills@latest update
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
For minor or major releases, use:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm version minor
|
|
155
|
+
# or
|
|
156
|
+
npm version major
|
|
157
|
+
git push --follow-tags
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
If the workflow fails:
|
|
161
|
+
|
|
162
|
+
- Check the GitHub Actions run logs first.
|
|
163
|
+
- If npm says the version already exists, bump to a new version and push a new
|
|
164
|
+
tag.
|
|
165
|
+
- If npm says trusted publishing is not configured, confirm the npm package
|
|
166
|
+
settings still point to `EthenZhang/my_agent_skill` and `publish.yml`.
|
|
167
|
+
|
|
168
|
+
The workflow can also be started manually from the GitHub Actions tab, but tag
|
|
169
|
+
pushes are the preferred release path because they tie npm versions to Git
|
|
170
|
+
history.
|
|
171
|
+
|
|
172
|
+
### Importing Existing Local Skills
|
|
173
|
+
|
|
174
|
+
Use this flow when a useful skill already exists under a local agent directory
|
|
175
|
+
such as `~/.claude/skills/<skill-dir>` and should become part of this package.
|
|
176
|
+
|
|
177
|
+
1. Choose the package destination:
|
|
178
|
+
- Put cross-client skills in `skills/<skill-dir>`.
|
|
179
|
+
- Put Claude-only skills in `claude/skills/<skill-dir>`.
|
|
180
|
+
- Put Codex-only skills in `codex/skills/<skill-dir>`.
|
|
181
|
+
- Put source-command or agent-only skills in `agents/skills/<skill-dir>`.
|
|
182
|
+
2. Inspect the source before copying:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
SOURCE="$HOME/.claude/skills/<skill-dir>"
|
|
186
|
+
rg --files -uu "$SOURCE"
|
|
187
|
+
rg -n "(secret|password|token|api[_-]?key|PRIVATE|sk-[A-Za-z0-9])" "$SOURCE"
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Do not copy real `.env` files, private keys, generated caches, or unrelated
|
|
191
|
+
local state. Placeholder files such as `.env.example` are fine.
|
|
192
|
+
|
|
193
|
+
3. Copy the skill into the package:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
DEST="skills/<skill-dir>"
|
|
197
|
+
rm -rf "$DEST"
|
|
198
|
+
cp -R "$SOURCE" "$DEST"
|
|
199
|
+
find "$DEST" -type d -name "__pycache__" -prune -exec rm -rf {} +
|
|
200
|
+
find "$DEST" -name "*.pyc" -delete
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
4. Add or update `skill.json` beside `SKILL.md`:
|
|
204
|
+
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"name": "<trigger-or-display-name>",
|
|
208
|
+
"version": "0.1.0",
|
|
209
|
+
"description": "Short description used by the package list command."
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Keep the `SKILL.md` frontmatter name unchanged when the existing trigger name
|
|
214
|
+
should remain stable. For example, a directory can be `skill-evolution` while
|
|
215
|
+
the skill frontmatter name remains `skill-dev`.
|
|
216
|
+
|
|
217
|
+
5. Verify local discovery and install behavior:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
node bin/skills.mjs list
|
|
221
|
+
node bin/skills.mjs update --dry-run --target /tmp/test-skills --client claude
|
|
222
|
+
npm run test:local
|
|
223
|
+
npm run pack:check
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
`npm run pack:check` should show the new `SKILL.md`, `skill.json`, references,
|
|
227
|
+
and scripts in the tarball contents.
|
|
228
|
+
|
|
229
|
+
6. Commit and push the imported skill:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
git status --short
|
|
233
|
+
git add README.md skills/<skill-dir>
|
|
234
|
+
git commit -m "Add <skill-dir> skill"
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
Adjust the `git add` path if the skill was copied into `claude/`, `codex/`, or
|
|
238
|
+
`agents/` instead of `skills/`.
|
|
239
|
+
|
|
240
|
+
7. Publish a new npm version:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
npm version minor
|
|
244
|
+
git push --follow-tags
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Use `minor` for adding a new skill. Use `patch` if the skill was already
|
|
248
|
+
published and only its content changed.
|
|
249
|
+
|
|
250
|
+
8. Confirm the automated release:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
npm view ethan-agent-skills version --json
|
|
254
|
+
npx -y ethan-agent-skills@latest list
|
|
255
|
+
npx -y ethan-agent-skills@latest update --dry-run --target /tmp/test-skills --client claude
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
After the new version appears on npm, users can refresh with:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
npx -y ethan-agent-skills@latest update
|
|
262
|
+
```
|
|
111
263
|
|
|
112
264
|
## OpenSpec OPSX Usage
|
|
113
265
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fix-my-life
|
|
3
|
+
description: Interactive life-fixing session. Use when user says "fix my life", "life review", "I'm stuck", "help me change", or "/fix-my-life".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fix My Life
|
|
7
|
+
|
|
8
|
+
An interactive 3-phase session. Concise. Direct. No fluff.
|
|
9
|
+
|
|
10
|
+
**Inspired by**: Dan Koe's "How to Fix Your Entire Life in 1 Day"
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Core Insight
|
|
15
|
+
|
|
16
|
+
> You don't have bad habits. You have an identity that requires them.
|
|
17
|
+
> Change the identity β behavior follows automatically.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Flow
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Phase 1: EXCAVATE β Understand current state & hidden desires
|
|
25
|
+
Phase 2: DESIGN β Build the life game (vision + anti-vision)
|
|
26
|
+
Phase 3: COMMIT β Output the game plan
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Each phase: ask β listen β reflect β move forward.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- Ask **one question at a time**
|
|
36
|
+
- Wait for the answer before proceeding
|
|
37
|
+
- Reflect back key insights in **1-2 sentences**
|
|
38
|
+
- Use **lists** over paragraphs
|
|
39
|
+
- Be direct. Comfort is the enemy here.
|
|
40
|
+
- If answer is vague β ask one follow-up to sharpen it
|
|
41
|
+
- Better utilize the USER.md file
|
|
42
|
+
- Always use the user's language.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Entry Point
|
|
47
|
+
|
|
48
|
+
When invoked, say exactly:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
**Fix My Life** β 3-phase session.
|
|
52
|
+
|
|
53
|
+
Quick question first:
|
|
54
|
+
What made you do this today? (1-3 words)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Then load and follow `phase-1-excavation.md`.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Phase 1: Excavate
|
|
2
|
+
|
|
3
|
+
**Goal**: Surface what's actually broken and what's actually wanted.
|
|
4
|
+
|
|
5
|
+
**Time**: ~10 min of honest answers.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Opening
|
|
10
|
+
|
|
11
|
+
After getting the entry answer, say:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Good. Let's dig.
|
|
15
|
+
|
|
16
|
+
I'll ask 5 questions. Short answers are fine.
|
|
17
|
+
Honest answers are required.
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## The 5 Questions
|
|
23
|
+
|
|
24
|
+
Ask one at a time. After each answer, reflect with 1 line before asking next.
|
|
25
|
+
|
|
26
|
+
### Q1 β The Complaint Test
|
|
27
|
+
```
|
|
28
|
+
List your top 3 complaints about your life right now.
|
|
29
|
+
(These are clues, not problems.)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
*Why*: Complaints reveal what we value but aren't getting.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
### Q2 β The Behavior Mirror
|
|
37
|
+
```
|
|
38
|
+
What do you spend most of your time on that you're not proud of?
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
*Why*: Behavior is honest. It shows your real identity.
|
|
42
|
+
|
|
43
|
+
*If vague*: "Give me a specific example from yesterday."
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### Q3 β The 5-Year Reel
|
|
48
|
+
```
|
|
49
|
+
If nothing changes β same habits, same identity, same choices β
|
|
50
|
+
where are you in 5 years?
|
|
51
|
+
|
|
52
|
+
Describe it in 3 bullets.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
*Why*: Future-pain is the most honest motivator.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### Q4 β The Desire Beneath the Desire
|
|
60
|
+
```
|
|
61
|
+
What do you actually want?
|
|
62
|
+
Not what you think you should want. What you actually want.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
*If answer is surface-level* (e.g., "more money"):
|
|
66
|
+
```
|
|
67
|
+
Okay. What would "more money" give you that you don't have now?
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Keep drilling until they hit something emotional.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### Q5 β The Identity Cost
|
|
75
|
+
```
|
|
76
|
+
If you became the person who achieves that β what would you have to give up?
|
|
77
|
+
(Habits, relationships, beliefs, comfort zones)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
*Why*: This is where resistance lives. Name it.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Phase 1 Close
|
|
85
|
+
|
|
86
|
+
After all 5 answers, summarize:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
**What I'm hearing:**
|
|
90
|
+
|
|
91
|
+
- Biggest gap: [their complaint β their desire, distilled]
|
|
92
|
+
- Hidden fear: [what they'd have to give up]
|
|
93
|
+
- The real problem: identity, not circumstance
|
|
94
|
+
|
|
95
|
+
Ready for Phase 2?
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Load `phase-2-design.md`.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Phase 2: Design the Game
|
|
2
|
+
|
|
3
|
+
**Goal**: Turn insights into a concrete game structure.
|
|
4
|
+
|
|
5
|
+
**Framework**: Life is a video game. Structure it like one.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
Say:
|
|
12
|
+
```
|
|
13
|
+
Now we build the game.
|
|
14
|
+
|
|
15
|
+
Your life already has a win condition.
|
|
16
|
+
You just haven't defined it clearly enough to play.
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Step 1 β Anti-Vision (The Stakes)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Describe the life you absolutely refuse to live.
|
|
25
|
+
3 years from now, worst case.
|
|
26
|
+
|
|
27
|
+
Use "I am..." statements.
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
*Example output*:
|
|
31
|
+
- I am still in the same job I hate
|
|
32
|
+
- I am heavier, more tired, less alive
|
|
33
|
+
- I am someone my past self would be disappointed by
|
|
34
|
+
|
|
35
|
+
**After they answer**, reflect:
|
|
36
|
+
```
|
|
37
|
+
Good. That's your "Game Over" screen.
|
|
38
|
+
Keep it visible. It's fuel.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Step 2 β Vision MVP (The Win Condition)
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Now the opposite.
|
|
47
|
+
|
|
48
|
+
3 years from now, if things go right:
|
|
49
|
+
- What does your work look like? (1 line)
|
|
50
|
+
- What does your body/health look like? (1 line)
|
|
51
|
+
- What do your relationships look like? (1 line)
|
|
52
|
+
- How do you feel when you wake up? (1 word)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
*Keep it concrete. Not "be happy." "Wake up excited about my work."*
|
|
56
|
+
|
|
57
|
+
**After they answer**, distill to:
|
|
58
|
+
```
|
|
59
|
+
**Your Win Condition**: [1-sentence synthesis]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Step 3 β Build the Quest Log
|
|
65
|
+
|
|
66
|
+
### Main Quest (1 Year)
|
|
67
|
+
```
|
|
68
|
+
To move toward that 3-year vision β
|
|
69
|
+
what's the ONE thing you could accomplish this year
|
|
70
|
+
that would make everything else easier?
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
*Must be specific and measurable.*
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Boss Fight (This Month)
|
|
78
|
+
```
|
|
79
|
+
What project, if completed this month,
|
|
80
|
+
would be the biggest step toward that 1-year goal?
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### Daily Quests (This Week)
|
|
86
|
+
```
|
|
87
|
+
Name 3 daily actions that move the needle.
|
|
88
|
+
|
|
89
|
+
Format: [action] β [outcome it creates]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
*Example*:
|
|
93
|
+
- Write 500 words β builds the book
|
|
94
|
+
- No phone before 9am β protects deep work
|
|
95
|
+
- 30 min walk β clears head, resets energy
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### Rules (Personal Constraints)
|
|
100
|
+
```
|
|
101
|
+
What are 2-3 rules you need to protect your progress?
|
|
102
|
+
|
|
103
|
+
Format: "I don't [behavior]" or "I always [behavior]"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
*Example*:
|
|
107
|
+
- I don't check messages before 10am
|
|
108
|
+
- I always ship something before consuming content
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Phase 2 Close
|
|
113
|
+
|
|
114
|
+
Compile their full game:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
**YOUR LIFE GAME**
|
|
118
|
+
|
|
119
|
+
π Win Condition: [their 3-year vision]
|
|
120
|
+
π Game Over: [their anti-vision]
|
|
121
|
+
|
|
122
|
+
πΊοΈ Main Quest (1 year): [their 1-year goal]
|
|
123
|
+
βοΈ Boss Fight (this month): [their monthly project]
|
|
124
|
+
|
|
125
|
+
π Daily Quests:
|
|
126
|
+
- [action 1]
|
|
127
|
+
- [action 2]
|
|
128
|
+
- [action 3]
|
|
129
|
+
|
|
130
|
+
π Rules:
|
|
131
|
+
- [rule 1]
|
|
132
|
+
- [rule 2]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Then say:
|
|
136
|
+
```
|
|
137
|
+
One phase left. The hardest one.
|
|
138
|
+
Ready?
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Load `phase-3-commit.md`.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Phase 3: Commit
|
|
2
|
+
|
|
3
|
+
**Goal**: Convert the game plan into a saved document + one immediate action.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Commitment Problem
|
|
8
|
+
|
|
9
|
+
Most people fail here. Not because of bad plans.
|
|
10
|
+
Because they never commit to the identity behind the plan.
|
|
11
|
+
|
|
12
|
+
Say:
|
|
13
|
+
```
|
|
14
|
+
The game is designed. Now the real question:
|
|
15
|
+
|
|
16
|
+
Who do you need to become to win this game?
|
|
17
|
+
|
|
18
|
+
Name that person in 3 words or less.
|
|
19
|
+
(Example: "focused creator", "disciplined builder", "present father")
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Identity Lock
|
|
25
|
+
|
|
26
|
+
After they answer, say:
|
|
27
|
+
```
|
|
28
|
+
From now on, every decision runs through one filter:
|
|
29
|
+
|
|
30
|
+
"What would [their 3 words] do here?"
|
|
31
|
+
|
|
32
|
+
That's it. That's the whole system.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## The One Action
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
What's ONE thing you can do in the next 24 hours
|
|
41
|
+
that signals β to yourself β that you're now playing this game?
|
|
42
|
+
|
|
43
|
+
Not a big thing. A real thing.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
*Must be specific. "Start journaling" is not specific. "Write 3 sentences tonight" is.*
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Save the Game
|
|
51
|
+
|
|
52
|
+
Say:
|
|
53
|
+
```
|
|
54
|
+
I'll save this as your Game Plan.
|
|
55
|
+
Want me to save it to your workspace?
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
If yes β write to `workspace/outputs/life-game-{YYYY-MM-DD}.md` with this template:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# Life Game β {date}
|
|
62
|
+
|
|
63
|
+
## Identity
|
|
64
|
+
**I am**: {their 3 words}
|
|
65
|
+
|
|
66
|
+
## Stakes
|
|
67
|
+
**Win**: {3-year vision}
|
|
68
|
+
**Game Over**: {anti-vision}
|
|
69
|
+
|
|
70
|
+
## Quest Log
|
|
71
|
+
|
|
72
|
+
| Quest | Description |
|
|
73
|
+
|-------|-------------|
|
|
74
|
+
| Main Quest (1 year) | {1-year goal} |
|
|
75
|
+
| Boss Fight (this month) | {monthly project} |
|
|
76
|
+
| Daily Quest 1 | {action} β {outcome} |
|
|
77
|
+
| Daily Quest 2 | {action} β {outcome} |
|
|
78
|
+
| Daily Quest 3 | {action} β {outcome} |
|
|
79
|
+
|
|
80
|
+
## Rules
|
|
81
|
+
{rules as bullet list}
|
|
82
|
+
|
|
83
|
+
## Next Action (24h)
|
|
84
|
+
- [ ] {their one action}
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
*Generated by fix-my-life skill*
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Closing
|
|
93
|
+
|
|
94
|
+
After saving (or if they decline), say:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
**Session complete.**
|
|
98
|
+
|
|
99
|
+
What you did today:
|
|
100
|
+
- Named what's broken (most people never do this)
|
|
101
|
+
- Designed a system, not just a goal
|
|
102
|
+
- Committed to an identity
|
|
103
|
+
|
|
104
|
+
The gap between who you are and who you want to be
|
|
105
|
+
is just a series of daily quests.
|
|
106
|
+
|
|
107
|
+
Start yours today.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Optional: Weekly Check-in
|
|
113
|
+
|
|
114
|
+
If they want accountability, say:
|
|
115
|
+
```
|
|
116
|
+
One more thing β set a reminder for 7 days from now.
|
|
117
|
+
|
|
118
|
+
Ask yourself:
|
|
119
|
+
- Did I run my daily quests?
|
|
120
|
+
- Did I make progress on the boss fight?
|
|
121
|
+
- Did I act like [their identity]?
|
|
122
|
+
|
|
123
|
+
That's the whole review. Keep it short. Keep playing.
|
|
124
|
+
```
|