What the Assistant sees

What the Assistant is told about its tools. It gets the summary on every turn: the buckets, and each tool's name and what it needs. It asks for the detail of a bucket (tools.list) or a tool (tools.describe) only when a turn needs it. Everything it can change becomes a card you confirm, except the few that can be undone, which run at once with an undo on the receipt.

The summary, sent every turn#

Bucket What it is for Tools, and what each needs
table decide about the item on the table reply(text, cc?), approve, redraft(text), mine, regular_agent(text, as?, new?), coder(text, as?, new?), not_ours, not_ours_sender, block_sender, not_ours_kind, close, done, next, answer_agent(text), stop_agent, rerun, remember(text), setup(text), confirm, cancel, chase, let_go, elsewhere
task change any task - the one on the table or one named with ref task.update(priority/title/assignee/due), task.set_kind(kind), task.set_repo(repo), task.check(item, done?), task.checklist(items?, emails?, drop?), task.watch(what?), task.comment(text), task.split(text), task.merge(into), task.reopen, task.not_a_task, task.complete, task.defer(until), task.handoff(who, note?), task.clarify(text), review.approve, review.reject
agents start, continue, answer or stop the agent on a task, and teach where work belongs dispatch.prepare(kind, instructions?), agent.continue, agent.answer(text), agent.stop, routing.remember(field, value)
new new work with no task yet task.create_from_text(kind, text), task.create_from_message(kind), task.setup(text)
pipe the walk and sets of items, and filing mail pipe.clear, item.settle(verb), message.file, message.archive, preference.exclude_sender(scope), preference.sender_rule
reports reports and workflows report.create(config), report.run, report.rerun, report.pause, report.resume, report.route(line, how), report.edit(config), report.delete
app settings, connections, roles, scripts and kept facts setting.set(setting, value), connection.create(type, name), role.apply(role, portal?, route_mail?), connection.test, connection.pause, connection.resume, script.start(name), memory.remember(note), hub.publish(title, body, topic?, kind?, why_earned?)
look look-ups - they run at once and change nothing task.read, timeline.search, tasks.list, asks.list, message.read, sender.read, docs.search, agents.now, approvals.list, pipe.list, calendar.read, activity.list, errors.list, memory.list, rules.list, missed.check, report.read, reports.list, settings.list, setting.read, connections.list, connection.read, agents.list, repos.list, tools.list, tools.describe, knowledge.search

A task you name goes in ref ("TQ-0123"); otherwise the tool acts on what is on the table.

Table#

Decide about the item on the table.

reply#

Write a reply to the sender. Nothing is sent.

  • text - the gist, in the owner's words
  • cc (optional) - people to loop in on it, by name or address ("loop Gail in and ask her" is a reply with Gail copied, never an agent)

At once - a draft, nothing sent.

approve#

The owner's yes to what is drafted on the item: sends the reply as it stands - on a task's close-out (Close out) it merges the pull request or closes the issue FIRST, then sends the reply; on an agent's proposal it runs that action. It never continues an agent's session - that is agent.continue.

Waits for your yes on a card.

redraft#

Write the draft again.

  • text - the change

At once - a draft, nothing sent.

mine#

Make it a task on the owner's own list - no agent.

Waits for your yes on a card.

regular_agent#

Send it to a non-coding agent - it becomes a task of its own.

  • text - the job
  • as (optional) - a profile from agents.list, only when one fits
  • new (optional) - true when the job is NOT about the item on the table

Waits for your yes on a card.

coder#

Send it to a coding agent. Not sure which repository is no reason to ask - CALL it, and its card offers every repository to pick.

  • text - what is wanted
  • as (optional) - the repository (repos.list), only when sure
  • new (optional) - true when the job is NOT about the item on the table

Waits for your yes on a card.

not_ours#

File it, just this once - its card asks whether from now on, or as a rule.

Waits for your yes on a card.

not_ours_sender#

