multica-cli

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Multica CLI

Multica CLI

Use the local
multica
CLI as the source of truth. This skill teaches an external agent how to drive Multica safely; it does not grant permissions. Permissions come only from the user's installed CLI, selected profile, workspace, and explicit approval to run commands.
将本地
multica
CLI作为可信数据源。本技能教外部Agent如何安全操作Multica;它不授予权限。权限仅来自用户安装的CLI、选定的配置文件、工作区以及运行命令的明确批准。

Start Safely

安全启动

  1. Verify the CLI and account state before doing work:
bash
multica version
multica auth status
multica config show
This skill requires
multica
v0.4.26 or newer.
Several commands it relies on — notably
--no-start
on
issue status
/
assign
/
update
— do not exist in earlier versions, and an older CLI will reject them outright. If
multica version
reports anything below 0.4.26, stop and ask the user to upgrade (
brew upgrade multica-ai/tap/multica
, or
multica update
) rather than working around the missing flags.
If
multica auth status
reports no active session, the CLI is not logged in. Stop and have the user authenticate; do not try to fake credentials:
bash
multica login        # interactive auth + workspace setup
multica setup        # alternative: configure CLI, authenticate, start daemon
  1. Use the correct workspace and profile. Discover what is available, then prefer explicit flags when the user names them:
bash
multica workspace list --output json                 # which workspaces exist
multica workspace switch <workspace-id>              # set the default for this profile
multica --profile <profile> --workspace-id <workspace-id> issue list --output json
  1. Prefer
    --output json
    whenever a command supports it. Parse JSON rather than scraping tables.
  2. Never expose or store tokens, cookies, API keys, or CLI config secrets. Do not bypass workspace permissions by calling private HTTP APIs directly.
  1. 在开展工作前验证CLI和账户状态:
bash
multica version
multica auth status
multica config show
本技能需要
multica
v0.4.26或更高版本。
它依赖的多个命令——尤其是
issue status
/
assign
/
update
中的
--no-start
——在早期版本中不存在,旧版CLI会直接拒绝这些命令。如果
multica version
报告版本低于0.4.26,请停止操作并要求用户升级(
brew upgrade multica-ai/tap/multica
,或
multica update
),不要尝试绕过缺失的标志。
如果
multica auth status
报告无活动会话,则CLI未登录。请停止操作并让用户进行身份验证;不要尝试伪造凭据:
bash
multica login        # 交互式认证 + 工作区设置
multica setup        # 替代方案:配置CLI、认证、启动守护进程
  1. 使用正确的工作区和配置文件。先查看可用选项,然后在用户指定时优先使用显式标志:
bash
multica workspace list --output json                 # 查看存在哪些工作区
multica workspace switch <workspace-id>              # 为此配置文件设置默认工作区
multica --profile <profile> --workspace-id <workspace-id> issue list --output json
  1. 只要命令支持,优先使用
    --output json
    。解析JSON而非抓取表格内容。
  2. 切勿暴露或存储令牌、Cookie、API密钥或CLI配置机密。不要通过直接调用私有HTTP API绕过工作区权限。

Command Reference

命令参考

The flags below are the common ones for the issue workflow you will use most. You do not need
--help
for these. Run
--help
only to confirm a rejected flag or to explore the long-tail namespaces, whose shapes vary and are not duplicated here.
[ ]
marks optional flags;
|
marks mutually exclusive ones.
bash
undefined
以下标志是你最常用的问题工作流中的常见标志。你不需要为这些命令使用
--help
。仅在确认被拒绝的标志或探索长尾命名空间时才运行
--help
,这些命名空间的结构各不相同,此处不重复。
[ ]
表示可选标志;
|
表示互斥标志。
bash
undefined

Read

读取

