用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/devcodex-labs/devcodex --skill audit-session命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | audit-session |
| description | 审计工作流的跨会话状态机 — 在 <audit-root>/.audit-state/<session-id>.json 持久化轮次/发现项/收敛状态,支持 Token 中断后精准恢复 |
audit 且预期轮次 ≥3(即所有非 chat 审计场景)<audit-root>/.audit-state/<session-id>.json
<audit-root> 取值:
旧布局:<项目根>/.devcodex
集中布局单项目:<工作区根>/.devcodex/<project>
集中布局全工作区:<工作区根>/.devcodex/workspace
<session-id> 取首次启动审计的时间戳:YYYYMMDD-HHmmss
<audit-root>/.audit-state/ 目录由本 Skill 首次写入时创建(不随 init 分发)
.gitignore 须覆盖 <audit-root>/.audit-state/ 对应路径(如 .devcodex/.audit-state/、.devcodex/*/.audit-state/,同记忆策略)
active ──┬─> paused (Token 防护触发 / 用户中断)
├─> resumed (跨会话 resume 重新进入)
├─> converged (CRS + PCV 通过 + 连续3轮零发现)
└─> closed (用户确认审计闭环)
paused ──> resumed ──> active
converged ──> closed
| 状态 | 进入条件 | 退出条件 |
|---|---|---|
active | 首次 audit 意图识别成功 | 任一退出条件触发 |
paused | C08 Token 防护(>15 轮)或 用户中断 | resume 意图 + 当前 session 命中 |
resumed | resume 意图 + 读取本文件 | 立即转 active 继续审计 |
converged | zeroFindingStreak ≥ 3 且 crsPassed 且 pcvPassed | 用户确认 → closed |
closed | 用户确认审计完成或放弃 | 终态(不再写入) |
{
"sessionId": "20260520-143055",
"startedAt": "2026-05-20T14:30:55+08:00",
"lastUpdatedAt": "2026-05-20T16:12:33+08:00",
"target": {
"type": "spec | tech-design | requirements | project | report | document",
"scope": "<被审查文件 glob 或目录>"
},
"dimensions": ["D1", "D2", "..."],
"round": 3,
"state": "active | paused | resumed | converged | closed",
"findings": [
{
"id": "F-001",
"round": 1,
"dim":
| 字段 | 引入 | 用途 |
|---|---|---|
findings[].category | v1.9.4 | 分类标识:spec-defect(规范缺陷)/ release-pending(仅发版动作未启动导致)/ v{X.Y.Z}-candidate(推迟到下版本同源合并) |
findings[].fixPlan | v1.9.4 | 修复方案概述,留作 release/dev 工作流参考 |
findings[].fixCommit | v1.9.4 | 独立 fix/self-fix 工作流产生的修复 commit hash;audit 只读取并验证,不自行提交 |
regressionProbes[] | v1.9.5+ | 已修复 finding 的回归扫描定义;audit-common §收敛门禁第 7 步触发;任一回归 → status 切回 open,streak 归零 |
r{N}Probes[] | v1.9.4 | 第 N 轮的探针清单与状态,便于跨会话 resume 时审计深度可追溯 |
remoteReleased | v1.9.4 | 远端发版动作状态(git push + npm publish),消除 release-pending findings 的依据 |
lastCheckpoint.reason | v1.9.4 | 扩充值:switching-to-release-vX.Y.Z(切 release 流程缓冲)/ release-pending-vX.Y.Z(等下版本合并) |
linkedRelease | v1.9.4 | 关联 release 报告路径,建立 audit → release 双向链 |
| 状态 | 含义 | 是否未解决 |
|---|---|---|
open | 当前审计仍需处理 | 是 |
pending | 已确认但等待后续批次处理 | 是 |
in-progress | 正在修复或验证中 | 是 |
fixed | 已修复并通过回归验证 | 否 |
wontfix | 已确认不修复,需保留理由 | 否 |
accepted | 已接受为项目例外或可接受风险,需保留理由 | 否 |
recorded | 已记录到外部台账、问题池或报告,当前审计不再直接处理 | 否 |
transferred | 已转入其他报告、需求或问题池继续跟进 | 否 |
superseded | 已被后续报告或新版结论取代 | 否 |
终态
converged/closed不得保留open、pending、in-progressfindings;允许fixed、wontfix、accepted、recorded、transferred、superseded作为已处置状态。
AuditMutationBoundaryGate:audit session 只记录 finding/交接/外部修复证据;sourceMutationAuthorized 在 audit 中恒为 false,用户修复授权由独立 fix/self-fix 的 CP/ExecutionContract 持有。
| 时机 | 动作 | 字段更新 |
|---|---|---|
| 首轮启动 | 创建文件,state=active | sessionId / startedAt / target / dimensions |
| 每轮结束 | 追加 findings + 更新 round | round / findings / zeroFindingStreak |
| CRS 完成 | 标记通过状态 | crsPassed |
| PCV 完成 | 标记通过状态 | pcvPassed |
| Token 防护(C08 >15轮) | state=paused | state / lastCheckpoint.reason=token-protect |
| 收敛 | state=converged | state |
| 用户确认 | state=closed | state |
| 关联点 | 说明 |
|---|---|
instructions/12-audit.instructions.md | 审计工作流入口须读取/创建本文件;收敛门禁须校验 crsPassed && pcvPassed && zeroFindingStreak>=3 |
instructions/15-memory.instructions.md | tasks/YYYYMMDD.md 段落须追加 🔗 审计会话:<session-id> 字段,建立双向链 |
intent/SKILL.md | resume 意图识别后须在三层记忆读取之前优先扫描 <audit-root>/.audit-state/*.json 查找未 closed 的会话 |
skills/audit-execution-guide/SKILL.md | finding 先记录/交接;用户显式授权的独立 fix/self-fix 完成后,audit 读取新证据并重启新轮,旧轮不得在 audit 内伪造 fixed |
<audit-root>/.audit-state/ 下所有 .json,按 lastUpdatedAt 倒序<sessionId>:目标 <target.scope>,已完成 R{round},发现 {open} 项 open。是否继续?".devcodex/.memory/)ConcurrencyPolicy 中不可变 audit-session 单写者锁,不受项目 concurrency 配置放开git add、commit 或 source mutation 权限