File everything from this sender from now on - their mail still arrives and stays readable.

Waits for your yes on a card.

block_sender#

An exclusion rule in Settings: the sender never reaches triage again - only when they ask for a rule.

Waits for your yes on a card.

not_ours_kind#

An Advisor idea only: put it down AND no more ideas like it - the Advisor's next run reads that.

Waits for your yes on a card.

close#

Mark done - the task behind the item is finished.

At once.

done#

The owner handled it - Mark done on a task; on an idea, a report or an fyi it is read and settled.

At once.

next#

Move on to the next thing.

At once.

answer_agent#

Answer the agent waiting on the owner.

  • text

Waits for your yes on a card.

stop_agent#

Save and end the agent's session on the item.

At once.

rerun#

Run the report on the table again.

Waits for your yes on a card.

remember#

Keep a fact.

  • text

Waits for your yes on a card.

setup#

Build a report, a connection to another system or an automation. Never a to-do.

  • text - the request

Waits for your yes on a card.

confirm#

The owner's yes to the card already waiting - only when one is.

At once.

cancel#

The owner's no to it.

At once.

chase#

Chase the person who has gone quiet on the item - a short nudge in the owner's voice is drafted on the thread, copying whoever the ledger says moves them; nothing is sent.

Waits for your yes on a card.

let_go#

Let the quiet item go - the step somebody owed is dropped, or the follow-up is put down; three on one person and the Advisor stops raising them.

Waits for your yes on a card.

elsewhere#

They answered elsewhere; the step somebody owed closes as done, or the follow-up is put down.

  • text - where (a call, a meeting)

Waits for your yes on a card.

Task#

Change any task - the one on the table or one named with ref.

task.update#

Change a task's priority, title, owner or due day. Any other value is refused with the allowed ones.

  • priority - low | normal | high | urgent
  • title
  • assignee - exactly owner (the owner takes it) or agent:<profile> (a worker on the roster)
  • due - the day the work is due (2026-10-30, "friday", "2 weeks", or "none" to clear it)
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.set_kind#

Say what kind of work a task is.

  • kind - task (the owner does it) | general (a non-coding agent) | coding
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.set_repo#

Put a coding task in the repository it belongs in.

  • repo - its name, as the repositories list says it
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.check#

Tick a checklist item on a task.

  • item - its NUMBER (1 is the first; the facts list them numbered)
  • done (optional) - false un-ticks
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.checklist#

Change what a task's checklist asks for.

  • items (optional) - the full list of item words in order (one left out is removed, emails untouched)
  • emails (optional) - [{to, about}] to add emails that must go out before it closes
  • drop (optional) - recipients whose email is no longer owed
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.watch#

Tell the owner here when something happens on a task nobody needs to start.

  • what (optional) - done (when it is finished) | reply (when someone writes on it) | any (the default) | off
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Runs at once, with an undo on the receipt.

task.comment#

File a note on a task.

  • text
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.split#

Split one arrival into two jobs.

  • text

Waits for your yes on a card.

task.merge#

Fold a task into the one it duplicates.

  • into - the survivor's ref (TQ-0123)
  • ref (optional) - the task that is the one folded away

Waits for your yes on a card.

task.reopen#

Reopen a task that was marked done.

  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.not_a_task#

Delete a task and teach triage it was never work.

  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.complete#

Mark done - the task is finished (note: optional, what came of it - kept on the task)

Waits for your yes on a card.

task.defer#

Remind me: put an open task away until a day and bring it back then. "Remind me about " - named by ref, sender or subject - is this, never a new to-do.

  • until - a date (2026-10-09), "2 weeks", "3 days", "monday", with the time they said kept ("tomorrow 9am", "friday 2pm"), "after_meetings" when they mean once the day's meetings or calls are over (the calendar picks the time), or "none" to bring it back now
  • ref (optional) - the task (TQ-0123) when it is not the one on the table

Runs at once, with an undo on the receipt.

