groundwork

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- GENERATED — edit .claude/skills/groundwork/ instead. Synced by sync-from-dev.mjs. -->
<!-- 生成文件 — 请编辑 .claude/skills/groundwork/ 下的文件。由 sync-from-dev.mjs 同步。 -->

groundwork — research → plan → orchestrate → act, packaged

groundwork — 研究→规划→编排→执行,一站式封装

This file is a router. Each action and each agent role lives in its own file under
actions/
and
agents/
; load on demand. The state mechanism (
.groundwork.json
, fences, hash-diff, IDs) is fully specified in
lib/state.md
— every action obeys it. Read
lib/state.md
before doing anything that writes to disk.
The full design lives in
plans/groundwork/01-plan.md
; locked decisions in
plans/groundwork/04-discussion.md
(Rounds 1–4). This skill is the executable form of that plan.

本文件为路由文件。每个操作和Agent角色都位于
actions/
agents/
下的独立文件中;按需加载。状态机制(
.groundwork.json
、标记块、哈希差异、ID)在
lib/state.md
中有完整说明——所有操作均遵循该机制。在执行任何写入磁盘的操作前,请先阅读
lib/state.md
完整设计方案位于
plans/groundwork/01-plan.md
;已锁定的决策记录在
plans/groundwork/04-discussion.md
(第1-4轮)。本skill是该规划的可执行版本。

What groundwork is for

groundwork的用途

