set-goals
Skill39 starsChanged 23 days agoMITView on GitHub
Write or renew the project's 6 week goal in GOALS.md, and close the previous cycle in a few lines drafted from git history. Walks the stages from a working loop on your phone, into the stores, to the first 100 weekly users and beyond, each with a default goal to edit. Use when the user says "set my goal", "new cycle", "what should I focus on", "my goal ended", or when session end has said the current cycle is over.
In this repository21 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- build-a-baselineSkill
- connect-toolsSkill
- extract-lessonsSkill
- fact-checkSkill
- feature-demoSkill
- improve-skillSkill
- lean-outSkill
- mine-communitySkill
- one-time-surfaceSkill
- port-featureSkill
- reference-huntSkill
- researchSkill
- screen-atlasSkill
- search-pagesSkill
- see-it-workSkill
- session-endSkill
- setupSkill
- shipSkill
- store-listingSkill
- syncSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 6 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Read before asking: Read GOALS.md, CURRENT_WORK.md, the rules file and app.json first.
- Distinctive: line 43
Never nag: Do not raise goals unless the user asked or invoked this skill.
- Distinctive: line 44
If they are behind, say it once, plainly, then help.
- Very specific: line 52
Read GOALS.md and pick one case:
- Very specific: line 63
Run git log --since=<cycle start> --oneline and read CURRENT_WORK.md.
- Distinctive: line 64
Ask once, in one block, about work that leaves no commit: store approvals or rejections, testers who actually opted in, account or payment …
- Distinctive: line 105
Gate to the next stage: Default from the stage.
- Distinctive: line 107
Before writing, check for things that run on the calendar rather than on effort: store review times, tester periods, account verification, …
- Very specific: line 113
Write the new Current cycle section, show the whole file change, and write it on a yes.
- Distinctive: line 118
Do not rewrite anything. Read the current cycle and recent commits, then answer in a few lines:
- Very specific: line 127
If the user wants to change the goal mid cycle, edit the current cycle in place and add one line under it: Changed on <date>: <why>.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Set goals
One small file, GOALS.md, holds one 6 week goal. This skill writes it, renews it
when the cycle ends, and closes the old cycle in a few lines. The point is a plan
that never goes stale silently, not a planning ritual.
The file format is fixed. Setup writes it from templates/goals.md in the setup
skill and session end reads it, so keep exactly these headings:
# Goals
## Current cycle: <YYYY-MM-DD> to <YYYY-MM-DD>
**Goal:** <one sentence, with the end date>.
**The one number:** <what shows it is working, and its target>.
**Must dos:**
- [ ] <must do>
**Not this cycle:** <what you are deliberately not doing>.
**Gate to the next stage:** <what has to be true before moving on>.
## Past cycles
Closed cycles move here, newest first, each with a few lines on what happened.Rules
- One question at a time, each with a default, so "yes" or a few words is enough. Same style as setup.
- Read before asking. Read
GOALS.md,CURRENT_WORK.md, the rules file andapp.jsonfirst. Only ask what they do not answer. - Never nag. Do not raise goals unless the user asked or invoked this skill. If they are behind, say it once, plainly, then help.
- Never mark anything done without the user confirming it.
- Never overwrite
GOALS.mdwithout showing the change and getting a yes. - Dates in
YYYY-MM-DD. A cycle is 6 weeks: the end date is the start plus 42 days. - Plain words. No long dashes in anything you write into the file.
1. Find out where things stand
Read GOALS.md and pick one case:
| Case | What to do |
| No file | Go to step 3. Mention that setup normally writes this file, then carry on. |
| Current cycle, end date passed | Step 2, then step 3. |
| Current cycle, still running, user asked to start over | Step 2 (close it early, say so in the lines), then step 3. |
| Current cycle, still running, "what should I focus on" | Step 4 only. |
2. Close the cycle
- Run
git log --since=<cycle start> --onelineand readCURRENT_WORK.md. - Ask once, in one block, about work that leaves no commit: store approvals or rejections, testers who actually opted in, account or payment setup, people talked to, the one number's current value. Offer "nothing else" as the default.
Draft the closing lines yourself from the commits and the answers. A few lines, no more:
### <start> to <end>: <the goal, short> Met / partly met / not met. The one number: <target>, ended at <actual or "not measured">. Done: <must dos finished, in plain words>. Dropped: <open must dos, one reason each>. Learned: <one line worth carrying into the next cycle>.- Show the draft and ask "Anything to change?" Default: keep it.
- Move it under Past cycles, below the intro line and above older entries (newest first). Never rewrite or delete older past cycles.
Describe what a person can now do with the app, not code names. "Purchases work on a real phone" beats "fixed the purchase hook".
3. Set the next cycle
Work out the stage from the last gate, the closed cycle and the project state,
then confirm it in one line: "Looks like you are at into the stores. Right?"
Stages and their default goals are in references/stages.md. If the last gate
was not met, the default is to stay on the same stage with a smaller goal, not
to move on.
Then ask, one at a time, each with the stage default filled in for this app:
- The goal. One sentence with the end date. Offer the default, edited to fit the app's own loop.
- The one number. What shows it works, with a target. One number, not a dashboard. If it cannot be measured yet, measuring it becomes a must do.
- Must dos. 3 to 5, each small enough to tick. Default: the stage's list plus any dropped must do from the closed cycle that still matters. Order them so the last one is the first to cut on a bad week, and say so.
- Not this cycle. The things they will be tempted by. Default: the stage's anti goals plus anything from the backlog that looks shiny. Remind them that new ideas go to the backlog, not into this cycle.
- Gate to the next stage. Default from the stage.
Before writing, check for things that run on the calendar rather than on effort: store review times, tester periods, account verification, a name that blocks the listing. If one applies, the must do that starts that clock goes first. Check the current official rule before stating a store requirement; do not quote numbers from memory.
Write the new Current cycle section, show the whole file change, and write it
on a yes. Offer to commit GOALS.md alone.
4. Mid cycle: what to focus on
Do not rewrite anything. Read the current cycle and recent commits, then answer in a few lines:
- Days left, must dos ticked and open.
- The one open must do to do next, and why (calendar clocks first, then whatever unblocks the gate).
- One plain line if they are behind, naming which must do to cut, using the order set in step 3.
If the user wants to change the goal mid cycle, edit the current cycle in place
and add one line under it: Changed on <date>: <why>. Changing a goal on purpose
is fine. Letting it drift silently is the failure this skill exists to stop.
Finish
One short summary: the cycle closed (one line), the new goal and end date, the first must do. Session end ticks must dos from here on and gives one reminder when the cycle ends; nothing else will chase the user.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

