用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/devcodex-labs/devcodex --skill report命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | report |
| description | 生成并写入工作流执行报告。适用于 dev/fix/analyze/audit/self-fix(chat 豁免)。 |
跨工作流稳定字段、条件段和 workflow overlay 的机器可读唯一事实源为同目录 report-schema.json。本 Skill 负责生成流程和人读解释;Gate 结果只记录 gateGroup / result / evidence / skipReason,不得在报告模板复制完整 Gate 目录。
任务关联到 requirements/ · bugs/ · optimizations/ 目录时:
<任务目录>/reports/<agent>/YYYYMMDD/NN--<简述>.md
reports/<子目录>/<agent>/YYYYMMDD/NN--<简述>.md
| 工作流 | 默认子目录 |
|---|---|
| dev | requirements/ |
| dev (optimization) | optimizations/ |
| dev (scenario-test) | scenario-tests/ |
| fix | bugs/ |
| analyze | analysis/ |
| audit | audit/ |
| self-fix | self-fix/ |
路径详细规范见
02-output-paths.instructions.md。 当<工作区根>/.devcodex/layout.json启用workspace-namespace时,本文中的任务目录与项目级reports/...均以当前<active-root>为根。
scripts/lib/report-index.js 当前只有测试与 benchmark 消费者,尚未接入正式的
CLI/MCP reader 或 writer,因此属于 maintenance/preview,不能作为普通报告、
resume、ECR 或 ContextRead 的已发布依赖,也不能据其状态要求用户刷新上下文。
普通工作流应在下列白名单根内做有界的 canonical Markdown 路径盘点,选定具体文件后
再读取正文:<active-root>/reports/** 与
<active-root>/{requirements,bugs,optimizations,scenario-tests}/<task>/reports/**。
不得先把整个 report corpus 正文装入上下文。
只有显式的索引维护、测试或 benchmark 可以直接调用内部模块,并遵守以下预览契约:
primary-report;evidence、artifact、generated-copy 与
unknown 必须显式筛选,unknown 保留 warning。rebuildReportIndex。fresh 仅表示 metadata 路径已协调,不代表正文已验证;pointer 损坏、陈旧或
出现未登记文件时,只允许内存中的 path/stat reconcile。snapshotCursor;截断正文只能声明
metadata-reconciled,不得声明全文内容已验证。# [标题]
> **项目**: [项目名]
> **类型**: [类型]
> **子类型**: [子类型](无子类型时省略此行)
> **创建日期**: YYYY-MM-DD HH:MM
> **Agent**: [agent-id]
> **状态**: 进行中 / 已完成
| 组件 | 规则 |
|---|---|
NN | 当日序号,从 01 起递增(扫描同目录取 max+1) |
-- | 双横杠(非单横杠),分隔序号与简述(FC4 检查) |
<简述> | 2~5 个中文词或英文单词,连字符分隔 |
示例:01--v4规范全面审查.md、02--intent修复后再审.md
跨工作流稳定字段、条件段和各 workflow overlay 的机器可读事实源为同目录 report-schema.json。生成报告时先写 baseFields,再按最终 workflow 合并一个 overlay;不得在本 Skill、Prompt 或模板中复制完整 Gate 目录。
| workflow | overlay 重点 |
|---|---|
dev / fix | 需求或问题追踪、实现/根因、TestRoute、文档同步;repair task 追加双层修复协作与零残留扫描 |
audit / analyze | 覆盖声明、轮次、CRS、PCV、推断边界与未读集合 |
optimization | baseline、candidate、归因和回归预算 |
scenario-test | 场景矩阵、环境、服务生命周期清理和结果 |
报告触发治理 Gate 时,读取 ../spec-governance/gate-registry.json 确认 gateGroup 与 Owner Skill,只记录 gateGroup / result / evidence / skipReason。Gate 的专属字段、完整证据和验证路线归目标 Owner Skill;报告通过链接引用,不复制成跨版本长表。
条件段按 report-schema.json#conditionalSections 生成:
ContextHandoffCard。ProfileImpactCheck。ReleaseVerification。CapabilitySurfaceDecision:只引用中央 decisionRef / status / identity / preferredSurface / validationRoute 和 Owner 证据,不复制判定矩阵;缺失或陈旧时报告必须降级为 BLOCK/UNVERIFIED。host-capability-routing 时,在既有治理证据或 handoff 中追加 compact HostCapabilityRoutingRef:instructionRefId / decisionId / catalogVersion+digest / selectedPortableDecision / nativeEligibility.status / fallback.reasonCode。不得复制原始消息或 catalog row;portable plan_first 不得写成 native Plan 已进入,宿主 approval/permission/YOLO mode 不得写成 CP/Auto。GovernanceIntakeDecision;未命中台账写入时也要给出独立 skipEvidence。requirementParallelOrchestration 时写并行编排摘要:RequirementIndependenceDecisionV1 分类、SharedSurfaceLockMapV1 锁、ParallelLaunchCardV1 有效性、汇合协议、单写者和未关闭风险;报告不得把子会话完成冒充最终完成。agent-turn-liveness 时写 TurnLivenessRecovery:只引用 Owner 的状态/lease/ACK/terminal/checkpoint、HostContractRoute、fault matrix 与 sidecar lifecycle 证据;必须区分 host-native、Hook-event 和 sidecar,不能把 PostToolUse 落盘冒充模型续接或终态。ProjectKnowledge:只记录 V2 snapshot/plan/receipt/binding identity、inventory Merkle、changed/affected/lens-gap/reused、5% oracle、claim authority/range 验证、V1 read-only migration 状态、batch accepted pointer 与 final/provisional 边界,禁止把快照或声明正文复制到报告或 SUMMARY;结构化 bootstrap 不得表述为人工逐文件深读。ExecutionAttemptLedger:分列 qualification、failureSignature、source/evidence delta、FirstPassYield、command/external/user/model timing、StopSnapshot 与 terminal/finalizer;不得把等待时间混成执行性能。RepairPreventionAssessment:引用 Owner 的 assessment identity/decision/mode,分列 immediateClosureEvidence 与 prospectiveEvidencePlan,并记录 rollback/sunset;不得用本次测试通过宣称长期 prevention effective。ReviewExecution:引用 ReviewExecutionPlanV1、fresh receipt digests、EvidenceSaturation、唯一 ReviewStateSnapshotV1.snapshotDigest 与 StageTimingV1;报告不得重新推导 review counts 或把 failed/inconclusive receipt 写成可复用。最终回复是独立交付 surface:报告必须先登记到 ArtifactDeliveryManifestV1,再由 UserFacingArtifactSetV1 投影。默认用户面显示最终报告、直接交付物和 required evidence;session/daily/SUMMARY/task/checkpoint/raw receipt/manifest/ledger 默认 internal-only,但仍写入并参与 ECR。可见回复证据使用 verified-present / verified-missing / unverified,legacy 文本最多 unverified-legacy,不可观察时不得断言缺失。
17-compliance §1 输出验证保持一致npm run test:core / npm test、性能数字或命令输出标为 ✅已验证,必须写生产入口命令与 exitCode;自写隔离 harness 或未复用 validate.js 的 createCanonicalAwareReader 时只能标 非权威实验 / ⚠️待验证(生产路径),不得写成「V# 失败/通过」或「今日 core 红/绿」。用户可见摘要须分列权威路径与实验路径,完成态最终回复还必须投影 FinalValidationSummaryV1 或等价短矩阵。evidence-freshness gateGroup 时,必须记录 ClaimEvidenceIndexV1、EvidenceFreshnessReceiptV1 或 StaleEvidenceLintDecisionV1 摘要。memory/SUMMARY/历史报告/外部审查文字只能作为 summary-only / navigation hint;缺 fresh evidence 的强主张必须降级为 WARN/UNVERIFIED 或在 enforce 场景阻断。机器实现:scripts/lib/evidence-freshness-receipt.js;生产入口:npm run test:evidence-freshness。inputClaims、ClaimVerificationMatrix、项目证据、验证状态、disposition、unverifiedBoundaries 与可点击详细报告链接;只写总评或建议视为不合格。Owner 细节见 audit-report;机器分类见 scripts/lib/external-review-claim-verification.js。npm run test:candidate-review-bundle)。外部审查发现只通过 EscapeAbsorptionQueue / ClaimVerificationMatrix / 本地证据进入结论,禁止直接吸纳。classifyOptimizationBacklogEvidenceSample)reports/** 并给可点击链接;禁止仅对话长文宣称分析完成(classifyAnalysisArtifactDeliverySample)classifyResidualOptimizationListSample)scripts/lib/optimization-backlog-evidence.js.md;报告不因 C13 强制压缩或拆分,超长报告按可读性、索引导航和项目规范决定是否拆分新建报告预计 ≥ 200 行 → Write 单次写入(避免 Edit 多段写入被 session limit 截断;详见 16-report.instructions.md §写入工具选择)。已有报告小修订 → Edit。
| 场景 | 处理 |
|---|---|
| 同一任务跨多会话 | 每次会话创建独立报告文件,不追加到前一份 |
| 修复后再审 | 独立文件,头部引用原始审查报告路径 |
| Token 中断恢复 | 新报告标注"恢复自会话 NN" |
⚠️
dev/fix的“修复后再审/再次实施”并不自动等于收敛;仍须满足 ECR 执行闭环复审规则,确认最后一次阻断性修正后已有 1 轮无新增阻断问题的复审。
| 报告类型 | 模板 |
|---|---|
| 分析报告 | prompts/report-analysis.prompt.md |
| 审查报告 | prompts/report-audit.prompt.md |
| 规范自修复报告 | prompts/report-audit.prompt.md(结构相同,路径映射 self-fix/) |
| 开发报告 | prompts/report-dev.prompt.md |
| 开发报告(性能优化) | prompts/report-optimization.prompt.md |
| 开发报告(场景测试) | prompts/report-scenario-test.prompt.md |
| 修复报告 | prompts/report-fix.prompt.md |
c19Label(轻量/标准/全面/发布安全)与 reviewClass(R0~R4)、riskClass/riskFlags、contentPack、result;默认 ECR 为 R2(标准),禁止写「永远轻量一眼通过」而无 skipReason 的 R1 降级;R3/R4 须引用 checklist 或独立证据口径。ExpertOutputQualityGate、OperationExplanationContractV1、CodeTruthEvidenceMatrixGate、SolutionFitAgainstRepoGate 与唯一推荐证据;不得只写“已优化表述”或用文档自洽替代 repo 事实。## 推荐结论 或 ## 推荐方案:推荐项有且仅有 1 个,并说明“推荐理由”;无后续动作时写 推荐:无后续动作 与原因## 后续建议 与用户可见「下一步」必须是 唯一主动作。禁止写成「做 A 或做 B」或同级双 bullet 让用户再选;非推荐路径只能写在「不推荐」小节并说明劣于推荐的理由。机器负向:scripts/lib/discipline-execution-probe.js 的 classifyNextStepOrForkSample(or-fork = fail)PI/PF/VL/GR/ISSUE 编号就写“已记录”。复合意图逐项列证据,record.none 列独立 challenge evidence。compliance Skill §5 二次验证(V1~V6)dev / fix 报告在最终宣告完成前,必须显式体现“ECR 执行闭环复审”这一正式阶段(默认 reviewClass=R2 + ReviewGradeCard),并与 CP1/CP2/CP3、关键产物、报告、daily tasks、SUMMARY、diff/commit、测试/扫描证据和 dirty 边界完成 1 轮复审对照;若发现阻断性问题,不得直接以“已完成”收尾ContextHandoffCard;已完成且无需交接时写 ContextHandoffCard: N/A + skipReasonNewSessionContinuationCard;内部字段保留 taskId/项目/CP/真相源/风险/验证,用户可复制的 copyReadyPrompt 固定为 继续<displayName>任务。CP pending 不得写成 confirmed,resolver 命中也不得替代文件复水化SessionTimingCard(startedAt/endedAt、阶段耗时、waiting-user / waiting-external 分列;命中预算时附 cycleId 与 budget 消耗)ExecutionBudget(maxWallClock 与触顶 StopSnapshot)、ExternalWaitAccounting、LongTaskAuthorization(PI-118 / PF-137);未触发写 N/A + skipReasonworkspaceRoot、updateCommand、hostsSynced(如 .github/.claude/.agents/.codex/AGENTS.md)、result(synced / skipped+reason / blocked)、evidence;禁止只写「源码已改」却不说明工作区部署是否同步PostStageDerivedArtifactFreshnessGate staged candidate receipt 与 post-commit clean-tree replay。最终回复必须以 FinalValidationSummaryV1 短矩阵列出命令/exitCode、runId 或关键计数、workspace sync、dirty boundary、release action boundary;缺任一适用项不得写「已完成」compliance Skill;枚举含 pr1-skipped、cp2-unconfirmed-write、entry-check、stage-report-missing、progress-overclaim、ecr-missing 等。测试绿 ≠ ECR:npm run test:* 通过不能代替 N6 ECR 段与 DoD 对账表FindingThemeCoverageMatrix(ABS-17):每行 sourceId → mappedTo | residualId | EX | disposition;禁止仅用主题合并清单宣称「完整/零遗漏」;用户确认主题包后若有 residual,状态标 partial-confirmed 并列出 residual pack。命中规范吸纳时必须同时附 source-existence verification 证据、ProbeNecessity / enforcementLevel(回答「不按流程谁会红」)与并列 可关账清单;禁止只按台账 open/pending absorption 输出 absorb;禁止 checklist-only 假吸纳dev / fix 报告的 ECR 必须核对本轮真实触发的条件产物、TestRoute、Owner 证据、进度/记忆/台账、部署同步和 dirty 边界;未触发项按 schema 写 N/A + skipReasonBlockerSnapshot;同阶段安全独立检查未执行时记录 stopReason / skippedChecks / recoveryEntry,不得只报告首个红项后声称该阶段已完整审查report-schema.json 与 ../spec-governance/gate-registry.json 生成对应段;报告只记录 gateGroup / result / evidence / skipReason 并链接 Owner 产物evidence-freshness 时追加 EvidenceFreshness 条件段:记录 mode、status、strong claim count、downgradeRequired、rerunRequired、summary-only 边界、artifact anchor / final validation summary binding 与生产入口命令 exitCode;不复制 receipt 全文user-visible-output-contract 输出“完成交付文件”:每项使用语义 displayName、purposeText、userAction,并强制 路径列(默认 workspace-relative portable,见 PF-175 路径列规则),按 decision→result→evidence→optional 顺序。ArtifactLinkSet 只作兼容投影;Rich clickable 不在路径列外重复 绝对路径: 行,只有用户要求、链接失败、工作区外、歧义或无法定位时路径列/fallback 用绝对路径(详见 02-output-paths.instructions.md)FinalValidationSummary + 唯一步 + 交付清单;报告仍强制落盘(chat 豁免)。禁止仅链接/详见报告/纯矩阵收口;analyze 有报告链接但无可读结论 → link-only-thin(classifyAnalysisArtifactDeliverySample)。userAction 默认「深读时打开归档报告」,禁止默认「请用 Typora/浏览器预览」。机检:classifyDialogueNarrativeSample / hasReadableNarrativeSnippet