---
name: unblockd
description: Run projects in Unblockd through its MCP tools, keeping the plan, tasks, proof, blockers, and sponsor asks current. Use when the user works on a project tracked in Unblockd, asks for a status or daily check-in, or needs something from their sponsor.
metadata:
  version: "1.0.0"
  setup: https://unblockd.ai/setup.md
---

# Unblockd

To install: save this file as `.claude/skills/unblockd/SKILL.md` (Claude Code) or `~/.codex/skills/unblockd/SKILL.md` (Codex), or add it to your assistant's instructions or project knowledge.

Unblockd keeps projects moving. The plan is Outcomes, served by Deliverables; each deliverable holds Activities, and tasks sit in an activity or straight on the deliverable. A deliverable can wait on others. Progress is measured by deliverables, and a deliverable counts once it is accepted with proof.

## Start here
1. `list_projects` (pass `workspace` if you belong to several; `list_workspaces` shows them), then `get_project` with the project key (like "SUP") for the plan and its ids.
2. Refer to tasks by key ("SUP-12").
3. Each project names the person the team waits on in its own way (`counterpart`: sponsor by default, or client, executive, owner, or a custom word). "Client" in tool names means that person; say the project's word to the user.

## Daily check-in
Call `standup` (no project) for the user's plate, then `triage_needs_attention` for what to do first; each item names the tool to call next. For one project, `standup` with its key, or `project_summary` with period "today". Lead with what changed and what is stuck, then what is due this week. Keep it short.

## From notes to work
Read the notes yourself, then `plan_from_text` with what you found (it saves nothing and returns a diff and a confirm code). Show the diff; after the user agrees, `apply_plan` with the same arguments and the code. Many task changes at once go through `bulk_update_tasks` (all or nothing).

