agent-browser
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Reconcile the promises you made and the asks you received across meetings and notes into a clear owner/due/source list, then — only with your confirmation — turn the real ones into tracked tasks. Use when the user says 'what did I promise', 'what am I on the hook for', 'anything
Claude Code
$ npx -y skills add davekilleen/Dex --skill commitments --agent claude-code
Codex
$ npx skills add davekilleen/Dex --skill commitments -a codex -y
Cursor
$ npx skills add davekilleen/Dex --skill commitments -a cursor -y
Gemini CLI
$ npx skills add davekilleen/Dex --skill commitments -a gemini-cli -y
GitHub Copilot
$ npx skills add davekilleen/Dex --skill commitments -a github-copilot -y
OpenCode
$ npx skills add davekilleen/Dex --skill commitments -a opencode -y
Windsurf
$ npx skills add davekilleen/Dex --skill commitments -a windsurf -y
name: commitments description: "Reconcile the promises you made and the asks you received across meetings and notes into a clear owner/due/source list, then — only with your confirmation — turn the real ones into tracked tasks. Use when the user says 'what did I promise', 'what am I on the hook for', 'anything I owe people', 'loose ends', or after a run of meetings. Also use proactively during daily-plan/daily-review when uncaptured commitments surface. Not for tracking work you handed off to others; use `delegate-check`. Not for recording a decision you made; use `decision-log`."
Small interpersonal promises are where trust is won or lost — "I'll send that over," "can you review this?" — and they evaporate because they never become tracked commitments. This skill surfaces them from what you already captured, and turns the real ones into tasks **only when you say so**.
Governing rule: **do not rebuild the data layer.** The Work MCP already ships the scanner — `get_commitments_due` reads recent meeting notes and person-page action items and returns them bucketed by due date. This skill is a thin **present → confirm → create** layer on top of it. It does not re-scan, add a store, or touch the extraction logic.
---
`$RANGE`: optional — `today` (default), `this-week`, or `all`. Maps to the tool's `date_range`.
Call `get_commitments_due(date_range=$RANGE)`. It returns `commitments_due_today`, `commitments_due_this_week`, `commitments_no_date`, plus `owed_overdue`, `waiting_stale`, and `ambiguous_action_dates`. Each item carries `commitment`, `due_date`, `source` (the meeting file or person page), and, for person-page items, `to_person`.
Person-page dates are split. Only `i_owe_date` can be overdue (`owed_overdue` / due today). `waiting_on_date` is a wait — list it under asks you received, never as overdue. A leftover `next_action_date` is `ambiguous_action_dates`: show it as undirected and do not mark it overdue. When writing a date on a person page, set `i_owe_date` or `waiting_on_date`, never `next_action_date`.
If `get_commitments_due` returns a `feature_status` other than `ok`, follow the standard contract (surface the user-facing message it returns; never invent a result). If it errors or the Work MCP is unavailable, say so plainly and stop — do not fabricate a commitments list.
**Optional enrichment (degrades silently):** if ScreenPipe is active and opted-in, you may also fold in the `commitment-scan` (agent skill) results as an extra source. If ScreenPipe is absent — the normal case — skip it entirely and say nothing about it. The shipped skill must never depend on the beta.
For each candidate, check it isn't already a task before showing it (Work MCP's `create_task` similarity gate is the backstop, but pre-filtering means the user isn't asked about things already captured). Drop obvious duplicates; keep near-matches but mark them "possibly already tracked."
Show two short lists so the user sees both sides of the ledger:
Direction is **inferred** from phrasing and `to_person`, not a field the scanner provides — so when a commitment's direction is genuinely unclear, put it under a third **Unclear** heading rather than guessing wrong. Each row shows: the commitment, the person (by name), the `source` (meeting or person page, by name), and the `due_date` (or "no date"). Refer to people and sources by name, never by id or file path noise.
If nothing is found, say so plainly ("No open commitments surfaced from the last two weeks of meetings and your person pages") — do not pad the list.
Nothing is written without the user's say-so. Offer, per item, three choices: **create a task** / **already handled** / **not a real commitment**. Only the items the user picks become tasks. This is the no-write-without-authority discipline — do not batch-create, and do not create anything the user didn't confirm.
For each confirmed item, call Work MCP `create_task` (infer the pillar per the CLAUDE.md pillar-inference rules; carry the `source` into the task context so the commitment stays traceable). Then **read back what was created** — confirm each task ID and title — before reporting. Say exactly what you made: "Created 3 tasks: [task-…] …, [task-…] …". Never report "done / captured" without the created task IDs in hand. If a `create_task` call fails or is deduped as an existing task, say that honestly for that item rather than counting it as created.
---
A good run reflects **only real, still-open commitments**, splits them into what the user owes vs is owed, creates **exactly** the tasks the user confirmed, and reports them back by their real task IDs. The user should never be surprised by a task they didn't approve, nor told something was captured that wasn't.
One personal Dex, built around your work. Keep your priorities, people, meeting notes and tasks in a folder you own. Work with Dex through your AI app to plan the day, prepare for a meeting or follow through on a promise.
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating…
This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…
Capture solved problems as categorized documentation with YAML frontmatter for fast lookup
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…