Stripped to one sentence: a stateless action-set that scaffolds and maintains a folder of living planning documents, with traceable IDs threading plan → tracking → orchestration → board, so re-runs augment instead of clobber and a multi-agent kickoff falls out the back end. Originated from the
com.ikenga.studio
planning workflow; generalized so it works for non-code, non-Ikenga work too.
Surface model:
SurfaceWhat it isTrigger
Scaffolder (
init
)
First-run interview + folder skeleton dropUser has a goal but no plan folder
Action:
research
Researcher agent fills
02
/
03
After scaffolder, or to refresh
Action:
design
Produces ≥2 comparable
designs/*.html
for the current phase, locks one
Visual/UX work, profile-gated
Action:
subplan
Scaffolds a focused
NN-*.md
from one of three archetypes (diff-plan / decision-doc / bug-doc)
A hard piece needs its own focused doc (critical-path PR plan, between-round deliberation, postmortem)
Action:
review
Reviewer agent → new Round in
04
→ re-sync via IDs
Recurring, highest-value
Action:
clarify
Readiness gate before
orchestrate
Before kickoff
Action:
orchestrate
Generates
09-orchestration.md
from
05
When ready to kick off
Action:
refresh-board
(Re)generates
artifact/board.html
Whenever board falls behind
Action:
refresh-living-spec
Regenerates the
spec-state
fence inside
artifact/index.html
(Phasing/Decisions/Risks tabs) from
.groundwork.json
+
04
+
05
+
01 §Risks
When the living-spec's auto tabs fall behind
Action:
status
Read-only freshness + ID + design-coverage + sub-plan reportAnytime
init
is the one entry point that doesn't require an existing
.groundwork.json
. Every other action refuses to run without one (and tells the user to run
init
first).

一句话概括:一套无状态操作集,用于搭建和维护动态规划文档文件夹,通过可追踪ID串联规划→跟踪→编排→看板,确保重复执行时仅增强而非覆盖内容,同时支持多Agent协作启动。源自
com.ikenga.studio
的规划工作流;已通用化,适用于非代码、非Ikenga相关工作。
表层模型:
模块说明触发条件
脚手架(
init
首次运行引导对话 + 文件夹骨架生成用户有目标但无规划文件夹
操作:
research
Researcher Agent填充
02
/
03
文件夹
脚手架完成后,或需刷新研究内容时
操作:
design
为当前阶段生成≥2个可对比的
designs/*.html
文件,并锁定其中一个
视觉/UX工作,受配置文件限制
操作:
subplan
从三种原型(diff-plan / decision-doc / bug-doc)中搭建聚焦的
NN-*.md
子规划
某一复杂部分需要独立的聚焦文档(如关键路径PR规划、轮次间审议、事后分析)
操作:
review
Reviewer Agent → 在
04
中新增轮次 → 通过ID重新同步
定期执行,价值最高的操作之一
操作:
clarify
执行
orchestrate
前的就绪检查
启动前执行
操作:
orchestrate
05
生成
09-orchestration.md
准备启动时执行
操作:
refresh-board
(重新)生成
artifact/board.html
看板内容滞后时
操作:
refresh-living-spec
根据
.groundwork.json
+
04
+
05
+
01 §Risks
重新生成
artifact/index.html
中的
spec-state
标记块(阶段/决策/风险标签页)
动态规范的自动标签页内容滞后时
操作:
status
只读的新鲜度 + ID + 设计覆盖范围 + 子规划报告随时可执行
init
是唯一无需现有
.groundwork.json
即可执行的入口。所有其他操作在无该文件时都会拒绝运行,并提示用户先执行
init

Routing

路由规则

Match the user's request against the table; load the matching action file and follow it. Do not inline action behavior in this file — the actions are the source of truth.
If the user says…Load thisThen
"scaffold groundwork", "init", "new plan folder", "start groundwork in X/"
actions/init.md
Interview goal + profile, scaffold, write
.groundwork.json
"groundwork research", "do a research pass", "fill 02/03"
actions/research.md
Spawn researcher; write inside fences
"groundwork design", "design pass", "mock up the UI options"
actions/design.md
Profile-gated; compose design skill or plain HTML; lock one
"groundwork subplan", "scaffold an NN-*.md", "new diff-plan / decision-doc / bug-doc"
actions/subplan.md
Scaffold a focused sub-plan from one of three archetypes; register in
.groundwork.json.subplans
; cross-link from 00-README
"groundwork review", "review pass", "gap analysis"
actions/review.md
Spawn reviewer; append Round; re-sync via IDs
"groundwork clarify", "ready to orchestrate?"
actions/clarify.md
Scan for open questions + unspecified IDs + missing locked designs
"groundwork orchestrate", "generate 09", "wave plan"
actions/orchestrate.md
Runs clarify first; emits
09-orchestration.md
"refresh the board", "update artifact/board.html"
actions/refresh-board.md
Re-derive board data from current docs
"refresh the living spec", "update artifact/index.html", "the Phasing/Decisions/Risks tabs are stale"
actions/refresh-living-spec.md
Regenerate only the
spec-state
fence (Phasing/Decisions/Risks); hand-authored tabs are never touched
"groundwork status", "where are we"
actions/status.md
Read-only report
将用户请求与下表匹配;加载对应的操作文件并执行。请勿在此文件中嵌入操作逻辑——操作文件才是事实来源。
用户请求示例加载文件后续操作
"scaffold groundwork"、"init"、"new plan folder"、"start groundwork in X/"
actions/init.md
引导对话收集目标+配置文件,搭建文件夹,写入
.groundwork.json
"groundwork research"、"do a research pass"、"fill 02/03"
actions/research.md
启动Researcher;在标记块内写入内容
"groundwork design"、"design pass"、"mock up the UI options"
actions/design.md
受配置文件限制;组合设计skill或生成纯HTML;锁定一个版本
"groundwork subplan"、"scaffold an NN-*.md"、"new diff-plan / decision-doc / bug-doc"
actions/subplan.md
从三种原型中搭建聚焦子规划;在
.groundwork.json.subplans
中注册;从00-README添加交叉链接
"groundwork review"、"review pass"、"gap analysis"
actions/review.md
启动Reviewer;追加轮次;通过ID重新同步
"groundwork clarify"、"ready to orchestrate?"
actions/clarify.md
扫描未解决问题 + 未指定ID + 缺失的锁定设计
"groundwork orchestrate"、"generate 09"、"wave plan"
actions/orchestrate.md
先执行clarify;生成
09-orchestration.md
"refresh the board"、"update artifact/board.html"
actions/refresh-board.md
从当前文档重新生成看板数据
"refresh the living spec"、"update artifact/index.html"、"the Phasing/Decisions/Risks tabs are stale"
actions/refresh-living-spec.md
仅重新生成
spec-state
标记块(阶段/决策/风险);手写标签页永远不会被修改
"groundwork status"、"where are we"
actions/status.md
生成只读报告

Discover vs. fast path

发现路径 vs 快速路径

  • Discover path — invoked cold ("scaffold a plan for X"). Run the
    init
    interview to capture goal + profile, then suggest
    research
    as the next step.
  • Fast path — invoked in an existing groundwork folder ("groundwork review"). Read
    .groundwork.json
    , dispatch to the named action immediately. No interview unless the action itself needs one.
If invoked from inside a folder with no
.groundwork.json
, treat as discover even if the action name was given — refuse the action with a one-line "this folder isn't a groundwork plan yet; run
init
first."
  • 发现路径 — 首次调用(如“为X搭建规划”)。执行
    init
    引导对话收集目标+配置文件,然后建议下一步执行
    research
  • 快速路径 — 在已有的groundwork文件夹中调用(如“groundwork review”)。读取
    .groundwork.json
    ,直接分发到指定操作。除非操作本身需要,否则无需引导对话。
如果在无
.groundwork.json
的文件夹中调用,即使指定了操作名称,也视为发现路径——拒绝执行操作,并提示“此文件夹尚未是groundwork规划;请先执行
init
”。

Click-to-fire prompts (per-action)

一键触发提示(按操作分类)

Each action file under
actions/
carries a
## Click-to-fire prompt
section at the bottom with two flavors: a standalone slash form (
/groundwork <action> [args]
) and a seeded-session form (a self-contained brief that works even in a chat where the skill isn't loaded). The Phase-4 board surfaces (Kickoff card / ⌘K palette / argument pickers) read these as their canonical strings — they are the single source of truth shared between the FE and the orchestrator agent. Substitution variables are documented inline per action (typically
{plan_folder}
,
{plan_title}
,
{plan_slug}
,
{profile}
).

actions/
下的每个操作文件底部都有一个
## Click-to-fire prompt
部分,包含两种形式:独立斜杠形式
/groundwork <action> [args]
)和会话种子形式(即使在未加载skill的聊天中也能生效的独立简要说明)。Phase-4看板界面(启动卡片 / ⌘K面板 / 参数选择器)将这些作为标准字符串读取——它们是前端和编排Agent共享的唯一事实来源。替换变量在每个操作中都有内联说明(通常为
{plan_folder}
{plan_title}
{plan_slug}
{profile}
)。

Profiles

配置文件(Profiles)

A profile swaps vocabulary and optional blocks, not the spine. Templates use
{{vocab.*}}
placeholders (same substitution convention as
ikenga-pkg-builder
's
{{id}}
/
{{slug}}
).
ProfileDefault for
05
work-unit
produces_designs
Optional
01
blocks
software
Ikenga features, any code work"work package" / PR
true
schema, manifest, adapter contracts, critical files
general
Non-code work — campaigns, org changes, research"workstream" / "deliverable"
false
stakeholders, deliverables, success metrics
content
Editorial/marketing — content series, campaigns with key art"piece" / "asset"
true
editorial standards, distribution plan
Maintenance model: a single
profiles/_shared/
base + thin per-profile overlays.
profile.json
declares
extends: "_shared"
; only diffs need to live in the overlay. Format spec in
01-plan.md
§"Domain profiles."
status
runs a profile-conformance check to catch drift in user-dropped profiles.

配置文件替换的是词汇可选模块,而非核心框架。模板使用
{{vocab.*}}
占位符(与
ikenga-pkg-builder
{{id}}
/
{{slug}}
替换规则一致)。
配置文件默认适用场景
05
工作单元术语
produces_designs
01
可选模块
software
Ikenga功能、各类代码工作"work package" / PR
true
架构、清单、适配器契约、关键文件
general
非代码工作——活动、组织变更、研究"workstream" / "deliverable"
false
利益相关者、交付物、成功指标
content
编辑/营销类——内容系列、带核心素材的活动"piece" / "asset"
true
编辑标准、分发计划
维护模型:单个
profiles/_shared/
基础模板 + 轻量化的配置文件覆盖层。
profile.json
声明
extends: "_shared"
;仅需在覆盖层中保留差异内容。格式规范见
01-plan.md
§“Domain profiles”。
status
操作会执行配置文件一致性检查,以发现用户自定义配置文件中的偏差。

State, identity & idempotency

状态、标识与幂等性

The contract that makes stateless actions safe over an existing folder:
  1. .groundwork.json
    at the folder root is the identity + state anchor every action reads first.
  2. Generated-region fences (
    <!-- groundwork:auto:start ID -->
    <!-- groundwork:auto:end ID -->
    ) demarcate the only blocks an action may write. Everything outside a fence is hand-authored and never touched.
  3. Re-runs diff, not overwrite — an action recomputes a region, hashes it, and writes only when the hash differs.
  4. Stable IDs (
    G-NN
    gaps,
    WP-NN
    work packages,
    G-<NAME>
    gates,
    D-NN
    designs) thread
    01
    05
    09
    → board; the review action computes the affected-doc set from IDs + hashes, not from guessing.
The full schema, fence grammar, hash-diff algorithm, and a worked example:
lib/state.md
. Read it before any action that writes.

确保无状态操作在现有文件夹中安全执行的契约:
  1. .groundwork.json
    位于文件夹根目录,是所有操作首先读取的标识+状态锚点。
  2. 生成区域标记块
    <!-- groundwork:auto:start ID -->
    <!-- groundwork:auto:end ID -->
    )划定了操作仅可写入的区块。标记块外的所有内容均为手写,永远不会被修改。
  3. 重新执行时对比差异而非覆盖 — 操作重新计算区域内容,生成哈希值,仅当哈希值不同时才写入。
  4. 稳定ID
    G-NN
    阶段、
    WP-NN
    工作包、
    G-<NAME>
    gate、
    D-NN
    设计)串联
    01
    05
    09
    → 看板;review操作根据ID+哈希值计算受影响的文档集,而非猜测。
完整的 schema、标记块语法、哈希差异算法及示例:
lib/state.md
。执行任何写入操作前请先阅读。

Composition

组合能力

groundwork composes existing skills rather than reimplementing them. Soft dependencies — every composed skill has a fallback:
CapabilityPreferred skillFallback
Plan-board artifact
ikenga-artifact-builder
Self-contained template at
profiles/_shared/board/index.html
Design-quality spine (every
design
run)
huashu-design
(always engaged at step 2, regardless of surface)
Plain self-contained HTML under Claude's own craft direction
Interactive / data-bearing design mockup
ikenga-artifact-builder
(layered with huashu)
Plain self-contained HTML (studio's mockups needed nothing more)
Scroll-driven narrative mockup
scrollytelling
(layered with huashu)
Plain self-contained HTML
Hi-fi / production frontend
example-skills:frontend-design
/
web-artifacts-builder
(layered with huashu)
huashu-design alone
Anti-slop polish / critique / audit pass
impeccable
(layered with huashu)
huashu's own expert-review pass
Build handoff for Ikenga pkgs
ikenga-pkg-builder
09-orchestration.md
is the terminal deliverable
Requirements interviews
AskUserQuestion
(global planning rule)
n/a — always present in Claude Code
The
design
action does not pick one skill from this list —
huashu-design
is the always-on quality spine and Claude layers any combination of the others on top, deciding the blend while building (no limits). If
ikenga-artifact-builder
is absent,
refresh-board
writes the self-contained fallback template. If no design skill at all is installed,
design
falls back to plain HTML.

groundwork组合现有skill而非重新实现。软依赖——每个组合的skill都有 fallback方案:
能力首选skill降级方案
规划看板制品
ikenga-artifact-builder
profiles/_shared/board/index.html
中的独立模板
设计质量核心框架(每次
design
运行)
huashu-design
(无论表层操作如何,始终在步骤2启用)
Claude自主生成的纯独立HTML
交互式/带数据的设计原型
ikenga-artifact-builder
(与huashu分层组合)
纯独立HTML(工作室原型无需更多内容)
滚动驱动叙事原型
scrollytelling
(与huashu分层组合)
纯独立HTML
高保真/生产级前端
example-skills:frontend-design
/
web-artifacts-builder
(与huashu分层组合)
仅使用huashu-design
精细化打磨/评审/审计
impeccable
(与huashu分层组合)
huashu自身的专家评审流程
Ikenga包构建交付
ikenga-pkg-builder
09-orchestration.md
作为最终交付物
需求访谈
AskUserQuestion
(全局规划规则)
无——Claude Code中始终存在
design
操作不会从列表中选择单一skill——
huashu-design
是始终启用的质量核心框架,Claude会在构建过程中决定叠加其他任意组合的skill(无限制)。若
ikenga-artifact-builder
不存在,
refresh-board
会写入独立的降级模板。若未安装任何设计skill,
design
会降级为纯HTML。

Portability

可移植性

groundwork
is a portable Claude Code skill. The Ikenga coupling is an additive layer:
CapabilityIn Ikenga shellPlain Claude Code / terminalAny browser
Scaffold + actionsn/a
Research / review / orchestraten/a
Plan-board (view)✅ live status✅ open file✅ static
Copy brief from board
Start session (click-to-implement)(Phase 2)➖ copy-prompt➖ copy-prompt
Live tracking binding(Phase 2)➖ reads
05
Phase 1 (this skill) ships everything in the "Plain Claude Code / terminal" column and the static-board column. The
host.startChatSession
verb + live-tracking binding land in Phase 2 and are explicitly out of scope here — do not modify
shell/
or
contract/
.

groundwork
是一个可移植的Claude Code skill。与Ikenga的耦合是附加层:
能力在Ikenga shell中纯Claude Code / 终端任意浏览器
搭建 + 操作不适用
研究 / 评审 / 编排不适用
规划看板(查看)✅ 实时状态✅ 打开文件✅ 静态查看
从看板复制简要说明
启动会话(一键执行)(Phase 2)➖ 复制提示语➖ 复制提示语
实时跟踪绑定(Phase 2)➖ 读取
05
**Phase 1(当前skill)**包含“纯Claude Code / 终端”列和静态看板列的所有功能。
host.startChatSession
动词 + 实时跟踪绑定将在Phase 2推出,不在当前范围内——请勿修改
shell/
contract/

Critical files (this skill)

关键文件(本skill)

groundwork/
├── SKILL.md                                  ← you are here (router only)
├── lib/state.md                              ← state machine spec — every action obeys
├── actions/
│   ├── init.md
│   ├── research.md
│   ├── design.md
│   ├── subplan.md                            ← scaffold NN-*.md sub-plans (diff-plan / decision-doc / bug-doc)
│   ├── review.md
│   ├── clarify.md
│   ├── orchestrate.md
│   ├── refresh-board.md
│   └── status.md
├── agents/
│   ├── researcher.md                         ← brief template the research action spawns
│   ├── reviewer.md                           ← brief template the review action spawns
│   └── orchestrator.md                       ← brief template the orchestrate action spawns
└── profiles/
    ├── _shared/
    │   ├── profile.json                      ← base vocab + spine list
    │   ├── templates/                        ← spine docs with {{vocab.*}} + fences
    │   │   ├── 00-README.md
    │   │   ├── 01-plan.md
    │   │   ├── 02-research-external.md
    │   │   ├── 03-research-internal.md
    │   │   ├── 04-discussion.md
    │   │   ├── 05-tracking.md
    │   │   ├── subplans/                     ← NN-*.md archetype templates
    │   │   │   ├── diff-plan.md
    │   │   │   ├── decision-doc.md
    │   │   │   └── bug-doc.md
    │   │   └── artifact/                     ← scaffolded into <plan>/artifact/
    │   │       ├── manifest.json
    │   │       └── data/                     ← optional external data sources
    │   └── board/index.html                  ← self-contained Mission Control + Wave-toggle
    ├── software/
    │   ├── profile.json                      ← `extends: _shared`, produces_designs: true
    │   └── templates/                        ← thin overlays (only the docs that differ)
    └── general/
        ├── profile.json                      ← `extends: _shared`, produces_designs: false
        └── templates/
The reference instance — the canonical worked example of every artifact in this spine — is
plans/studio/
in this workspace. Re-derive the spine from it on major
spine_version
bumps.
Caveat on the studio reference: studio predates two later locks — the living-spec / tracking-board split (commit
a6bc357
: studio's
artifact/index.html
is a single tabbed artifact, not the
index.html
living-spec +
board.html
tracking-board pair this skill scaffolds) and the
.groundwork.json
state anchor (studio has none). Read studio for the spine shape and the prose conventions (Round bodies, WP briefs, lifted-from headers, per-phase design discipline) — not as a literal current-shape template. The dogfood at
plans/groundwork/
is the up-to-date worked example of the post-split, anchored layout.

groundwork/
├── SKILL.md                                  ← 当前文件(仅路由)
├── lib/state.md                              ← 状态机规范——所有操作均遵循
├── actions/
│   ├── init.md
│   ├── research.md
│   ├── design.md
│   ├── subplan.md                            ← 搭建NN-*.md子规划(diff-plan / decision-doc / bug-doc)
│   ├── review.md
│   ├── clarify.md
│   ├── orchestrate.md
│   ├── refresh-board.md
│   └── status.md
├── agents/
│   ├── researcher.md                         ← research操作启动的简要模板
│   ├── reviewer.md                           ← review操作启动的简要模板
│   └── orchestrator.md                       ← orchestrate操作启动的简要模板
└── profiles/
    ├── _shared/
    │   ├── profile.json                      ← 基础词汇 + 核心框架列表
    │   ├── templates/                        ← 带{{vocab.*}} + 标记块的核心框架文档
    │   │   ├── 00-README.md
    │   │   ├── 01-plan.md
    │   │   ├── 02-research-external.md
    │   │   ├── 03-research-internal.md
    │   │   ├── 04-discussion.md
    │   │   ├── 05-tracking.md
    │   │   ├── subplans/                     ← NN-*.md原型模板
    │   │   │   ├── diff-plan.md
    │   │   │   ├── decision-doc.md
    │   │   │   └── bug-doc.md
    │   │   └── artifact/                     ← 搭建到<plan>/artifact/中
    │   │       ├── manifest.json
    │   │       └── data/                     ← 可选外部数据源
    │   └── board/index.html                  ← 独立的Mission Control + Wave-toggle模板
    ├── software/
    │   ├── profile.json                      ← `extends: _shared`, produces_designs: true
    │   └── templates/                        ← 轻量化覆盖层(仅包含差异文档)
    └── general/
        ├── profile.json                      ← `extends: _shared`, produces_designs: false
        └── templates/
参考实例——本核心框架中所有制品的标准示例——是本工作区中的
plans/studio/
。在核心框架版本
spine_version
重大更新时,可从中重新生成核心框架。
工作室参考注意事项:工作室版本早于两个后续锁定的功能——动态规范/跟踪看板拆分(提交
a6bc357
:工作室的
artifact/index.html
是单个标签页制品,而非本skill搭建的
index.html
动态规范 +
board.html
跟踪看板组合)和
.groundwork.json
状态锚点(工作室版本无此文件)。请参考工作室版本的核心框架结构和行文规范(轮次内容、WP简要说明、标题提取、分阶段设计原则)——而非作为当前结构的字面模板。
plans/groundwork/
中的自用示例是拆分后、带锚点布局的最新示例。

What this skill does NOT do (in P1)

本skill在P1阶段不支持的功能

  • No shell or contract changes.
    host.startChatSession
    is Phase 2 — board actions are copy-prompt only.
  • No live tracking binding. The board reads markdown; harness-Tasks mirroring is Phase 2.
  • No board "Start session" button beyond copy-prompt. Same reason.
  • No automatic renumbering of IDs. Once allocated, an ID stays — retire instead of free.
  • No
    groundwork kickoff
    action.
    The dogfood at
    plans/groundwork/KICKOFF.md
    is a hand-authored cross-session resumption snapshot (phase scope, locked decisions, what's-next) — useful, but a dogfood-specific artifact, not part of the scaffolded spine. A
    kickoff
    action that auto-snapshots the current phase boundary is a deferred stretch idea (Phase 2+, once
    host.startChatSession
    makes a snapshot worth seeding a session from); it is not in P1 and
    init
    does not scaffold a KICKOFF.md.
If the user asks for any of the above, say so explicitly and route them to the right phase.
  • 不修改shell或契约
    host.startChatSession
    属于Phase 2——看板操作仅支持复制提示语。
  • 无实时跟踪绑定。看板读取Markdown;与harness-Tasks的镜像同步属于Phase 2。
  • 看板“启动会话”按钮仅支持复制提示语。原因同上。
  • 不自动重排ID。ID一旦分配即保留——需停用而非释放。
  • groundwork kickoff
    操作
    plans/groundwork/KICKOFF.md
    中的自用示例是手写的跨会话恢复快照(阶段范围、已锁定决策、下一步计划)——有用,但属于自用特定制品,并非搭建的核心框架的一部分。自动快照当前阶段边界的
    kickoff
    操作是延期的扩展想法(Phase 2+,当
    host.startChatSession
    使快照可用于启动会话时);不属于P1阶段,
    init
    不会搭建KICKOFF.md。
若用户请求上述任一功能,请明确告知,并引导至对应阶段。