## Keep the plan honest
- Put work under the deliverable it produces. `create_task` adds it, owned by the user, with an optional due date; change owner, reviewer, due date, or status with `update_task` (the changes in one call land together or not at all). A task moves to review only with a reviewer.
- A task is done only with evidence. Attach the PR, doc, link, meeting notes, decision, or test with `add_evidence`, then set status to done. Sign-off evidence is recorded by a person in Unblockd.
- Mark a deliverable accepted with `accept_deliverable` once its proof is attached.
- Edit the plan with `update_deliverable` (title, start and due dates, weight, or hiding it from the sponsor; showing it is a person's step), `update_goal`, `update_line`, and `update_project`; reorder with `move_item`; archive with `archive_item` (confirm first). `save_project_as_template` keeps a project's shape for next time.

## Your plate and what changed
- `my_work` lists the user's open tasks and reviews across projects; `whats_changed` says what others did since they last looked (it marks nothing as seen); `project_history` filters the full trail by who acted; `project_timeline` shows what is overdue, what is projected to slip, what has no dates yet (with suggested dates to apply through `schedule_deliverables` once the user agrees), and how long the sponsor kept things waiting.

## Connected tools
- `list_connected_tools`, then `list_available_sources` and `link_source` to tie a board, repo, or space to a project. Starting a new project from a tool's board is one call: `create_project` with `source` (provider, sourceId, and import to bring its open items in as tasks). `list_importable_items` and `import_items` bring tickets in as tasks that follow the tool; `add_doc_as_proof` attaches pages from docs tools. `sync_source` re-reads a source now. Connecting a tool is an admin's step in Settings.
- If the user's tool can't be connected yet, `list_requestable_tools` shows what's here, what's available on request, and the tools people ask for; `request_tool` files a request for them (confirm the tool first). The team reads every request and emails the user if they add the tool.

## People on the sponsor's side
- `list_client_people`, `invite_client_person`, `update_client_person`, `remove_client_person`. Each person can carry a label (Sponsor, Client, Exec, Owner, or your own word). Nobody is emailed from here: a person sends access links from the People tab.

## When work waits on someone
- `flag_blocker` on the task, deliverable, or activity, with who has to clear it. Blockers stay inside the team unless shared.
- `draft_ask` gives the blocker's context and checks your wording before anything is saved.
- If the sponsor must decide, `ask_client_decision` with two or three short, written options and your recommendation, and `addressee` to ask one person (the main contact or an approver; viewers can't be asked). It waits under Asks until a person on the team shares it, and replies to sponsor questions (`reply_to_client`) wait the same way: nothing an agent writes reaches the sponsor on its own.
- Sponsor updates and the weekly digest are drafts too: `review_update` and `write_update_note` prepare today's update, `draft_weekly_digest` previews the digest, and a person sends or holds each one in Unblockd.
- Automations: a workspace admin can turn on automatic sending of digests and daily updates, escalation of unanswered asks, fresh links for sponsors, importing new items from linked sources, and chat alerts. `list_automations` shows what is on and when it acts. `hold_update` stops today's update from sending by itself; it then waits for a person. You can't turn any of them on or off: that is an admin's step in Settings → Automations. When the user asks for one, say so and link the page.
- Following up an ask (nudge, a new deadline, escalate) is a person's step in Asks. Show the user the follow-up state from `needs_attention` and suggest which one.
- If the sponsor must do something rather than choose, `ask_client_intervention` prepares it the same way. `comment_on_blocker` adds a team note to a blocker that isn't shared.
- Risks: `log_risk`, then `update_risk` as the plan changes, `review_risk` when it still stands, `turn_risk_into_blocker` when it happens, `close_risk` when it's over.
- `resolve_blocker` once it clears.

## Boundaries
- Ask the user before adding, changing, or removing people on the sponsor's side, and before linking or unlinking a source.
- Ask the user before anything the sponsor will see: outcomes, deliverables, and activities (shared by default), accepting a deliverable, evidence on a deliverable, or preparing an ask. Sharing a blocker or an ask with the sponsor is a person's step in Unblockd.
- Never invent progress or evidence. If something is unclear, ask.
- Errors from the tools explain what is missing (for example, evidence before done). Fix the cause; don't retry blindly.

## Tools
**Read**
- `list_workspaces`: Your workspaces; pass one as `workspace` on any tool if you belong to several
- `list_projects`: Projects with health, progress, and open sponsor asks
- `get_project`: The plan: outcomes, deliverables with their activities and tasks, blockers, risks
- `list_tasks`: Tasks filtered by deliverable, status, owner, priority, or due date
- `get_task`: One task with its evidence and blockers
- `needs_attention`: Sponsor questions, asks waiting, answers to act on, your reviews and overdue work
- `project_summary`: A daily or weekly digest for a check-in
- `list_change_requests`: Changes asked of the plan, open or decided, with what moved
- `team_workload`: Who is overdue, busy, or stretched across projects
- `my_work`: Your open tasks and reviews across projects, by due date
- `whats_changed`: What others changed since you last looked, per project or everywhere
- `project_history`: Full history filtered by who acted: people, sponsor, assistants, tools
- `project_timeline`: Deliverables in time: start, due, overdue, projected finish, undated work and suggested dates
- `list_task_comments`: A task's team-only comment thread
- `list_client_people`: Who is on the sponsor's side and whether their link is live
- `search_workspace`: Find projects, tasks (by key or title), deliverables, people, and open blockers
- `project_forecast`: On track, at risk, or slipping, with the projected finish and every late deliverable
- `project_momentum`: How fast the sponsor answers and blockers clear, deliverables accepted, and the trend
- `client_home_projects`: Every project one person on the sponsor's side is on, with progress, asks waiting on them, and the next deliverable due

**Run the day**
- `standup`: What changed, what's blocked, and what's due, for a project or your whole plate
- `triage_needs_attention`: Everything waiting on the team, ranked, with the exact next tool call
- `plan_from_text`: Preview notes or a plan as tasks, asks, and decisions, or a new project; saves nothing
- `apply_plan`: Apply a previewed plan with its confirm code, all at once
- `bulk_update_tasks`: Change status, owner, due date, priority, or deliverable, or archive, on many tasks in one all-or-nothing step

**Plan**
- `create_project`: Start a blank project, optionally linking a connected tool's board, project, or list and bringing its open items in as tasks
- `update_project`: Rename a project, or change its purpose, target date, or word for who you wait on
- `create_outcome`: Add an outcome the sponsor cares about
- `update_outcome`: Rename an outcome, or hide it from the sponsor
- `create_deliverable`: Add a deliverable and choose the outcomes it serves
- `set_deliverable_outcomes`: Change which outcomes a deliverable serves
- `create_activity`: Add an activity inside a deliverable
- `update_activity`: Rename an activity, set its lead or window, or hide it from the sponsor
- `update_deliverable`: Change a deliverable's title, start or due date, or weight, or hide it from the sponsor
- `schedule_deliverables`: Set start and due dates on several deliverables at once
- `set_waits_on`: Set which deliverables a deliverable waits on
- `move_item`: Move an outcome, deliverable, activity, or task up or down among its siblings
- `accept_deliverable`: Mark a deliverable accepted, or reopen it
- `archive_item`: Archive an outcome, deliverable, activity, or task; it stays in the history
- `archive_project`: Archive a finished or paused project; nothing is deleted
- `restore_project`: Bring an archived project back as it was

**Templates**
- `list_templates`: Project templates to start from: the built-in shapes and your saved ones
- `create_project_from_template`: Start a project from a template, with dates counted from its start and likely asks as team-only risks
- `save_project_as_template`: Save a project's shape as a template; people, status, and dates stay behind
- `rename_template`: Rename one of your saved templates
- `delete_template`: Delete one of your saved templates; projects started from it keep everything

**Work**
- `create_task`: Add a task to a deliverable, optionally inside one of its activities
- `move_task_to_activity`: Move a task into one of its deliverable's activities, or out of them
- `update_task`: Change status, priority, owner, reviewer, due date, or details, all at once or not at all
- `add_evidence`: Attach proof (PR, doc, link, notes, decision, test) to a task or deliverable
- `comment_on_task`: Leave a team-only note on a task

**Unblock**
- `flag_blocker`: Record what is stuck and who clears it
- `comment_on_blocker`: Add a team note to a blocker the sponsor doesn't see yet
- `ask_client_decision`: Prepare a decision with written options for your team to send
- `ask_client_intervention`: Prepare an ask for the sponsor to do something, and by when, for your team to send
- `draft_ask`: Compose a one-tap sponsor ask from a blocker and preview it as a card; saves nothing
- `resolve_blocker`: Close a blocker once it clears
- `reply_to_client`: Draft an answer to a sponsor's question for your team to send
- `raise_change_request`: Record a change to dates or scope someone asked for
- `triage_change_request`: Suggest accepting, declining, or asking the sponsor about a change

**Risks**
- `log_risk`: Record something that could go wrong
- `update_risk`: Edit an open risk: priority, why it matters, the plan, review date, or owner
- `review_risk`: Record that a risk was looked at and still stands, and when to look again
- `turn_risk_into_blocker`: A risk that happened becomes a team-only blocker on the work it holds up
- `close_risk`: Close a risk that passed, was handled, or is accepted

**Sponsor updates**
- `draft_client_update`: The one-page sponsor status update as email text; a person sends it from Unblockd
- `review_update`: Show today's sponsor update draft as a card for a person to approve
- `write_update_note`: Write the opening line of today's sponsor update for a person to approve
- `draft_weekly_digest`: Preview this week's sponsor digest for a person to send: progress, what changed, asks waiting
- `set_weekly_digest`: Turn a project's weekly digest on or off; a person sends each one, unless an admin set it to send automatically
- `skip_weekly_digest`: Skip this week's digest draft so nobody sends it, automatically or by hand
- `list_automations`: See which automations an admin turned on and when they act; read only
- `hold_update`: Stop today's update from sending by itself, so a person decides

**People on the sponsor's side**
- `invite_client_person`: Add someone on the sponsor's side to a project; a person sends their link
- `update_client_person`: Change someone's role on the sponsor's side, or add their email
- `remove_client_person`: Take someone off the sponsor's side; their links stop working

**Connected tools**
- `list_connected_tools`: Tools your admin connected (Jira, Asana, GitHub, Monday, docs tools)
- `list_available_sources`: What a connected tool offers to link: boards, projects, repos, spaces
- `link_source`: Link one of them to a project
- `unlink_source`: Unlink a source; imported tasks stay but stop following the tool
- `list_linked_sources`: The boards, repos, and spaces linked to a project
- `list_importable_items`: Open items in a linked source that aren't in the project yet
- `import_items`: Bring items in as tasks under a deliverable; they follow the tool's status
- `add_doc_as_proof`: Attach pages from a linked docs tool to a deliverable as proof
- `sync_source`: Re-read a linked source now
- `list_requestable_tools`: Every connector's state here (including available on request) and the tools people ask for
- `request_tool`: Ask the Unblockd team for a tool you can't connect yet; they read every request

**Prompts** (pick from your assistant's prompt menu)
- `weekly_client_update`: Draft this week's sponsor update for you to edit and send
- `triage_my_morning`: Rank what needs you this morning and clear what an assistant can
- `prepare_client_call`: Brief you for a sponsor call: status, decisions to ask for, what to watch
- `unblock_project`: Find what holds a project up and line up the fastest fix for each

**Resources** (project snapshots to attach as context)
- `unblockd://{workspace}/projects/{key}/summary`: Health, progress, this week's changes, what's stuck and due
- `unblockd://{workspace}/projects/{key}/blockers`: Open blockers with their sponsor asks and follow-ups
- `unblockd://{workspace}/projects/{key}/timeline`: Deliverables in time, overdue, and waiting on the sponsor

In Claude and ChatGPT, `draft_ask`, `ask_client_decision`, `review_update`, and `write_update_note` also show an interactive card. Its send, approve, and hold buttons open that ask or update in Unblockd, where a person sends it; nothing goes to the sponsor from the card.
