# Axhub Commentary

> 处理 Axhub Commentary 完整工作流。优先读取本地页面批注文档，落实修改并更新批注状态，或在用户确认后写入删除标记；本地读取失败时再确认 ACP UI 并生成临时可批注地址。也可为已接入 @axhub/annotation 的页面准备标注编辑环境，或配置 AI 侧边栏对话、AI 批注执行、调整面板属性和多方案比稿。当用户提到 Axhub Commentary、Axhub Chrome 扩展页面批注、可批注链接、comments.json、标注编辑按钮、修改标注内容、Annotation Runtime、annotationSourcePath、根据 Commentary 意见改代码、更新或清理批注、页面 AI、供应商安装登录、调整面板、方案切换或页面定位信息时使用。可批注目标是 Figma 时，也应与 figma-content-operator 组合。

- Skill: `lintendo/axhub-commentary` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add lintendo/axhub-commentary`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lintendo/axhub-commentary/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Design & Media
- Author: lintendo (https://skillmd.com/u/lintendo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lintendo/axhub-commentary

---


# Axhub Commentary 工作流

先判断工作线，再按任务读取对应的分文档和执行必要检查。不要要求目标项目安装编辑器 runtime；编辑器由 Axhub Chrome 扩展或宿主预览环境提供。

## 0. 按需检测 ACP UI

批注读取与处理先直接读取本地 `comments.json`，不检测 ACP UI；只有本地批注无法定位、读取或通过格式校验时，才检测 ACP UI，并在服务就绪后生成临时可批注地址交给用户。用户直接要求生成可批注地址、使用 AI 对话/执行或宿主资源工具时，也需要检测。

- 访问 `http://localhost:32124/api/health`，只有响应同时满足 `status: "ok"` 和 `service: "acp-ui"` 才算就绪；端口占用、页面可打开或存在相关进程都不能代替该检测。
- 检测失败时才读取 `references/acp-native-bootstrap.md`，按原有非沙箱规则启动并再次确认 health。Native Host 是后续可选能力，只有用户明确确认或主动要求安装时才注册。

Commentary 的 AI 对话、AI 批注执行、provider session、宿主资源工具和本地标注源读写依赖 ACP UI；未确认 health 时，不得宣称这些能力就绪。本地批注记录与 tweak 的读取回写、属性调整和页面内方案切换不依赖 ACP UI。

## 工作分流

先判断任务属于哪条工作线，只读取对应参考文件。

### 1. 批注读取与处理（主要）

任务涉及页面批注、改稿意见、批注图片、批注状态或显式删除批注节点时，读 `references/comment-processing.md`。

### 2. 可批注地址与环境准备（主要）

任务是生成可批注地址或确认页面定位时，读 `references/environment-context.md`。这里优先使用不改项目文件的临时链接方案；只有用户明确要求稳定入口时，才进入固定接入。

Figma 是例外：最终链接只给原始 Figma URL 加绝对 `projectPath`，不加 `try-plugin-*`。扩展必须先按稳定文件身份完成绑定，再自行启动 Drafito。

### 3. Annotation 标注环境准备（主要）

用户需要 Annotation 能力时，按目标处理：

1. 需要开启 Annotation Runtime：读 [axhub-annotation-standalone](https://github.com/lintendo/Axhub-Skills/blob/main/skills/axhub-annotation-standalone/SKILL.md) 完成页面接入。
2. 需要让扩展修改标注内容：确保页面使用可编辑的标注源。外部 JSON 放在当前 `filePath` 同目录并命名为 `annotation-source.json`；单 HTML 页面把标注源内嵌在当前 HTML，并让 `annotationSourcePath` 指向该文件。通过页面上下文提供 `projectPath`、`filePath` 和必要的 `annotationSourcePath`，生成并打开可批注地址交给用户。只有标注源不符合上述两种约定时，才读 `references/environment-context.md` 处理自定义路径。

### 4. AI 对话与批注执行（主要）

任务涉及 AI 侧边栏对话、唤醒页面 AI、把批注交给 AI 执行、配置供应商，或排查供应商软件安装、终端可用性和登录授权时，读 `references/ai-capabilities.md`。支持范围见该文档，实际可见项和默认项以 ACP UI 当前配置为准。

### 5. 页面侧接入（低频）

只有用户明确要求修改页面接入能力时，才按目标读取对应分文档：

- 调整面板属性、页面级属性聚合 → 读 `references/property-editing.md`
- 多方案设计比稿、页面内方案切换 → 读 `references/design-bid.md`

属性调整和多方案比稿都是低频、按需能力。这是修改页面代码的工作线；临时可批注链接和已有 Runtime 的标注内容编辑不属于页面侧接入，不要为它们修改业务页面实现。

批注要求新增接入能力时可以跨工作线：先读批注处理流程确定任务，再按具体目标补读一个页面侧接入参考。

## 实施顺序

1. 先判断任务是否属于主要流程 1、2、3 或 4；只有用户明确要求时才进入低频流程 5。
2. 只读取命中流程的分文档；批注处理先读本地记录，失败后才检测 ACP UI 并生成临时地址，其他流程按上面的使用条件检测。
3. 需要检测且 health 失败时才读取 `references/acp-native-bootstrap.md`，不要提前加载启动细节。
4. 批注处理成功后先写入 `completed` 并保留节点，再询问用户是否清除；用户确认后只写入删除标记，实际清理由扩展统一执行。临时地址默认不修改项目文件；页面侧接入完成后再验证回写能力。

## 交付要求

最终回复按命中的子流程包含必要信息：

- ACP UI：是否已确认健康；如果需要用户手动启动，给出准确命令和当前阻塞状态
- 批注处理：完成了哪些界面修改、是否还有未处理或异常批注、做了哪些验证；写入 `completed` 后询问用户是否清除
- 标注环境：可批注地址、采用的标注源形式和实际路径；未完成时说明缺少 Runtime 接入还是页面上下文
- AI 能力：所选供应商、CLI 与登录是否就绪、provider session 是否可用；不要暴露 token 或其他凭据
- 页面接入：修改了哪些文件、暴露了哪些属性或方案字段、做了哪些验证
- 回复保持面向用户，不要把内部批注状态、同步细节或命令日志当作主要内容

## 参考

- `references/comment-processing.md`
- `references/ai-capabilities.md`
- `references/property-editing.md`
- `references/design-bid.md`
- `references/environment-context.md`
- `references/acp-native-bootstrap.md`