task.handoff#

Hand a task to a PERSON.

  • who - a name or address that has written here
  • note (optional) - writes the forward for the owner's yes, nothing is sent from this card
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

task.clarify#

Prepare a question for the task's sender; it waits for the owner's yes, never sent from here.

  • text - the question
  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

review.approve#

The owner's yes to what is drafted: sends the reply as it stands - and on a task's close-out merges the pull request (or closes the issue) FIRST, sending the reply only if that worked.

Waits for your yes on a card.

review.reject#

Reject the draft reply waiting on a task - nothing is sent, the task stays open.

  • ref (optional) - the task

Waits for your yes on a card.

Agents#

Start, continue, answer or stop the agent on a task, and teach where work belongs.

dispatch.prepare#

Start an agent on an EXISTING task; a coding task asks which repository when it is not clear.

  • kind - coding | general
  • instructions (optional)
  • ref - the task (TQ-0123) - always named, the one on the table included; a new job is task.create_from_text

Waits for your yes on a card.

agent.continue#

Pick up the agent's own last session on a task where it left off, coding or not.

  • ref - the task (TQ-0123) - the one on the table when it has a saved session to reopen
  • note - when the owner said what to tell it as it picks up

Waits for your yes on a card.

agent.answer#

Answer the agent that is waiting.

  • text
  • ref (optional) - its task when it is not the one on the table

Waits for your yes on a card.

agent.stop#

Save and end an agent's session - the one on the table, or the task ref names; never a guess at which.

  • ref (optional) - the task (TQ-0123), when it is not the one on the table

Waits for your yes on a card.

routing.remember#

Remember how work like this should be ROUTED next time. kind: coding (an agent in a checkout) | general (the assistant) | task (the owner, no agent). system: where the work actually lives when no repository here can touch it, named plainly ("ADP"). It teaches triage and moves nothing - say it when the owner tells you a verdict was wrong, or where a kind of job really belongs.

  • field - kind | profile | system
  • value

Waits for your yes on a card.

New#

New work with no task yet.

task.create_from_text#

A new job with no message behind it. Never for a task that already exists (a TQ ref, or a row on THE RAIL BY NAME): starting an agent on one is dispatch.prepare, its own last session is agent.continue, and "remind me about it" is task.defer on it.

  • kind - task (a to-do or reminder the owner does themselves, no agent) | general (a regular agent) | coding
  • text - , and a short title in your own words for the job (never "send it to the agent")

Waits for your yes on a card.

task.create_from_message#

Hand this message to an agent or put it on the list.

  • kind - coding | general | task

Waits for your yes on a card.

task.setup#

Open a walk-through with the assistant, for a set-up that needs digging first.

  • text
  • title - a few words naming the job for the task list

Waits for your yes on a card.

Pipe#

The walk and sets of items, and filing mail.

pipe.clear#

Clear a SET of items from the pipe at once - takes select (below); read, never deleted. It only clears: when the owner says "from now on" too, also CALL preference.exclude_sender or preference.sender_rule.

  • select - below

Waits for your yes on a card.

item.settle#

Put the item down.

  • verb - done | later | skip (the item on the table is the target)

Waits for your yes on a card.

message.file#

File it - not ours, just this one.

Waits for your yes on a card.

message.archive#

Archive it: off the pipe and closed, nothing deleted.

Waits for your yes on a card.

preference.exclude_sender#

Teach triage to file this sender or subject from now on - their mail still arrives (scope: sender | subject)

  • scope - sender | subject

Waits for your yes on a card.

preference.sender_rule#

An exclusion rule in Settings: this sender never reaches triage again and what already arrived leaves the Timeline.

Waits for your yes on a card.

Reports#

Reports and workflows.

report.create#

Create a scheduled report or workflow; the composer builds it from what the owner asked for.

  • config

Waits for your yes on a card.

report.run#

Run a report or workflow now; it lands in the pipe when done.

  • title - or source_id

