Examples
August 14, 2026 · View on GitHub
Concrete prompts and the commands a well-behaved agent runs under the hood. The agent always reads before it writes, and asks before side-effecting writes.
Read an issue and summarize
Read MUL-123 and tell me what's blocking it.
Two bounded reads beat one bulk pull: scan the threads, then open only what
matters. --compact drops bookkeeping fields without touching content.
multica issue get MUL-123 --output json
multica issue comment list MUL-123 --roots-only --summary --compact --output json
multica issue comment list MUL-123 --thread <comment-id> --tail 30 --compact --output json
multica issue metadata list MUL-123 --output json
Resolved threads come back folded to their root plus conclusion, with the
dropped count reported. Pass --full when you need the settled discussion.
Draft a reply for review
Draft a reply to the latest comment on MUL-123, but don't post it yet.
The agent gathers the thread, writes a draft, and shows it to you. It posts only after you approve:
multica issue comment list MUL-123 --thread <comment-id> --tail 30 --compact --output json
# write reply.md, then (after your approval):
multica issue comment add MUL-123 --parent <comment-id> --content-file ./reply.md
rm ./reply.md
Comment bodies always go through a file and --content-file — never inline
--content — so shells don't rewrite backticks, $(), quotes, or newlines.
The file must live inside the current working directory; /tmp and other
outside paths are rejected so a stale file from another run can't be picked up.
Triage a new issue
Create a bug issue titled "Login redirect loops" and assign it to me.
multica issue search "login redirect" --output json # don't file a duplicate
multica issue create --title "Login redirect loops" --description-file ./desc.md
# look up the assignee id first, then assign (note: assign uses --to-id, not --assignee-id):
multica workspace member list --output json
multica issue assign <issue-id> --to-id <user-id>
issue create refuses when an active duplicate already exists. Read that issue
before reaching for --allow-duplicate.
Record progress without starting another run
Mark MUL-123 in progress — I'm already working on it.
Status, assignment, and update can each enqueue a fresh agent run. When you are only writing down what is already happening, suppress it:
multica issue status MUL-123 in_progress --no-start
Omit --no-start when you actually want to hand the work to the assignee.
Find out what an agent actually did
MUL-123 says done but nothing changed. What happened?
multica issue runs MUL-123 --output json
multica issue run-messages <task-id> --issue MUL-123 --output json
multica issue usage MUL-123 --output json
Check linked pull requests
Is MUL-123's PR merged yet?
multica issue pull-requests MUL-123 --output json
Read PR state from Multica rather than guessing from GitHub search or metadata.
Side effects to confirm first
These are not cosmetic — confirm with the user before running them:
- Posting a comment that mentions an agent or squad (it enqueues a run and costs
money), a member (it notifies a person), or
@all(it notifies everyone). - Changing status (
todo/backlog/donecan enqueue or stop work). - Assigning, rerunning, or creating sub-issues.
multica issue cancel-task— it interrupts a running agent, losing in-flight work.- Label, property, and subscriber changes.
- Anything that writes under
agent,skill,squad, orautopilot— creating, updating, archiving, importing, or rotating a webhook URL. Read-onlylistandgetcalls in those namespaces need no confirmation.
See skills/multica-cli/SKILL.md for the full
command reference and safety rules.