multica issue get <id> --output json multica issue list [--status <s>] [--assignee <name> | --assignee-id <uuid>] [--project <id>] [--priority <p>] [--metadata key=value] [--sort <col>] [--direction asc] [--limit N] [--offset N] --output json multica issue search <query> [--include-closed] [--limit N] --output json multica issue children <id> --output json multica issue pull-requests <id> --output json multica issue metadata list <id> --output json
multica issue get <id> --output json multica issue list [--status <s>] [--assignee <name> | --assignee-id <uuid>] [--project <id>] [--priority <p>] [--metadata key=value] [--sort <col>] [--direction asc] [--limit N] [--offset N] --output json multica issue search <query> [--include-closed] [--limit N] --output json multica issue children <id> --output json multica issue pull-requests <id> --output json multica issue metadata list <id> --output json

Comments (read) — see Reading Comments below before picking a mode

评论(读取)——在选择模式前先阅读下方的「读取评论」部分

multica issue comment list <id> --roots-only --summary --compact --output json # scan threads cheaply multica issue comment list <id> --thread <comment-id> --tail 30 --compact --output json # open one thread multica issue comment list <id> --recent N --compact --output json # N most active threads
multica issue comment list <id> --roots-only --summary --compact --output json # 低成本扫描线程 multica issue comment list <id> --thread <comment-id> --tail 30 --compact --output json # 打开单个线程 multica issue comment list <id> --recent N --compact --output json # N个最活跃的线程

also: --since <RFC3339>, --full (unfold resolved threads),

其他选项:--since <RFC3339>, --full(展开已解决线程),

--before/--before-id <cursor> for pagination

--before/--before-id <cursor> 用于分页

Create / update

创建 / 更新

multica issue create --title "..." [--description-file <path>] [--priority <p>] [--status <s>] [--assignee <name> | --assignee-id <uuid>] [--parent <id>] [--stage N] [--project <id>] [--due-date YYYY-MM-DD] [--start-date YYYY-MM-DD] [--attachment <path>] [--attachment-id <uuid>] [--allow-duplicate] --output json multica issue update <id> [--title "..."] [--description-file <path>] [--status <s>] [--priority <p>] [--assignee <name> | --assignee-id <uuid>] [--parent <id> | --parent ""] [--stage N] [--due-date YYYY-MM-DD] [--start-date YYYY-MM-DD] [--no-start]
multica issue create --title "..." [--description-file <path>] [--priority <p>] [--status <s>] [--assignee <name> | --assignee-id <uuid>] [--parent <id>] [--stage N] [--project <id>] [--due-date YYYY-MM-DD] [--start-date YYYY-MM-DD] [--attachment <path>] [--attachment-id <uuid>] [--allow-duplicate] --output json multica issue update <id> [--title "..."] [--description-file <path>] [--status <s>] [--priority <p>] [--assignee <name> | --assignee-id <uuid>] [--parent <id> | --parent ""] [--stage N] [--due-date YYYY-MM-DD] [--start-date YYYY-MM-DD] [--no-start]

Status / assignment (status values: backlog | todo | in_progress | in_review | done | blocked | cancelled)

状态 / 分配 (状态值:backlog | todo | in_progress | in_review | done | blocked | cancelled)

multica issue status <id> <status> [--no-start] multica issue assign <id> --to <name> | --to-id <uuid> | --unassign [--no-start]
multica issue status <id> <status> [--no-start] multica issue assign <id> --to <name> | --to-id <uuid> | --unassign [--no-start]

Comment (write) — body always via file, see Write Workflow below

评论(写入)——正文始终通过文件传递,见下方的「写入工作流」

--parent is required when a comment triggered your task; see Issue Comments

当评论触发你的任务时,--parent是必填项;见「问题评论」部分

multica issue comment add <id> [--parent <comment-id>] --content-file <path> [--attachment <path>]
multica issue comment add <id> [--parent <comment-id>] --content-file <path> [--attachment <path>]

Metadata

元数据

multica issue metadata set <id> --key <k> --value <v> [--type string|number|bool] multica issue metadata delete <id> --key <k>
multica issue metadata set <id> --key <k> --value <v> [--type string|number|bool] multica issue metadata delete <id> --key <k>