Runs at once, with an undo on the receipt.

report.rerun#

Run that report again.

Waits for your yes on a card.

report.pause#

Stop a report or workflow running on its clock.

  • title

Runs at once, with an undo on the receipt.

report.resume#

Put a paused report or workflow back on its clock.

  • title

Runs at once, with an undo on the receipt.

report.route#

Change where one line of a report's route card goes.

  • line - timeline | alert | send
  • how - always | ai | rule | never
  • title
  • when - for ai: what to look for
  • rule - /count/text (for rule)

Runs at once, with an undo on the receipt.

report.edit#

Change a report's configuration.

  • config - only the keys to change (title, cron, daily_at, every_minutes, deliver, alert...)
  • title

Runs at once, with an undo on the receipt.

report.delete#

Delete a report or workflow for good; asks first.

  • title

Waits for your yes on a card.

App#

Settings, connections, roles, scripts and kept facts.

setting.set#

Change one setting; the schema says what it takes.

  • setting - its key, or label: part of its name
  • value

Runs at once, with an undo on the receipt.

connection.create#

Add a system Taskuary talks to; created OFF and never carrying a secret, which the owner gives on the card.

  • type
  • name

Waits for your yes on a card.

role.apply#

Set Taskuary up for the owner's job in one go - its worker, playbooks and daily workflow. Before calling, ASK the owner, one question at a time: the address of their bill-approval portal (portal; fine to leave out), and whether their own non-coding mail should go to that worker (route_mail: true or false - when they are only trying it out, false). The workflow is created OFF: after the yes, offer to run it once (report.run), and say they sign in to the portal themselves in the browser pane.

  • role - ap (accounts payable)
  • portal (optional)
  • route_mail (optional) - true or false - when they are only trying it out

Waits for your yes on a card.

connection.test#

Test a connection now and say what it answered.

  • name

Runs at once, with an undo on the receipt.

connection.pause#

Switch a connection off; nothing is deleted.

  • name

Runs at once, with an undo on the receipt.

connection.resume#

Switch a connection back on.

  • name

Runs at once, with an undo on the receipt.

script.start#

Start a script by its name: walk me through my tasks | set up Taskuary | set up a report.

  • name

Runs at once, with an undo on the receipt.

memory.remember#

Keep a fact.

  • note

Waits for your yes on a card.

hub.publish#

Save to the company Hub. Only a reusable discovery reached through real work, or a developed idea with its reasons - never a transcript, a task log or a routine answer. When the owner asks to save something there, or a turn clearly earns it.

  • title - one durable claim
  • body - why it matters and what to do
  • topic (optional)
  • kind (optional) - new_idea | technical_solve | howto | gotcha | decision | system | people
  • why_earned (optional)

Waits for your yes on a card.

Look#

Look-ups - they run at once and change nothing.

task.read#

Everything on one task - its summary, status, the messages on it, what agents said and did.

  • ref - TQ-0401 (or id)

Runs at once and changes nothing.

Find messages anywhere in the history, however old - takes the same SELECT fields below, plus limit; here contains matches the subject, the sender AND the body, best match first. Returns m-numbers, refs, senders, subjects and dates; open one with message.read or its task with task.read.

  • limit
  • contains

Runs at once and changes nothing.

tasks.list#

The tasks.

  • status - open (the default: open, in progress or waiting) | done | all
  • contains - words
  • limit

Runs at once and changes nothing.

asks.list#

What the owner asked you to do (the work they handed over in this chat, on the phone or with New) and where each stands. YOUR OPEN ASKS in the turn already shows the newest.

  • status - open (the default) | all
  • limit

Runs at once and changes nothing.

message.read#

One message in full - who, when, its task and the whole text.

  • mid - the m-number timeline.search printed

Runs at once and changes nothing.

sender.read#

One person at a glance - how often they write, their recent messages, their open tasks, when you last wrote back and what the owner told you to remember about them.

  • who - a name or an address

