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.
Scanned 8/30/2026
Install to Claude Code
npx -y skills add walidboulanouar/define-done --skill define-done --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Define Done?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/walidboulanouar-define-done)More formats (shields.io, HTML) on the badges page.
---
name: define-done
description: 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.
---
# 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)
1. **3 outcomes max per day.** Not 4. Not "and maybe also." 3.
2. **Outcomes, not tasks.** Binary. "Ship X to prod" / "Send Y to client" / "Publish Z post." Not "work on X."
3. **Written the night before, not the morning.** Morning-self is optimistic. Night-self is calibrated.
4. **5pm hard stop.** Did all 3 → win. Did fewer → roll. Did more → extras don't count.
5. **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 `--bg` override the same way
- `${user_config.hard_stop_time}` → use in stamps (e.g. `17:00 HARD STOP` instead of `5PM 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:
```html
<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:
1. **Be concrete, name the artifact.** "Send X" beats "work on X." Same logic as Claude Code: name the file, not the topic.
2. **One sentence per outcome, present tense, verb-first.** Mirrors the prompt-engineering rule: short, declarative, no preamble.
3. **No "and."** If you write "and" inside an outcome, split it or kill one half. (Like Claude Code: one tool call per intent.)
4. **No dependencies inside one day.** Outcome 2 cannot depend on outcome 1 shipping. Otherwise day = brittle.
5. **Use the user's voice:** lowercase, direct, no hedge words. Match CLAUDE.md.
6. **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-verify` to confirm render
- If outcomes mention LinkedIn posts → chain `linkedin-hooks` or `content`
- If outcomes mention client proposals → chain `proposal-builder`
- If outcomes mention prospect outreach → chain `cold-dance` or `enrich`
## 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:
1. Ask: "3 outcomes per day or draft from active projects?"
2. Apply rules to each outcome
3. Generate HTML at `008_Builds/define-done/2026-06-10-define-done.html`
4. Screenshot with vision-verify
5. Return: file path + 1-line summary
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!