当前版本:v0.3.0 测试版(Beta)
更新日期:2026 年 8 月 9 日
MS 是面向 Codex 的项目知识目录与“策案 → 需求 → 设计 → 开发 → 验收”协作 Skill 集。
MS 将五个可复用的 Codex Skill 集成在同一仓库中:
- ACSDM(
acsdm-project-catalog):管理项目本地 Markdown 知识目录,以索引优先、规则优先的方式检索项目规范、代码证据、历史记录和外部开发文档链接。 - PCTR(
planning-to-requirements):把策案或需求草稿转换为可实施、可确认、可追踪、可验收的开发工件,并通过稳定的 Feature ID 管理功能生命周期。 - ACSDM Review(
acsdm-review-workflow):把策案与 XMind 自测点转换为按版本、按组管理的全局验收审查清单,并以精简通过记录和详细失败记录推进静态审查。 - Bug Knowledge(
search-bug-knowledge):仅在用户明确要求时,通过紧凑索引检索跨项目历史 Bug;默认 Top 3、不读取正文,并可选接收 ACSDM、PCTR-A/PCTR-B/PCTR-C 与 Network Resilience 的轻量回执。 - Network Resilience(
ensure-unity-network-resilience):在 Unity 功能涉及广告、Addressables、动态窗口、启动资源、引导、外部 SDK、请求队列或异步奖励时主动执行断网/弱网契约审查,并为系统化 Bug 调试提供状态机与历史因果回执。
五者可以按职责协同工作:PCTR 负责需求拆解、确认、SDD、开发与验收生命周期;ACSDM 提供项目规则、历史实现和代码证据;ACSDM Review 在 .ACSDM/06Review 中组织版本级全局审查,但不推进 PCTR 状态;Network Resilience 主动检查当前功能的异步终态、锁、恢复与迟到回调;Bug Knowledge 只在用户明确要求查询 Bug 库时返回历史假设。仓库不包含 OUF,但保留了与外部 OUF 工具链交互所需的接口、登记规则和索引能力。
本版本仍处于测试阶段。建议先在测试项目中验证目录结构、状态迁移、同步脚本和团队流程,再用于正式生产项目。
| 目录或文件 | 作用 |
|---|---|
acsdm-project-catalog/ |
ACSDM Skill 本体、目录规范、检索策略、模板和维护脚本 |
planning-to-requirements/ |
PCTR Skill 本体、PCTR-A/PCTR-B/PCTR-C 工作流、模板、状态机和校验脚本 |
acsdm-review-workflow/ |
ACSDM 全局审查入口、XMind 提取器、分组审查规范、模板和静态一致性校验脚本 |
search-bug-knowledge/ |
轻量历史 Bug 索引、查询 CLI、记录模板、初始知识记录和专项测试 |
ensure-unity-network-resilience/ |
Unity 断网弱网主动门禁、通用异步终态契约、扫描器和回执校验器 |
knowledge-packs/ |
不随项目安装的中央历史知识,只在查询历史 Bug 或匹配断网场景时按需读取 |
技能库使用指南.md |
面向使用者的完整中文操作手册与功能说明 |
SkillSyncLauncher.ps1 |
中文可视化同步启动器 |
Start-SkillSyncLauncher.vbs |
推荐的双击启动入口,不显示控制台窗口 |
Start-SkillSyncLauncher.cmd |
调试入口,启动失败时保留控制台并显示日志位置 |
Update-UserCodexSkills.ps1 |
更新用户级 Codex Skills |
Update-ProjectCodexSkills.ps1 |
更新项目级 Codex Skills |
Update-AgentNoteSkills.ps1 |
更新 AgentNote 场景下的 Skills |
Sync-ProjectCodexSkills.ps1 |
将当前仓库中的技能同步到指定项目 |
tracking/ |
独立 Git 跟踪与更新脚本 |
ACSDM 的目标是让 Codex 在修改项目之前,能够按需读取真正相关的项目规范和代码证据,而不是无边界地扫描整个仓库或依赖聊天记忆。
- 项目本地目录
<项目根目录>/.ACSDM/是 ACSDM 的唯一持久化知识目录。 - 日常检索优先查询
.ACSDM/_index/catalog-index.json,默认只返回 Top-K 5 条、最多 4000 字符且不含正文;需要正文时再按唯一record_id打开一篇。 - 机器索引缺失或过期时增量重建;Markdown 根索引、模块索引和记录仍是权威来源。
- 遇到规范、框架行为、Lua/C# 交互、UI、弹窗、Excel 导入导出等问题时,先读取
00Rule规则模块。 - 只读取当前任务真正需要的文档,避免一次性加载整个知识库。
- 未经授权,不静默初始化、修复或重建
.ACSDM。 - 实施记录优先更新已有相关文档,不为每个小任务重复创建新记录。
- 初始化或修复标准
.ACSDM目录与模块索引。 - 扫描目录和 Markdown 文件名,不读取无关正文。
- 根据任务关键词匹配规则、模块、历史记录和代码证据。
- 记录需求摘要、方案决策、改动文件、方法、行号、验证结果、风险与回滚方式。
- 与 PCTR-A、PCTR-B、PCTR-C 的 Feature ID 和生命周期工件建立关联。
- 通过
.ACSDM/08OUFDevelopmentLogs/0800Index.md索引docs/forge-artifacts/中的外部 OUF 文档,但不复制 OUF 正文。
acsdm-project-catalog/scripts/acsdm-init.ps1
acsdm-project-catalog/scripts/acsdm-scan.ps1
acsdm-project-catalog/scripts/acsdm-update-index.ps1
acsdm-project-catalog/scripts/acsdm-link-ouf.ps1
acsdm-project-catalog/scripts/build_acsdm_index.py
acsdm-project-catalog/scripts/query_acsdm.py
acsdm-project-catalog/scripts/benchmark_acsdm_index.py
planning-to-requirements/scripts/benchmark_pctr_routing.py
acsdm-review-workflow/scripts/extract_xmind.py
acsdm-review-workflow/scripts/build_global_review.py
acsdm-review-workflow/scripts/validate_global_review.py
search-bug-knowledge/scripts/bug_catalog.py
ensure-unity-network-resilience/scripts/scan_resilience_surfaces.py
ensure-unity-network-resilience/scripts/validate_resilience_receipt.py
这些脚本分别用于目录初始化/修复、只读扫描、Markdown 索引刷新、外部 OUF 链接更新、机器索引增量构建、紧凑 Top-K 查询、PCTR/ACSDM 性能回归,以及 XMind 结构提取、全局审查目录生成和静态一致性检查。
PCTR 用于把策案、需求草稿或功能描述转换为工程可执行的结构化工件,并将策划确认、技术方案、代码实施、策划验收和 Bug 修复连接为完整闭环。
- 为功能生成并维护稳定的 Feature ID。
- 区分策划确认、技术确认、实施授权和策划验收,避免把“讨论”误判为“批准”。
- 根据复杂度选择默认 ABC、增强 ABC 或 SDD 路线。
- 对歧义标记责任方,例如:
待策划确认、待技术确认、待美术确认、待音频确认、待平台确认。 - 保留每一轮验收、失败原因、Bug 编号、修复记录和复验结果。
- 使用脚本验证文档结构、状态清单、Feature ID、确认状态和生命周期迁移。
- 在 ACSDM 启用时,优先检索相关规则、历史记录、代码证据和外部 OUF 索引。
PCTR-A 兼容原有流程,主要维护两份互相关联的文档:
- 需求开发文档:记录详细需求、项目证据、技术路线、计划、开发状态和完成状态。
- 策划确认与验收文档:记录策划决策、歧义处理、验收点、验收轮次和 Bug 描述。
典型工件位于:
<项目根目录>/.PCTR/A/<文档编码>/
该模式适合需要清晰分离“技术执行内容”和“策划确认/验收内容”的项目。
PCTR-B 按策案版本建立目录,并按照策案原始顺序为每个功能建立独立文件夹:
<项目根目录>/.PCTR/<策案版本>/
<项目根目录>/.PCTR/<策案版本>/<FEATURE-ID>/
每个功能的核心文件包括:
| 文件 | 作用 |
|---|---|
<PLANNING-SEQUENCE>-A-01-planner-confirmation-snapshot.md |
面向策划的确认快照,只呈现真实歧义和有价值的确认/改进项 |
<PLANNING-SEQUENCE>-A-02-feature-decomposition.md |
功能理解、拆解、规则证据、歧义和确认结果的唯一产品规则上下文 |
<PLANNING-SEQUENCE>-B-01-runtime-sdd.md |
由外部 OUF 或对应流程生成的运行时 SDD 工件;生成后仍需程序审核 |
PCTR-B 还维护 Schema v4 Sidecar 状态清单,用于保存策案版本、功能顺序、Feature ID 别名、六类独立 Hash、工作流状态、策划确认状态、SDD/实施计划身份、一次程序确认收据、最高权限审计、Bug 记录、文档修订号和同步时间。Sidecar 是机器状态文件,不是第二份面向人的开发文档。
策划确认文档未提交时,空白回复仍表示待填写;策划明确提交“已确认”后,每个空白条目自动采用该条合法的推荐选项,并以 default_recommendation 写入 A-02 和 Sidecar。显式、自定义与默认推荐三类来源都会保留,避免重复确认和反复读取。
PCTR-B 的典型流程为:
读取完整策案目录
→ 生成单一功能需求开发文档
→ 选择当前功能
→ 生成 A-01 / A-02
→ 策划逐项确认
→ 生成或登记 SDD/外部 OUF 工件
→ 程序一次确认 SDD 与实施计划
→ 显式授权实施
→ 提交策划验收
→ Bug 分析、修复、复验
→ 显式完成
PCTR 不会因为文档被编辑、复选框被手工修改或普通讨论中提到“确认”就自动推进状态。PCTR-B 使用一次 <FEATURE-ID> 程序已确认 同时确认当前 SDD 与实施计划,并保存包含两者路径和 Hash 的收据;SDD已确认 和 PCTR-B 的 批准技术方案 只是兼容别名,不是额外门禁。
当用户明确输入 开启最高权限,<后续命令> 时,只对该条命令跳过策划、文档、附件、SDD、程序确认、方案批准和工作流状态门禁,且不预读这些状态。权限在命令结束后失效,不会成为会话或项目设置;非空命令、目标身份和文件系统/平台安全仍然必须满足。
常见状态动作包括:
- 生成或同步策划确认工件;
- 确认策划歧义;
- 生成详细 SDD 工件;
- 登记 Feishu Markdown 附件或外部 OUF 产物;
- 程序一次确认 SDD 与实施计划;
- 开始实施;
- 提交策划验收;
- 记录验收失败与 Bug;
- 重新提交验收;
- 策划确认任务完成。
PCTR-C 是新增且可继续演进的轻量模式,目录与 PCTR-B 一样按策案版本归档, 但只维护一份开发文档和一个 Sidecar:
<项目根目录>/.PCTR/<策案版本>/<策案版本>-PCTR-C-development-document.md
<项目根目录>/.PCTR/<策案版本>/<策案版本>-PCTR-C-state.json
文档顺序固定为“功能总表 → Bug 总表 → 多语言文本统计 → 功能章节”。每个功能 章节仅保留功能需求说明。Feature ID、策案序号和原始标题路径严格来自策案;仅当 小标题重复或过于泛化时,才结合父级标题/正文生成开发标题,并在 Sidecar 记录原始 标题、优化后的标题和原因。Bug 不再分散在功能章节中,统一在功能总表下维护。
search-bug-knowledge 不参与普通报错诊断,也不会因用户提到 Bug、崩溃、测试失败或修复请求自动触发。只有用户明确要求“查询/对比/更新 Bug 库”时,才运行本地确定性索引:
- 默认只返回 Top 3、最多 1500 字符;排名阶段不读取任何 Bug 正文。
- 需要细节时只按唯一 Bug ID 打开一条正文。
- ACSDM 与 PCTR-A/PCTR-B/PCTR-C 只通过不超过 16 KB 的紧凑回执提供可选上下文,不自动启用对应 Skill。
- 历史命中始终是待验证假设;静态历史记录不能替代当前项目的代码、日志、复现和运行时回归。
- 索引、缓存和测试输出写入用户批准的工作目录,不污染 Skill 源目录或项目源码。
ensure-unity-network-resilience 在功能设计、实施计划、代码开发或审查涉及以下边界时主动触发:广告 Load/Show/回流、Addressables 与动态 UI、启动 Catalog/首包/分包、引导等待窗口或节点、SDK 初始化、HTTP/Socket/云存档、请求队列、前后台、奖励与结算等异步副作用。
它采用 R0 快速门禁、R1 聚焦审查、R2 完整契约和 R3 Bug 追溯四级链路。级别只控制读取范围和历史案例数量;任何命中的异步操作都必须审查故障分型、终态、owner/generation、锁释放、恢复策略、迟到回调、幂等、本地降级和验证矩阵。
普通 Bug 仍由 systematic-debugging 负责复现、假设验证和最小修复。Network Resilience 只提供一份可复用回执;只有用户明确要求查询 Bug 库时,才通过 --resilience-receipt 把不超过 16 KB 的回执交给 Bug Knowledge。
OUF 不属于 MS Skill 集,也不会随本仓库安装。 本节只说明 ACSDM/PCTR 在项目同时启用外部 OUF 时的协作方式。
flowchart LR
A["策案或需求来源"] --> P["PCTR:拆解、确认与生命周期"]
K["ACSDM:规则、历史与代码证据"] --> P
P --> D["A-01 / A-02 / 需求文档"]
D --> O["外部 OUF:详细 SDD 与开发产物"]
O --> I["程序审核与实施"]
I --> T["技术验证与策划验收"]
T --> B["Bug 分析、修复与复验"]
O --> L["ACSDM 外部 OUF 链接索引"]
L --> P
- PCTR 管理功能需求和状态,不替代项目知识库。
- ACSDM 提供项目事实和历史证据,不替代需求确认流程。
- 当项目另外启用 OUF 时,OUF 可以在其约定位置生成
docs/forge-artifacts/工件;ACSDM 只建立链接索引,PCTR 只登记与具体 Feature ID 相关的产物身份,不复制或接管 OUF 正文。
将五个完整目录复制到 Codex Skills 目录:
C:\Users\<用户名>\.codex\skills\acsdm-project-catalog
C:\Users\<用户名>\.codex\skills\planning-to-requirements
C:\Users\<用户名>\.codex\skills\acsdm-review-workflow
C:\Users\<用户名>\.codex\skills\search-bug-knowledge
C:\Users\<用户名>\.codex\skills\ensure-unity-network-resilience
不要只复制 SKILL.md。五个 Skill 还依赖各自的 agents/、references/、assets/、scripts/ 或 tests/;Bug Knowledge 还包含只按需读取的 catalog/records/。
安装完成后,重启 Codex 或创建一个新任务,使技能索引重新加载。
建议为不同安装范围保留不同的 Git 克隆,避免用户级和项目级更新状态相互覆盖:
用户级:C:\Users\<用户名>\.codex\skill-sources\Dawnsdew-MorningStar
项目级:<项目根目录>\.agents\skill-sources\Dawnsdew-MorningStar
成功更新后,会生成作用域独立且被 Git 忽略的跟踪文件:
.codex-skill-tracking.user.json
.codex-skill-tracking.project.json
跟踪文件记录源仓库、目标目录、安装提交、更新时间和已安装技能路径。
在用户级跟踪仓库根目录执行:
powershell -ExecutionPolicy Bypass -File .\Update-UserCodexSkills.ps1在项目级跟踪仓库根目录执行:
powershell -ExecutionPolicy Bypass -File .\Update-ProjectCodexSkills.ps1更新器会:
- 使用
git pull --ff-only快进拉取; - 暂存 ACSDM、PCTR、ACSDM Review、Bug Knowledge 与 Network Resilience 五个技能;
- 清理生成缓存;
- 校验暂存副本;
- 校验通过后替换已安装版本;
- 复制或校验失败时保留/恢复原版本。
离线重装时可以使用 -SkipPull,但日常更新建议保持默认拉取流程。
如果 GitHub 访问需要代理,应在各自的跟踪仓库中单独设置:
git config --local http.proxy http://127.0.0.1:7897
git config --local https.proxy http://127.0.0.1:7897推荐双击:
Start-SkillSyncLauncher.vbs
如果双击后没有明显反应,可使用调试入口:
Start-SkillSyncLauncher.cmd
也可以直接执行:
powershell -ExecutionPolicy Bypass -File .\SkillSyncLauncher.ps1启动器支持填写 ProjectRoot、WorkRoot 和 Branch,并提供以下操作:
- 更新用户级技能;
- 更新项目级技能;
- 更新 AgentNote 技能;
- 同步项目技能;
- 只检查差异。
同步按钮会先执行只读差异检查,在日志窗口列出新增、修改和目标端额外文件,再询问是否覆盖。
VBS 启动错误默认记录在:
%LOCALAPPDATA%\DawnsdewMorningStar\SkillSyncLauncher\logs\launcher-last.log
可通过环境变量 DAWNSDEW_SKILL_SYNC_LOG_ROOT 自定义日志目录。
如果本仓库放在 Unity 项目之外,可以从仓库根目录运行:
powershell -ExecutionPolicy Bypass -File .\Sync-ProjectCodexSkills.ps1 `
-ProjectRoot "<project-root>" `
-WorkRoot "<work-root>"默认流程:
- 从
origin/main执行快进拉取; - 仅导出 Git 已跟踪的技能文件;
- 拒绝通用 Skill 中残留的具体项目编号和设备专属工程路径;
- 与
<ProjectRoot>\.codex\skills\...比较; - 输出新增、修改和目标端额外文件;
- 请求
yes/no确认; - 确认后先备份旧技能,再覆盖项目内安装版本。
只检查差异、不写入项目:
powershell -ExecutionPolicy Bypass -File .\Sync-ProjectCodexSkills.ps1 `
-ProjectRoot "<project-root>" `
-WorkRoot "<work-root>" `
-CheckOnly拉取成功后自动确认覆盖:
powershell -ExecutionPolicy Bypass -File .\Sync-ProjectCodexSkills.ps1 `
-ProjectRoot "<project-root>" `
-WorkRoot "<work-root>" `
-Yes同步清单会记录 source_root 和 knowledge_root。通用 Skill 安装到项目内;具体项目历史继续保留在中央 knowledge-packs/,不会复制到新项目。
如果项目存在 <项目根目录>/.codex/skill-gates.json,ACSDM 与 PCTR 必须遵守其中的开关和模式。未配置门禁时,只接受下列精确激活命令,不根据项目名称或示例文件自动启用。
常用激活命令:
启用 ACSDM
启用 PCTR
启用PCTR-A
启用PCTR-B
启用PCTR-C
启用PCTR-A启用兼容的 PCTR-A 模式。启用PCTR-B启用单一开发文档与功能工件模式。启用 PCTR与启用PCTR-C启用默认的迭代式 PCTR-C 模式。- ACSDM 与 PCTR 可以同时启用,也可以与外部 OUF 按各自开关共存。
- 激活、策划确认、技术批准、开始实施和完成验收是不同权限节点,不能相互替代。
在 ACSDM 与 PCTR 已启用且 PCTR 模式有效后,可启动全局审查:
启用全局审查
该命令不会修改 .codex/skill-gates.json,只会进入一次全局审查输入收集流程。需要提供一份策案和一份 .xmind 自测点文件;版本从策案读取,输出到 .ACSDM/06Review/V<版本>Item/。启用指定功能审查 目前仅保留扩展位,不生成文件。
使用 Codex 自带的 Skill 校验器分别检查五个目录:
$env:PYTHONUTF8 = "1"
python C:\Users\<用户名>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .\acsdm-project-catalog
python C:\Users\<用户名>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .\planning-to-requirements
python C:\Users\<用户名>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .\acsdm-review-workflow
python C:\Users\<用户名>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .\search-bug-knowledge
python C:\Users\<用户名>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .\ensure-unity-network-resiliencePowerShell 5.1 或依赖系统区域设置的 Python 环境,建议显式设置 PYTHONUTF8=1,以确保中文 Markdown 按 UTF-8 读取。
PCTR 目录还包含针对配对文档、PCTR-B/PCTR-C 开发文档、Sidecar 状态和 Feature 生命周期的专项校验脚本。交付或推进状态前,应执行与当前模式对应的校验器。
本次版本标记重点用于明确仓库当前处于可测试、持续迭代阶段:
- 已同时提供 ACSDM 与 PCTR-A/PCTR-B/PCTR-C 工作流;
- 已提供策案 + XMind 驱动的 ACSDM 全局审查工作流,并保留指定功能审查扩展位;
- 已提供显式触发、索引优先、默认不读正文的轻量历史 Bug 检索;
- 已提供功能开发期间主动触发、按风险深度路由且不省略 MUST 契约的断网弱网审查;
- 已保留 ACSDM/PCTR 与外部 OUF 开发产物交互所需的链接索引和登记接口;
- 已支持 PCTR-B 按策案版本和 Feature ID 管理功能工件,并提供 PCTR-C 标题消歧与统一 Bug 表;
- 已提供中文可视化同步入口和命令行同步脚本;
- 已提供用户级和任意项目级安装/同步路径;
- 已提供结构、状态和文档一致性校验脚本。
测试期间建议重点验证:
- 不同项目目录下的路径兼容性;
- PCTR-A/PCTR-B/PCTR-C 模式切换和激活门禁;
- 策划确认、SDD 确认、技术批准与实施授权的状态边界;
- Feature ID、策案顺序和 Sidecar 状态的一致性;
- 外部 OUF 工件登记、ACSDM 链接索引和 PCTR 引用是否准确;
- 同步失败时的备份、恢复和日志是否完整。
- Bug Knowledge 是否只在显式 Bug 库请求中触发,并严格遵守 Top-K、字符上限和单正文读取边界。
- Network Resilience 是否能在广告、异步加载、恢复和迟到回调场景主动触发,同时在纯本地功能上通过 R0 快速退出。
本仓库不应包含:
- 个人访问令牌;
- Feishu 凭据;
- 项目私有源码;
- 项目本地
.ACSDM正文; - 机器专属的跟踪清单或临时工作文件。
Skill 只操作安装者明确指定的项目、目录以及可用的 CLI/API 集成。正式使用前,请根据团队权限、备份和代码审查制度完成验证。
完整操作示例、目录结构、PCTR-A/PCTR-B/PCTR-C 流程、命令说明和脚本清单,请阅读:
技能库使用指南.md