Labels — issue label add/remove take a label UUID, so list the workspace labels first

标签——issue label add/remove需要标签UUID,因此先列出工作区标签

multica label list --output json multica issue label list <issue-id> --output json multica issue label add <issue-id> <label-id> multica issue label remove <issue-id> <label-id>
multica label list --output json multica issue label list <issue-id> --output json multica issue label add <issue-id> <label-id> multica issue label remove <issue-id> <label-id>

Custom properties (workspace-defined fields)

自定义属性(工作区定义的字段)

multica property list --output json multica issue property list <issue-id> --output json multica issue property set <issue-id> --name <name> --value <v> multica issue property unset <issue-id> --name <name>
multica property list --output json multica issue property list <issue-id> --output json multica issue property set <issue-id> --name <name> --value <v> multica issue property unset <issue-id> --name <name>

Subscribers (who gets notified; defaults to the caller)

订阅者(接收通知的对象;默认是调用者)

multica issue subscriber list <issue-id> --output json multica issue subscriber add <issue-id> [--user <name> | --user-id <uuid>] multica issue subscriber remove <issue-id> [--user <name> | --user-id <uuid>]
multica issue subscriber list <issue-id> --output json multica issue subscriber add <issue-id> [--user <name> | --user-id <uuid>] multica issue subscriber remove <issue-id> [--user <name> | --user-id <uuid>]

Runs — see Inspecting Runs below

运行——见下方的「检查运行」部分

multica issue runs <issue-id> --output json multica issue run-messages <task-id> [--issue <issue-id>] [--since N] --output json multica issue usage <issue-id> --output json multica issue rerun <id> --output json multica issue cancel-task <task-id> [--issue <issue-id>]

Note `issue assign` uses `--to` / `--to-id`, while `issue create` / `issue
update` use `--assignee` / `--assignee-id`.

Other namespaces follow the same shape; inspect them when the task needs them:

```bash
multica project --help
multica agent --help
multica squad --help
multica runtime --help
multica repo --help
multica skill --help
multica autopilot --help
multica attachment --help
multica label --help
multica property --help
multica chat --help
multica user --help
multica issue runs <issue-id> --output json multica issue run-messages <task-id> [--issue <issue-id>] [--since N] --output json multica issue usage <issue-id> --output json multica issue rerun <id> --output json multica issue cancel-task <task-id> [--issue <issue-id>]

注意`issue assign`使用`--to` / `--to-id`,而`issue create` / `issue update`使用`--assignee` / `--assignee-id`。

其他命名空间遵循相同结构;当任务需要时再查看它们:

```bash
multica project --help
multica agent --help
multica squad --help
multica runtime --help
multica repo --help
multica skill --help
multica autopilot --help
multica attachment --help
multica label --help
multica property --help
multica chat --help
multica user --help

Reading Comments

读取评论

Comment history is the most token-expensive thing you will read, and the read modes are not interchangeable.
  • --recent N
    caps threads, not comments, and each thread carries every descendant. On an issue with fewer than N root threads this returns the whole history. It is not a cheap read.
  • Prefer two bounded reads: scan with
    --roots-only --summary
    (each root also reports
    reply_count
    and
    last_activity_at
    ), then open only the threads that matter with
    --thread <id> --tail N
    .
  • Add
    --compact
    to any JSON read. It drops echoed, null, and bookkeeping fields while leaving content untouched — always correct for an agent read.
  • Resolved threads are folded by default. The complete-thread modes collapse a resolved thread to its root plus conclusion and report the dropped count on the root. That is not data loss; pass
    --full
    when you actually need the settled discussion.