Runs at once and changes nothing.

How Taskuary works and how to set it up (the help pages), and the owner's own docs (SOUL, TRIAGE, COUNSEL...). Use it for any "how do I", "what does X do" or "why did it" about the app.

  • query - the words

Runs at once and changes nothing.

agents.now#

Every agent session running now - its task, which CLI, and whether it is working, idle, stuck or asking the owner something.

Runs at once and changes nothing.

approvals.list#

Everything waiting for the owner's yes: drafted replies and the actions agents proposed, with their tasks.

Runs at once and changes nothing.

pipe.list#

Everything waiting on the owner, lane by lane - replies, asks, approvals, stopped agents, reports: the whole work rail. Use it for "what's waiting", "what's left", "what do I have"

Runs at once and changes nothing.

calendar.read#

The owner's meetings. Reads the calendar live, so it takes a moment.

  • from - today (the default) | tomorrow | YYYY-MM-DD
  • days - how many (7 by default)

Runs at once and changes nothing.

activity.list#

What happened, from the audit trail: counts by kind and the latest entries.

  • days - 1 by default
  • who - you | agents | all

Runs at once and changes nothing.

errors.list#

What is failing and what failed: the bell (dismissed ones marked), failed agent runs, report runs, drafts, triage and actions over days (3 by default), and the last errors in the log. Use it for any "what broke", "why did X not happen", "is anything wrong"

  • days - 3 by default

Runs at once and changes nothing.

memory.list#

Everything kept about the owner: the saved notes (from "remember this", their verdicts, Settings) and what LEARNED.md has learned from their verdicts. Use it for "what do you remember", "what do you know about me"

  • about - words to narrow it (a sender, a topic)

Runs at once and changes nothing.

rules.list#

The standing filters on the owner's mail - queue mutes set with a reason, and the policy rules (skip, ignore, escalate...) that decide before any model reads it. Use it for "why did I never see X", "what am I filtering"

  • about - words to narrow it

Runs at once and changes nothing.

missed.check#

Whether the owner missed anything: asks nobody answered, people who have not answered the owner, anything marked urgent, and every place that could not be checked - with the answer written out. Use it for "did I miss anything", "anything slip", "am I behind on anything"

Runs at once and changes nothing.

report.read#

A report or workflow and its last runs - what it said, whether it failed and why, and its source_id.

  • title - part of its name (or source_id)

Runs at once and changes nothing.

reports.list#

Every report and workflow: name, source_id, clock, how it reaches the owner, last outcome.

Runs at once and changes nothing.

settings.list#

The settings in one group (or, with no group, the groups themselves and how many knobs each has)

  • group - or, with no group, the groups themselves and how many knobs each has

Runs at once and changes nothing.

setting.read#

One setting, its value in words and what it does.

  • key - or label: part of its name

Runs at once and changes nothing.

connections.list#

Every live connection: name, type, whether it has a key, last sync, last error - and how many catalogue cards are off.

Runs at once and changes nothing.

connection.read#

One connection in full.

  • name - part of its name (or connector_id)

Runs at once and changes nothing.

agents.list#

The agents and profiles, and which brain answers which job.

Runs at once and changes nothing.

repos.list#

The repositories a coding agent can work in, and what each one is for.

Runs at once and changes nothing.

tools.list#

Every tool in one bucket (table, task, agents, new, pipe, reports, app, look) - what each does and needs.

  • bucket - table, task, agents, new, pipe, reports, app, look

Runs at once and changes nothing.

tools.describe#

One tool in full.

  • kind - its name

Runs at once and changes nothing.

What the company knows - the Hub, the indexed documents and the facts the owner asked to keep. Call it FIRST whenever the owner asks about a person, a site, a policy, a system or how something is done here - never offer to look it up instead of looking.

  • query - the words to look for

Runs at once and changes nothing.

Documentation for Taskuary 0.3.8.0 · updated 2026-10-12