Project Tools
First-class project records anchored on a project tag, with task rollups and customer links - so the work you tag actually has a home.
Tags are great for grouping work, but a tag on its own has no status, no owner, and no place to see everything happening under it. Projects fix that. A project is a real record anchored on a #-prefixed tag, and it rolls up every task and customer that shares the tag.
What you can do
“Start a project for the Acme rebuild, tag it #acme-rebuild.”
“What’s the status of the #acme-rebuild project?”
“Mark the website-refresh project as on hold.”
“Which of my tags don’t have a project yet?”
Tools
| Tool | What it does |
|---|---|
create_project | Create a project record anchored on a project tag, with a status and description |
get_project | The project card: status, the linked tag, recent tasks grouped by status, and tagged customers |
update_project | Change the status, description, or other fields |
remove_project | Remove a project record (the tag and its tasks are untouched) |
list_projects | See all projects, and flag # tags in the registry that don’t yet have a project record |
How projects relate to tags
A project doesn’t replace your tags - it sits on top of one. When you create a project anchored on #acme-rebuild, every task already tagged #acme-rebuild shows up in the project card automatically, grouped by status. Tag a new task with it later and that task joins the rollup too. No manual linking.
Because projects and tags stay in sync, list_projects does something useful: it scans your tag registry for #-prefixed tags that don’t have a matching project record yet, so you can promote a loose tag into a tracked project whenever it grows up into real work.
The project card
get_project returns a single, complete view of a project:
- The project record itself: name, status, description
- The tag it’s anchored on
- Recent tasks under that tag, grouped by status (todo, in progress, blocked, done)
- Any customers tagged into the project
You: "Where does the #acme-rebuild project stand?"
AI: get_project({ tag: "#acme-rebuild" })
Acme Rebuild - status: in progress
In progress (2)
- Migrate legacy data
- Rebuild billing screens
Blocked (1)
- Launch announcement -- waiting on @doug
Done (4)
Customer: Acme Corp
Where projects fit
Projects pair naturally with Playbooks: a playbook run can spin up a project’s worth of tasks in one go, all sharing the same project tag, so the new work lands in the project card immediately. Use the Surface Tools get_entity_card to pull a project’s full context alongside its tasks and linked records.