bash
multica issue comment list <issue-id> --roots-only --summary --compact --output json
multica issue comment list <issue-id> --thread <comment-id> --tail 30 --compact --output json
评论历史是你读取时最耗费令牌的内容,且读取模式不可互换。
  • --recent N
    限制的是线程数,而非评论数,每个线程包含所有子评论。对于线程数少于N的问题,此命令会返回完整历史。这不是低成本读取。
  • 优先使用两次有限读取:先用
    --roots-only --summary
    扫描(每个根评论还会返回
    reply_count
    last_activity_at
    ),然后仅用
    --thread <id> --tail N
    打开重要的线程。
  • 在任何JSON读取命令中添加
    --compact
    。它会去除重复、空值和记账字段,同时保留内容——这对Agent读取来说始终是正确的选择。
  • 已解决线程默认折叠。 完整线程模式会将已解决线程折叠为根评论加结论,并在根评论上报告被折叠的数量。这不是数据丢失;当你确实需要查看已结束的讨论时,再传递
    --full
bash
multica issue comment list <issue-id> --roots-only --summary --compact --output json
multica issue comment list <issue-id> --thread <comment-id> --tail 30 --compact --output json

Finding Things

查找内容

multica issue search
matches titles, descriptions, and comment bodies, so a decision that only ever lived in a thread is still findable. Reach for it before concluding something does not exist.
bash
multica issue search "retry backoff" --include-closed --output json
multica issue list --metadata pr_number=123 --output json
A bare number or an identifier-shaped query (
412
,
AGE-412
) matches the issue with that number, and the prefix is not validated — pasting an identifier from another tracker can put an unrelated local issue at the top. The
match_source
field is a display hint, not a filter.
multica issue search
匹配标题、描述和评论正文,因此仅存在于线程中的决策仍然可以被找到。在断定内容不存在之前,先尝试使用此命令。
bash
multica issue search "retry backoff" --include-closed --output json
multica issue list --metadata pr_number=123 --output json
纯数字或标识符格式的查询(
412
AGE-412
)会匹配对应编号的问题,且前缀不会被验证——粘贴来自其他跟踪器的标识符可能会将无关的本地问题排在首位。
match_source
字段是显示提示,而非过滤器。

Write Workflow

写入工作流

Treat writes as side-effecting. If the user did not clearly ask for the write, ask before running it. This includes creating comments, issues, status changes, assignments, reruns, cancellations, label and property changes, agent mentions, squad mentions, webhook/autopilot changes, and repo checkout operations.
将写入操作视为有副作用的操作。如果用户未明确要求写入,请在运行命令前询问。这包括创建评论、问题、状态变更、分配、重新运行、取消、标签和属性变更、Agent提及、squad提及、webhook/autopilot变更以及仓库检出操作。

File Paths Must Be Inside the Working Directory

文件路径必须在工作目录内

--content-file
,
--description-file
, and
--attachment
reject paths outside the current working directory. This is deliberate: it stops a stale file from another run or environment being picked up silently. Write the file into the directory you are working in — not
/tmp
, not a shared path
— or the command fails.
bash
undefined
--content-file
--description-file
--attachment
会拒绝当前工作目录之外的路径。这是故意设计的:防止静默拾取来自其他运行或环境的过期文件。将文件写入你正在工作的目录——不要写入
/tmp
或共享路径
——否则命令会失败。
bash
undefined

correct: relative to the working directory

正确写法:相对于工作目录的路径

multica issue comment add <issue-id> --parent <comment-id> --content-file ./reply.md

`--allow-external-file` overrides the check. Use it only when the user pointed
at that specific outside path, never to work around a failure you did not
diagnose.
multica issue comment add <issue-id> --parent <comment-id> --content-file ./reply.md

`--allow-external-file`会覆盖此检查。仅当用户指定了特定外部路径时才使用它,不要用它来绕过你未诊断的失败。

Issue Comments

问题评论

For agent-authored comments, always write the body to a UTF-8 file and pass it with
--content-file
. Do not use inline
--content
for structured comments: shells can rewrite backticks,
$()
expressions, variables, quotes, and newlines before the CLI receives them.
bash
undefined
对于Agent撰写的评论,始终将正文写入UTF-8文件并通过
--content-file
传递。不要对结构化评论使用内联
--content
:Shell会在CLI收到命令前重写反引号、
$()
表达式、变量、引号和换行符。
bash
undefined

