due
Carry an obligation with an actual target or costly deadline, completion evidence, self-check and recurrence.
Skill by MichaelZelbel
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/michaelzelbel-due
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/due
What's inside
- Skill name
due- Description
- Carry an obligation with an actual target or costly deadline, completion evidence, self-check and recurrence. Ask its missing questions once; use the installed native command and shared notebook reminder gate.
- License
- MIT
- Instructions
- 259 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- due-room.md · reference/
SKILL.md (first lines)
# Obligations and reminders
## Installed entry points
In normal chat or the notebook personal-command form, use `/due` followed by the command below. In the isolated native assistant terminal, use `mc-due`. The wrapper binds the current workspace; never override it with `--godspeed` or use a personal engine installation. `mc-due help` shows the actual installed command contract.
This recipe retains the complete obligation workflow. Calendar creation, updates and deletion require the person's exact approval. Calendar bookkeeping is local and works with no account. Read `reference/due-room.md` for bands, targets, windows and the canonical file format.
## What this is
Your mission control keeps track of the things in the person's life that have a last day, or a day
they would like them done by. It gets louder as a last day comes, and goes quiet the moment a thing
is done. The design target is **hundreds** of them (credentials, domains, taxes, contracts,
insurance, timesheets, returns, health checks, promises to people), so nothing here may cost
anything per obligation.
**The rule that shapes every decision: one skill, one runner, N data files, one output gate.**
Adding obligation 301 means adding a file under `due/`. If a change to this recipe would have to be
repeated per obligation, it is the wrong change.
**Read `reference/due-room.md` before your first run.** The three dates (start, target, deadline) and how
each combination behaves, the strip, the bands, the three states, the file format and the gate are
all defined there and are not restated here.
**Read `../watch/SKILL.md` too.** This recipe is its sibling and follows the same law: four
questions asked once, one skill for all of them, a hard cap on what can reach the person. One thing is
deliberately inverted. For a watch topic, a finding that expires unread is a correct outcome. For
an obligation it is exactly the failure, so an obligation inside its window outranks any watch
finding, and a window that ended without being closed stays open and stays red.
## The modes
### `add`: creating one
The person says "my timesheet is due every month". Ask them **four questions, once, ever:**
1. **What is true when this is finished?**
2. **"Is there a day after which this costs you something, or is it a day you'd like to have it done
by?"** Ask it in those plain words. A day after which it costs them is the **deadline**
(`--to`); a day they would like it done by is the **target** (`--target`); it can be both (a tax
return: aim for the end of January, must by the end of February). Many things only have a
target, and that is a full answer. If the first day they can start is not today, ask for that
one too (`--from`); otherwise leave it out and it is today.
3. **What does it cost you if it slips?** Only when there is a deadline: it is what ranks two reds.
A target alone costs nothing when missed, by definition, so do not make them invent a cost.
4. **How could your mission control tell you did it, without asking you?** (the self check)
Plus: does it repeat, and how often.
```
mc-due add <slug> --title "<in their words>" [--from YYYY-MM-DD] \
--target YYYY-MM-DD and/or --to YYYY-MM-DD \
--done-when "<answer 1>" [--cost "<answer 3>, needed with --to"] \
--self-check none|secret-changed|file-newer [--self-check-arg X] \
[--repeats monthly|yearly|"every N days"] [--link <https url>]
```
**Ask question four every single time, even when you already know the answer is "it cannot".**
Knowing which kind of obligation this is changes what gets built around it, and an obligation that
cannot check itself is legitimate, not second class. It says so and waits for the person's word.
**Never interview them again after that.** Same discipline as the watch skill and for the same
reason.
**NO DATE, NOT ELIGIBLE.** If they can say neither a last day nor a day they would like it done by,
this is not an obligation and it does not go in here. "Someday" is not a target; "by the end of May" is. For an undated request to discuss something with a person, use `../talk-about/SKILL.md`.
For other undated requests, offer a note or a watch topic. The tool refuses it
anyway, in those words, but you should not need the tool to refuse you.
**Never invent a date.** If you do not know when the window opens, ends or is aimed at, ask them for
that one date and nothing else. Never turn a target they gave into a deadline, or a deadline into a
target: which one it is changes everything about how loud it gets. Before you ask, search: the notebook tools `search_knowledge` and `search_notes`, the chat
history, the page itself. The search is the check.
### `run`: the daily runner
```
mc-due check # roll the windows forward, run the self checks, close what is provably done
```
That is the whole job on a normal day, and it is arithmetic and file reads, not judgment. It needs
no model at all, which is why the installed deadline-reminder routine runs this check without asking the model. You are here
for the three things arithmetic cannot do: creating one, closing one on the person's word, and the calendar.
### `close`: they say they did it
```
mc-due done <slug> --evidence "<what shows it: a receipt, a link, or their own words>"
```
That writes the closing as an event in `world/events/` (`closes: [due/<slug>#<first day>]` plus an
`evidence:` line); the `due/` file keeps only the plan and is never edited to say done. A
hand-written or life-capture event with `closes:` and `evidence:` closes it just the same, and
`mc-due state` shows what closed each one.
**Never close an obligation on an inference.** "They mentioned the tax adviser" is not "they filed the
return". If a self check cannot prove it, the person's word is the only thing that closes it, and the event
must carry what shows it: an event without `evidence:` closes nothing. **Their word includes doing it
with you:** when they approve, send or publish the thing in this session, that is their word; close it
before the session ends and never ask them to say "close it" afterwards. The installed notebook and chat use the same obligation files and event evidence. At the end of work that actually completes one, run `mc-due done` with that evidence. Do not infer completion from discussion or a saved draft. The deadline reminders routine runs the self checks every morning; Settings > Routines shows whether it is switched on and when it last ran.
### `target`: their answer after a target passed
A target with no deadline asks once, the morning after it passed: "<title>: on <day they set it> you
told me you would like this done by <day>. That day was yesterday, so I am asking once: a new date,
or as soon as you can? Reply with a new date and I stay quiet until that day; reply "as soon as you
can" and it stays on your list with a short line in the morning brief about once a week; reply "drop
it" and nothing mentions it again. No reply counts as "as soon as you can"." Days are said the way a
person says them ("10 March"). Whatever channel their answer arrives on, it goes here ("drop it" goes
to `drop`, below):
```
mc-due target <slug> YYYY-MM-DD # a new day: quiet until then, one mention, the question again if it passes
mc-due target <slug> asap # as soon as they can: written into its log, nothing else changes
```
"As soon as you can" and no answer behave the same, on purpose: it stays open and is mentioned
about once a week, in the brief only, until it is done or dropped. So never chase them for an
answer, and never ask the question a second time yourself. The same command gives a target to anFrom MichaelZelbel/godspeed-mission-control, MIT.
More from MichaelZelbel/godspeed-mission-control
- 0.570score
excalidraw-visuals
MichaelZelbel
Use when someone asks for a hand-drawn visual, PNG image, rendered diagram, visual explanation, visualization, or says "make a visual" or "draw a visual".
SkillAFreshness: AClaude Code +9 - 0.567score
book-title-strategist
MichaelZelbel
Generate, evaluate, and validate marketable titles and subtitles for nonfiction books.
SkillAFreshness: AClaude Code +9 - 0.565score
connect-email
MichaelZelbel
Connect the person's Gmail to the mission control when they say "connect Gmail for me", "connect my email", "can you read my email", "set up email", "Gmail…
SkillAFreshness: AClaude Code +9 - 0.565score
context-setup
MichaelZelbel
Getting to know your owner after the technical setup, in a short chat you lead.
SkillAFreshness: AClaude Code +9 - 0.565score
cycle-tracker
MichaelZelbel
The person's own cycle tracker, for her period.
SkillAFreshness: AClaude Code +9 - 0.565score
excalidraw-diagram
MichaelZelbel
Use when someone asks to draw a diagram, make an Excalidraw diagram, or build an editable diagram.
SkillAFreshness: AClaude Code +9 - 0.565score
coach
MichaelZelbel
Coaching talks and daily habits.
SkillAFreshness: AClaude Code +9 - 0.565score
food-tracker
MichaelZelbel
The person's own food tracker.
SkillAFreshness: AClaude Code +9 - 0.565score
browser-post
MichaelZelbel
Use when a Planino browser posting job is queued or named ("post job 12 now", "post the queued browser jobs", the waker's prompt).
SkillAFreshness: AClaude Code +9 - 0.561score
audit
MichaelZelbel
Audit the selected Godspeed Mission Control installation across context, connections, capabilities and cadence, with evidence and three ranked structural…
SkillAFreshness: AClaude Code +9 - 0.561score
daily-brief
MichaelZelbel
Collect dated evidence, write and check one morning note, rehearse without live side effects, and explain the exact delivered version.
SkillAFreshness: AClaude Code +9 - 0.555score
book-title-creator
MichaelZelbel
Creates, audits, compares, improves, and validates marketable book titles and subtitles.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 10
- Last commit (this folder)
- Oct 18, 2026 (11 days ago)
- Last release
- Oct 24, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- leanpub.com/teachitonce
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MichaelZelbel
- 0.570score
excalidraw-visuals
MichaelZelbel
Use when someone asks for a hand-drawn visual, PNG image, rendered diagram, visual explanation, visualization, or says "make a visual" or "draw a visual".
SkillAFreshness: AClaude Code +9 - 0.567score
book-title-strategist
MichaelZelbel
Generate, evaluate, and validate marketable titles and subtitles for nonfiction books.
SkillAFreshness: AClaude Code +9 - 0.565score
coach
MichaelZelbel
Coaching talks and daily habits.
SkillAFreshness: AClaude Code +9 - 0.565score
context-setup
MichaelZelbel
Getting to know your owner after the technical setup, in a short chat you lead.
SkillAFreshness: AClaude Code +9 - 0.565score
cycle-tracker
MichaelZelbel
The person's own cycle tracker, for her period.
SkillAFreshness: AClaude Code +9 - 0.565score
connect-email
MichaelZelbel
Connect the person's Gmail to the mission control when they say "connect Gmail for me", "connect my email", "can you read my email", "set up email", "Gmail…
SkillAFreshness: AClaude Code +9
Cite this page
due skill. Agent Mart. https://agentmart.dev/skills/michaelzelbel-due (last updated 2026-10-24)