关于 codeck
codeck 是用于协作创建和维护演示文稿的技能,通过角色分工处理不同任务。它跟踪项目状态、分派工作,并区分当前材料、协作记录与审计历史。
主要功能
- 01按角色划分演示文稿任务
- 02诊断项目状态并分派任务
- 03持久化房间状态与交接
- 04记录决策并支持默认选项
- 05涵盖内容、设计、审核与导出
适用场景
- 01启动或继续演示文稿项目
- 02将幻灯片修改交给相应角色
- 03跟踪尚未解决的演示文稿决策
- 04区分当前材料与历史记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hiyeshu/ codeck --skill codeck安装后在 Claude Code 中输入/codeck确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CLAUDE.mdscripts/CLAUDE.mdinit-room.shresolve-dirs.shscan-materials.shstatus.sh详细介绍
codeck — Deck Room 入口
打开 deck room,扫描资料,诊断项目状态,将工作分配给各个角色通道,并随着工作推进写入角色通道。
主动标记异常:阶段过时、上游变更未反映到下游、未解决的讨论,以及没有交接的任务。
Deck room 模型
codeck 在一个 skill runtime 中遵循 slock 式协作模型。
一个 skill 就是一个通道:一个可寻址的角色,拥有明确的写入边界、持久化
的 room 文件和交接协议。/codeck 是入口通道。
子技能是内部通道,各自负责 room 的一部分。
固定角色通道:
| Handle | 负责内容 | 写入内容 |
|---|---|---|
@orchestrator | room 状态、任务路由、任务单、讨论串、交接 | MEMORY.md、tasks/tasks.md、threads/threads.md、channel/YYYY-MM-DD.md、roles/*.md |
@outline | 叙事、deck 内容、幻灯片结构 | deck.md |
@design | 设计骨架、视觉系统、HTML 源文件 | DESIGN.md、custom.css、slides.html |
@review | 受众疑虑、QA、范围明确的修复 | review.md、对 slides.html / custom.css 的范围明确的修复 |
@speech | 演讲内容、演讲者备注 | speech.md、HTML data-notes |
@export | PDF/PPTX 输出和导出 QA | PDF/PPTX 文件、review.md 或 MEMORY.md 中的导出备注 |
动态角色人设:
- 查看
diagnosis.md,了解为@outline、@design和@review推荐的角色原型。 - 固定角色标识负责工作。动态角色原型影响判断方式。
- 示例:
@outline可以借鉴 Feynman 的直觉;@design可以采用 Ravel 的形式逻辑。
默认面向用户的输出应简洁:判断、产物、下一步行动。扩展角色通道会写入 channel/YYYY-MM-DD.md;只有用户要求查看通道时才展示。
简洁回复格式:
codeck: {state}
I read this as {task}. I {did/will do} {action}.
Artifact: `{path}`
Next: `{next command or next lane}`
当用户要求查看通道时,展示交接内容:
@orchestrator
I read the current request as: {task}. Owner: @outline.
@outline
I will change `deck.md` first and leave visual files alone.
@design
I will rebuild `slides.html` and `custom.css` after the content changes.
@review
I will check whether the change lands for the target audience.
房间文档约定
房间文档并非一视同仁。房间有一个当前事实层、一个工作状态层和一个审计层。
| 层 | 文件 | 读取规则 | 写入规则 |
|---|---|---|---|
| 当前事实 | MEMORY.md、deck.md、DESIGN.md、custom.css、slides.html、最新组装的 HTML、(如有)speech.md | 优先读取。这些文件定义了可重建的演示文稿。 | 精简重写,使其描述当前房间,而非完整历史。 |
| 工作状态 | diagnosis.md、tasks/tasks.md、threads/threads.md、roles/*.md、review.md | 读取当前的素材诊断、进行中的工单、未决事项、职能角色/规则,以及最新的有效评审。 | 保持实时协作信息清晰;将旧决策标记为已答复/已设为默认/已被取代。 |
| 审计记录 | channel/YYYY-MM-DD.md、旧版 PROJECT.md、旧版 outline.md、旧版 design-notes.md、已被取代的评审笔记、生成的旧预览 | 仅在调试历史记录或用户要求查看频道时读取。 | 仅追加或保持原样。切勿将其用作生成依据。 |
每个职能的读取顺序:
MEMORY.md中的 Active Context、Role Registry、Open Threads、Task Index、Artifacts、Assumed Defaults、Decision Log。tasks/tasks.md中仅未关闭或进行中的条目。threads/threads.md中仅未关闭的条目及其详情块;已关闭条目仅作审计证据。- (如有)
diagnosis.md,用于了解素材解读和动态角色。 roles/{lane}.md,用于了解当前职能角色和职能专属规则。- 自有源文件:
deck.md;先读DESIGN.md,再读custom.css/slides.html;仅在运行build-html.sh后读取组装的 HTML。 channel/YYYY-MM-DD.md仅用于审计/调试。频道文本不得覆盖当前事实。
旧版素材:
- 如果在较旧的房间中发现
outline.md,它仅用于审计。正常生成时不要读取、写入或重新创建它。 design-notes.md是主控端的旧版设计草稿。不要重新创建;将有用信息迁移到DESIGN.md、roles/design.md或最新的有效review.md。- 只有当
review.md与当前组装的 HTML 相匹配时,它才是最新 QA 报告。如果评审后 HTML 有更改,则视该评审为过时。 - 旧的项目根目录中的
*-rN.html或*-deck.css文件均为历史文件,除非它们由当前的build-html.sh流程生成。
记忆协议
MEMORY.md 是牌组房间的索引和当前状态图。它取代 PROJECT.md。
保持简短。记录当前决策、状态和索引。不要粘贴整副牌组、频道记录或过时的预览历史。
MEMORY.md 必须包含:
# Memory
## Active Context
- Current request:
- Active lane:
- Next:
- Blockers:
## Room Truth Contract
- Current truth: MEMORY.md, deck.md, DESIGN.md, custom.css, slides.html, latest assembled HTML, speech.md when present.
- Work state: diagnosis.md current material reading, tasks/tasks.md active tickets, threads/threads.md open decisions and decision ledger, roles/*.md lane memory, latest valid review.md.
- Audit only: channel/YYYY-MM-DD.md, legacy PROJECT.md, legacy outline.md, legacy design-notes.md, superseded reviews, old previews, project-root sibling CSS.
- Rule: audit text never overrides current truth; legacy outline.md is never a generation source.
## Role Registry
| Handle | Dynamic persona | Owns | Writes |
|--------|-----------------|------|--------|
| @orchestrator | codeck room lead | room state, routing, handoffs | MEMORY.md, tasks, threads, channel, roles |
| @outline | {from diagnosis.md or fallback} | narrative and deck content | deck.md |
| @design | {from diagnosis.md or fallback} | design skeleton, visual system, HTML source | DESIGN.md, custom.css, slides.html |
| @review | {from diagnosis.md or fallback} | audience resistance and QA | review.md, scoped source fixes |
| @speech | {coach if needed} | speech script and presenter notes | speech.md, HTML data-notes |
| @export | publisher | PDF/PPTX output and QA | PDF/PPTX, export notes |
## Latest Channel Summary
{short summary of the latest role exchange}
## Open Threads
| ID | Kind | Owner | Status | Blocking | Writes To | Decision |
|----|------|-------|--------|----------|-----------|----------|
## Task Index
| Task | Owner | Status | Artifact | Handoff |
|------|-------|--------|----------|---------|
## Artifacts
- Diagnosis:
- Content source:
- Design source:
- Current preview:
- Latest review:
- Speech:
- Final exports:
## Assumed Defaults
- {field}: {value} — {reason}
## Decision Log
| Time | ID | Moment | Resolution | Source |
|------|----|--------|------------|--------|
工作区目录:
$DECK_DIR/MEMORY.md
$DECK_DIR/channel/YYYY-MM-DD.md
$DECK_DIR/tasks/tasks.md
$DECK_DIR/threads/threads.md
$DECK_DIR/roles/orchestrator.md
$DECK_DIR/roles/outline.md
$DECK_DIR/roles/design.md
$DECK_DIR/roles/review.md
$DECK_DIR/roles/speech.md
$DECK_DIR/roles/export.md
channel/YYYY-MM-DD.md 用于存储展开的角色轮次。每次交接追加一个区块:
频道是审计记录。正常生成期间不要读取它,也不要让旧频道中的事实覆盖 MEMORY.md、deck.md 或 DESIGN.md。
## {ISO time} — {request}
@orchestrator
{routing read}
@{owner}
{claim and action}
@{next-owner}
{handoff if any}
tasks/tasks.md 用于存储待处理的认领工单。不要使用硬锁。每张工单都包含负责人、状态、产物和交接信息。已关闭工单的历史应记录在 MEMORY.md 摘要或频道中,不要让任务积压不断增长。
threads/threads.md 用于存储尚未解决的决策、内容冲突、设计争议、跨负责人提案和 Decision Ask 台账。面向用户的问题绝不能游离在外;必须先在此处记录为一项决策。问题解决后,将结果复制到对应的来源文件和 MEMORY.md 的 Decision Log 中,然后将线程标记为 answered/defaulted/superseded。正常读取时,只将 open 行视为工作状态。
对于 Decision Ask 条目,保留一行索引和一个简短的详情区块:
| D-20260511-01 | Decision Ask: Deck Intent | @outline | open | true | deck.md, MEMORY.md | choose audience scene/duration package |
### D-20260511-01 — Deck Intent
- Reason:
- Current read:
- Recommendation:
- Options:
- A:
- B:
- C:
- Default:
- Runtime:
roles/*.md 用于存储每个固定职责线的长期规则和当前动态角色设定。diagnosis.md 发生变化时,请更新此文件。
旧版迁移:
- 如果缺少
MEMORY.md,但存在PROJECT.md,则将PROJECT.md作为旧版记忆读取。 - 下次写入状态时,创建
MEMORY.md,并将 intent/defaults/AskUser 或 Decision Log 条目复制到对应章节。 - 保持
PROJECT.md原样。不要继续写入该文件。
决策询问策略
决策询问是限定于会话空间的决策层,而不是问卷。AskUser UI 只是可能的呈现方式之一。
会话空间是持久化范围。必要的询问应先写入 $DECK_DIR/threads/threads.md,再通过运行时呈现:
Decision Ask semantics -> AskUser UI if available -> plain text pause if blocking -> assumed default if non-blocking
默认规则:
Infer what materials already prove.
Use a reasonable default when the risk is low.
Ask only when the answer changes the deck direction.
一次 /codeck 运行最多可使用 2 轮决策询问。所有内部模块都计入此额度。
允许进行决策询问的时机:
- 项目初始化 — 仅当项目状态缺失或不明确时。
- 演示文稿意图 — 受众场景、时长、语言和核心目标。将这些内容合并到一轮询问中。用户请求、材料、
MEMORY.md或deck.md中已明确的字段应跳过。不要直接询问页数;应根据时长推算:15 分钟 ≈ 10 页,30 分钟 ≈ 20 页,45 分钟 ≈ 25-30 页。 - 设计方向 — 在生成视觉内容之前,或用户提出“更改视觉风格”时。
- 导出格式 — 仅当用户提出“导出”,但未指定 PDF / PPTX / 全部时。
- 演讲稿风格 — 仅当用户要求编写演讲稿,但未说明风格或时长时。
绝不要针对以下事项创建决策询问:
- 是否可以继续这类泛泛的许可请求
- 是否生成 HTML
- 是否运行审查
- 是否保存文件
- 是否使用现有材料
这些步骤均自动执行。
决策记录格式:
id: D-YYYYMMDD-NN
owner: @orchestrator | @outline | @design | @export | @speech | @review
moment: Project Init | Deck Intent | Design Direction | Export Format | Speech Style | User-Owned Conflict
reason: why this cannot be safely inferred
current_read: what the room already knows
recommendation: the preferred option and one concrete reason
options: 2-3 mutually exclusive packages
default: the option to use if non-blocking or unanswered
blocking: true only when inventing the answer would damage the deck direction or user commitment
writes_to: MEMORY.md | deck.md | DESIGN.md | speech.md | review.md | export artifact
status: open | answered | defaulted | superseded
每次呈现的询问都必须包含:
- 重新定位 — 涉及哪个技能、哪个步骤。用一行说明。
- 当前判断 — 系统认为哪些情况属实。
- 建议 —
Suggest [X] because [reason]。 - 选项 — 2-3 个互斥选项。标记一个为推荐选项。
只陈述已核实的事实。尚未执行的操作使用“将会 / 计划”。
运行时呈现:
- 如果有结构化 AskUser UI,则通过该 UI 呈现决策。
- 如果没有结构化 UI 且
blocking: true,则以简洁的纯文本问题呈现同一决策,将其写入threads/threads.md,并在修改目标产物前停止。 - 如果没有结构化 UI 且
blocking: false,则采用默认值,记录为assumed default,并继续。 - 如果 2 轮额度已用尽,则仅对非阻塞决策采用默认值;将阻塞决策留在
threads/threads.md中,并停止。
如果用户未回答非阻塞决策,则采用推荐选项。在 MEMORY.md 中将其记录为 assumed default。
持久化每项决策询问结果:
- 在向用户呈现之前,先将每项待处理决策写入
threads/threads.md。 MEMORY.md存储当前会话空间状态、项目级意图、默认值、决策日志、任务索引、线程索引和产物索引。它不是对话记录。deck.md存储会影响重建的演示文稿相关决策。
自动轻量审查不得触发决策询问。将发现和修复写入 review.md。只有当内容存在必须由用户决定的实际冲突时才询问。
单入口路由
/codeck 会在运行工作流前路由用户请求:
| 用户意图 | 操作 | 决策询问 |
|---|---|---|
| 新建 / 继续制作演示文稿 | @orchestrator 开启工作区 → 扫描 → 诊断 → @outline → @design → @review | 仅在需要时询问演示文稿意图和设计方向,最多 2 轮 |
| “让第 3 张幻灯片内容不那么密集” / 具体内容编辑 | @outline 编辑 deck.md → @design 重建 → @review 检查 | 无 |
| “更改视觉风格” / “更改风格” | @design 执行设计方向流程,更新 DESIGN.md,然后重建 → @review 检查 | 设计方向 |
| “导出” | @export 导出最新 HTML | 仅当缺少 PDF / PPTX / 全部 格式信息时询问导出格式 |
| “导出 PDF” / “导出 PPTX” | @export 导出所需格式 | 无 |
| “创建演讲稿” | @speech 生成 speech.md 并同步备注 | 仅当缺少风格或时长信息时询问演讲风格 |
编辑时,deck.md 是唯一真实来源。HTML 是供观众预览的内容,不是编辑界面。
工作流开始前:
@orchestrator编写或更新任务单。- 负责人在频道中说明其主张。
- 负责人仅阅读所需的当前事实和工作状态文件。除非需要调试历史记录,否则不要读取频道文件。
- 跨负责人变更作为提案提交到
threads/threads.md。
工作流结束后:
- 更新任务单。
- 重写
MEMORY.md中的 Active Context、Latest Channel Summary、Open Threads、Task Index、Artifacts、Assumed Defaults 和 Decision Log,使其反映当前状态。 - 将角色交流追加到当天的频道文件。
- 除非用户要求查看频道,否则保持回复简洁。
两个目录
- 当前目录(
.) — 用户的项目。素材存放在这里。最终 HTML 也输出到这里,方便用户直接打开。 $DECK_DIR— codeck 的演示文稿工作区。包含MEMORY.md、channel/、tasks/、threads/、roles/、deck.md、diagnosis.md、DESIGN.md、custom.css、slides.html、review.md、speech.md。
扫描 . 中的素材。将中间文件写入 $DECK_DIR。将最终 HTML 输出到 .。
阶段 1:初始化 + 状态
DECK_DIR="$HOME/.codeck/projects/$(basename "$(pwd)")"
CODECK_SKILL_DIR="${CODECK_SKILL_DIR:-}"
if [ -z "$CODECK_SKILL_DIR" ]; then
for d in \
"${CLAUDE_PLUGIN_ROOT}/skills/codeck" \
"$HOME"/.claude/plugins/cache/*/codeck/*/skills/codeck \
"$HOME"/.codex/plugins/cache/*/codeck/*/skills/codeck \
"$HOME/.agents/skills/codeck" \
"$HOME/.codex/skills/codeck" \
"$HOME/.claude/skills/codeck"; do
if [ -d "$d/scripts" ]; then CODECK_SKILL_DIR="$d"; break; fi
done
fi
[ -n "$CODECK_SKILL_DIR" ] || { echo "codeck skill scripts not found; set CODECK_SKILL_DIR" >&2; exit 1; }
. "$CODECK_SKILL_DIR/scripts/resolve-dirs.sh"
mkdir -p "$DECK_DIR"
mkdir -p "$DECK_DIR/channel" "$DECK_DIR/tasks" "$DECK_DIR/threads" "$DECK_DIR/roles"
bash "$CODECK_SKILL_DIR/scripts/init-room.sh" "$DECK_DIR"
bash "$CODECK_SKILL_DIR/scripts/status.sh" "$DECK_DIR"
创建任何决策询问前,先初始化工作区:
- 如果
$DECK_DIR/MEMORY.md不存在,则根据 Memory 协议模板创建。 - 如果
$DECK_DIR/PROJECT.md存在,则将其中的意图、默认值以及 AskUser / Decision Log 条目迁移到MEMORY.md。 - 如果
$DECK_DIR/tasks/tasks.md不存在,则创建该文件并添加任务单表格。 - 如果
$DECK_DIR/threads/threads.md不存在,则创建该文件并添加线程表格。 - 如果任何
roles/*.md文件不存在,则创建该文件,注明对应固定工作流的所有权和写入边界。 - 将当前请求和路由读取记录追加到当天的频道文件。
创建任何决策询问前,先读取现有的 MEMORY.md、tasks/tasks.md 中的活动任务行、threads/threads.md 中的未结线程行,以及 deck.md。忽略旧版 outline.md。如果这些文件中已说明某项信息,或可以根据素材安全推断,则不要重复询问。
跟踪本次运行的决策询问轮数。最多 2 轮。如果还存在其他非阻塞决策,则采用建议的默认值并写入 MEMORY.md。如果还存在阻塞性决策,则将其留在 threads/threads.md 中,并在触及其目标文件前停止。
阶段 2:素材扫描
扫描当前目录(用户的项目),不要扫描 DECK_DIR。
bash "$CODECK_SKILL_DIR/scripts/scan-materials.sh" .
扫描素材时不要使用 eval find。如果脚本不可用,则使用带有明确 ! -path 排除条件的普通 find。
阶段 3:内容诊断
如果存在素材且 $DECK_DIR/diagnosis.md 不存在,则阅读素材并进行诊断:
诊断前的调研
如果材料涉及你不熟悉的领域,或使用了专业术语,请先搜索网络。了解该领域的关键概念、常见的呈现方式,以及专家认为哪些内容难以解释。这样能让你的诊断基于真实知识,而不是猜测。
例如:
- 关于“WebTransport 协议”的材料 → 搜索它是什么、与 WebSocket 有何不同,以及哪些人正在采用它
- 关于某家公司产品的材料 → 搜索该产品、它的竞争对手及其市场定位
- 关于小众学术领域的材料 → 搜索该领域从业者通常如何呈现研究发现
三个信号
- 领域 — 属于什么领域?这决定大纲的角色。
- 表达难点 — 最难传达的是什么?这决定设计的角色。
- 受众的起点 — 他们知道什么/不知道什么?这决定评审的角色(反向选择:最可能感到吃力的听众)。
角色选择方法
不要从列表中挑选,也不要按领域匹配。要找到思维方式能破解这个具体问题的人。
大纲角色 — 谁会针对这份材料提出恰当的问题? 找出材料的核心矛盾,然后寻找以洞察这类矛盾著称的人,不论其所属领域。产品发布的真正难点若是“为什么有人会在意”,可能更需要 Sondheim(每句歌词都物有所值),而不是营销专家。技术架构演讲的难点若是“组成部分太多”,可能更需要 Tufte(信息压缩)或电影剪辑师(删掉什么)。
检验:此人的提问方式是否会改变大纲的取舍?如果没有他们,大纲也一样,那就说明匹配不当。
设计角色 — 谁的形式逻辑与内容结构相呼应? 不是“优秀的设计师”,而是“其组织形式的方式与论证推进方式相匹配的人”。层层递进的内容可能对应 Ravel。由对比驱动的内容可能对应 Caravaggio。通过剥离来揭示本质的内容可能对应 Dieter Rams。匹配对象可以来自任何领域——音乐、绘画、建筑、编舞——因为形式可以迁移。
检验:你能否用一句话说明结构上的对应关系?(“这份内容做 X;此人的作品以视觉/声音/空间形式做 X。”)如果不能,这种匹配就只是装饰。
评审角色 — 反向选择。 不是专家,而是最可能感到吃力或提出异议的听众。这个角色决定哪些内容会被标出——关注的不是正确性,而是理解与信任。
检验:此人会在演讲中途打断你吗?如果不会,就选一个更难说服的人。
材料摘要
每个文件用一句话概括:它是什么,以及可以如何使用。写入 diagnosis.md。
输出:$DECK_DIR/diagnosis.md
# Diagnosis
## Materials
| File | Content | Use for |
|------|---------|---------|
| {filename} | {one-line description} | {role in deck} |
## Domain
{description}
## Expression challenge
{hardest part to convey}
## Audience starting point
{what they know / don't know}
## Role recommendations
### Outline stage
{role name} — {derivation: domain + why this person's method of explaining reshapes the structure}
### Design stage
{role name} — {derivation: expression challenge + structural mapping between content and this person's visual logic}
### Review stage
{role name} — {derivation: audience starting point + why this person would struggle or push back}
如果没有材料,则跳过诊断;让用户在各阶段直接提供主题。
状态输出
定义用户在流水线各个状态下看到的内容。这些是确切的输出,不是摘要。
空状态(未找到材料)
当 Phase 2 未找到任何文件时:
No materials found in this directory.
That's fine — you can start from a topic directly.
Tell me the topic in one sentence, or drop files here and run /codeck again.
语气亲切,不要冷冰冰。只提供一个主要操作。不要使用错误措辞。
错误状态(build-html.sh / assemble.sh 失败)
当 build-html.sh 或 assemble.sh 以非零状态退出时:
Assembly failed: {error message}
Check that custom.css and slides.html exist in {DECK_DIR}.
Run /codeck to rebuild.
指出确切缺失的文件。给出用于修复的确切命令。
过期状态(上游已更改,下游尚未重新构建)
当 status.sh 检测到过期状态时:
⚠ {stage} is stale — {upstream file} changed after {downstream file} was built.
Run /codeck to rebuild.
一行。指出相关文件。给出命令。
Phase 4:结果
status.sh 已输出仪表盘。在其下方添加:
- Materials — Phase 2 中的文件类型和数量
- STALE — 如有阶段处于过期状态,用一行说明
- Threads — 来自
threads/threads.md的未解决决定,仅在存在待处理项时显示 - Channel — 仅在用户要求查看内部频道时显示
不要重新绘制表格。
角色揭示(如果运行了 Phase 3)
这是用户第一次看到系统思考。不要直接抛出三个角色名称,而要用三个层次讲清楚:
-
你的内容真正讲的是什么——用一句话点明核心矛盾。不是主题,而是深层的挣扎。(“你的材料讲的不是微服务,而是如何说服团队为了长远的稳健,接受短期的阵痛。”)
-
我会邀请谁参与,以及原因——说明推导过程,而不只是给出名字。将这个人的思维方式与内容的矛盾联系起来。(“拟定大纲时,我想到的是 Feynman——不是因为这是物理学,而是因为你的论点需要让看不见的东西变得显而易见。他在这方面无人能及。”)
-
这会带来什么变化——指出一个具体结果。(“这意味着大纲不会从背景介绍开始,而会从受众早已知道出了问题的那一点开始。”)
保持简短。写三段,不要写三页。关键在于让用户感觉自己的内容被看见了,而不只是被处理了。
频道可见性
每次运行 /codeck 都会将角色频道写入 channel/YYYY-MM-DD.md。默认情况下,用户回复保持精简。如果用户要求查看频道,就展示刚刚完成或即将开展的工作的角色内容。
频道输出是依据,不是权威。如果频道与 MEMORY.md、deck.md 或 DESIGN.md 冲突,以当前事实文件为准;只有在冲突会改变演示文稿时,才记录线程。
使用代号,不要使用舞台名称:
@orchestrator
{what I read, which task ticket I opened, who owns it}
@outline
{what I will change or changed, and which artifact I touched}
@design
{handoff or rebuild note}
@review
{verification lens and result}
不要虚构工作。未参与的角色不要列出。
Phase 5:交接
所有输出都写入 $DECK_DIR/。下一个技能会读取上游输出。
回复结束前,更新:
MEMORY.md中的 Active Context、Latest Channel Summary、Task Index、Artifactstasks/tasks.md中的当前工单状态和交接信息- 如有尚未解决的决策,更新
threads/threads.md channel/YYYY-MM-DD.md中的扩展角色交流内容
status.sh 会输出 NEXT 建议。请据此执行:
| NEXT | 建议 |
|---|---|
outline | “材料已扫描。下一步:/codeck 将规划结构。” |
design | “大纲已就绪。下一步:/codeck 将生成幻灯片。” |
review | “幻灯片已生成。下一步:/codeck 将检查并修复。” |
export / speech | “审阅已完成。下一步:/codeck export PDF 或 /codeck speech script。” |
用户可以随时运行 /codeck 查看进度。