Create reply.md with real newlines first, then:

先创建包含真实换行符的reply.md,然后运行:

multica issue comment add <issue-id> --parent <comment-id> --content-file ./reply.md rm ./reply.md

`--parent` is conditional, not universal. When a comment triggered your task it
is **required** — the server rejects a top-level comment from such a task — and
its value must be the comment you are answering. When you are starting a new
top-level discussion on an issue, omit it. Never attach a reply to an unrelated
thread just to satisfy the flag.

Do not write literal `\n` escapes to fake line breaks.
multica issue comment add <issue-id> --parent <comment-id> --content-file ./reply.md rm ./reply.md

`--parent`是可选的,并非通用要求。当评论触发你的任务时,它是**必填项**——服务器会拒绝此类任务提交的顶级评论——且其值必须是你正在回复的评论ID。当你在问题上发起新的顶级讨论时,省略此标志。切勿为满足标志要求而将回复附加到无关线程。

不要写入字面量`\n`转义字符来模拟换行。

Issues and Metadata

问题和元数据

Use files for long issue descriptions:
bash
multica issue create --title "..." --description-file ./description.md
multica issue update <issue-id> --description-file ./description.md
issue create
rejects a new issue when an active duplicate exists. Do not reflexively retry with
--allow-duplicate
— read the existing issue first and confirm the user really wants a second one.
Metadata is durable issue state, not a log. Read it on entry, but only write high-signal facts future runs will re-read, such as
pr_url
,
pr_number
,
pipeline_status
,
deploy_url
,
external_issue_url
,
waiting_on
,
blocked_reason
, or
decision
.
bash
multica issue metadata set <issue-id> --key pr_url --value <url>
multica issue metadata delete <issue-id> --key stale_key
Metadata is free-form per-issue KV. Custom properties are different: they are workspace-defined typed fields, shared across issues, and creating or archiving a definition is an admin-level change — set values, but leave the definitions alone unless asked.
对较长的问题描述使用文件:
bash
multica issue create --title "..." --description-file ./description.md
multica issue update <issue-id> --description-file ./description.md
当存在活跃的重复问题时,
issue create
会拒绝创建新问题。不要盲目使用
--allow-duplicate
重试——先查看现有问题并确认用户确实需要第二个问题。
元数据是持久化的问题状态,而非日志。在开始时读取它,但仅写入未来运行会重新读取的高信号事实,例如
pr_url
pr_number
pipeline_status
deploy_url
external_issue_url
waiting_on
blocked_reason
decision
bash
multica issue metadata set <issue-id> --key pr_url --value <url>
multica issue metadata delete <issue-id> --key stale_key
元数据是每个问题的自由形式键值对。自定义属性则不同:它们是工作区定义的类型化字段,在所有问题间共享,创建或归档定义是管理员级别的操作——仅设置值,除非被要求,否则不要修改定义。

Suppressing Agent Runs with
--no-start

使用
--no-start
抑制Agent运行

By default,
issue status
,
issue assign
, and
issue update
can enqueue a fresh agent run — that is how work gets handed off. When you are only recording ownership or progress for work that is already underway, that extra run is wasted money and a duplicate worker.
bash
multica issue status <id> in_progress --no-start
multica issue assign <id> --to <name> --no-start
multica issue update <id> --status in_review --no-start
Rule of thumb: handing fresh work to someone → omit it; writing down what is already happening → pass
--no-start
.
默认情况下,
issue status
issue assign
issue update
会排队新的Agent运行——这是工作交接的方式。当你仅为已在进行中的工作记录所有权或进度时,额外的运行会浪费资金并产生重复工作。
bash
multica issue status <id> in_progress --no-start
multica issue assign <id> --to <name> --no-start
multica issue update <id> --status in_review --no-start
经验法则:将新工作交给他人 → 省略
--no-start
;记录已在进行的工作 → 添加
--no-start

