/cade task
A form for the title, priority and an optional due date. The task is posted in the dev channel. With activeTasksPinning on in cade.config.json, it also stays pinned until it's done.
/cade … commands work at the top of a channel. @Cade … commands are messages, so they
also work in threads, where most of the work happens. Commands always work. Cade can also read along in its threads
and offer what you're about to do: that is the proactive agent.
No commands match that. Try a shorter word.
/cade taskA form for the title, priority and an optional due date. The task is posted in the dev channel. With activeTasksPinning on in cade.config.json, it also stays pinned until it's done.
/cade incidentAsks only what the incident is. Incidents are always Urgent and due Immediate, and their cards say Incident, so they stand out among the channel's tasks. They're listed first in the Home tab's lists, summaries and briefs.
@Cade task @Cade incidentStarts a task or an incident from a message already in the channel. Cade privately offers a button that opens the form, named from the message's first line; once it's posted, the message moves into its thread.
@Cade incident under “Checkout is failing for EU customers”.On any message, in any channel or DM: ⋯ → More actions.
These work in a task's thread in the dev channel. Each command takes everything it needs in one go; without it, Cade says what to send. The ⋯ menu on a task's card has Edit, one form with everything: owners, reviewers, testers, status, priority, due date and pull requests (an incident's priority and due date never change, so its form leaves them out); Release, while it has PRs not sent yet, the same form as @Cade release; and Archive, as @Cade archive. Save the form, and Cade notes who changed what in the thread, as one message, then asks the people it names to do their part: see who hears what. Sending PRs for approval is @Cade release.
@Cade assign owner @personAdds people to a role: owner, whoever does the work, whatever it is (dev and developer work too), reviewer (or review) or tester (or test, qa), several at once if you like. Cade notes who assigned whom, and on the next line asks them to start (see notifications). To change several roles at once, use the card's ⋯ → Edit.
@Cade assign qa @Tom@Cade unassign owner @personRemoves people from a role. Cade notes who removed whom, and on the next line tells them there's no need to do it anymore (see notifications). @Cade unassign @person removes them from every role. The same short words work.
@Cade status in reviewCade sets the status and reacts ✅. Statuses are to do, in progress, in review, in testing, client review and done, typed however you like (IN_PROGRESS, in-progress).
activeTasksPinning on, Done unpins the task; moving it out of Done pins it again.@Cade pr add <link> @Cade pr remove <link>Links or unlinks pull requests, one or several. GitHub, GitLab and Bitbucket links are recognised, and shown on the card as repo#number. Linking asks its reviewers to review it; with no reviewer yet, Cade asks who should review, with a people picker.
@Cade pr add https://github.com/acme/booking-web/pull/131@Cade release @Cade deliverSends some of the task's PRs to the client before the whole task is done. A private Choose PRs button opens a form that lists the ones not sent yet and asks what they complete and who approves them. The approver gets them in the task's thread with Approve and Not approve, which only they can click. PRs that weren't approved can be sent again. The task's status doesn't change.
Incidents are always Urgent and due Immediate, so theirs never change.
@Cade priority highOne of urgent, high, medium or low. Cade sets it and reacts ✅. The card's colour strip follows the priority.
@Cade due 31/12/2026A date as DD/MM/YYYY (also with . or -, or as YYYY-MM-DD), or none to clear it. Cade sets it and reacts ✅.
A message posted on its own in the dev channel, not in a thread, gets a private question to whoever wrote it, so it lands in the right thread: New task, New incident, Move to existing (when something's open) or Not now, the same as the message shortcuts, with the same forms. Starting something from it names it from the message's first line and moves the message into the new thread. This works even with the proactive agent off.
@Cade move <link>Moves a message into the task's thread that the link points to. The link is required: without it Cade says so. To pick from the open tasks instead, use the message's ⋯ → Move to existing.
:ticket: to a message in the dev channel to track it, or 🔀 :twisted_rightwards_arrows: to move it. Cade answers only you: a New task button, or the move picker. Add them to Slack's one-click reactions (Preferences → Messages & media) and they sit in the bar you see when hovering over a message. Choose other emoji with reactions in cade.config.json.@Cade archivePuts away a task that's no longer needed: Cade stops tracking it, so it leaves your standups and briefs, and moves to the summary's Archived section, but nothing is deleted. Its card stays, unpinned, saying who archived it, its thread hears who did. The card's ⋯ → Archive does the same. To delete a task, see /cade remove.
/cade standup /cade standup -unassignedWalks through the open tasks one owner at a time: you first, then everyone else, then the tasks with no owner. Each task has a status menu, and unassigned ones an owner picker; changes are posted in each task's thread. -unassigned goes through just the tasks with no developer. Built to share your screen in a standup.
The Configure button on Cade's Home tab holds your own setup. Web pages gives a private link that signs you in to Cade's web pages (a task's thread and notes): it works once, for ten minutes, and keeps you signed in on that browser for thirty days, and signs you out of every browser when you want. AI agent connects your own AI agent (Claude Code, Gemini CLI, Cursor, Codex, …) to Cade, so it can read your tasks and threads, change a task and post in its thread, with the model you already pay for: it shows whether MCP is on, the endpoint and your key status, makes your API key (shown once, in a window that goes when you close it, to send in an x-apikey header) and revokes it. Everything runs as you, so it reads only what you can read, and its messages start with "you sent:" and end with "(via AI agent)". After you make a task from a message, Cade offers a short prompt to paste into your agent; a project can turn that off with aiAgentSummary, and mcp: false in cade.config.json turns all of MCP off. Admins also see Project settings there.
Open Cade under Apps in Slack and its Home tab shows your open tasks, redrawn each time you open it or press Refresh. My Tasks groups yours by what you do on each: to work on, to review and to test, with the ones waiting on you first and an overdue count. Unassigned lists tasks with no one on them, each with Assign to me. All Tasks lists every open task, most urgent first. The project picker at the top shows one project at a time (the first one until you pick), and Cade remembers your project and tab. The Home and Configure buttons switch between your tasks and your setup. Needs the app updated with npm run slack:update.
With summaryCanvas on in cade.config.json (for every group or one), every dev channel's canvas holds a table of its tasks, made with the first new task (taking over the canvas the channel has, if any) and kept up to date as things change: an Open section by priority, then due date, incidents first, then a Closed section of the last 50 done and an Archived section of the last 50 archived, most recent first, each with its title, status, priority, due date, owner, reviewer and tester. Each title opens its thread. The table replaces what the canvas held, and the canvas is made read-only for the channel, since Cade rewrites it on every change; where Slack doesn't allow that, such as on a free plan, it stays editable, and edits are overwritten.
/cade helpLists everything Cade can do, only to you. A bare @Cade or an unknown @Cade command just points to it.
| What | Who changes it | Where |
|---|---|---|
| A task's status, people, PRs, priority and due date | The team | The task thread, or its card's ⋯ → Edit |
| An incident's priority and due date | Nobody | Always Urgent, due Immediate |
| Accepting work in Client review, and partial releases | Whoever is picked to approve: the client, or whoever handles them | Approve / Not approve in the task thread |
One command walks you through it: it asks for what it needs, runs each step, skips what's already done and tells you when something needs a click in your browser. No AI agent needed. Your tokens never leave your terminal.
Fork Cade on GitHub and clone your copy.
npm run setup starts the guided setup in your terminal.
Click through the logins and Slack settings when it asks. That's it.