Define done
Plan 3 binary outcomes per day, hard-stop at 5pm. Branded HTML accountability tracker that fixes the 'AI made me feel behind' problem. Claude Code plugin.
npx -y skills add walidboulanouar/define-done --skill define-doneAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Generate a branded HTML accountability tracker for the next N days using the "Define Done" ritual. Takes 3 outcomes per day max (binary, shippable, no fluff), applies Walid's prompting principles for Claude Code, and outputs a self-contained HTML file ready to pin in a browser tab. Use when the user says "define done", "plan my next 3 days", "build my weekly outcomes", "set my goals for the week", "what should I ship this week", or any request to plan daily outcomes with accountability.
SKILL.md
6.9 KB, as published. Nobody here has run it
Define Done — Accountability HTML Generator
What this skill does
Takes N days of goals from the user, applies the "Define Done" ritual rules, and writes a single self-contained HTML file to 008_Builds/define-done/{YYYY-MM-DD}-define-done.html.
The HTML is designed to live in a browser tab and be checked twice a day:
- 8am: open it, do outcome 1
- 5pm: tick the checkboxes, close laptop
The Define Done Ritual (rules baked into this skill)
- 3 outcomes max per day. Not 4. Not "and maybe also." 3.
- Outcomes, not tasks. Binary. "Ship X to prod" / "Send Y to client" / "Publish Z post." Not "work on X."
- Written the night before, not the morning. Morning-self is optimistic. Night-self is calibrated.
- 5pm hard stop. Did all 3 → win. Did fewer → roll. Did more → extras don't count.
- Weekly metric: how many days hit 3/3, not total tasks shipped.
When to invoke
Triggers:
- "define done"
- "plan my next [N] days"
- "set my outcomes for this week"
- "what should I ship this week"
- "build my weekly tracker"
- "make me an accountability page"
- "plan tomorrow" (default N=1)
Workflow
Step 1 — Gather inputs
Ask ONE question if missing:
"What 3 outcomes per day for the next [N] days? Or want me to draft them from your active projects?"
If the user says "draft them" → read 01_Projects/Clients/Active/INDEX.md, 01_Projects/Internal/AY_Automate/AY_AUTOMATE_HQ.md, and 02_Areas/Sales/Pipeline/ for current priorities. Propose 3 outcomes per day, ask for sign-off, then generate.
Step 2 — Apply the rules
Before writing the HTML, audit each outcome:
- ✗ "Work on the proposal" → reject. Not binary.
- ✓ "Send Acme proposal to Sarah" → accept.
- ✗ "Make progress on AYn8n" → reject. Vague.
- ✓ "Publish 5 workflows to AYn8n with screenshots" → accept.
- ✗ "Review the codebase" → reject. No ship.
- ✓ "Ship onboarding screen 1 to prod" → accept.
If any outcome fails, rewrite it before generating.
Step 3 — Generate the HTML
Use the template at templates/tracker-template.html. Replace these markers:
| Marker | What to inject |
|---|---|
{{TITLE}} | e.g. "Week of Jun 10 — Define Done" |
{{START_DATE}} | First day, formatted "Mon · Jun 10" |
{{END_DATE}} | Last day, formatted "Sun · Jun 16" |
{{TODAY_LABEL}} | "Today is Tuesday, Jun 11" (or current day) |
{{DAYS_HTML}} | The repeated day blocks (see template) |
{{NORTH_STAR}} | One sentence: the weekly anchor (e.g. "ship 2 client builds, publish 3 posts") |
{{RITUAL_NOTE}} | Customizable footer note. Default: the 4-line ritual reminder. |
{{BRAND_TAG}} | From ${user_config.brand_name}. Default: DEFINE DONE |
{{SIGNATURE}} | From ${user_config.signature}. Default: DEFINE DONE · MIT LICENSED |
Applying user config (plugin mode)
When this skill runs inside the installed plugin, read these env-injected values from ${user_config.*}:
${user_config.brand_name}→{{BRAND_TAG}}${user_config.accent_color}→ inject<style>:root{--accent:VALUE}</style>before</head>${user_config.background_color}→ inject--bgoverride the same way${user_config.hard_stop_time}→ use in stamps (e.g.17:00 HARD STOPinstead of5PM HARD STOP)${user_config.outcomes_per_day}→ cap N per day; reject extras${user_config.signature}→{{SIGNATURE}}
If ${user_config.*} is not available (skill used outside plugin), fall back to template defaults.
For each day, emit a day block:
<div class="day">
<div class="day-head">
<div class="day-name">{{DAY_NAME}}</div>
<div class="day-date">{{DAY_DATE}}</div>
</div>
<ol class="outcomes">
<li><label><input type="checkbox"><span>{{OUTCOME_1}}</span></label></li>
<li><label><input type="checkbox"><span>{{OUTCOME_2}}</span></label></li>
<li><label><input type="checkbox"><span>{{OUTCOME_3}}</span></label></li>
</ol>
<div class="day-foot">
<span class="stamp">5PM HARD STOP</span>
<span class="score" data-day="{{DAY_INDEX}}">0/3</span>
</div>
</div>
Step 4 — Save and verify
Save to: 008_Builds/define-done/{YYYY-MM-DD}-define-done.html where {YYYY-MM-DD} = start date.
After writing, screenshot it with vision-verify to confirm it renders. Use viewport 1120x780 for the screenshot.
Step 5 — Deliver
Return:
- File path of the HTML
- File path of the screenshot
- One-line summary: e.g. "Tracker for 5 days · 15 outcomes · file ready to pin in browser"
- Optional: suggest setting macOS to open this file on browser startup
Prompting principles to embed (when drafting outcomes)
These come from the user's CLAUDE.md and from how Claude Code works best:
- Be concrete, name the artifact. "Send X" beats "work on X." Same logic as Claude Code: name the file, not the topic.
- One sentence per outcome, present tense, verb-first. Mirrors the prompt-engineering rule: short, declarative, no preamble.
- No "and." If you write "and" inside an outcome, split it or kill one half. (Like Claude Code: one tool call per intent.)
- No dependencies inside one day. Outcome 2 cannot depend on outcome 1 shipping. Otherwise day = brittle.
- Use the user's voice: lowercase, direct, no hedge words. Match CLAUDE.md.
- Bias to "ship to someone." Internal "review" = no ship. External "send / publish / merge / deploy" = ship.
Output location
008_Builds/define-done/
2026-06-10-define-done.html ← N-day tracker
2026-06-10-define-done.png ← screenshot for review
Chain to other skills
- After generating → suggest
vision-verifyto confirm render - If outcomes mention LinkedIn posts → chain
linkedin-hooksorcontent - If outcomes mention client proposals → chain
proposal-builder - If outcomes mention prospect outreach → chain
cold-danceorenrich
Anti-slop rules for this skill
- No emojis in the HTML
- No em-dashes (—) — use middle dot · instead
- No "Additionally" / "Crucial" / "Delve" / "Landscape"
- Headlines lowercase
- Monospace stamps only for system/meta text (5PM HARD STOP, day index)
- No motivational copy. The system is mechanical, not inspirational.
Example invocation
User: "build my define-done tracker for the next 5 days"
Claude:
- Ask: "3 outcomes per day or draft from active projects?"
- Apply rules to each outcome
- Generate HTML at
008_Builds/define-done/2026-06-10-define-done.html - Screenshot with vision-verify
- Return: file path + 1-line summary