Mention Side Effects

提及副作用

Mention links are actions, not decoration:
text
[@Name](mention://agent/<agent-id>)     # enqueues that agent
[@Name](mention://squad/<squad-id>)     # enqueues the squad leader
[@Name](mention://member/<user-id>)     # NOTIFIES that person
[@all](mention://all/all)               # broadcasts to the workspace
[MUL-123](mention://issue/<issue-id>)   # renders an issue link
[Name](mention://project/<project-id>)  # renders a project link
Three of these reach someone.
agent
and
squad
enqueue agent work that costs money;
member
notifies a human, and
@all
notifies the whole workspace. Only
issue
and
project
are inert links you can use freely.
Look up real UUIDs with JSON output before constructing mentions:
bash
multica agent list --output json
multica squad list --output json
multica workspace member list --output json
Do not mention an agent just to thank, acknowledge, or sign off. Re-mentioning an agent in a reply can trigger another run and create loops. The same restraint applies to people: mention a member when they need to act, not to be polite.
提及链接是操作,而非装饰:
text
[@Name](mention://agent/<agent-id>)     # 为该Agent排队任务
[@Name](mention://squad/<squad-id>)     # 为团队负责人排队任务
[@Name](mention://member/<user-id>)     # 通知该用户
[@all](mention://all/all)               # 向工作区广播
[MUL-123](mention://issue/<issue-id>)   # 渲染问题链接
[Name](mention://project/<project-id>)  # 渲染项目链接
其中三种会触达对象。
agent
squad
会为Agent工作排队,产生费用;
member
会通知用户,
@all
会通知整个工作区。只有
issue
project
是可自由使用的无副作用链接。
在构建提及链接前,先通过JSON输出查找真实的UUID:
bash
multica agent list --output json
multica squad list --output json
multica workspace member list --output json
不要仅为了感谢、确认或收尾而提及Agent。在回复中再次提及Agent可能会触发另一次运行并创建循环。对用户也要保持克制:仅当用户需要采取行动时才提及,而非出于礼貌。

Status and Assignment Side Effects

状态和分配副作用

Status changes are not cosmetic. They can enqueue or stop work.
  • backlog
    parks an agent-assigned issue.
  • Moving
    backlog
    to
    todo
    or another active status can enqueue the assignee.
  • done
    and
    cancelled
    are terminal states.
  • in_review
    is useful while a PR or human review is pending, but it is still a write.
  • Any of these can be recorded without starting a run — see
    --no-start
    above.
When creating sub-issues for ordered work, use stages and
backlog
for later steps. The parent assignee is woken only when every sub-issue in a stage finishes:
bash
multica issue create --title "Research" --parent <id> --assignee <agent> --stage 1 --status todo
multica issue create --title "Build" --parent <id> --assignee <agent> --stage 2 --status backlog
multica issue children <id> --output json
状态变更并非表面功夫。它们可以排队或停止工作。
  • backlog
    会暂停已分配给Agent的问题。
  • backlog
    改为
    todo
    或其他活跃状态会为被分配者排队任务。
  • done
    cancelled
    是终端状态。
  • in_review
    在PR或人工审核待处理时很有用,但它仍然是写入操作。
  • 所有这些状态变更都可以在不启动运行的情况下记录——见上方的
    --no-start
    部分。
当为有序工作创建子问题时,对后续步骤使用阶段和
backlog
。只有当某一阶段的所有子问题完成时,父问题的被分配者才会被唤醒:
bash
multica issue create --title "Research" --parent <id> --assignee <agent> --stage 1 --status todo
multica issue create --title "Build" --parent <id> --assignee <agent> --stage 2 --status backlog
multica issue children <id> --output json

Inspecting Runs

检查运行

When an issue looks stuck or a result is confusing, read the execution history instead of guessing from comments.
bash
multica issue runs <issue-id> --output json                       # what ran, and how it ended
multica issue run-messages <task-id> --issue <issue-id> --output json  # what that run actually did
multica issue usage <issue-id> --output json                      # aggregated token cost
--issue
lets you pass a short task-id prefix instead of the full UUID.
Two controls are genuinely disruptive — confirm both with the user first:
bash
multica issue rerun <id> --output json          # re-enqueue the current assignment as a new task
multica issue cancel-task <task-id> --issue <issue-id>   # interrupt a running agent mid-flight
cancel-task
interrupts an in-flight agent, so work in progress is lost. Never run it to "clean up" state you have not read.
当问题看起来停滞或结果令人困惑时,读取执行历史而非从评论中猜测。
bash
multica issue runs <issue-id> --output json                       # 运行了什么,以及结果如何
multica issue run-messages <task-id> --issue <issue-id> --output json  # 该运行实际执行了什么
multica issue usage <issue-id> --output json                      # 聚合令牌成本
--issue
允许你传递短任务ID前缀而非完整UUID。
有两个操作确实具有破坏性——运行前务必与用户确认:
bash
multica issue rerun <id> --output json          # 将当前分配重新排队为新任务
multica issue cancel-task <task-id> --issue <issue-id>   # 中断正在运行的Agent
cancel-task
会中断正在运行的Agent,因此正在进行的工作会丢失。切勿为了“清理”你未读取的状态而运行此命令。

Pull Requests

拉取请求

When code changes are made for a Multica issue, include the routable issue key in the PR title, body, or branch so Multica can link it.
text
MUL-123: fix login redirect
Use close intent only when merging the PR should close the issue:
text
Closes MUL-123
Fixes MUL-123
Resolves MUL-123
Read linked PR state from Multica rather than guessing from GitHub search or metadata:
bash
multica issue pull-requests <issue-id> --output json
当为Multica问题进行代码变更时,在PR标题、正文或分支中包含可路由的问题键,以便Multica可以关联它。
text
MUL-123: fix login redirect
仅当合并PR应关闭问题时才使用关闭意图:
text
Closes MUL-123
Fixes MUL-123
Resolves MUL-123
从Multica读取关联PR的状态,而非从GitHub搜索或元数据中猜测:
bash
multica issue pull-requests <issue-id> --output json

When the CLI Cannot Do It

当CLI无法处理时

The CLI does not cover every Multica surface. When the command you need does not exist, say so plainly, name the step, and point the user at Multica Web to finish it. Never let a partial run read as a completed one, and never reach for
curl
or a private HTTP API to close the gap.
Report what actually happened: which commands ran, which succeeded, and what is left for the user. A refused or failed command is a result to report, not a problem to route around.
CLI并未覆盖Multica的所有功能。当你需要的命令不存在时,请直接说明,指出步骤,并引导用户通过Multica Web完成。切勿让部分运行看起来像是已完成的运行,也不要使用
curl
或私有HTTP API来弥补差距。
报告实际发生的情况:运行了哪些命令,哪些成功了,哪些需要用户完成。被拒绝或失败的命令是需要报告的结果,而非需要绕过的问题。

External Agent Boundaries

外部Agent边界

External agents do not receive Multica runtime context automatically. If the user asks for work on a specific issue or comment, require or derive:
  • issue id or issue key
  • trigger comment id and parent thread, if replying
  • intended workspace/profile, if more than one is configured
  • whether writes are allowed
  • whether mentions, status changes, reruns, or assignments are allowed
If any of these are missing and the operation would write state, ask before proceeding. For read-only investigation, gather context with JSON output and report what else is needed.
外部Agent不会自动接收Multica运行时上下文。如果用户要求处理特定问题或评论,请要求或获取:
  • 问题ID或问题键
  • 触发评论ID和父线程(如果是回复)
  • 目标工作区/配置文件(如果配置了多个)
  • 是否允许写入
  • 是否允许提及、状态变更、重新运行或分配
如果其中任何一项缺失且操作会写入状态,请在继续前询问。对于只读调查,通过JSON输出收集上下文并报告还需要哪些信息。