complete-todo
Skill0 starsChanged 29 days agoMITView on GitHub
Close a todo: mark it completed (or cancelled), move it to todos/completed/, append a line to each related entity's Interactions, fix inbound links, and update STATE.md if an outcome changed. Use when the user says: done with X, sent the email, had the call, the meeting happened, that's cancelled, no longer needed.
In this repository16 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-entrySkill
- add-todoSkill
- deadlinesSkill
- financeSkill
- financial-summarySkill
- kb-add-folderSkill
- kb-archiveSkill
- kb-auditSkill
- kb-promoteSkill
- kbSkill
- kb-synthesizeSkill
- meetingSkill
- studySkill
- study-statusSkill
- study-unstudiedSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Add one line under a ## Outcome heading in the body: what happened, or why it was cancelled, with the date and who said so.
- Very specific: line 27
If the user wants to add a note/outcome beyond the todo title (e.g., "advisor replied yes, meeting on Tuesday"), use /add-entry with type …
≈ “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
/complete-todo <slug>
Usage: /complete-todo 2026-04-20-example-slug.
- Acquire
runs/.lock. - Read
todos/<slug>.md. - Update frontmatter:
status: completedandcompleted_at: <today>; or, when the task is moot or dropped,status: cancelledandcompleted_at: <today>.- Add one line under a
## Outcomeheading in the body: what happened, or why it was cancelled, with the date and who said so. A meeting-type todo always gets its outcome recorded, even "happened, nothing notable".
- Move file:
git mv todos/<slug>.md todos/completed/<slug>.md(cancelled todos move there too; the status tells them apart). - Auto-merge to related entities (NO permission prompt):
For each wikilink in the todo's
related:frontmatter field:- Resolve the target file path
- If the target is a team-member README (path like
team/<slug>/README.mdorteam/<slug>resolving to it): append- YYYY-MM-DD — <todo title>to the bottom ofteam/<slug>/interactions.mdinstead. Create that sidecar if it doesn't exist (copyteam/founder-template/interactions.md— no frontmatter, a## Logheading). Do NOT touch the README's## Interactionssection — it just points at the sidecar. - Otherwise (advisor, decision, comparison, project, etc.): if the target file has an existing
## Interactionssection, append- YYYY-MM-DD — <todo title> (<outcome in a few words>)under it. If no## Interactionssection exists, create one just before## Related(or at the end if no## Related). - Skip the append for cancelled todos unless the cancellation itself is news for that entity.
- Inbound links.
kb-lintresolves links to a moved todo throughtodos/completed/, so nothing breaks; when you touch a file that links to it anyway, rewrite the link to the new path. - Keep current truth current. Ask: does this change what is true now — an outcome, a status, a number, a price, a decision, who someone is? If yes: (a) edit the matching line in
STATE.mdand bump itsas-of:date; (b) update the hub README if the entity has one (seeALIASES.md); (c) add a new row toALIASES.mdfor any new recurring name, nickname or transcript mis-spelling; (d) put a one-line outcome banner on older files that still read as open. Stage these in the same commit set. Skip silently if nothing changed. - Stage all modified files by explicit path (the moved todo + every related entity touched +
STATE.md/hub if changed) + commit:todo: complete <slug>ortodo: cancel <slug>. Push. - Release the lock.
If the user wants to add a note/outcome beyond the todo title (e.g., "advisor replied yes, meeting on Tuesday"), use /add-entry with type advisor-event (or whatever fits) — separate from completion.
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.

