这份报告默认使用中文简体,把新 Skill 的定位、指标、原理、契约、质量、风险、资产和迭代路线整理为一份可审计的 HTML 报告。Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.
完整度Completeness100SKILL.md 已存在,是 Skill 的入口。SKILL.md exists and acts as the skill entrypoint.触发清晰Trigger clarity100frontmatter description 已存在,具备基础路由面。The frontmatter description exists, giving the skill a basic routing surface.证据充分Evidence depth100已生成 20 / 20 类报告证据。Generated 20 / 20 evidence report types.上下文成本Context cost42入口约 356 个词/字,references 约 16045 个词/字。Entrypoint is about 356 words/characters; references are about 16045.
+
+
+
+
+
+
技能概述Overview
+
先用一屏说明这个 Skill 是什么、给谁用、交付什么。A first-screen explanation of what this skill is, who it serves, and what it delivers.
+
+
+
+
作用定位Role
+
从工作流、提示词、对话记录、文档或笔记中创建、重构、评估和打包 agent skill;适用于新建 Skill、沉淀重复流程、改进现有 Skill、补充 eval 或团队复用打包。Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.
把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。Turn one-off experience into a reusable, evaluable, and portable skill package.
+
+ 交付流程把用户输入、生成的包体和可复用能力放在一条线上。The delivery flow places user input, generated package, and reusable capability on one path.
+
+
+
+
+
+
+
+
总览指标Metrics
+
分数来自本地文件和 reports 证据,缺失时明确标为证据不足。Scores are derived from package files and reports; missing inputs are shown as evidence gaps.
+
+
+
指标判读Reading
+
先看雷达图判断能力短板,再看每项分数的证据原因。分数不是装饰数字,必须和本地文件、reports 证据或证据不足提示对应。Read the radar first for weak spots, then inspect each score with its evidence. Scores must map to local files, reports, or explicit evidence gaps.
触发强度:手动触发 + description 路由Trigger strength: Manual activation plus description-based routing
复用范围:跨平台Reuse scope: Cross-platform
+
+
+
+
+
+
+
+
+
原理结构Principle
+
说明入口、参考、脚本、评估和报告如何组成一个稳定闭环。Explains how entrypoint, references, scripts, evals, and reports form a stable loop.
+
+
+
分层结构展示入口、参考、脚本、评估和报告如何各司其职。The layered structure shows how entrypoint, references, scripts, evals, and reports each carry a distinct role.
+
+
+
执行流程Execution Flow
+
判断请求是否应该沉淀为 Skill,并选择最轻量可靠的模式。Decide whether the request should become a skill and choose the lightest fit.
捕捉任务、输出、排除项、约束和质量标准。Capture job, output, exclusions, constraints, and standards.
运行参考扫描:先看外部 benchmark,再看用户材料,最后校验本地适配;只暴露不确定性或冲突。Run reference scan: external benchmarks first, user references second, local fit third; surface only uncertainty or conflict.
尽早写出 `description`,先测试路由质量,再扩展包体。Write the `description` early and test route quality before expanding the package.
只在确有价值时添加 output-risk、artifact-design、prompt-quality 和 system-model 报告。Add output-risk, artifact-design, prompt-quality, and system-model reports only when they matter.
+
+
+
调用方式How To Use
+
当你需要把工作流或笔记沉淀成结构精简、触发清晰且带必要 eval 的可复用 Skill 时使用 $yao-meta-skill。Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.
当用户请求与该 Skill 的触发描述匹配时使用。Use this skill when the request matches the frontmatter description.
+
+
+
+
+
+
+
+
+
+
契约边界Contract
+
把触发、输入、输出和排除场景放在同一屏。Keeps trigger, inputs, outputs, and exclusions on the same screen.
+
+
+
+
触发描述Trigger
+
该 Skill 的触发描述来自 SKILL.md frontmatter;默认中文报告先呈现能力边界,原始英文描述可切换到英文查看。Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.
原始说明可切换到英文查看;默认中文报告保留结论与结构说明。an existing skill directory that needs refactor, evaluation, packaging, or governance hardening
原始说明可切换到英文查看;默认中文报告保留结论与结构说明。target platform requirements such as OpenAI, Claude, generic Agent Skills, or team distribution
原始说明可切换到英文查看;默认中文报告保留结论与结构说明。benchmark references, local constraints, desired maturity tier, and review standards
+
+
+
输出结果Outputs
+
原始说明可切换到英文查看;默认中文报告保留结论与结构说明。A working skill package with lean SKILL.md, aligned agents/interface.yaml, justified references, scripts only when useful, eval evidence, reports, packaging metadata, and clear next iteration recommendations.
只需要一次性回答、没有复用价值的临时请求。One-off requests that do not need reusable skill behavior.
要求直接执行相邻任务,而不是沉淀或使用这个 Skill。Requests to perform an adjacent task directly rather than create or use this skill.
缺少必要事实且用户不允许澄清的场景。Cases that lack required facts and do not allow clarification.
+
+
+
+
+
+
+
+
+
质量评估Quality
+
展示强项、缺口和建议,避免只给分不解释。Shows strengths, gaps, and recommendations instead of scores without explanation.
+
+
+
+
类型Type
证据Evidence
建议Action
+
强项Strength
触发面保持精简,并锚定在 frontmatter description。The trigger surface stays lean and anchored in the frontmatter description.
保留并复用Keep
强项Strength
已生成 Skill IR,核心语义可先于平台打包被审查和迁移。Skill IR is generated so core semantics can be reviewed and migrated before platform packaging.
保留并复用Keep
强项Strength
已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。Target compilation evidence is generated to review how IR maps to OpenAI, Claude, generic, and other target contracts.
保留并复用Keep
缺口Gap
上下文成本需要补强:入口约 356 个词/字,references 约 16045 个词/字。Context cost needs improvement: Entrypoint is about 356 words/characters; references are about 16045.
纳入下一轮修复Fix next
+
+
+
+
执行证据Execution Evidence
+
变体运行:10Variant runs: 10
模型执行:0Model executions: 0
记录样本:0Recorded fixtures: 0
Token 估算:10Token estimates: 10
+
+
+
盲评审定Blind Adjudication
+
评审进度:0 / 5Review progress: 0 / 5
待评审:5Pending review: 5
一致率:暂无Agreement rate: not available yet
非法决策:0Invalid decisions: 0
+
+
+
+
+
评审原则Review Rule
+
先记录 reviewer 对 A/B 的选择,再打开答案 key 计算一致率。Record the reviewer's A/B choice before opening the answer key and calculating agreement.
缺少真实 reviewer 决策时只显示待评审,不伪造人工结论。When real reviewer decisions are missing, show pending status instead of fabricating human conclusions.
+
+
+
运行原则Run Rule
+
recorded fixture 只能证明可复现样本,不等同于模型执行。A recorded fixture proves reproducible samples only; it is not model execution.
只有 provider runner 返回 model metadata 时才计入 model-executed。Only provider runners that return model metadata count as model-executed.
+
+
+
+
+
+
+
+
+
+
风险治理Risk
+
提前暴露误触发、漂移、证据不足和迁移风险。Surfaces trigger, drift, evidence, and portability risks before the package grows.
+
+
+ 风险热力图用影响程度和发生概率标出当前治理重点。The risk heatmap marks governance priorities by impact and probability.
+
+
+
风险Risk
信号Signal
应对Response
+
误触发风险Trigger risk
frontmatter description 已存在,具备基础路由面。The frontmatter description exists, giving the skill a basic routing surface.
先补证据和边界,再增加包体复杂度。Improve evidence and boundaries before adding package complexity.
先补证据和边界,再增加包体复杂度。Improve evidence and boundaries before adding package complexity.
+
+
+
+
世界证据World Evidence
世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.
证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.源检查Source Checks6 / 13通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence
提供商留出Provider Holdout
缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.
阻塞检查Blocked Checks
提供商实跑Provider model run
Token 用量Token usage observed
人工证据Human evidence
人工盲评Human Adjudication
盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.
阻塞检查Blocked Checks
无待判定No pending decisions
盲评完成Judgments complete
外部证据External evidence
原生权限Native Permission
原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.
阻塞检查Blocked Checks
原生执行Native enforcement
外部证据External evidence
原生遥测Native Telemetry
真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.
阻塞检查Blocked Checks
外部事件External events
采用样本Adoption sample
+
+
+
+
+
+
+
包体资产Assets
+
让 reviewer 快速确认关键文件、目录和资产分布。Lets reviewers confirm key files, directories, and asset distribution quickly.
+
+
+ 资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+
+
路径Path
作用Role
类型Type
+
SKILL.md
Skill 入口文件Skill entrypoint
文件file
README.md
人类可读使用说明Human-readable usage guide
文件file
agents/interface.yaml
跨平台接口元数据Neutral interface metadata
文件file
manifest.json
生命周期与打包元数据Lifecycle and portability metadata
文件file
references
扩展指导与复用资料Extended guidance and reusable notes
目录folder
scripts
确定性脚本或本地工具Deterministic helpers or local tooling
目录folder
evals
触发与质量检查Trigger and quality checks
目录folder
reports
生成的证据与总结报告Generated evidence and overview artifacts
目录folder
+
+
+
+
+
+
+
+
+
迭代路线Roadmap
+
把下一步升级收束为少数高价值动作。Keeps next iteration moves focused and actionable.
+
+
+
迭代时间线把下一步升级收束成少数可执行动作。The iteration timeline narrows the next upgrade into a few executable moves.
+
下一步 1Next 1
补齐世界证据Close world-class evidence
世界级证据仍有 4 项待补;公开完成态 claim 必须继续保持阻塞。World-class evidence still has 4 pending item(s); public completion claims must stay blocked.
补齐提供商留出证据:缺少真实 provider 模型运行和 token metadata。Close provider holdout evidence: Missing a real provider model run and token metadata.
补齐人工盲评证据:盲评 pair 仍待真实 reviewer 决策。Close human adjudication evidence: Blind-review pairs still need real reviewer decisions.
继续补齐剩余 2 项外部/人工证据,并保持 claim guard 为 pending 状态。Close the remaining 2 external or human evidence item(s) and keep the claim guard pending.
全部外部/人工证据被 ledger 接受后,才能进入公开 world-class claim 复核。Only after the ledger accepts all external and human evidence should the public world-class claim move to review.
下一步 2Next 2
有选择地借鉴一个成熟模式Borrow one proven pattern on purpose
已经有公开 benchmark 对象,下一步应主动选择一个模式借鉴,而不是松散吸收所有做法。You already have public benchmark objects. The next gain is to choose one pattern intentionally instead of absorbing everything loosely.
阅读 `obra/superpowers` 中最值得借鉴的模式。Read the strongest pattern from obra/superpowers.
先判断要借鉴的是方法、结构、执行方式还是可迁移性,并且第一轮只借鉴其中一个。Decide whether to borrow method, structure, execution, or portability, but only one of them first.
记录本轮不借鉴的内容,避免包体过重。Record what you will not borrow so the package stays light.
包体形态更清晰,也减少偶然过度设计。A cleaner package shape with less accidental over-design.
下一步 3Next 3
加固跨环境语义Harden portability semantics
这个 Skill 已经面向跨环境复用,因此早期就需要把契约语义说清楚。The skill already signals reuse across environments, so contract clarity matters early.
确认激活模式、执行上下文和信任假设。Confirm activation mode, execution context, and trust assumptions.
补充或复核非原生目标端的降级策略。Add or review degradation strategy for non-native targets.
至少打包一次 Skill,用来验证 adapter 预期。Package the skill once to verify adapter expectations.
跨环境复用更安全,目标漂移更少。Safer cross-environment reuse with less target drift.
+
+
+
+
+
+
+
diff --git a/reports/skill-interpretation.json b/reports/skill-interpretation.json
new file mode 100644
index 00000000..78ecc880
--- /dev/null
+++ b/reports/skill-interpretation.json
@@ -0,0 +1,2123 @@
+{
+ "skill_summary": {
+ "name": "yao-meta-skill",
+ "title": "Yao Meta Skill",
+ "display_name": "Yao Meta Skill",
+ "description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.",
+ "maturity": "governed",
+ "updated_at": "2026-03-31",
+ "core_value": "把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。",
+ "audience": "Skill 作者、复用团队和后续 reviewer。",
+ "deliverables": [
+ "SKILL.md",
+ "agents/interface.yaml",
+ "reports/skill-ir.json",
+ "reports/compiled_targets.md",
+ "reports/output_quality_scorecard.md",
+ "reports/output_execution_runs.md",
+ "reports/output_blind_review_pack.md",
+ "reports/output_review_kit.md",
+ "reports/output_review_adjudication.md",
+ "reports/benchmark_reproducibility.md",
+ "reports/output_blind_answer_key.json",
+ "reports/conformance_matrix.md",
+ "reports/security_trust_report.md",
+ "reports/runtime_permission_probes.md",
+ "reports/skill_atlas.html",
+ "reports/registry_audit.md",
+ "reports/package_verification.md",
+ "reports/install_simulation.md",
+ "reports/upgrade_check.md",
+ "reports/adoption_drift_report.md",
+ "reports/review_waivers.md",
+ "reports/world_class_evidence_plan.md",
+ "reports/world_class_evidence_ledger.md",
+ "reports/review_annotations.md",
+ "reports/review-studio.html",
+ "reports/skill-interpretation.html",
+ "reports/skill-overview.html",
+ "reports/skill-interpretation.json"
+ ],
+ "flow": [
+ "输入材料",
+ "Skill 包体",
+ "可复用能力"
+ ]
+ },
+ "scorecard": {
+ "completeness_score": {
+ "label": "完整度",
+ "score": 100,
+ "reasons": [
+ "SKILL.md 已存在,是 Skill 的入口。",
+ "README.md 已存在,便于人工阅读。",
+ "agents/interface.yaml 已存在,便于跨平台适配。",
+ "manifest.json 已存在,生命周期信息可追踪。",
+ "reports/ 已存在,生成证据可以随包体迁移。"
+ ]
+ },
+ "trigger_score": {
+ "label": "触发清晰",
+ "score": 100,
+ "reasons": [
+ "frontmatter description 已存在,具备基础路由面。",
+ "description 有足够长度说明任务边界。",
+ "description 已包含使用场景或排除边界信号。",
+ "evals/ 已存在,可承载触发样例或质量检查。",
+ "intent-confidence 报告已生成,可辅助判断触发稳定性。"
+ ]
+ },
+ "evidence_score": {
+ "label": "证据充分",
+ "score": 100,
+ "reasons": [
+ "已生成 20 / 20 类报告证据。",
+ "skill-ir.json 已存在。",
+ "compiled_targets.json 已存在。",
+ "intent-dialogue.json 已存在。"
+ ]
+ },
+ "maintainability_score": {
+ "label": "可维护性",
+ "score": 100,
+ "reasons": [
+ "SKILL.md 约 356 个词/字。",
+ "入口文件保持克制,可维护性较好。",
+ "references/ 已承载扩展指导。",
+ "scripts/ 已承载确定性逻辑。",
+ "evals/ 已承载可迁移检查。"
+ ]
+ },
+ "portability_score": {
+ "label": "可迁移性",
+ "score": 100,
+ "reasons": [
+ "agents/interface.yaml 已存在。",
+ "manifest.json 已存在。",
+ "目标平台或 adapter target 已声明。",
+ "入口文件未发现明显私有绝对路径。"
+ ]
+ },
+ "context_cost": {
+ "label": "上下文成本",
+ "score": 42,
+ "reasons": [
+ "入口约 356 个词/字,references 约 16045 个词/字。",
+ "分数越高代表上下文成本越低。",
+ "上下文成本偏高,建议压缩入口或拆分 references。"
+ ]
+ }
+ },
+ "capability_profile": {
+ "archetype": "governed",
+ "task_family": "Execution operation",
+ "maturity": "governed",
+ "trigger_strength": "手动触发 + description 路由",
+ "reuse_scope": "跨平台",
+ "matrix": {
+ "execution_certainty": 72,
+ "knowledge_density": 80
+ }
+ },
+ "principle_model": {
+ "nodes": [
+ {
+ "title": "意图澄清",
+ "body": "Turn repeated workflows, prompts, transcripts, runbooks, documents, or existing skill packages into routeable, evaluable, packageable, and governable agent skills for personal, team, library, or governed reuse."
+ },
+ {
+ "title": "边界路由",
+ "body": "用 frontmatter description 决定是否触发,并写明相邻非目标。"
+ },
+ {
+ "title": "资产分层",
+ "body": "把入口、参考、脚本、评估和报告拆到各自目录,避免 SKILL.md 膨胀。"
+ },
+ {
+ "title": "证据回路",
+ "body": "Ask only the highest-leverage clarification before adding package weight."
+ },
+ {
+ "title": "漂移观察",
+ "body": "Add near-neighbor exclusions and route evals before expanding workflow steps."
+ },
+ {
+ "title": "杠杆升级",
+ "body": "Name the recurring job, expected input, output, and strongest non-goal in compact language."
+ }
+ ],
+ "layers": [
+ "入口层",
+ "参考层",
+ "脚本层",
+ "评估层",
+ "报告层"
+ ]
+ },
+ "contract_boundary": {
+ "trigger": {
+ "description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.",
+ "activation": "manual",
+ "execution": "inline",
+ "shell": "bash"
+ },
+ "inputs": [
+ "rough workflow notes, SOPs, runbooks, prompts, transcripts, documents, or repeated task descriptions",
+ "an existing skill directory that needs refactor, evaluation, packaging, or governance hardening",
+ "target platform requirements such as OpenAI, Claude, generic Agent Skills, or team distribution",
+ "benchmark references, local constraints, desired maturity tier, and review standards"
+ ],
+ "outputs": [
+ "A working skill package with lean SKILL.md, aligned agents/interface.yaml, justified references, scripts only when useful, eval evidence, reports, packaging metadata, and clear next iteration recommendations.",
+ "结构化 Skill 目录,共 8 类关键资产。"
+ ],
+ "should_trigger": [
+ "把重复流程沉淀为可复用的 agent skill。",
+ "把分散提示词、对话记录或操作规范整理为稳定能力。",
+ "团队复用前,需要明确触发边界、质量证据和维护责任。"
+ ],
+ "should_not_trigger": [
+ "只需要一次性回答、没有复用价值的临时请求。",
+ "要求直接执行相邻任务,而不是沉淀或使用这个 Skill。",
+ "缺少必要事实且用户不允许澄清的场景。"
+ ],
+ "boundary_cards": [
+ {
+ "label": "Owned",
+ "body": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse."
+ },
+ {
+ "label": "Adjacent",
+ "body": "相邻任务需要先确认是否应转为独立 Skill。"
+ },
+ {
+ "label": "Excluded",
+ "body": "不替代人工事实核查,也不静默扩大职责。"
+ }
+ ]
+ },
+ "quality_review": {
+ "strengths": [
+ "触发面保持精简,并锚定在 frontmatter description。",
+ "已生成 Skill IR,核心语义可先于平台打包被审查和迁移。",
+ "已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。",
+ "已生成 Output Eval Lab scorecard,可比较 with-skill 与 baseline 输出质量。",
+ "已生成 Output Execution Runs,可区分记录样本、命令执行和模型执行证据。",
+ "已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
+ ],
+ "gaps": [
+ "上下文成本需要补强:入口约 356 个词/字,references 约 16045 个词/字。"
+ ],
+ "recommendations": [
+ "先改触发边界,再扩展工作流。",
+ "只把重复且稳定的步骤沉淀为脚本。",
+ "每次升级后重新生成报告并检查分数原因。"
+ ],
+ "artifact_design": {
+ "design_system": "metric editorial",
+ "highlights": [
+ "Execution-focused technical artifact with environment assumptions, copyable commands, expected outputs, and side effects made explicit.",
+ "Name the working directory and required inputs for commands.",
+ "Mark destructive, networked, or external side-effect operations.",
+ "Prefer the smallest runnable snippet over broad framework scaffolding."
+ ]
+ },
+ "prompt_quality": {
+ "overall_quality_score": 89.0,
+ "highlights": [
+ "Primary prompt task family: Execution operation.",
+ "Complexity: expert — multiple task families plus governance, evaluation, or expert-level constraints",
+ "Completeness: 100/100.",
+ "Clarity: 85/100."
+ ]
+ },
+ "system_model": {
+ "stability": {
+ "score": 100,
+ "band": "system-ready"
+ },
+ "highlights": [
+ "Stability: system-ready (100/100).",
+ "Owned job: Turn repeated workflows, prompts, transcripts, runbooks, documents, or existing skill packages into routeable, evaluable, packageable, and governable agent skills for personal, team, library, or governed reuse.",
+ "Leverage: Tune the frontmatter description — Name the recurring job, expected input, output, and strongest non-goal in compact language.",
+ "Leverage: Install output self-repair checks — Add only the checks that prevent recurring output mistakes."
+ ]
+ }
+ },
+ "risk_governance": {
+ "risks": [
+ {
+ "name": "误触发风险",
+ "impact": 3,
+ "probability": 1,
+ "signal": "frontmatter description 已存在,具备基础路由面。",
+ "response": "先补证据和边界,再增加包体复杂度。"
+ },
+ {
+ "name": "输出漂移风险",
+ "impact": 2,
+ "probability": 1,
+ "signal": "已生成 20 / 20 类报告证据。",
+ "response": "先补证据和边界,再增加包体复杂度。"
+ },
+ {
+ "name": "证据不足风险",
+ "impact": 3,
+ "probability": 1,
+ "signal": "已生成 20 / 20 类报告证据。",
+ "response": "先补证据和边界,再增加包体复杂度。"
+ },
+ {
+ "name": "包体膨胀风险",
+ "impact": 2,
+ "probability": 1,
+ "signal": "SKILL.md 约 356 个词/字。",
+ "response": "先补证据和边界,再增加包体复杂度。"
+ },
+ {
+ "name": "跨平台迁移风险",
+ "impact": 3,
+ "probability": 1,
+ "signal": "agents/interface.yaml 已存在。",
+ "response": "先补证据和边界,再增加包体复杂度。"
+ }
+ ],
+ "risk_families": [
+ {
+ "key": "markdown_readability",
+ "label": "Markdown readability",
+ "matched_keywords": [
+ "md",
+ "report",
+ "doc"
+ ],
+ "score": 3,
+ "risks": [
+ "Tables can render as dense grids with weak hierarchy or poor mobile readability.",
+ "Long bullets can make the output look complete while hiding the actual decision logic.",
+ "Mixed heading levels can reduce scanability."
+ ],
+ "constraints": [
+ "Use tables only when comparison is the main job; otherwise prefer compact cards or grouped bullets.",
+ "Keep table cells short and move explanations below the table.",
+ "Use heading levels consistently and keep each section anchored to a user-facing outcome."
+ ],
+ "self_repair": [
+ "Preview whether each table still reads well when columns are narrow.",
+ "Convert any table with paragraph-length cells into bullets or cards."
+ ]
+ },
+ {
+ "key": "citation_clutter",
+ "label": "Citation and footnote clutter",
+ "matched_keywords": [
+ "source",
+ "reference"
+ ],
+ "score": 2,
+ "risks": [
+ "Footnote markers or dense citation notes can interrupt the reading flow.",
+ "Evidence can be over-attached to obvious statements and under-attached to risky claims.",
+ "Source notes may become more prominent than the tutorial itself."
+ ],
+ "constraints": [
+ "Attach citations only to claims that need evidence, not to every sentence.",
+ "Group source notes at the end of a section when inline markers would hurt readability.",
+ "Keep the main sentence readable without requiring the reader to chase a footnote."
+ ],
+ "self_repair": [
+ "Remove decorative citations that do not support a material claim.",
+ "Move repeated source explanations into one compact source note."
+ ]
+ },
+ {
+ "key": "visual_capture",
+ "label": "Screenshot and visual capture",
+ "matched_keywords": [
+ "capture"
+ ],
+ "score": 1,
+ "risks": [
+ "Screenshots can be captured from the wrong state, wrong viewport, or wrong crop.",
+ "Missing screenshots can cause the skill to invent visual references instead of declaring the gap.",
+ "Image descriptions can omit the action-relevant region."
+ ],
+ "constraints": [
+ "Never invent a screenshot; state when visual evidence is missing.",
+ "Record the source, viewport, and crop intent for any screenshot-dependent output.",
+ "Describe what the reader should inspect in the image, not just that an image exists."
+ ],
+ "self_repair": [
+ "Check that every screenshot reference points to a real provided or generated asset.",
+ "Reword any visual instruction that depends on an unseen screen state."
+ ]
+ },
+ {
+ "key": "code_or_command_safety",
+ "label": "Code and command safety",
+ "matched_keywords": [
+ "script"
+ ],
+ "score": 1,
+ "risks": [
+ "Commands can omit environment assumptions, working directory, or rollback notes.",
+ "Code snippets can look runnable while missing required inputs.",
+ "Error handling can be either absent or over-engineered."
+ ],
+ "constraints": [
+ "Name the working directory, required inputs, and expected output for each command.",
+ "Mark destructive or external side-effect operations explicitly.",
+ "Prefer the smallest runnable snippet over broad framework code."
+ ],
+ "self_repair": [
+ "Scan each command for cwd, input, output, and side-effect assumptions.",
+ "Remove speculative error handling that is not tied to a real failure mode."
+ ]
+ },
+ {
+ "key": "tone_and_specificity",
+ "label": "Tone and specificity",
+ "matched_keywords": [
+ "summary"
+ ],
+ "score": 1,
+ "risks": [
+ "Headings and summaries can drift into generic, interchangeable language.",
+ "The output can sound polished but lose the user's actual taste, audience, or scenario.",
+ "Strong claims can appear without examples or constraints."
+ ],
+ "constraints": [
+ "Anchor titles and summaries in the user's audience, object, and concrete outcome.",
+ "Avoid placeholder phrases such as comprehensive guide, ultimate solution, or key insights unless the source demands them.",
+ "Preserve one distinctive phrase, constraint, or standard from the user's input."
+ ],
+ "self_repair": [
+ "Replace generic title candidates with scenario-specific alternatives.",
+ "Delete any polished sentence that could fit almost any project unchanged."
+ ]
+ }
+ ],
+ "human_judgment_boundary": [
+ "Ask one focused clarification when the real job, output, or exclusion boundary is unclear.",
+ "Escalate visible tradeoffs when benchmark patterns conflict with local privacy, naming, or governance constraints.",
+ "Do not silently broaden the skill into adjacent jobs just because the examples are nearby."
+ ]
+ },
+ "world_class_readiness": {
+ "ready": false,
+ "decision": "evidence-pending",
+ "entry_count": 4,
+ "pending_count": 4,
+ "accepted_count": 0,
+ "external_pending_count": 3,
+ "human_pending_count": 1,
+ "source_check_count": 13,
+ "source_pass_count": 6,
+ "conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
+ "conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
+ "entries": [
+ {
+ "key": "provider-holdout",
+ "label_zh": "提供商留出",
+ "label_en": "Provider Holdout",
+ "category": "external",
+ "category_zh": "外部证据",
+ "category_en": "External evidence",
+ "status": "pending",
+ "summary_zh": "缺少真实 provider 模型运行和 token metadata。",
+ "summary_en": "Missing a real provider model run and token metadata.",
+ "blocked_checks": [
+ "Provider model run",
+ "Token usage observed"
+ ]
+ },
+ {
+ "key": "human-adjudication",
+ "label_zh": "人工盲评",
+ "label_en": "Human Adjudication",
+ "category": "human",
+ "category_zh": "人工证据",
+ "category_en": "Human evidence",
+ "status": "pending",
+ "summary_zh": "盲评 pair 仍待真实 reviewer 决策。",
+ "summary_en": "Blind-review pairs still need real reviewer decisions.",
+ "blocked_checks": [
+ "No pending decisions",
+ "Judgments complete"
+ ]
+ },
+ {
+ "key": "native-permission-enforcement",
+ "label_zh": "原生权限",
+ "label_en": "Native Permission",
+ "category": "external",
+ "category_zh": "外部证据",
+ "category_en": "External evidence",
+ "status": "pending",
+ "summary_zh": "原生 runtime enforcement 仍待目标客户端或外部安装器证明。",
+ "summary_en": "Native runtime enforcement still needs target-client or external-installer proof.",
+ "blocked_checks": [
+ "Native enforcement"
+ ]
+ },
+ {
+ "key": "native-client-telemetry",
+ "label_zh": "原生遥测",
+ "label_en": "Native Telemetry",
+ "category": "external",
+ "category_zh": "外部证据",
+ "category_en": "External evidence",
+ "status": "pending",
+ "summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
+ "summary_en": "Real external-client metadata-only events have not been imported yet.",
+ "blocked_checks": [
+ "External events",
+ "Adoption sample"
+ ]
+ }
+ ]
+ },
+ "package_assets": {
+ "entries": [
+ {
+ "path": "SKILL.md",
+ "label": "Skill entrypoint",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "README.md",
+ "label": "Human-readable usage guide",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "agents/interface.yaml",
+ "label": "Neutral interface metadata",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "manifest.json",
+ "label": "Lifecycle and portability metadata",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "references",
+ "label": "Extended guidance and reusable notes",
+ "kind": "folder",
+ "file_count": 34
+ },
+ {
+ "path": "scripts",
+ "label": "Deterministic helpers or local tooling",
+ "kind": "folder",
+ "file_count": 106
+ },
+ {
+ "path": "evals",
+ "label": "Trigger and quality checks",
+ "kind": "folder",
+ "file_count": 29
+ },
+ {
+ "path": "reports",
+ "label": "Generated evidence and overview artifacts",
+ "kind": "folder",
+ "file_count": 213
+ }
+ ],
+ "file_count": 386,
+ "folder_count": 4,
+ "distribution": [
+ {
+ "label": "SKILL.md",
+ "value": 1
+ },
+ {
+ "label": "README.md",
+ "value": 1
+ },
+ {
+ "label": "agents/interface.yaml",
+ "value": 1
+ },
+ {
+ "label": "manifest.json",
+ "value": 1
+ },
+ {
+ "label": "references",
+ "value": 34
+ },
+ {
+ "label": "scripts",
+ "value": 106
+ },
+ {
+ "label": "evals",
+ "value": 29
+ },
+ {
+ "label": "reports",
+ "value": 213
+ }
+ ]
+ },
+ "iteration_roadmap": {
+ "items": [
+ {
+ "title": "补齐世界证据",
+ "why": "世界级证据仍有 4 项待补;公开完成态 claim 必须继续保持阻塞。",
+ "actions": [
+ "补齐提供商留出证据:缺少真实 provider 模型运行和 token metadata。",
+ "补齐人工盲评证据:盲评 pair 仍待真实 reviewer 决策。",
+ "继续补齐剩余 2 项外部/人工证据,并保持 claim guard 为 pending 状态。"
+ ],
+ "unlocks": "全部外部/人工证据被 ledger 接受后,才能进入公开 world-class claim 复核。",
+ "source": "world_class_evidence_ledger"
+ },
+ {
+ "title": "Borrow one proven pattern on purpose",
+ "why": "You already have public benchmark objects. The next gain is to choose one pattern intentionally instead of absorbing everything loosely.",
+ "actions": [
+ "Read the strongest pattern from obra/superpowers.",
+ "Decide whether to borrow method, structure, execution, or portability, but only one of them first.",
+ "Record what you will not borrow so the package stays light."
+ ],
+ "unlocks": "A cleaner package shape with less accidental over-design."
+ },
+ {
+ "title": "Harden portability semantics",
+ "why": "The skill already signals reuse across environments, so contract clarity matters early.",
+ "actions": [
+ "Confirm activation mode, execution context, and trust assumptions.",
+ "Add or review degradation strategy for non-native targets.",
+ "Package the skill once to verify adapter expectations."
+ ],
+ "unlocks": "Safer cross-environment reuse with less target drift."
+ }
+ ]
+ },
+ "report_contract": {
+ "schema_version": "2.0",
+ "html_report": "reports/skill-interpretation.html",
+ "language": "zh-CN",
+ "default_language": "zh-CN",
+ "languages": [
+ "zh-CN",
+ "en"
+ ],
+ "layout": "kami-white-audit-v2",
+ "nav_labels": [
+ "技能概述",
+ "总览指标",
+ "能力画像",
+ "原理结构",
+ "契约边界",
+ "质量评估",
+ "风险治理",
+ "包体资产",
+ "迭代路线"
+ ],
+ "nav_labels_en": [
+ "Overview",
+ "Metrics",
+ "Profile",
+ "Principle",
+ "Contract",
+ "Quality",
+ "Risk",
+ "Assets",
+ "Roadmap"
+ ],
+ "report_kind": "skill-interpretation",
+ "canonical_overview_report": "reports/skill-overview.html",
+ "json_report": "reports/skill-interpretation.json",
+ "purpose": "Explain the generated skill's role, principles, usage scenarios, trigger contract, inputs, outputs, quality evidence, risks, assets, highlights, and next upgrade directions."
+ },
+ "name": "yao-meta-skill",
+ "title": "Yao Meta Skill",
+ "display_name": "Yao Meta Skill",
+ "description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.",
+ "logic_steps": [
+ "Decide whether the request should become a skill and choose the lightest fit.",
+ "Capture job, output, exclusions, constraints, and standards.",
+ "Run reference scan: external benchmarks first, user references second, local fit third; surface only uncertainty or conflict.",
+ "Write the `description` early and test route quality before expanding the package.",
+ "Add output-risk, artifact-design, prompt-quality, and system-model reports only when they matter."
+ ],
+ "usage_steps": [
+ "Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.",
+ "Use this skill when the request matches: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse."
+ ],
+ "package_map": [
+ {
+ "path": "SKILL.md",
+ "label": "Skill entrypoint",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "README.md",
+ "label": "Human-readable usage guide",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "agents/interface.yaml",
+ "label": "Neutral interface metadata",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "manifest.json",
+ "label": "Lifecycle and portability metadata",
+ "kind": "file",
+ "file_count": 1
+ },
+ {
+ "path": "references",
+ "label": "Extended guidance and reusable notes",
+ "kind": "folder",
+ "file_count": 34
+ },
+ {
+ "path": "scripts",
+ "label": "Deterministic helpers or local tooling",
+ "kind": "folder",
+ "file_count": 106
+ },
+ {
+ "path": "evals",
+ "label": "Trigger and quality checks",
+ "kind": "folder",
+ "file_count": 29
+ },
+ {
+ "path": "reports",
+ "label": "Generated evidence and overview artifacts",
+ "kind": "folder",
+ "file_count": 213
+ }
+ ],
+ "strengths": [
+ "触发面保持精简,并锚定在 frontmatter description。",
+ "已生成 Skill IR,核心语义可先于平台打包被审查和迁移。",
+ "已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。",
+ "已生成 Output Eval Lab scorecard,可比较 with-skill 与 baseline 输出质量。",
+ "已生成 Output Execution Runs,可区分记录样本、命令执行和模型执行证据。",
+ "已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
+ ],
+ "scenarios": [
+ "把重复流程沉淀为可复用的 agent skill。",
+ "把分散提示词、对话记录或操作规范整理为稳定能力。",
+ "团队复用前,需要明确触发边界、质量证据和维护责任。",
+ "用户说出类似需求时:Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals."
+ ],
+ "trigger_contract": {
+ "description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.",
+ "activation": "manual",
+ "execution": "inline",
+ "shell": "bash"
+ },
+ "io_contract": {
+ "inputs": [
+ "rough workflow notes, SOPs, runbooks, prompts, transcripts, documents, or repeated task descriptions",
+ "an existing skill directory that needs refactor, evaluation, packaging, or governance hardening",
+ "target platform requirements such as OpenAI, Claude, generic Agent Skills, or team distribution",
+ "benchmark references, local constraints, desired maturity tier, and review standards"
+ ],
+ "outputs": [
+ "A working skill package with lean SKILL.md, aligned agents/interface.yaml, justified references, scripts only when useful, eval evidence, reports, packaging metadata, and clear next iteration recommendations.",
+ "结构化 Skill 目录,共 8 类关键资产。"
+ ]
+ },
+ "principles": [
+ {
+ "title": "意图澄清",
+ "body": "Turn repeated workflows, prompts, transcripts, runbooks, documents, or existing skill packages into routeable, evaluable, packageable, and governable agent skills for personal, team, library, or governed reuse."
+ },
+ {
+ "title": "边界路由",
+ "body": "用 frontmatter description 决定是否触发,并写明相邻非目标。"
+ },
+ {
+ "title": "资产分层",
+ "body": "把入口、参考、脚本、评估和报告拆到各自目录,避免 SKILL.md 膨胀。"
+ },
+ {
+ "title": "证据回路",
+ "body": "Ask only the highest-leverage clarification before adding package weight."
+ },
+ {
+ "title": "漂移观察",
+ "body": "Add near-neighbor exclusions and route evals before expanding workflow steps."
+ },
+ {
+ "title": "杠杆升级",
+ "body": "Name the recurring job, expected input, output, and strongest non-goal in compact language."
+ }
+ ],
+ "roadmap": [
+ {
+ "title": "补齐世界证据",
+ "why": "世界级证据仍有 4 项待补;公开完成态 claim 必须继续保持阻塞。",
+ "actions": [
+ "补齐提供商留出证据:缺少真实 provider 模型运行和 token metadata。",
+ "补齐人工盲评证据:盲评 pair 仍待真实 reviewer 决策。",
+ "继续补齐剩余 2 项外部/人工证据,并保持 claim guard 为 pending 状态。"
+ ],
+ "unlocks": "全部外部/人工证据被 ledger 接受后,才能进入公开 world-class claim 复核。",
+ "source": "world_class_evidence_ledger"
+ },
+ {
+ "title": "Borrow one proven pattern on purpose",
+ "why": "You already have public benchmark objects. The next gain is to choose one pattern intentionally instead of absorbing everything loosely.",
+ "actions": [
+ "Read the strongest pattern from obra/superpowers.",
+ "Decide whether to borrow method, structure, execution, or portability, but only one of them first.",
+ "Record what you will not borrow so the package stays light."
+ ],
+ "unlocks": "A cleaner package shape with less accidental over-design."
+ },
+ {
+ "title": "Harden portability semantics",
+ "why": "The skill already signals reuse across environments, so contract clarity matters early.",
+ "actions": [
+ "Confirm activation mode, execution context, and trust assumptions.",
+ "Add or review degradation strategy for non-native targets.",
+ "Package the skill once to verify adapter expectations."
+ ],
+ "unlocks": "Safer cross-environment reuse with less target drift."
+ }
+ ],
+ "cards": [],
+ "introduction": [
+ "这份报告用于快速理解新生成 Skill 的定位、原理、触发边界和交付内容。",
+ "先确认重复任务、真实输入形态和可交付输出,再决定是否继续加 references、scripts 或 evals。",
+ "如果需求仍然模糊,优先回到 intent dialogue 收紧边界,再扩展包体结构。"
+ ],
+ "benchmark_highlights": [],
+ "skill_ir": {
+ "schema_version": "2.0.0",
+ "target_count": 5,
+ "trigger_samples": 8,
+ "output_eval_cases": 3
+ },
+ "compiled_targets": {
+ "ok": true,
+ "schema_version": "1.0",
+ "summary": {
+ "target_count": 5,
+ "pass_count": 5,
+ "warn_count": 0,
+ "block_count": 0,
+ "failure_count": 0,
+ "warning_count": 0
+ },
+ "targets": [
+ {
+ "target": "openai",
+ "status": "pass",
+ "adapter_mode": "metadata-adapter",
+ "degradation_strategy": "metadata-adapter",
+ "native_surface": "OpenAI-style interface metadata plus neutral Agent Skills source",
+ "permission_enforcement": "metadata-only",
+ "generated_files": [
+ "targets/openai/adapter.json",
+ "targets/openai/agents/openai.yaml"
+ ],
+ "unsupported_features": [
+ "client-native script permission prompts are represented as permission contract metadata"
+ ],
+ "warnings": []
+ },
+ {
+ "target": "claude",
+ "status": "pass",
+ "adapter_mode": "neutral-source-plus-adapter",
+ "degradation_strategy": "neutral-source-plus-adapter",
+ "native_surface": "Claude-compatible neutral source folder with adapter notes",
+ "permission_enforcement": "metadata-fallback",
+ "generated_files": [
+ "targets/claude/adapter.json",
+ "targets/claude/README.md"
+ ],
+ "unsupported_features": [
+ "vendor-native metadata fields are carried as adapter JSON and README notes"
+ ],
+ "warnings": []
+ },
+ {
+ "target": "generic",
+ "status": "pass",
+ "adapter_mode": "agent-skills-compatible",
+ "degradation_strategy": "neutral-source",
+ "native_surface": "Agent Skills compatible neutral package",
+ "permission_enforcement": "consumer-enforced-or-metadata-only",
+ "generated_files": [
+ "targets/generic/adapter.json"
+ ],
+ "unsupported_features": [],
+ "warnings": []
+ },
+ {
+ "target": "agent-skills-compatible",
+ "status": "pass",
+ "adapter_mode": "neutral-agent-skills-source",
+ "degradation_strategy": "neutral-source",
+ "native_surface": "Agent Skills standard source tree",
+ "permission_enforcement": "consumer-enforced-or-metadata-only",
+ "generated_files": [
+ "SKILL.md",
+ "agents/interface.yaml"
+ ],
+ "unsupported_features": [],
+ "warnings": []
+ },
+ {
+ "target": "vscode",
+ "status": "pass",
+ "adapter_mode": "vscode-agent-skills-adapter",
+ "degradation_strategy": "agent-skills-source-with-vscode-notes",
+ "native_surface": "VS Code/Copilot Agent Skills project or user scope",
+ "permission_enforcement": "client-or-workspace-trust",
+ "generated_files": [
+ "targets/vscode/adapter.json",
+ "targets/vscode/README.md"
+ ],
+ "unsupported_features": [
+ "VS Code installation scope is documented but not installed by this compiler"
+ ],
+ "warnings": []
+ }
+ ],
+ "failures": [],
+ "warnings": []
+ },
+ "output_quality": {
+ "case_count": 5,
+ "file_backed_case_count": 1,
+ "near_neighbor_case_count": 1,
+ "boundary_case_count": 1,
+ "baseline_pass_rate": 0.0,
+ "with_skill_pass_rate": 100.0,
+ "delta": 100.0,
+ "regression_count": 0,
+ "gate_pass": true,
+ "failure_taxonomy": [],
+ "blind_pair_count": 5
+ },
+ "output_execution": {
+ "ok": true,
+ "summary": {
+ "case_count": 5,
+ "variant_run_count": 10,
+ "command_executed_count": 10,
+ "model_executed_count": 0,
+ "recorded_fixture_count": 0,
+ "timing_observed_count": 10,
+ "token_observed_count": 0,
+ "token_estimated_count": 10,
+ "baseline_pass_rate": 0.0,
+ "with_skill_pass_rate": 100.0,
+ "delta": 100.0,
+ "regression_count": 0,
+ "failure_count": 0,
+ "gate_pass": true
+ },
+ "runner": {
+ "mode": "command",
+ "command": [
+ "python3",
+ "scripts/local_output_eval_runner.py"
+ ],
+ "timeout_seconds": 30.0
+ },
+ "failures": []
+ },
+ "output_blind_review": {
+ "summary": {
+ "pair_count": 5,
+ "answer_key_separate": true,
+ "with_skill_hidden_count": 5
+ },
+ "seed": "yao-output-eval-blind-v1",
+ "pair_count": 5,
+ "answer_key_separate": true
+ },
+ "output_review_kit": {
+ "ok": true,
+ "summary": {
+ "case_count": 5,
+ "ready_for_adjudication_count": 0,
+ "pending_decision_count": 5,
+ "invalid_decision_count": 0,
+ "reviewer_metadata_present": false,
+ "answer_key_hidden": true,
+ "answer_key_path_exposed": false,
+ "ready_to_run_adjudication": false,
+ "failure_count": 0
+ },
+ "artifacts": {
+ "reviewer_kit_json": "reports/output_review_kit.json",
+ "reviewer_kit_markdown": "reports/output_review_kit.md",
+ "reviewer_kit_html": "reports/output_review_kit.html",
+ "blind_pack_json": "reports/output_blind_review_pack.json",
+ "blind_pack_markdown": "reports/output_blind_review_pack.md",
+ "decisions": "reports/output_review_decisions.json",
+ "adjudication_json": "reports/output_review_adjudication.json",
+ "adjudication_markdown": "reports/output_review_adjudication.md"
+ },
+ "failures": []
+ },
+ "output_review_adjudication": {
+ "ok": true,
+ "summary": {
+ "pair_count": 5,
+ "judgment_count": 0,
+ "pending_count": 5,
+ "agreement_count": 0,
+ "disagreement_count": 0,
+ "invalid_decision_count": 0,
+ "answer_revealed_count": 0,
+ "pending_answer_hidden_count": 5,
+ "agreement_rate": null,
+ "needs_review": true,
+ "failure_count": 0,
+ "reviewer_checklist_count": 5,
+ "reviewer_checklist_pending_count": 5,
+ "reviewer_checklist_invalid_count": 0,
+ "reviewer_checklist_ready_count": 0
+ },
+ "reviewer": "",
+ "reviewed_at": "",
+ "failures": []
+ },
+ "benchmark_reproducibility": {
+ "ok": true,
+ "summary": {
+ "reproducibility_ready": true,
+ "release_lock_ready": false,
+ "methodology_complete": true,
+ "required_artifact_count": 24,
+ "missing_artifact_count": 0,
+ "evidence_bundle_sha256": "60df1cebf40b1627f6d313c233f377d0d36228a9525b70099623563c7efb7804",
+ "source_contract_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af",
+ "archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc",
+ "output_case_count": 5,
+ "failure_disclosure_count": 3,
+ "command_count": 21,
+ "command_executed_count": 10,
+ "timing_observed_count": 10,
+ "model_executed_count": 0,
+ "token_observed_count": 0,
+ "human_review_complete": false,
+ "provider_evidence_complete": false,
+ "world_class_ready": false,
+ "world_class_open_gap_count": 4,
+ "world_class_task_count": 4,
+ "world_class_ledger_pending_count": 4,
+ "world_class_source_check_count": 13,
+ "world_class_source_pass_count": 6,
+ "world_class_source_blocked_count": 7,
+ "public_claim_ready": false,
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 73
+ },
+ "commit": "5495734e7e33b19b84a932626112d783a3edf271",
+ "missing_artifacts": [],
+ "limitations": [
+ "The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
+ "Local command-runner evidence is reproducible but does not replace provider-backed model holdout evidence.",
+ "Pending blind-review decisions are visible but do not count as human adjudication.",
+ "World-class readiness remains false until external and human evidence gaps close."
+ ]
+ },
+ "runtime_conformance": {
+ "target_count": 5,
+ "pass_count": 5,
+ "fail_count": 0
+ },
+ "runtime_permissions": {
+ "ok": true,
+ "summary": {
+ "target_count": 4,
+ "pass_count": 4,
+ "fail_count": 0,
+ "native_enforcement_count": 0,
+ "metadata_fallback_count": 4,
+ "residual_risk_count": 4,
+ "required_capability_count": 3,
+ "failure_count": 0,
+ "installer_enforcement_source_status": "present",
+ "installer_enforcement_target_count": 4,
+ "installer_enforcement_pass_count": 4,
+ "installer_permission_enforced_count": 12,
+ "installer_permission_failure_count": 0,
+ "installer_permission_capability_count": 3,
+ "world_class_native_evidence_ready": false,
+ "installer_enforcement_ready": true
+ },
+ "expected_capabilities": [
+ "file_write",
+ "network",
+ "subprocess"
+ ],
+ "targets": [
+ {
+ "target": "openai",
+ "status": "pass",
+ "assurance": "metadata-fallback-explicit",
+ "native_enforcement": false,
+ "metadata_fallback_explicit": true,
+ "residual_risks": [
+ "Client-native permission enforcement is not provided by this target; installer or operator must honor metadata."
+ ]
+ },
+ {
+ "target": "claude",
+ "status": "pass",
+ "assurance": "metadata-fallback-explicit",
+ "native_enforcement": false,
+ "metadata_fallback_explicit": true,
+ "residual_risks": [
+ "Client-native permission enforcement is not provided by this target; installer or operator must honor metadata."
+ ]
+ },
+ {
+ "target": "generic",
+ "status": "pass",
+ "assurance": "metadata-fallback-explicit",
+ "native_enforcement": false,
+ "metadata_fallback_explicit": true,
+ "residual_risks": [
+ "Client-native permission enforcement is not provided by this target; installer or operator must honor metadata."
+ ]
+ },
+ {
+ "target": "vscode",
+ "status": "pass",
+ "assurance": "metadata-fallback-explicit",
+ "native_enforcement": false,
+ "metadata_fallback_explicit": true,
+ "residual_risks": [
+ "Client-native permission enforcement is not provided by this target; installer or operator must honor metadata."
+ ]
+ }
+ ],
+ "failures": []
+ },
+ "trust_security": {
+ "scanned_files": 193,
+ "script_count": 106,
+ "internal_module_count": 26,
+ "secret_findings": 0,
+ "dependency_files": [
+ "requirements-ci.txt"
+ ],
+ "network_script_count": 3,
+ "network_policy_covered_count": 3,
+ "network_policy_missing_count": 0,
+ "file_write_script_count": 67,
+ "permission_required_count": 3,
+ "permission_approved_count": 3,
+ "permission_missing_count": 0,
+ "permission_invalid_count": 0,
+ "permission_expired_count": 0,
+ "help_smoke_checked_count": 80,
+ "help_smoke_failed_count": 0,
+ "interactive_script_count": 0,
+ "package_hash_scope": "source-contract-without-generated-reports",
+ "package_hash_file_count": 193,
+ "package_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af"
+ },
+ "skill_atlas": {
+ "skill_count": 12,
+ "actionable_skill_count": 1,
+ "route_collision_count": 5,
+ "actionable_route_collision_count": 0,
+ "owner_gap_count": 9,
+ "actionable_owner_gap_count": 0,
+ "stale_count": 10,
+ "actionable_stale_count": 0,
+ "shared_resource_count": 0,
+ "no_route_opportunity_count": 0,
+ "telemetry_report_count": 1,
+ "drift_signal_count": 0,
+ "actionable_drift_signal_count": 0,
+ "non_actionable_issue_count": 24
+ },
+ "registry_distribution": {
+ "ok": true,
+ "package": {
+ "schema_version": "2.0",
+ "name": "yao-meta-skill",
+ "version": "1.1.0",
+ "description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.",
+ "targets": [
+ "openai",
+ "claude",
+ "generic",
+ "agent-skills-compatible",
+ "vscode"
+ ],
+ "maturity": "governed",
+ "owner": "Yao Team",
+ "review_cadence": "quarterly",
+ "trust_level": "local",
+ "license": "MIT",
+ "checksums": {
+ "package_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af",
+ "archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc"
+ },
+ "compatibility": {
+ "openai": "pass",
+ "claude": "pass",
+ "agent-skills": "pass",
+ "vscode": "pass",
+ "generic": "pass",
+ "agent-skills-compatible": "pass"
+ },
+ "source": {
+ "skill_dir": ".",
+ "skill_ir": "skill-ir/examples/yao-meta-skill.json",
+ "ir_schema_version": "2.0.0",
+ "canonical_metadata": "agents/interface.yaml"
+ },
+ "artifacts": {
+ "overview_html": "reports/skill-overview.html",
+ "review_studio_html": "reports/review-studio.html",
+ "trust_report": "reports/security_trust_report.md",
+ "conformance_matrix": "reports/conformance_matrix.md",
+ "compiled_targets": "reports/compiled_targets.md",
+ "package_verification": "reports/package_verification.md",
+ "install_simulation": "reports/install_simulation.md",
+ "adoption_drift": "reports/adoption_drift_report.md",
+ "review_waivers": "reports/review_waivers.md",
+ "review_annotations": "reports/review_annotations.md",
+ "package_metadata": "registry/packages/yao-meta-skill.json"
+ },
+ "distribution": {
+ "archive_verified": true,
+ "archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc",
+ "package_verification": "reports/package_verification.json",
+ "install_simulated": true,
+ "install_simulation": "reports/install_simulation.json"
+ },
+ "generated_at": "2026-06-13"
+ },
+ "failures": [],
+ "warnings": []
+ },
+ "package_verification": {
+ "ok": true,
+ "summary": {
+ "target_count": 4,
+ "adapter_count": 4,
+ "archive_present": true,
+ "archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc",
+ "archive_entry_count": 586,
+ "failure_count": 0,
+ "warning_count": 0
+ },
+ "failures": [],
+ "warnings": []
+ },
+ "install_simulation": {
+ "ok": true,
+ "summary": {
+ "archive_present": true,
+ "archive_entry_count": 603,
+ "archive_extracted": true,
+ "entrypoint_loaded": true,
+ "manifest_loaded": true,
+ "interface_loaded": true,
+ "adapter_count": 4,
+ "installer_permission_enforced_count": 12,
+ "installer_permission_failure_count": 0,
+ "permission_target_count": 4,
+ "permission_capability_count": 3,
+ "install_root_is_temp": false,
+ "failure_count": 0,
+ "warning_count": 0
+ },
+ "failures": [],
+ "warnings": []
+ },
+ "upgrade_check": {
+ "ok": true,
+ "summary": {
+ "declared_bump": "minor",
+ "recommended_bump": "minor",
+ "breaking_change_count": 0,
+ "added_target_count": 2,
+ "metadata_change_count": 1,
+ "checksum_change_count": 2,
+ "failure_count": 0,
+ "warning_count": 0
+ },
+ "upgrade_diff": {
+ "name_changed": false,
+ "added_targets": [
+ "agent-skills-compatible",
+ "vscode"
+ ],
+ "removed_targets": [],
+ "compatibility_changes": [
+ {
+ "target": "agent-skills",
+ "from": "missing",
+ "to": "pass",
+ "direction": "improved"
+ },
+ {
+ "target": "agent-skills-compatible",
+ "from": "missing",
+ "to": "pass",
+ "direction": "improved"
+ },
+ {
+ "target": "vscode",
+ "from": "missing",
+ "to": "pass",
+ "direction": "improved"
+ }
+ ],
+ "metadata_changes": [
+ {
+ "field": "description",
+ "from": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes.",
+ "to": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse."
+ }
+ ],
+ "checksum_changes": [
+ {
+ "field": "archive_sha256",
+ "from": "",
+ "to": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc"
+ },
+ {
+ "field": "package_sha256",
+ "from": "0000000000000000000000000000000000000000000000000000000000000000",
+ "to": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af"
+ }
+ ]
+ },
+ "release_notes": [
+ "Recommended version bump: minor.",
+ "Added targets: agent-skills-compatible, vscode.",
+ "Package or archive checksum changed; reviewers should verify package artifacts before release.",
+ "Package verification evidence: reports/package_verification.md."
+ ],
+ "failures": [],
+ "warnings": []
+ },
+ "adoption_drift": {
+ "ok": true,
+ "summary": {
+ "event_count": 1,
+ "adoption_sample_count": 0,
+ "activation_count": 0,
+ "accepted_count": 0,
+ "edited_count": 0,
+ "rejected_count": 0,
+ "missed_count": 0,
+ "failed_count": 0,
+ "adoption_rate": 0,
+ "missed_trigger_count": 0,
+ "wrong_trigger_count": 0,
+ "bad_output_count": 0,
+ "script_error_count": 0,
+ "missing_resource_count": 0,
+ "review_overdue_count": 0,
+ "risk_band": "low",
+ "event_types": {
+ "review_event": 1
+ },
+ "failure_types": {},
+ "source_types": {
+ "manual": 1
+ },
+ "command_counts": {}
+ },
+ "next_iteration_candidates": [],
+ "privacy_contract": {
+ "storage": "local-first",
+ "event_scope": "metadata-only",
+ "raw_content_allowed": false,
+ "raw_event_log_packaged": false,
+ "blocked_fields": [
+ "content",
+ "input",
+ "inputs",
+ "message",
+ "messages",
+ "note",
+ "output",
+ "outputs",
+ "prompt",
+ "raw",
+ "text",
+ "transcript"
+ ]
+ },
+ "failures": []
+ },
+ "review_waivers": {
+ "ok": true,
+ "summary": {
+ "waiver_count": 0,
+ "active_count": 0,
+ "expired_count": 0,
+ "invalid_count": 0,
+ "covered_gate_count": 0,
+ "covered_gate_keys": [],
+ "waiver_candidate_count": 2,
+ "waiverable_open_count": 1,
+ "non_waivable_count": 1
+ },
+ "policy": {
+ "blocker_waivers_allowed": false,
+ "minimum_reason_chars": 20,
+ "expires_required": true,
+ "known_gate_keys": [
+ "context-budget",
+ "intent-canvas",
+ "operations-loop",
+ "output-lab",
+ "permission-gates",
+ "permission-runtime",
+ "registry-audit",
+ "release-notes",
+ "runtime-matrix",
+ "skill-atlas",
+ "trigger-lab",
+ "trust-report"
+ ]
+ },
+ "failures": [],
+ "warnings": []
+ },
+ "review_annotations": {
+ "ok": true,
+ "summary": {
+ "annotation_count": 0,
+ "open_count": 0,
+ "resolved_count": 0,
+ "deferred_count": 0,
+ "open_blocker_count": 0,
+ "open_warning_count": 0,
+ "linked_gate_count": 0,
+ "target_missing_count": 0,
+ "failure_count": 0
+ },
+ "annotations": [],
+ "failures": []
+ },
+ "world_class_evidence_plan": {
+ "ok": true,
+ "summary": {
+ "audit_decision": "continue-iteration",
+ "world_class_ready": false,
+ "audit_world_class_ready": false,
+ "ready_to_claim_world_class": false,
+ "ledger_completion_required": true,
+ "evidence_requirement_count": 4,
+ "task_count": 4,
+ "human_task_count": 1,
+ "external_task_count": 3,
+ "review_task_count": 0,
+ "decision": "collect-external-evidence"
+ },
+ "tasks": [
+ {
+ "key": "provider-holdout",
+ "label": "Provider Holdout",
+ "status": "external_required",
+ "category": "external",
+ "owner": "operator with provider credentials",
+ "current": "model-executed 0; token-observed 0",
+ "objective": "Collect at least one provider-backed output-eval holdout run with model, timing, and token metadata.",
+ "runbook": [
+ "YAO_OUTPUT_EVAL_MODEL=gpt-4.1-mini OPENAI_API_KEY= python3 scripts/yao.py output-exec --provider-runner openai --timeout-seconds 60",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/provider-holdout.intake.json to evidence/world_class/submissions/provider-holdout.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "success_checks": [
+ "reports/output_execution_runs.json summary.model_executed_count > 0",
+ "reports/output_execution_runs.json summary.timing_observed_count > 0",
+ "reports/output_execution_runs.json summary.token_observed_count > 0",
+ "reports/skill_os2_audit.json item provider-holdout status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/output_execution_runs.json",
+ "reports/output_execution_runs.md",
+ "reports/skill_os2_audit.json",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/provider-holdout.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Do not commit provider credentials or environment dumps.",
+ "The output execution report records output hashes and aggregate run metadata, not raw provider prompts."
+ ],
+ "audit_next_action": "Run provider-backed holdout cases with real credentials and commit only aggregate evidence."
+ },
+ {
+ "key": "human-adjudication",
+ "label": "Human Adjudication",
+ "status": "human_required",
+ "category": "human",
+ "owner": "human reviewer",
+ "current": "0/5 decisions; pending 5",
+ "objective": "Record real blind A/B reviewer decisions before claiming human output review completion.",
+ "runbook": [
+ "python3 scripts/yao.py output-review-kit --write-template",
+ "Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.",
+ "python3 scripts/adjudicate_output_review.py --write-template",
+ "Edit reports/output_review_decisions.json with winner_variant values and reviewer metadata.",
+ "python3 scripts/yao.py output-review",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/human-adjudication.intake.json to evidence/world_class/submissions/human-adjudication.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "success_checks": [
+ "reports/output_review_adjudication.json summary.pending_count == 0",
+ "reports/output_review_adjudication.json summary.judgment_count == summary.pair_count",
+ "reports/output_review_adjudication.json summary.invalid_decision_count == 0",
+ "reports/skill_os2_audit.json item human-adjudication status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/output_blind_review_pack.md",
+ "reports/output_review_kit.md",
+ "reports/output_review_decisions.json",
+ "reports/output_review_adjudication.json",
+ "reports/output_review_adjudication.md",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/human-adjudication.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Reviewer decisions should not include raw user data or private customer detail.",
+ "Keep the answer key separate until after decisions are recorded."
+ ],
+ "audit_next_action": "Record real A/B choices in the decision template, then regenerate adjudication."
+ },
+ {
+ "key": "native-permission-enforcement",
+ "label": "Native Permission Enforcement",
+ "status": "external_required",
+ "category": "external",
+ "owner": "target client or installer integrator",
+ "current": "native-enforced targets 0; installer-enforced targets 4",
+ "objective": "Prove at least one real target client or external installer runtime guard enforces approved high-permission capabilities.",
+ "runbook": [
+ "Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.",
+ "Update the generated target adapter only when the guard is actually enforced by that target.",
+ "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip",
+ "python3 scripts/yao.py install-simulate . --package-dir dist --install-root dist/install-simulation",
+ "python3 scripts/yao.py runtime-permissions . --package-dir dist",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/native-permission-enforcement.intake.json to evidence/world_class/submissions/native-permission-enforcement.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "success_checks": [
+ "reports/runtime_permission_probes.json summary.native_enforcement_count > 0",
+ "reports/runtime_permission_probes.json summary.failure_count == 0",
+ "reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence",
+ "reports/skill_os2_audit.json item native-permission-enforcement status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "dist/targets/*/adapter.json",
+ "reports/runtime_permission_probes.json",
+ "reports/runtime_permission_probes.md",
+ "reports/install_simulation.json",
+ "reports/install_simulation.md",
+ "security/permission_policy.json",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/native-permission-enforcement.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Do not mark native_enforcement true for metadata-only fallbacks.",
+ "Keep residual risks visible for targets that still rely on operator enforcement."
+ ],
+ "audit_next_action": "Integrate a real target-client or external installer runtime guard before claiming native permission enforcement."
+ },
+ {
+ "key": "native-client-telemetry",
+ "label": "Native Client Telemetry",
+ "status": "external_required",
+ "category": "external",
+ "owner": "Browser/Chrome/IDE/provider client integrator",
+ "current": "external source events 0; adoption samples 0",
+ "objective": "Import production metadata-only events from a real external client into the local drift loop.",
+ "runbook": [
+ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///",
+ "Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.",
+ "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl",
+ "python3 scripts/yao.py skill-atlas --workspace-root .",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/native-client-telemetry.intake.json to evidence/world_class/submissions/native-client-telemetry.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "success_checks": [
+ "reports/adoption_drift_report.json summary.source_types.external > 0",
+ "reports/adoption_drift_report.json summary.adoption_sample_count > 0",
+ "reports/skill_os2_audit.json item native-client-telemetry status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/adoption_drift_report.json",
+ "reports/adoption_drift_report.md",
+ "reports/telemetry_hook_recipes.json",
+ "scripts/telemetry_native_host.py",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/native-client-telemetry.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Telemetry must remain metadata-only and local-first.",
+ "Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field."
+ ],
+ "audit_next_action": "Install a real client against the native host and import production metadata-only events."
+ }
+ ],
+ "source_audit": {
+ "json": "reports/skill_os2_audit.json",
+ "markdown": "reports/skill_os2_audit.md",
+ "open_gap_count": 4
+ }
+ },
+ "world_class_evidence_ledger": {
+ "ok": true,
+ "summary": {
+ "ledger_entry_count": 4,
+ "source_accepted_count": 0,
+ "accepted_count": 0,
+ "pending_count": 4,
+ "human_pending_count": 1,
+ "external_pending_count": 3,
+ "submitted_entry_count": 0,
+ "missing_submission_count": 4,
+ "invalid_submission_count": 0,
+ "source_check_count": 13,
+ "source_pass_count": 6,
+ "source_blocked_count": 7,
+ "submitted_but_pending_count": 0,
+ "source_accepted_without_valid_submission_count": 0,
+ "overclaim_guard_active": true,
+ "ready_to_claim_world_class": false,
+ "decision": "evidence-pending"
+ },
+ "entries": [
+ {
+ "key": "provider-holdout",
+ "label": "Provider Holdout",
+ "category": "external",
+ "owner": "operator with provider credentials",
+ "status": "pending",
+ "source_status": "external_required",
+ "source_accepted": false,
+ "current": "model-executed 0; token-observed 0",
+ "objective": "Collect at least one provider-backed output-eval holdout run with model, timing, and token metadata.",
+ "runbook": [
+ "YAO_OUTPUT_EVAL_MODEL=gpt-4.1-mini OPENAI_API_KEY= python3 scripts/yao.py output-exec --provider-runner openai --timeout-seconds 60",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/provider-holdout.intake.json to evidence/world_class/submissions/provider-holdout.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "provenance_requirements": [
+ "provider-backed model run",
+ "observed timing",
+ "observed token metadata"
+ ],
+ "success_checks": [
+ "reports/output_execution_runs.json summary.model_executed_count > 0",
+ "reports/output_execution_runs.json summary.timing_observed_count > 0",
+ "reports/output_execution_runs.json summary.token_observed_count > 0",
+ "reports/skill_os2_audit.json item provider-holdout status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/output_execution_runs.json",
+ "reports/output_execution_runs.md",
+ "reports/skill_os2_audit.json",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/provider-holdout.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Do not commit provider credentials or environment dumps.",
+ "The output execution report records output hashes and aggregate run metadata, not raw provider prompts."
+ ],
+ "observed_state": {
+ "model_executed_count": 0,
+ "timing_observed_count": 10,
+ "token_observed_count": 0,
+ "accepted": false
+ },
+ "source_checklist": [
+ {
+ "evidence_key": "provider-holdout",
+ "label": "Provider model run",
+ "field": "model_executed_count",
+ "expected": ">0",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Run provider-backed output-exec with real credentials."
+ },
+ {
+ "evidence_key": "provider-holdout",
+ "label": "Timing observed",
+ "field": "timing_observed_count",
+ "expected": ">0",
+ "actual": 10,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Provider execution should record timing metadata."
+ },
+ {
+ "evidence_key": "provider-holdout",
+ "label": "Token usage observed",
+ "field": "token_observed_count",
+ "expected": ">0",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Provider execution should return non-estimated token usage."
+ }
+ ],
+ "source_check_count": 3,
+ "source_pass_count": 1,
+ "source_blocked_count": 2,
+ "submission_state": {
+ "status": "missing",
+ "path": "evidence/world_class/submissions/provider-holdout.json",
+ "artifact_ref_count": 0,
+ "attested_real_evidence": false,
+ "privacy_contract_satisfied": false,
+ "ledger_counts_as_completion": false
+ },
+ "anti_overclaim": {
+ "planned_work_counts_as_evidence": false,
+ "metadata_fallback_counts_as_native_enforcement": false,
+ "pending_review_counts_as_human_decision": false,
+ "local_command_runner_counts_as_provider_model": false
+ },
+ "next_action": "Run provider-backed holdout cases with real credentials and commit only aggregate evidence."
+ },
+ {
+ "key": "human-adjudication",
+ "label": "Human Adjudication",
+ "category": "human",
+ "owner": "human reviewer",
+ "status": "pending",
+ "source_status": "human_required",
+ "source_accepted": false,
+ "current": "0/5 decisions; pending 5",
+ "objective": "Record real blind A/B reviewer decisions before claiming human output review completion.",
+ "runbook": [
+ "python3 scripts/yao.py output-review-kit --write-template",
+ "Open reports/output_review_kit.md and choose A or B for each pair without opening the answer key.",
+ "python3 scripts/adjudicate_output_review.py --write-template",
+ "Edit reports/output_review_decisions.json with winner_variant values and reviewer metadata.",
+ "python3 scripts/yao.py output-review",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/human-adjudication.intake.json to evidence/world_class/submissions/human-adjudication.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "provenance_requirements": [
+ "real reviewer identity",
+ "blind A/B decisions",
+ "answer key unopened until decisions exist"
+ ],
+ "success_checks": [
+ "reports/output_review_adjudication.json summary.pending_count == 0",
+ "reports/output_review_adjudication.json summary.judgment_count == summary.pair_count",
+ "reports/output_review_adjudication.json summary.invalid_decision_count == 0",
+ "reports/skill_os2_audit.json item human-adjudication status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/output_blind_review_pack.md",
+ "reports/output_review_kit.md",
+ "reports/output_review_decisions.json",
+ "reports/output_review_adjudication.json",
+ "reports/output_review_adjudication.md",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/human-adjudication.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Reviewer decisions should not include raw user data or private customer detail.",
+ "Keep the answer key separate until after decisions are recorded."
+ ],
+ "observed_state": {
+ "pair_count": 5,
+ "judgment_count": 0,
+ "pending_count": 5,
+ "invalid_decision_count": 0,
+ "answer_revealed_count": 0,
+ "accepted": false
+ },
+ "source_checklist": [
+ {
+ "evidence_key": "human-adjudication",
+ "label": "Review pairs exist",
+ "field": "pair_count",
+ "expected": ">0",
+ "actual": 5,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Generate the blind A/B review pack."
+ },
+ {
+ "evidence_key": "human-adjudication",
+ "label": "No pending decisions",
+ "field": "pending_count",
+ "expected": "==0",
+ "actual": 5,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Record a reviewer choice for every pair."
+ },
+ {
+ "evidence_key": "human-adjudication",
+ "label": "Judgments complete",
+ "field": "judgment_count",
+ "expected": "==pair_count",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Every pair needs one valid human judgment."
+ },
+ {
+ "evidence_key": "human-adjudication",
+ "label": "No invalid decisions",
+ "field": "invalid_decision_count",
+ "expected": "==0",
+ "actual": 0,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Fix malformed winner/confidence entries."
+ }
+ ],
+ "source_check_count": 4,
+ "source_pass_count": 2,
+ "source_blocked_count": 2,
+ "submission_state": {
+ "status": "missing",
+ "path": "evidence/world_class/submissions/human-adjudication.json",
+ "artifact_ref_count": 0,
+ "attested_real_evidence": false,
+ "privacy_contract_satisfied": false,
+ "ledger_counts_as_completion": false
+ },
+ "anti_overclaim": {
+ "planned_work_counts_as_evidence": false,
+ "metadata_fallback_counts_as_native_enforcement": false,
+ "pending_review_counts_as_human_decision": false,
+ "local_command_runner_counts_as_provider_model": false
+ },
+ "next_action": "Record real A/B choices in the decision template, then regenerate adjudication."
+ },
+ {
+ "key": "native-permission-enforcement",
+ "label": "Native Permission Enforcement",
+ "category": "external",
+ "owner": "target client or installer integrator",
+ "status": "pending",
+ "source_status": "external_required",
+ "source_accepted": false,
+ "current": "native-enforced targets 0; installer-enforced targets 4",
+ "objective": "Prove at least one real target client or external installer runtime guard enforces approved high-permission capabilities.",
+ "runbook": [
+ "Implement or connect a real target client or external installer runtime guard that blocks undeclared network, file_write, or subprocess capabilities.",
+ "Update the generated target adapter only when the guard is actually enforced by that target.",
+ "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip",
+ "python3 scripts/yao.py install-simulate . --package-dir dist --install-root dist/install-simulation",
+ "python3 scripts/yao.py runtime-permissions . --package-dir dist",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/native-permission-enforcement.intake.json to evidence/world_class/submissions/native-permission-enforcement.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "provenance_requirements": [
+ "real target client or external installer runtime guard",
+ "native enforcement flag or externally accepted guard proof",
+ "residual risk retained for fallback targets"
+ ],
+ "success_checks": [
+ "reports/runtime_permission_probes.json summary.native_enforcement_count > 0",
+ "reports/runtime_permission_probes.json summary.failure_count == 0",
+ "reports/runtime_permission_probes.json summary.installer_enforcement_pass_count records local installer enforcement but does not replace native evidence",
+ "reports/skill_os2_audit.json item native-permission-enforcement status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "dist/targets/*/adapter.json",
+ "reports/runtime_permission_probes.json",
+ "reports/runtime_permission_probes.md",
+ "reports/install_simulation.json",
+ "reports/install_simulation.md",
+ "security/permission_policy.json",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/native-permission-enforcement.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Do not mark native_enforcement true for metadata-only fallbacks.",
+ "Keep residual risks visible for targets that still rely on operator enforcement."
+ ],
+ "observed_state": {
+ "native_enforcement_count": 0,
+ "metadata_fallback_count": 4,
+ "installer_enforcement_pass_count": 4,
+ "installer_permission_failure_count": 0,
+ "installer_enforcement_ready": true,
+ "residual_risk_count": 4,
+ "failure_count": 0,
+ "accepted": false
+ },
+ "source_checklist": [
+ {
+ "evidence_key": "native-permission-enforcement",
+ "label": "Native enforcement",
+ "field": "native_enforcement_count",
+ "expected": ">0",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Collect real target-client or external runtime guard proof."
+ },
+ {
+ "evidence_key": "native-permission-enforcement",
+ "label": "Probe failures",
+ "field": "failure_count",
+ "expected": "==0",
+ "actual": 0,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Runtime permission probes must stay clean."
+ },
+ {
+ "evidence_key": "native-permission-enforcement",
+ "label": "Installer support",
+ "field": "installer_enforcement_ready",
+ "expected": "true",
+ "actual": true,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Installer enforcement is supporting evidence, not native proof."
+ }
+ ],
+ "source_check_count": 3,
+ "source_pass_count": 2,
+ "source_blocked_count": 1,
+ "submission_state": {
+ "status": "missing",
+ "path": "evidence/world_class/submissions/native-permission-enforcement.json",
+ "artifact_ref_count": 0,
+ "attested_real_evidence": false,
+ "privacy_contract_satisfied": false,
+ "ledger_counts_as_completion": false
+ },
+ "anti_overclaim": {
+ "planned_work_counts_as_evidence": false,
+ "metadata_fallback_counts_as_native_enforcement": false,
+ "pending_review_counts_as_human_decision": false,
+ "local_command_runner_counts_as_provider_model": false
+ },
+ "next_action": "Integrate a real target-client or external installer runtime guard before claiming native permission enforcement."
+ },
+ {
+ "key": "native-client-telemetry",
+ "label": "Native Client Telemetry",
+ "category": "external",
+ "owner": "Browser/Chrome/IDE/provider client integrator",
+ "status": "pending",
+ "source_status": "external_required",
+ "source_accepted": false,
+ "current": "external source events 0; adoption samples 0",
+ "objective": "Import production metadata-only events from a real external client into the local drift loop.",
+ "runbook": [
+ "python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///",
+ "Install the generated native messaging manifest for the real client and send at least one accepted skill_activation or skill_output event.",
+ "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl",
+ "python3 scripts/yao.py skill-atlas --workspace-root .",
+ "python3 scripts/yao.py skill-os2-audit . --generated-at ",
+ "Copy evidence/world_class/templates/native-client-telemetry.intake.json to evidence/world_class/submissions/native-client-telemetry.json and fill only real evidence fields.",
+ "python3 scripts/yao.py world-class-intake . --submissions-dir evidence/world_class/submissions"
+ ],
+ "provenance_requirements": [
+ "real external client source",
+ "metadata-only event",
+ "local-first import path"
+ ],
+ "success_checks": [
+ "reports/adoption_drift_report.json summary.source_types.external > 0",
+ "reports/adoption_drift_report.json summary.adoption_sample_count > 0",
+ "reports/skill_os2_audit.json item native-client-telemetry status becomes pass"
+ ],
+ "evidence_artifacts": [
+ "reports/adoption_drift_report.json",
+ "reports/adoption_drift_report.md",
+ "reports/telemetry_hook_recipes.json",
+ "scripts/telemetry_native_host.py",
+ "evidence/world_class/intake.schema.json",
+ "evidence/world_class/templates/native-client-telemetry.intake.json",
+ "reports/world_class_evidence_intake.json",
+ "reports/world_class_evidence_intake.md"
+ ],
+ "privacy_contract": [
+ "Telemetry must remain metadata-only and local-first.",
+ "Do not package reports/telemetry_events.jsonl or any raw prompt, output, transcript, note, or message field."
+ ],
+ "observed_state": {
+ "external_source_events": 0,
+ "adoption_sample_count": 0,
+ "raw_content_allowed": false,
+ "risk_band": "low",
+ "accepted": false
+ },
+ "source_checklist": [
+ {
+ "evidence_key": "native-client-telemetry",
+ "label": "External events",
+ "field": "external_source_events",
+ "expected": ">0",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Import at least one metadata-only event from a real client."
+ },
+ {
+ "evidence_key": "native-client-telemetry",
+ "label": "Adoption sample",
+ "field": "adoption_sample_count",
+ "expected": ">0",
+ "actual": 0,
+ "status": "blocked",
+ "source_accepted": false,
+ "next_action": "Telemetry must include adoption outcome evidence."
+ },
+ {
+ "evidence_key": "native-client-telemetry",
+ "label": "Raw content blocked",
+ "field": "raw_content_allowed",
+ "expected": "false",
+ "actual": false,
+ "status": "pass",
+ "source_accepted": false,
+ "next_action": "Telemetry must stay metadata-only."
+ }
+ ],
+ "source_check_count": 3,
+ "source_pass_count": 1,
+ "source_blocked_count": 2,
+ "submission_state": {
+ "status": "missing",
+ "path": "evidence/world_class/submissions/native-client-telemetry.json",
+ "artifact_ref_count": 0,
+ "attested_real_evidence": false,
+ "privacy_contract_satisfied": false,
+ "ledger_counts_as_completion": false
+ },
+ "anti_overclaim": {
+ "planned_work_counts_as_evidence": false,
+ "metadata_fallback_counts_as_native_enforcement": false,
+ "pending_review_counts_as_human_decision": false,
+ "local_command_runner_counts_as_provider_model": false
+ },
+ "next_action": "Install a real client against the native host and import production metadata-only events."
+ }
+ ],
+ "source_plan": {
+ "json": "reports/world_class_evidence_plan.json",
+ "markdown": "reports/world_class_evidence_plan.md",
+ "task_count": 4,
+ "evidence_requirement_count": 4
+ }
+ },
+ "synthesis_highlights": [
+ "Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.",
+ "Borrow a review checkpoint wherever trust matters more than raw speed.",
+ "Borrow the discipline of defining what the skill should not own before growing the package."
+ ],
+ "artifact_design": {
+ "design_system": "metric editorial",
+ "highlights": [
+ "Execution-focused technical artifact with environment assumptions, copyable commands, expected outputs, and side effects made explicit.",
+ "Name the working directory and required inputs for commands.",
+ "Mark destructive, networked, or external side-effect operations.",
+ "Prefer the smallest runnable snippet over broad framework scaffolding."
+ ]
+ },
+ "prompt_quality": {
+ "overall_quality_score": 89.0,
+ "highlights": [
+ "Primary prompt task family: Execution operation.",
+ "Complexity: expert — multiple task families plus governance, evaluation, or expert-level constraints",
+ "Completeness: 100/100.",
+ "Clarity: 85/100."
+ ]
+ },
+ "system_model": {
+ "stability": {
+ "score": 100,
+ "band": "system-ready"
+ },
+ "highlights": [
+ "Stability: system-ready (100/100).",
+ "Owned job: Turn repeated workflows, prompts, transcripts, runbooks, documents, or existing skill packages into routeable, evaluable, packageable, and governable agent skills for personal, team, library, or governed reuse.",
+ "Leverage: Tune the frontmatter description — Name the recurring job, expected input, output, and strongest non-goal in compact language.",
+ "Leverage: Install output self-repair checks — Add only the checks that prevent recurring output mistakes."
+ ]
+ },
+ "metadata": {
+ "canonical_format": "agent-skills",
+ "targets": [
+ "openai",
+ "claude",
+ "generic",
+ "vscode"
+ ],
+ "maturity_tier": "governed",
+ "skill_archetype": "governed",
+ "updated_at": "2026-03-31"
+ },
+ "interpretation_contract": {
+ "schema_version": "2.0",
+ "source_model": "skill-overview-v2",
+ "source_model_reused": true,
+ "overview_report": "reports/skill-overview.html",
+ "html_report": "reports/skill-interpretation.html",
+ "json_report": "reports/skill-interpretation.json",
+ "default_language": "zh-CN",
+ "languages": [
+ "zh-CN",
+ "en"
+ ],
+ "includes": [
+ "skill role",
+ "principles",
+ "usage scenarios",
+ "trigger contract",
+ "inputs and outputs",
+ "quality evidence",
+ "risk governance",
+ "package assets",
+ "highlights",
+ "upgrade roadmap"
+ ]
+ }
+}
\ No newline at end of file
diff --git a/reports/skill-overview.html b/reports/skill-overview.html
index 02ebec05..c3b2dfe6 100644
--- a/reports/skill-overview.html
+++ b/reports/skill-overview.html
@@ -358,7 +358,7 @@
}
.metrics-primary {
display: grid;
- grid-template-columns: minmax(420px, 1fr) minmax(360px, 0.88fr);
+ grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
gap: 22px;
align-items: start;
}
@@ -426,7 +426,7 @@
margin-top: 2px;
}
.metric-detail-grid {
- grid-template-columns: repeat(2, minmax(0, 1fr));
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
align-items: stretch;
}
.list, .compact-list, .step-list {
@@ -456,18 +456,20 @@
}
.metric-card {
display: grid;
- grid-template-columns: minmax(96px, 118px) minmax(0, 1fr);
- gap: 18px;
+ grid-template-columns: 1fr;
+ gap: 14px;
align-content: start;
min-height: 0;
}
.metric-card-head {
- display: grid;
- align-content: start;
+ display: flex;
+ gap: 14px;
+ align-items: flex-start;
+ justify-content: space-between;
}
.metric-card strong {
display: block;
- margin: 8px 0 10px;
+ margin: 0;
color: var(--brand);
font-family: var(--mono);
font-size: 2rem;
@@ -478,6 +480,7 @@
.metric-label {
color: var(--muted);
font-size: 13px;
+ line-height: 1.45;
}
.metric-card-body {
min-width: 0;
@@ -773,7 +776,7 @@
作用定位Role
-
从工作流、提示词、对话记录、文档或笔记中创建、重构、评估和打包 agent skill;适用于新建 Skill、沉淀重复流程、改进现有 Skill、补充 eval 或团队复用打包。Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.
把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。Turn one-off experience into a reusable, evaluable, and portable skill package.
从工作流、提示词、对话记录、文档或笔记中创建、重构、评估和打包 agent skill;适用于新建 Skill、沉淀重复流程、改进现有 Skill、补充 eval 或团队复用打包。Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use when asked to create a skill, turn a repeated process into a reusable skill, improve an existing skill, add evals, or package a skill for team reuse.
把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。Turn one-off experience into a reusable, evaluable, and portable skill package.
交付流程把用户输入、生成的包体和可复用能力放在一条线上。The delivery flow places user input, generated package, and reusable capability on one path.
@@ -916,7 +919,7 @@
-
世界证据World Evidence
世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.
证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.源检查Source Checks7 / 13通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence
提供商留出Provider Holdout
缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.
阻塞检查Blocked Checks
提供商实跑Provider model run
Token 用量Token usage observed
人工证据Human evidence
人工盲评Human Adjudication
盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.
阻塞检查Blocked Checks
无待判定No pending decisions
盲评完成Judgments complete
外部证据External evidence
原生权限Native Permission
原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.
阻塞检查Blocked Checks
原生执行Native enforcement
外部证据External evidence
原生遥测Native Telemetry
真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.
阻塞检查Blocked Checks
外部事件External events
+
世界证据World Evidence
世界级证据尚未完成:4 项待补,0 项已接受。World-class evidence is not complete: 4 pending, 0 accepted.
证据待补Evidence pending
待补证据Pending4仍需外部或人工证据接受。External or human evidence still needs acceptance.已接受Accepted0已通过 source check 与提交契约。Passed source checks and submission contract.源检查Source Checks6 / 13通过数 / 总检查数。Passed checks / total checks.
外部证据External evidence
提供商留出Provider Holdout
缺少真实 provider 模型运行和 token metadata。Missing a real provider model run and token metadata.
阻塞检查Blocked Checks
提供商实跑Provider model run
Token 用量Token usage observed
人工证据Human evidence
人工盲评Human Adjudication
盲评 pair 仍待真实 reviewer 决策。Blind-review pairs still need real reviewer decisions.
阻塞检查Blocked Checks
无待判定No pending decisions
盲评完成Judgments complete
外部证据External evidence
原生权限Native Permission
原生 runtime enforcement 仍待目标客户端或外部安装器证明。Native runtime enforcement still needs target-client or external-installer proof.
阻塞检查Blocked Checks
原生执行Native enforcement
外部证据External evidence
原生遥测Native Telemetry
真实外部客户端 metadata-only 事件仍未导入。Real external-client metadata-only events have not been imported yet.
阻塞检查Blocked Checks
外部事件External events
采用样本Adoption sample
@@ -927,7 +930,7 @@
让 reviewer 快速确认关键文件、目录和资产分布。Lets reviewers confirm key files, directories, and asset distribution quickly.
- 资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
+ 资产分布图展示当前包体的文件和目录重心。The asset distribution chart shows where files and directories are concentrated.
路径Path
作用Role
类型Type
SKILL.md
Skill 入口文件Skill entrypoint
文件file
README.md
人类可读使用说明Human-readable usage guide
文件file
agents/interface.yaml
跨平台接口元数据Neutral interface metadata
文件file
manifest.json
生命周期与打包元数据Lifecycle and portability metadata
文件file
references
扩展指导与复用资料Extended guidance and reusable notes
目录folder
scripts
确定性脚本或本地工具Deterministic helpers or local tooling
目录folder
evals
触发与质量检查Trigger and quality checks
目录folder
reports
生成的证据与总结报告Generated evidence and overview artifacts
目录folder
diff --git a/reports/skill-overview.json b/reports/skill-overview.json
index b0f0a052..67c20fec 100644
--- a/reports/skill-overview.json
+++ b/reports/skill-overview.json
@@ -34,6 +34,7 @@
"reports/world_class_evidence_ledger.md",
"reports/review_annotations.md",
"reports/review-studio.html",
+ "reports/skill-interpretation.html",
"reports/skill-overview.html"
],
"flow": [
@@ -410,7 +411,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 13,
- "source_pass_count": 7,
+ "source_pass_count": 6,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -469,7 +470,8 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
- "External events"
+ "External events",
+ "Adoption sample"
]
}
]
@@ -510,7 +512,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 105
+ "file_count": 106
},
{
"path": "evals",
@@ -522,10 +524,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 211
+ "file_count": 213
}
],
- "file_count": 383,
+ "file_count": 386,
"folder_count": 4,
"distribution": [
{
@@ -550,7 +552,7 @@
},
{
"label": "scripts",
- "value": 105
+ "value": 106
},
{
"label": "evals",
@@ -558,7 +560,7 @@
},
{
"label": "reports",
- "value": 211
+ "value": 213
}
]
},
@@ -680,7 +682,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
- "file_count": 105
+ "file_count": 106
},
{
"path": "evals",
@@ -692,7 +694,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
- "file_count": 211
+ "file_count": 213
}
],
"strengths": [
@@ -993,12 +995,12 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
- "release_lock_ready": true,
+ "release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 24,
"missing_artifact_count": 0,
- "evidence_bundle_sha256": "890927c5a98eb60b569171a7473c213a5094d3a8e9b84705d687c4f3335220fd",
- "source_contract_sha256": "37a1ec0f35323886bdae64523b4113f5dc4ba3153117ee4980b8e5cd54b49aba",
+ "evidence_bundle_sha256": "60df1cebf40b1627f6d313c233f377d0d36228a9525b70099623563c7efb7804",
+ "source_contract_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af",
"archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc",
"output_case_count": 5,
"failure_disclosure_count": 3,
@@ -1014,14 +1016,14 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 13,
- "world_class_source_pass_count": 7,
- "world_class_source_blocked_count": 6,
+ "world_class_source_pass_count": 6,
+ "world_class_source_blocked_count": 7,
"public_claim_ready": false,
- "public_claim_blocker_count": 4,
- "working_tree_dirty": false,
- "changed_file_count": 0
+ "public_claim_blocker_count": 5,
+ "working_tree_dirty": true,
+ "changed_file_count": 73
},
- "commit": "aacf3282f562414faf8cc6c68538d2d53c6b48e3",
+ "commit": "5495734e7e33b19b84a932626112d783a3edf271",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flag are generation-time context; the evidence bundle hash is the durable artifact anchor inside a committed report.",
@@ -1105,8 +1107,8 @@
"failures": []
},
"trust_security": {
- "scanned_files": 192,
- "script_count": 105,
+ "scanned_files": 193,
+ "script_count": 106,
"internal_module_count": 26,
"secret_findings": 0,
"dependency_files": [
@@ -1115,18 +1117,18 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
- "file_write_script_count": 66,
+ "file_write_script_count": 67,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
"permission_invalid_count": 0,
"permission_expired_count": 0,
- "help_smoke_checked_count": 79,
+ "help_smoke_checked_count": 80,
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
- "package_hash_file_count": 192,
- "package_sha256": "37a1ec0f35323886bdae64523b4113f5dc4ba3153117ee4980b8e5cd54b49aba"
+ "package_hash_file_count": 193,
+ "package_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af"
},
"skill_atlas": {
"skill_count": 12,
@@ -1164,7 +1166,7 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
- "package_sha256": "37a1ec0f35323886bdae64523b4113f5dc4ba3153117ee4980b8e5cd54b49aba",
+ "package_sha256": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af",
"archive_sha256": "6852cf91a74d232c32d732b7c159c971827abf23af50153987193b084ad3b5cc"
},
"compatibility": {
@@ -1224,7 +1226,7 @@
"ok": true,
"summary": {
"archive_present": true,
- "archive_entry_count": 598,
+ "archive_entry_count": 603,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1296,7 +1298,7 @@
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "37a1ec0f35323886bdae64523b4113f5dc4ba3153117ee4980b8e5cd54b49aba"
+ "to": "c0fe8976bca1ceac0b325c882003335c66487b8f152868af471f3bdd79b9f0af"
}
]
},
@@ -1313,14 +1315,14 @@
"ok": true,
"summary": {
"event_count": 1,
- "adoption_sample_count": 1,
- "activation_count": 1,
- "accepted_count": 1,
+ "adoption_sample_count": 0,
+ "activation_count": 0,
+ "accepted_count": 0,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
- "adoption_rate": 100.0,
+ "adoption_rate": 0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1329,7 +1331,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
- "skill_activation": 1
+ "review_event": 1
},
"failure_types": {},
"source_types": {
@@ -1551,7 +1553,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
- "current": "external source events 0; adoption samples 1",
+ "current": "external source events 0; adoption samples 0",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///",
@@ -1603,8 +1605,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 13,
- "source_pass_count": 7,
- "source_blocked_count": 6,
+ "source_pass_count": 6,
+ "source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 0,
"overclaim_guard_active": true,
@@ -1940,7 +1942,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
- "current": "external source events 0; adoption samples 1",
+ "current": "external source events 0; adoption samples 0",
"objective": "Import production metadata-only events from a real external client into the local drift loop.",
"runbook": [
"python3 scripts/telemetry_native_host.py . --write-launcher /tmp/yao-telemetry-host.sh --write-manifest /tmp/yao-telemetry-host.json --allowed-origin chrome-extension:///",
@@ -1977,7 +1979,7 @@
],
"observed_state": {
"external_source_events": 0,
- "adoption_sample_count": 1,
+ "adoption_sample_count": 0,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -1998,8 +2000,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
- "actual": 1,
- "status": "pass",
+ "actual": 0,
+ "status": "blocked",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2015,8 +2017,8 @@
}
],
"source_check_count": 3,
- "source_pass_count": 2,
- "source_blocked_count": 1,
+ "source_pass_count": 1,
+ "source_blocked_count": 2,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
diff --git a/reports/skill_atlas.json b/reports/skill_atlas.json
index 6b4b6814..8ab3b23b 100644
--- a/reports/skill_atlas.json
+++ b/reports/skill_atlas.json
@@ -116,6 +116,7 @@
"scripts/render_review_studio.py",
"scripts/render_review_viewer.py",
"scripts/render_review_waivers.py",
+ "scripts/render_skill_interpretation.py",
"scripts/render_skill_os2_audit.py",
"scripts/render_skill_os2_coverage.py",
"scripts/render_skill_overview.py",
diff --git a/reports/skill_os2_audit.json b/reports/skill_os2_audit.json
index 60ff43ce..dd2b354c 100644
--- a/reports/skill_os2_audit.json
+++ b/reports/skill_os2_audit.json
@@ -197,7 +197,7 @@
"key": "trust-security",
"label": "Trust Security",
"status": "pass",
- "current": "secrets 0; scripts 105; help failures 0",
+ "current": "secrets 0; scripts 106; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
diff --git a/reports/skill_os2_audit.md b/reports/skill_os2_audit.md
index a1a5fc8b..883c409f 100644
--- a/reports/skill_os2_audit.md
+++ b/reports/skill_os2_audit.md
@@ -23,7 +23,7 @@ Generated at: `2026-06-13`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions recorded before claiming output review completion | Record real A/B choices in the decision template, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 24; missing 0; failures 3 | Public methodology, reproducible commands, required artifacts, and failure disclosure are machine-checkable | Keep the manifest current with every benchmark, package, and release evidence change. |
| Runtime Conformance | pass | 5/5 targets pass | Target package structure, metadata, relative paths, and degradation notes pass | Keep target conformance fixtures updated as platform contracts change. |
-| Trust Security | pass | secrets 0; scripts 105; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
+| Trust Security | pass | secrets 0; scripts 106; help failures 0 | Secrets, scripts, dependencies, permissions, and package hash are reviewable | Keep high-permission approvals scoped, expiring, and target-mapped. |
| Permission Metadata | pass | 4/4 target probes pass; metadata fallback 4; installer enforcement 4 | Packaged adapters expose explicit permission metadata, residual risks, and installer enforcement evidence when available | Preserve residual-risk notes until real native enforcement exists. |
| Native Permission Enforcement | external-required | native-enforced targets 0; installer-enforced targets 4 | At least one target/client enforces approved permissions at runtime | Integrate a real target-client or external installer runtime guard before claiming native permission enforcement. |
| Skill Atlas | pass | 12 skills; actionable collisions 0 | Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities | Feed real drift data into Atlas once client telemetry is installed. |
diff --git a/reports/skill_os2_coverage.json b/reports/skill_os2_coverage.json
index 214491ba..c5dde3bd 100644
--- a/reports/skill_os2_coverage.json
+++ b/reports/skill_os2_coverage.json
@@ -11,9 +11,9 @@
"warn_count": 0,
"missing_count": 0,
"extension_track_count": 2,
- "extension_partial_count": 2,
+ "extension_partial_count": 1,
"extension_planned_count": 0,
- "extension_covered_count": 0,
+ "extension_covered_count": 1,
"adaptive_extension_ready": false,
"local_blueprint_ready": true,
"public_world_class_ready": false,
@@ -26,7 +26,8 @@
"missing": 0
},
"extension_status_counts": {
- "partial": 2
+ "covered": 1,
+ "partial": 1
},
"modules": [
{
@@ -130,7 +131,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
- "current": "105 scripts; secrets 0; help failures 0",
+ "current": "106 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -612,9 +613,9 @@
{
"key": "skill-interpretation-report",
"label": "Skill Interpretation Report",
- "status": "partial",
+ "status": "covered",
"objective": "User-facing deep interpretation report explains use cases, triggers, inputs, outputs, workflow, principles, boundaries, quality gates, examples, and next iterations.",
- "current": "Skill Overview v2 already covers much of the explainer experience, but dedicated skill-interpretation JSON/MD/HTML artifacts are not first-class yet.",
+ "current": "Skill Overview v2 is canonical and mirrored as first-class skill-interpretation HTML/JSON with schema and tests.",
"target": "Either keep skill-overview as the canonical interpretation report with an explicit contract, or split a dedicated reports/skill-interpretation.* renderer and tests.",
"evidence": [
{
@@ -631,18 +632,18 @@
},
{
"path": "scripts/render_skill_interpretation.py",
- "exists": false
+ "exists": true
},
{
"path": "schemas/skill-interpretation.schema.json",
- "exists": false
+ "exists": true
},
{
"path": "tests/verify_skill_interpretation.py",
- "exists": false
+ "exists": true
}
],
- "next_action": "Decide whether overview v2 is the canonical interpretation surface; if not, add a dedicated schema, renderer, and CJK/path-safety tests."
+ "next_action": "Keep overview and interpretation contracts in lockstep when report sections, metrics, or layout semantics change."
},
{
"key": "adaptive-self-iteration",
@@ -710,7 +711,7 @@
],
"next_highest_leverage": [
"Close the four world-class evidence ledger entries with accepted human or external evidence.",
- "Clarify whether Skill Overview v2 is the canonical interpretation report or split a dedicated skill-interpretation renderer.",
+ "Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.",
"Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.",
"Keep the blueprint coverage report in CI so 2.0 plan drift is visible."
],
diff --git a/reports/skill_os2_coverage.md b/reports/skill_os2_coverage.md
index 9d6827fe..9e5621e4 100644
--- a/reports/skill_os2_coverage.md
+++ b/reports/skill_os2_coverage.md
@@ -11,7 +11,8 @@ Generated at: `2026-06-13`
- missing: `0`
- warn: `0`
- reference extensions: `2`
-- extension partial: `2`
+- extension covered: `1`
+- extension partial: `1`
- extension planned: `0`
- adaptive extension ready: `false`
- world-class evidence pending: `4`
@@ -25,7 +26,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Skill IR | `pass` | schema 2.0.0; targets 5 | `python3 scripts/yao.py skill-ir .` | `python3 tests/verify_skill_ir.py` |
| Output Eval Lab | `pass` | 5 cases; delta 100.0; execution 10 | `python3 scripts/yao.py output-exec . && python3 scripts/yao.py output-review .` | `python3 tests/verify_output_eval_lab.py` |
| Runtime Conformance | `pass` | 5/5 targets pass | `python3 scripts/yao.py conformance .` | `python3 tests/verify_conformance_suite.py` |
-| Trust Security | `pass` | 105 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
+| Trust Security | `pass` | 106 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Skill Atlas | `pass` | 12 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
| Registry Distribution | `pass` | archive entries 586; install failures 0 | `python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .` | `python3 tests/verify_registry_audit.py` |
| Review Studio | `pass` | 16 gates; decision review; warnings 3 | `python3 scripts/yao.py review-studio .` | `python3 tests/verify_review_studio.py` |
@@ -52,7 +53,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Track | Status | Current | Target | Next action |
| --- | --- | --- | --- | --- |
-| Skill Interpretation Report | `partial` | Skill Overview v2 already covers much of the explainer experience, but dedicated skill-interpretation JSON/MD/HTML artifacts are not first-class yet. | Either keep skill-overview as the canonical interpretation report with an explicit contract, or split a dedicated reports/skill-interpretation.* renderer and tests. | Decide whether overview v2 is the canonical interpretation surface; if not, add a dedicated schema, renderer, and CJK/path-safety tests. |
+| Skill Interpretation Report | `covered` | Skill Overview v2 is canonical and mirrored as first-class skill-interpretation HTML/JSON with schema and tests. | Either keep skill-overview as the canonical interpretation report with an explicit contract, or split a dedicated reports/skill-interpretation.* renderer and tests. | Keep overview and interpretation contracts in lockstep when report sections, metrics, or layout semantics change. |
| Adaptive Self-Iteration | `partial` | Proposal-only adapt-scan/adapt-propose foundation exists with policy, schema, and safety tests; approval-gated patch application is not implemented yet. | Proposal-only adaptation with explicit input source, redaction, allowlisted write targets, approval ledger, regression report, and rollback plan. | Add adapt-apply only after approval ledger, allowlisted targets, dry-run diffs, regression reports, and rollback artifacts are designed. |
These extension tracks come from the user-supplied 2.0 reference plan. They are tracked separately from the formal Skill OS blueprint so the report can distinguish landed local architecture from planned explainer/adaptor evolution.
@@ -60,7 +61,7 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
## Next Highest-Leverage Moves
- Close the four world-class evidence ledger entries with accepted human or external evidence.
-- Clarify whether Skill Overview v2 is the canonical interpretation report or split a dedicated skill-interpretation renderer.
+- Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.
- Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.
- Keep the blueprint coverage report in CI so 2.0 plan drift is visible.
@@ -209,10 +210,9 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
### Skill Interpretation Report
- objective: User-facing deep interpretation report explains use cases, triggers, inputs, outputs, workflow, principles, boundaries, quality gates, examples, and next iterations.
-- status: `partial`
-- existing evidence: `reports/skill-overview.html`, `reports/skill-overview.json`, `scripts/render_skill_overview.py`
-- missing evidence: `scripts/render_skill_interpretation.py`, `schemas/skill-interpretation.schema.json`, `tests/verify_skill_interpretation.py`
-- next action: Decide whether overview v2 is the canonical interpretation surface; if not, add a dedicated schema, renderer, and CJK/path-safety tests.
+- status: `covered`
+- existing evidence: `reports/skill-overview.html`, `reports/skill-overview.json`, `scripts/render_skill_overview.py`, `scripts/render_skill_interpretation.py`, `schemas/skill-interpretation.schema.json`, `tests/verify_skill_interpretation.py`
+- next action: Keep overview and interpretation contracts in lockstep when report sections, metrics, or layout semantics change.
### Adaptive Self-Iteration
diff --git a/reports/upgrade_check.json b/reports/upgrade_check.json
index 56d93474..d308ad2b 100644
--- a/reports/upgrade_check.json
+++ b/reports/upgrade_check.json
@@ -75,7 +75,7 @@
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
- "to": "37a1ec0f35323886bdae64523b4113f5dc4ba3153117ee4980b8e5cd54b49aba"
+ "to": "652c3a4a1f091d875bfacdd44da9a91bc02fec90af3fe76cf3a71a6dc80aba58"
}
]
},
diff --git a/reports/world_class_claim_guard.json b/reports/world_class_claim_guard.json
index f4de42a2..648321de 100644
--- a/reports/world_class_claim_guard.json
+++ b/reports/world_class_claim_guard.json
@@ -6,7 +6,7 @@
"summary": {
"ledger_ready_to_claim_world_class": false,
"ledger_pending_count": 4,
- "claim_surface_count": 75,
+ "claim_surface_count": 76,
"violation_count": 0,
"overclaim_guard_active": true,
"decision": "claim-guard-pass-evidence-pending"
@@ -271,6 +271,10 @@
"path": "reports/security_trust_report.md",
"violation_count": 0
},
+ {
+ "path": "reports/skill-interpretation.html",
+ "violation_count": 0
+ },
{
"path": "reports/skill-os-2-review.md",
"violation_count": 0
diff --git a/reports/world_class_claim_guard.md b/reports/world_class_claim_guard.md
index 98cc8e66..9bb78630 100644
--- a/reports/world_class_claim_guard.md
+++ b/reports/world_class_claim_guard.md
@@ -7,7 +7,7 @@ Generated at: `2026-06-13`
- decision: `claim-guard-pass-evidence-pending`
- ledger ready to claim world-class: `false`
- ledger pending evidence: `4`
-- claim surfaces scanned: `75`
+- claim surfaces scanned: `76`
- violations: `0`
- overclaim guard active: `true`
diff --git a/schemas/skill-interpretation.schema.json b/schemas/skill-interpretation.schema.json
new file mode 100644
index 00000000..7a295174
--- /dev/null
+++ b/schemas/skill-interpretation.schema.json
@@ -0,0 +1,115 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://yao.local/schemas/skill-interpretation.schema.json",
+ "title": "Yao Skill Interpretation Report",
+ "type": "object",
+ "required": [
+ "skill_summary",
+ "scorecard",
+ "capability_profile",
+ "principle_model",
+ "contract_boundary",
+ "quality_review",
+ "risk_governance",
+ "package_assets",
+ "iteration_roadmap",
+ "report_contract",
+ "interpretation_contract"
+ ],
+ "properties": {
+ "report_contract": {
+ "type": "object",
+ "required": [
+ "schema_version",
+ "report_kind",
+ "html_report",
+ "json_report",
+ "default_language",
+ "languages",
+ "layout",
+ "nav_labels"
+ ],
+ "properties": {
+ "schema_version": {
+ "const": "2.0"
+ },
+ "report_kind": {
+ "const": "skill-interpretation"
+ },
+ "html_report": {
+ "const": "reports/skill-interpretation.html"
+ },
+ "json_report": {
+ "const": "reports/skill-interpretation.json"
+ },
+ "default_language": {
+ "const": "zh-CN"
+ },
+ "languages": {
+ "type": "array",
+ "prefixItems": [
+ {
+ "const": "zh-CN"
+ },
+ {
+ "const": "en"
+ }
+ ],
+ "minItems": 2
+ },
+ "layout": {
+ "const": "kami-white-audit-v2"
+ },
+ "nav_labels": {
+ "type": "array",
+ "minItems": 9,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": true
+ },
+ "interpretation_contract": {
+ "type": "object",
+ "required": [
+ "schema_version",
+ "source_model",
+ "source_model_reused",
+ "overview_report",
+ "html_report",
+ "json_report",
+ "includes"
+ ],
+ "properties": {
+ "schema_version": {
+ "const": "2.0"
+ },
+ "source_model": {
+ "const": "skill-overview-v2"
+ },
+ "source_model_reused": {
+ "const": true
+ },
+ "overview_report": {
+ "const": "reports/skill-overview.html"
+ },
+ "html_report": {
+ "const": "reports/skill-interpretation.html"
+ },
+ "json_report": {
+ "const": "reports/skill-interpretation.json"
+ },
+ "includes": {
+ "type": "array",
+ "minItems": 10,
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": true
+ }
+ },
+ "additionalProperties": true
+}
diff --git a/scripts/ci_test.py b/scripts/ci_test.py
index 6ca8570d..5d62f0b9 100644
--- a/scripts/ci_test.py
+++ b/scripts/ci_test.py
@@ -34,6 +34,7 @@ DEFAULT_TARGETS = [
"architecture-maintainability-check",
"yao-cli-check",
"skill-overview-check",
+ "skill-interpretation-check",
"skill-report-metrics-check",
"skill-report-charts-check",
"html-rendering-check",
diff --git a/scripts/init_skill.py b/scripts/init_skill.py
index cef77861..ff67e8fc 100644
--- a/scripts/init_skill.py
+++ b/scripts/init_skill.py
@@ -21,6 +21,7 @@ from render_reference_scan import parse_reference, render_reference_scan
from render_reference_synthesis import render_reference_synthesis
from render_review_studio import render_review_studio
from render_review_viewer import render_review_viewer
+from render_skill_interpretation import render_skill_interpretation
from render_skill_overview import render_skill_overview
from render_system_model import render_system_model
@@ -73,19 +74,20 @@ README_TEMPLATE = """# {title}
4. Review `reports/intent-confidence.md` to see whether the real job, inputs, outputs, and exclusions are clear enough yet.
5. Open `reports/reference-synthesis.md` to see the GitHub benchmarks plus curated official, research, and principle tracks in one place.
6. Follow the workflow steps in `SKILL.md`.
-7. Check `reports/skill-overview.html` for the generated bilingual HTML skill audit report: overview, metrics, capability profile, principle, contract, quality, risk, assets, and iteration roadmap. It defaults to Simplified Chinese and includes an English switch in the top right.
-8. Open `reports/review-studio.html` for the one-page Review Studio 2.0 gate view.
-9. Record source-line reviewer comments in `reports/review_annotations.md` when review needs follow-up.
-10. Open `reports/review-viewer.html` for a compact visual review of the package.
-11. Check `reports/output-risk-profile.md` to see likely output mistakes and self-repair checks.
-12. Check `reports/artifact-design-profile.md` to see the intended artifact direction, layout patterns, visual quality gates, and anti-patterns.
-13. Check `reports/prompt-quality-profile.md` to see the need model, RTF-to-skill mapping, complexity, and prompt-facing quality matrix.
-14. Review `reports/skill-ir.json` for the platform-neutral Skill IR contract before platform-specific packaging.
-15. Review `reports/compiled_targets.md` to see how Skill IR compiles into OpenAI, Claude, generic, and Agent Skills compatible target contracts.
-16. Review `reports/iteration-directions.md` for the three most valuable next moves.
-17. Review `reports/system-model.md` to understand the boundary, feedback loops, drift watch, failure map, and highest-leverage next changes.
-18. Review `reports/adoption_drift_report.md` to see local-first metadata-only adoption and drift signals.
-19. Review `reports/review_waivers.md` to see human reviewer risk approvals and expiry dates.
+7. Open `reports/skill-interpretation.html` first for the first-class bilingual interpretation report: role, principle, scenarios, trigger, inputs, outputs, highlights, risks, assets, and upgrade directions. It defaults to Simplified Chinese and includes an English switch in the top right.
+8. Check `reports/skill-overview.html` for the generated bilingual HTML skill audit report: overview, metrics, capability profile, principle, contract, quality, risk, assets, and iteration roadmap.
+9. Open `reports/review-studio.html` for the one-page Review Studio 2.0 gate view.
+10. Record source-line reviewer comments in `reports/review_annotations.md` when review needs follow-up.
+11. Open `reports/review-viewer.html` for a compact visual review of the package.
+12. Check `reports/output-risk-profile.md` to see likely output mistakes and self-repair checks.
+13. Check `reports/artifact-design-profile.md` to see the intended artifact direction, layout patterns, visual quality gates, and anti-patterns.
+14. Check `reports/prompt-quality-profile.md` to see the need model, RTF-to-skill mapping, complexity, and prompt-facing quality matrix.
+15. Review `reports/skill-ir.json` for the platform-neutral Skill IR contract before platform-specific packaging.
+16. Review `reports/compiled_targets.md` to see how Skill IR compiles into OpenAI, Claude, generic, and Agent Skills compatible target contracts.
+17. Review `reports/iteration-directions.md` for the three most valuable next moves.
+18. Review `reports/system-model.md` to understand the boundary, feedback loops, drift watch, failure map, and highest-leverage next changes.
+19. Review `reports/adoption_drift_report.md` to see local-first metadata-only adoption and drift signals.
+20. Review `reports/review_waivers.md` to see human reviewer risk approvals and expiry dates.
## Honest Boundaries
@@ -109,6 +111,7 @@ README_TEMPLATE = """# {title}
- `reports/system-model.md`: systems-thinking model for boundary, feedback loops, drift, failure patterns, and leverage points
- `reports/skill-ir.json`: platform-neutral 2.0 Skill IR contract for trigger, workflow, resources, evals, risk, and governance
- `reports/compiled_targets.md`: target compiler report showing generated contracts, adapter modes, preserved semantics, warnings, and unsupported features
+- `reports/skill-interpretation.html`: first-class bilingual interpretation report for role, principle, scenarios, trigger, inputs, outputs, quality evidence, risks, assets, highlights, and upgrade directions
- `reports/skill-overview.html`: white-background bilingual HTML skill audit report with sticky four-character Chinese navigation, a top-right language switch, metrics, SVG charts, contract boundary, quality review, risk governance, assets, and iteration roadmap
- `reports/review-studio.html`: Review Studio 2.0 gate page for intent, trigger, output eval, context, runtime conformance, trust, atlas, and release readiness
- `reports/review-viewer.html`: compact review page for architecture, usage, feedback, and next steps
@@ -228,23 +231,26 @@ def build_manifest(name: str, mode: str, archetype: str) -> dict:
def build_report_view(artifacts: dict) -> dict:
html_report = artifacts.get("skill_overview_html", "")
json_report = artifacts.get("skill_overview_json", "")
+ interpretation_report = artifacts.get("skill_interpretation_html", "")
system_model = artifacts.get("system_model_md", "")
review_studio = artifacts.get("review_studio_html", "")
return {
"title": "Skill 总结报告",
"html_report": html_report,
"json_report": json_report,
+ "interpretation_report": interpretation_report,
"system_model": system_model,
"review_studio": review_studio,
"message": (
- f"Skill 已创建完成。建议先打开总结报告:{html_report}。"
- "它会展示这个 Skill 的概述、指标、原理、触发边界、输入输出、目标编译、质量评估、风险治理、包体资产和升级路线;"
+ f"Skill 已创建完成。建议先打开解读报告:{interpretation_report};再查看总结报告:{html_report}。"
+ "解读报告会用中文简体默认展示这个 Skill 的作用、原理、使用场景、触发方式、输入输出、亮点和后续升级方向;"
+ "总结报告会展示概述、指标、原理、触发边界、输入输出、目标编译、质量评估、风险治理、包体资产和升级路线;"
f"然后打开 Review Studio 2.0:{review_studio},检查意图、触发、输出评测、运行一致性、信任和发布闸门。"
"后续 reviewer 的文件级或行级意见可以记录到 reports/review_annotations.md。"
"如需审查平台适配细节,请打开 reports/compiled_targets.md。"
"报告默认使用中文简体,右上角可以切换英文版。"
),
- "next_action": "Open reports/skill-overview.html before editing more files.",
+ "next_action": "Open reports/skill-interpretation.html before editing more files.",
}
@@ -359,6 +365,7 @@ def initialize_skill(
review_waivers = render_review_waivers(root)
review_annotations = render_review_annotations(root)
overview = render_skill_overview(root)
+ interpretation = render_skill_interpretation(root)
review_viewer = render_review_viewer(root)
review_studio = render_review_studio(root)
artifacts = {
@@ -369,6 +376,8 @@ def initialize_skill(
"intent_context_json": intent_confidence["artifacts"]["context_json"],
"skill_overview_html": overview["artifacts"]["html"],
"skill_overview_json": overview["artifacts"]["json"],
+ "skill_interpretation_html": interpretation["artifacts"]["html"],
+ "skill_interpretation_json": interpretation["artifacts"]["json"],
"intent_dialogue_md": intent_dialogue["artifacts"]["markdown"],
"intent_dialogue_json": intent_dialogue["artifacts"]["json"],
"reference_scan_md": reference_scan["artifacts"]["markdown"],
diff --git a/scripts/render_review_studio.py b/scripts/render_review_studio.py
index 2914de88..b854cc9e 100644
--- a/scripts/render_review_studio.py
+++ b/scripts/render_review_studio.py
@@ -248,6 +248,7 @@ def render_html(report: dict[str, Any]) -> str:
"warn_count",
"missing_count",
"extension_track_count",
+ "extension_covered_count",
"extension_partial_count",
"extension_planned_count",
"adaptive_extension_ready",
diff --git a/scripts/render_skill_interpretation.py b/scripts/render_skill_interpretation.py
new file mode 100644
index 00000000..5c8cf359
--- /dev/null
+++ b/scripts/render_skill_interpretation.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python3
+import argparse
+import json
+from pathlib import Path
+
+from render_skill_overview import render_html
+from skill_report_model import build_report_model
+
+
+SCRIPT_INTERFACE = "cli"
+SCRIPT_INTERFACE_REASON = "Renders the first-class skill interpretation report while reusing the Skill Overview v2 model and layout."
+
+
+def build_interpretation_model(skill_dir: Path) -> dict:
+ summary = build_report_model(skill_dir)
+ contract = dict(summary.get("report_contract", {}))
+ contract.update(
+ {
+ "schema_version": "2.0",
+ "report_kind": "skill-interpretation",
+ "canonical_overview_report": "reports/skill-overview.html",
+ "html_report": "reports/skill-interpretation.html",
+ "json_report": "reports/skill-interpretation.json",
+ "layout": "kami-white-audit-v2",
+ "default_language": "zh-CN",
+ "languages": ["zh-CN", "en"],
+ "purpose": "Explain the generated skill's role, principles, usage scenarios, trigger contract, inputs, outputs, quality evidence, risks, assets, highlights, and next upgrade directions.",
+ }
+ )
+ summary["report_contract"] = contract
+ summary["interpretation_contract"] = {
+ "schema_version": "2.0",
+ "source_model": "skill-overview-v2",
+ "source_model_reused": True,
+ "overview_report": "reports/skill-overview.html",
+ "html_report": "reports/skill-interpretation.html",
+ "json_report": "reports/skill-interpretation.json",
+ "default_language": "zh-CN",
+ "languages": ["zh-CN", "en"],
+ "includes": [
+ "skill role",
+ "principles",
+ "usage scenarios",
+ "trigger contract",
+ "inputs and outputs",
+ "quality evidence",
+ "risk governance",
+ "package assets",
+ "highlights",
+ "upgrade roadmap",
+ ],
+ }
+ deliverables = summary.get("skill_summary", {}).get("deliverables", [])
+ for artifact in ["reports/skill-interpretation.html", "reports/skill-interpretation.json"]:
+ if artifact not in deliverables:
+ deliverables.append(artifact)
+ if "skill_summary" in summary:
+ summary["skill_summary"]["deliverables"] = deliverables
+ return summary
+
+
+def render_skill_interpretation(skill_dir: Path, output_html: Path | None = None, output_json: Path | None = None) -> dict:
+ skill_dir = skill_dir.resolve()
+ reports_dir = skill_dir / "reports"
+ reports_dir.mkdir(parents=True, exist_ok=True)
+
+ output_html = output_html or reports_dir / "skill-interpretation.html"
+ output_json = output_json or reports_dir / "skill-interpretation.json"
+
+ summary = build_interpretation_model(skill_dir)
+ output_html.write_text(render_html(summary), encoding="utf-8")
+ output_json.write_text(json.dumps(summary, ensure_ascii=False, indent=2), encoding="utf-8")
+
+ return {
+ "ok": True,
+ "skill_dir": str(skill_dir),
+ "artifacts": {
+ "html": str(output_html),
+ "json": str(output_json),
+ "overview_html": str(skill_dir / "reports" / "skill-overview.html"),
+ },
+ "summary": {
+ "name": summary.get("name"),
+ "report_kind": summary.get("report_contract", {}).get("report_kind"),
+ "default_language": summary.get("report_contract", {}).get("default_language"),
+ "section_count": len(summary.get("report_contract", {}).get("nav_labels", [])),
+ "source_model_reused": summary.get("interpretation_contract", {}).get("source_model_reused"),
+ },
+ }
+
+
+def main() -> None:
+ parser = argparse.ArgumentParser(description="Render the first-class HTML skill interpretation report for a skill package.")
+ parser.add_argument("skill_dir", nargs="?", default=".")
+ parser.add_argument("--output-html")
+ parser.add_argument("--output-json")
+ args = parser.parse_args()
+
+ result = render_skill_interpretation(
+ Path(args.skill_dir),
+ Path(args.output_html).resolve() if args.output_html else None,
+ Path(args.output_json).resolve() if args.output_json else None,
+ )
+ print(json.dumps(result, ensure_ascii=False, indent=2))
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/render_skill_os2_coverage.py b/scripts/render_skill_os2_coverage.py
index efd4b037..a4611f61 100644
--- a/scripts/render_skill_os2_coverage.py
+++ b/scripts/render_skill_os2_coverage.py
@@ -301,23 +301,36 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]:
for key, path_a, path_b, path_c, condition, current in recommended_prs
]
+ interpretation_paths = [
+ "reports/skill-overview.html",
+ "reports/skill-overview.json",
+ "scripts/render_skill_overview.py",
+ "scripts/render_skill_interpretation.py",
+ "schemas/skill-interpretation.schema.json",
+ "tests/verify_skill_interpretation.py",
+ ]
+ interpretation_ready = paths_exist(skill_dir, interpretation_paths)
+ interpretation_status = "covered" if interpretation_ready else "partial"
+ interpretation_current = (
+ "Skill Overview v2 is canonical and mirrored as first-class skill-interpretation HTML/JSON with schema and tests."
+ if interpretation_ready
+ else "Skill Overview v2 already covers much of the explainer experience, but dedicated skill-interpretation JSON/HTML artifacts are not first-class yet."
+ )
+ interpretation_next_action = (
+ "Keep overview and interpretation contracts in lockstep when report sections, metrics, or layout semantics change."
+ if interpretation_ready
+ else "Decide whether overview v2 is the canonical interpretation surface; if not, add a dedicated schema, renderer, and CJK/path-safety tests."
+ )
extension_tracks = [
build_extension_track(
key="skill-interpretation-report",
label="Skill Interpretation Report",
- status="partial",
+ status=interpretation_status,
objective="User-facing deep interpretation report explains use cases, triggers, inputs, outputs, workflow, principles, boundaries, quality gates, examples, and next iterations.",
- current="Skill Overview v2 already covers much of the explainer experience, but dedicated skill-interpretation JSON/MD/HTML artifacts are not first-class yet.",
+ current=interpretation_current,
target="Either keep skill-overview as the canonical interpretation report with an explicit contract, or split a dedicated reports/skill-interpretation.* renderer and tests.",
- artifact_paths=[
- "reports/skill-overview.html",
- "reports/skill-overview.json",
- "scripts/render_skill_overview.py",
- "scripts/render_skill_interpretation.py",
- "schemas/skill-interpretation.schema.json",
- "tests/verify_skill_interpretation.py",
- ],
- next_action="Decide whether overview v2 is the canonical interpretation surface; if not, add a dedicated schema, renderer, and CJK/path-safety tests.",
+ artifact_paths=interpretation_paths,
+ next_action=interpretation_next_action,
skill_dir=skill_dir,
),
]
@@ -412,7 +425,7 @@ def build_coverage(skill_dir: Path, generated_at: str) -> dict[str, Any]:
"reference_extension_tracks": extension_tracks,
"next_highest_leverage": [
"Close the four world-class evidence ledger entries with accepted human or external evidence.",
- "Clarify whether Skill Overview v2 is the canonical interpretation report or split a dedicated skill-interpretation renderer.",
+ "Keep the first-class skill interpretation report and Skill Overview v2 contract synchronized as the report model evolves.",
"Start adaptive self-iteration as explicit-source, proposal-only, approval-gated work; do not scan private logs by default.",
"Keep the blueprint coverage report in CI so 2.0 plan drift is visible.",
],
@@ -468,6 +481,7 @@ def render_markdown(report: dict[str, Any]) -> str:
f"- missing: `{summary['missing_count']}`",
f"- warn: `{summary['warn_count']}`",
f"- reference extensions: `{summary['extension_track_count']}`",
+ f"- extension covered: `{summary['extension_covered_count']}`",
f"- extension partial: `{summary['extension_partial_count']}`",
f"- extension planned: `{summary['extension_planned_count']}`",
f"- adaptive extension ready: `{str(summary['adaptive_extension_ready']).lower()}`",
diff --git a/scripts/render_skill_overview.py b/scripts/render_skill_overview.py
index dde008eb..58cff47a 100644
--- a/scripts/render_skill_overview.py
+++ b/scripts/render_skill_overview.py
@@ -254,6 +254,9 @@ def render_html(summary: dict) -> str:
output_execution_summary = output_execution.get("summary", {})
output_review = summary.get("output_review_adjudication", {})
output_review_summary = output_review.get("summary", {})
+ report_contract = summary.get("report_contract", {})
+ html_report_path = str(report_contract.get("html_report") or "reports/skill-overview.html")
+ open_report_message = f"创建完成后建议先打开 {html_report_path},再继续扩展包体。"
hero_meta = [
(f"技能名称:{summary['name']}", f"Skill name: {summary['name']}"),
(f"成熟度:{mode_zh(metadata.get('maturity_tier', 'scaffold'))}", f"Maturity: {metadata.get('maturity_tier', 'scaffold')}"),
@@ -340,7 +343,7 @@ def render_html(summary: dict) -> str: