17 Commits

Author SHA1 Message Date
yaojingang 4eb11f923d docs: add skill install quickstart 2026-07-06 08:15:24 +08:00
YAO c37915e4f6 Merge pull request #10 from yaojingang/codex/meta-skill-entrypoint-clarity
Clarify meta skill workflow boundaries
2026-07-02 15:10:40 +08:00
yaojingang 6725a57538 Clarify meta skill workflow boundaries 2026-07-02 14:44:07 +08:00
YAO 8455eff29a Merge pull request #9 from yaojingang/codex/trigger-coverage-main
Improve yao meta skill trigger coverage
2026-07-02 11:46:11 +08:00
yaojingang 24bea607a2 Improve yao meta skill trigger coverage 2026-07-02 11:43:17 +08:00
YAO 4eef8d8682 Merge pull request #8 from yaojingang/codex/blind-human-review-evidence
Add human blind review evidence
2026-06-29 11:22:18 +08:00
yaojingang 01e750dbb2 Add human blind review evidence 2026-06-29 11:17:32 +08:00
YAO 0556767dff Merge pull request #7 from yaojingang/codex/package-skill-surface-fix
Fix package skill entrypoint surface
2026-06-21 16:40:42 +08:00
yaojingang 9f793d59cf Fix package skill entrypoint surface 2026-06-21 16:34:13 +08:00
YAO 5fbed1d273 Merge pull request #5 from yaojingang/codex/operator-ux-v1
Add operator UX diagnostics
2026-06-20 20:52:35 +08:00
yaojingang 6ccb9c86ba Refresh operator UX evidence 2026-06-20 20:37:23 +08:00
yaojingang f37e78def3 Add operator UX diagnostics 2026-06-20 20:34:30 +08:00
YAO 00a0a1f0c6 Merge Python 3.11 local development docs
Merge PR #4, which documents Python 3.11 local development and adds a Makefile interpreter version check for test targets.
2026-06-19 15:19:48 +08:00
CooperSheroy ff7381948e docs: clarify Python 3.11 local development 2026-06-19 09:05:01 +05:30
YAO 21b243e0f5 Merge Chinese Skill OS 2.0 homepage update
Merge the Chinese README homepage update for Skill OS 2.0 positioning and usage documentation.
2026-06-18 15:20:00 +08:00
yaojingang a30bb845d9 Update Chinese homepage for Skill OS 2.0 2026-06-18 15:17:13 +08:00
YAO 715fc750e0 Merge Skill OS 2.0 comparison report
Merge the Skill OS 2.0 comparison preview and README homepage positioning updates.
2026-06-18 15:04:52 +08:00
138 changed files with 11662 additions and 4005 deletions
+3
View File
@@ -23,6 +23,7 @@ Use `make ci-test` as the default full verification command before calling a cha
Common focused checks:
- CLI changes: `python3 tests/verify_yao_cli.py`
- Operator UX changes: `python3 tests/verify_operator_ux.py`
- Skill overview report changes: `python3 tests/verify_skill_overview.py`
- Review Studio changes: `python3 tests/verify_review_studio.py`
- Trust or script inventory changes: `python3 tests/verify_trust_check.py`
@@ -119,6 +120,8 @@ Clean test-only scratch directories after verification with `find tests -maxdept
- `scripts/skill_report_model.py`, `scripts/skill_report_metrics.py`, `scripts/skill_report_charts.py`: skill overview data model, scoring, and inline SVG chart generation.
- `scripts/yao_cli_config.py`: CLI target maps, archetype heuristics, diagnosis copy, and side-effect-free shaping helpers.
- `scripts/yao_cli_parser.py`: CLI argparse command surface, flags, choices, and command handler binding.
- `scripts/yao_cli_operator_commands.py`: read-only operator diagnostics for active install status, localized homepage sync, and PR review reports. Keep install checks non-mutating, docs sync explicit, and PR review free of merge/write actions.
- `scripts/yao_cli_parser_operator.py`: argparse surface for operator UX commands. Keep command names stable and route all behavior into `yao_cli_operator_commands.py`.
- `scripts/yao_cli_telemetry.py`: opt-in metadata-only CLI run telemetry. Keep it free of prompt, argument, output, transcript, note, or message capture.
- `scripts/import_telemetry_events.py`: external telemetry importer. Validate the whole input before appending events, and keep raw prompt/output/transcript/message/note fields blocked.
- `scripts/emit_telemetry_event.py`: external client telemetry emitter. It may append one normalized metadata event to a local spool, but must never accept or write raw prompt, output, transcript, message, note, argument, or private content.
+11 -4
View File
@@ -1,8 +1,12 @@
PYTHON ?= python3
REQUIRED_PYTHON_VERSION ?= 3.11
LOCAL_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills.disabled/yao-meta-skill
ACTIVE_SKILL_INSTALL_DIR ?= $(HOME)/.agents/skills/yao-meta-skill
.PHONY: eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
.PHONY: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization judge-blind-eval description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check yao-cli-world-class-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-kit-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger results-panel regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check sync-local-install sync-active-install test ci-test clean
python-version-check:
@$(PYTHON) -c 'import sys; required=tuple(map(int, "$(REQUIRED_PYTHON_VERSION)".split("."))); actual=sys.version_info[:2]; raise SystemExit(0 if actual >= required else "Python {}.{}+ is required; {}.{} is active. Set PYTHON=/path/to/python{} or create a Python {} virtualenv.".format(*required, *actual, "$(REQUIRED_PYTHON_VERSION)", "$(REQUIRED_PYTHON_VERSION)"))'
eval:
$(PYTHON) scripts/trigger_eval.py --description-file evals/improved_description.txt --cases evals/trigger_cases.json --baseline-description-file evals/baseline_description.txt
@@ -40,6 +44,9 @@ yao-cli-check:
yao-cli-world-class-check:
$(PYTHON) tests/verify_yao_cli_world_class.py
operator-ux-check:
$(PYTHON) tests/verify_operator_ux.py
skill-overview-check:
$(PYTHON) tests/verify_skill_overview.py
@@ -266,11 +273,11 @@ sync-local-install: package-check
sync-active-install: package-check
$(PYTHON) scripts/sync_local_install.py --install-dir "$(ACTIVE_SKILL_INSTALL_DIR)"
test: eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
test: python-version-check eval eval-suite route-scorecard route-confusion-check description-optimization description-optimization-check promotion-check python-compat-check architecture-maintainability-check yao-cli-check operator-ux-check skill-overview-check skill-interpretation-check skill-report-metrics-check skill-report-charts-check html-rendering-check skill-ir-check compiler-check output-eval-check output-execution-check output-review-adjudication-check runtime-conformance-check runtime-permission-check trust-check skill-atlas-check registry-audit-check package-verify-check install-simulation-check upgrade-check review-viewer-check review-studio-check skill-os2-audit-check skill-os2-coverage-check world-class-evidence-check world-class-ledger-check world-class-intake-check world-class-submission-kit-check world-class-preflight-check world-class-submission-review-check world-class-runbook-check world-class-claim-guard-check benchmark-reproducibility-check evidence-consistency-check feedback-check adaptation-safety-check skillops-opportunity-check daily-skillops-check weekly-curator-check adoption-drift-check telemetry-import-check telemetry-emit-check telemetry-hooks-check telemetry-native-host-check review-waivers-check review-annotations-check baseline-compare-check reference-scan-check github-benchmark-scan-check intent-confidence-check reference-synthesis-check output-risk-profile-check artifact-design-profile-check prompt-quality-profile-check system-model-check iteration-directions-check description-drift-history iteration-ledger regression-history context-reports portability-report portability-check failure-regression-check package-check package-failure-check security-boundary-check local-install-sync-check snapshot-check validate lint governance-check resource-boundary-check quality-check
ci-test:
ci-test: python-version-check
$(PYTHON) scripts/ci_test.py
clean:
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
rm -rf dist tests/tmp tests/tmp_snapshot tests/tmp_cli tests/tmp_operator_ux tests/tmp_python_compat tests/tmp_architecture_maintainability tests/tmp_skill_overview tests/tmp_skill_interpretation tests/tmp_skill_report_metrics tests/tmp_skill_report_charts tests/tmp_skill_ir tests/tmp_compile_skill tests/tmp_output_eval tests/tmp_output_execution tests/tmp_output_review_adjudication tests/tmp_conformance tests/tmp_runtime_permission tests/tmp_trust tests/tmp_skill_atlas tests/tmp_registry tests/tmp_package_verification tests/tmp_install_simulation tests/tmp_upgrade_check tests/tmp_reference_scan tests/tmp_iteration_directions tests/tmp_review_viewer tests/tmp_review_studio tests/tmp_skill_os2_audit tests/tmp_skill_os2_coverage tests/tmp_world_class_evidence tests/tmp_world_class_evidence_ledger tests/tmp_world_class_evidence_intake tests/tmp_world_class_submission_review tests/tmp_world_class_operator_runbook tests/tmp_world_class_claim_guard tests/tmp_benchmark_reproducibility tests/tmp_evidence_consistency tests/tmp_feedback tests/tmp_daily_skillops tests/tmp_weekly_curator tests/tmp_adoption_drift tests/tmp_telemetry_import tests/tmp_telemetry_emit tests/tmp_telemetry_hooks tests/tmp_telemetry_native_host tests/tmp_review_waivers tests/tmp_review_annotations tests/tmp_github_benchmark_scan tests/tmp_intent_confidence tests/tmp_reference_synthesis tests/tmp_output_risk_profile tests/tmp_artifact_design_profile tests/tmp_prompt_quality_profile tests/tmp_system_model tests/tmp_security tests/tmp_baseline_compare.json tests/tmp_baseline_compare.md
find . -type d -name __pycache__ -prune -exec rm -rf {} +
+63 -2
View File
@@ -8,11 +8,11 @@
[![Français](https://img.shields.io/badge/Docs-Fran%C3%A7ais-green)](docs/README.fr-FR.md)
[![Русский](https://img.shields.io/badge/Docs-%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9-purple)](docs/README.ru-RU.md)
`YAO` stands for `Yielding AI Outcomes` the goal is not to generate more prompt text, but to produce reusable AI assets and real operational outcomes.
`YAO` stands for `Yielding AI Outcomes`: the goal is not to generate more prompt text, but to produce reusable AI assets and real operational outcomes.
`yao-meta-skill` creates, evaluates, packages, and governs reusable agent skills. The 1.0 line focused on turning repeated workflows into installable, readable, cross-platform skill packages. The 2.0 line expands that factory into a Skill OS: a governed system for modeling a skill once, compiling it for multiple targets, testing its behavior, reviewing its release evidence, and tracking the next iteration.
[Quick Start](#quick-start) · [Skill OS 2.0](#skill-os-20-upgrade) · [1.0 vs 2.0](#from-10-to-20) · [Benchmark](#weighted-quality-benchmark) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
[Quick Start](#quick-start) · [Skill OS 2.0](#skill-os-20-upgrade) · [1.0 vs 2.0](#from-10-to-20) · [Operator UX](#operator-ux-commands) · [Benchmark](#weighted-quality-benchmark) · [Examples](examples/README.md) · [Evals](evals/README.md) · [Failure Library](failures/README.md) · [Method Doctrine](#method-doctrine)
## Skill OS 2.0 Upgrade
@@ -53,6 +53,20 @@ See the companion artifacts:
- **Keep a skill useful after release**: use metadata-only telemetry, adoption drift, feedback logs, SkillOps reports, and adaptive proposals to decide whether the next move should be documentation, an eval, a skill patch, or a governance update.
- **Compare with other meta-skill approaches**: keep Anthropic/OpenAI-style conversational creation and lean instruction writing where they fit, then use `yao-meta-skill` when the package needs evidence, portability, release gates, and repeatable maintenance.
## Operator UX Commands
These read-only helper commands turn common maintainer questions into repeatable diagnostics:
```bash
python3 scripts/yao.py install-status --expected-source .
python3 scripts/yao.py localized-doc-sync-check
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
```
- `install-status` explains whether the active skill is coming from `.codex/skills`, `.agents/skills`, or the disabled mirror, and flags duplicate active installs.
- `localized-doc-sync-check` verifies that the Chinese README carries the public homepage sections that were added to the English README.
- `pr-review-report` reads GitHub PR metadata, changed files, status checks, and suggested local commands without merging or mutating the PR.
## Capability Surface
It turns rough workflows, transcripts, prompts, notes, and runbooks into reusable skill packages with:
@@ -127,6 +141,8 @@ Read it in 10 seconds:
This benchmark is a project-level engineering review, scored from `0-10` per dimension and weighted to `100`. GitHub stars are intentionally excluded because they measure ecosystem heat, not meta-skill engineering quality.
The score is local engineering evidence, not a claim of world-class readiness. Public superiority claims still depend on accepted external and human evidence in the world-class ledger.
Weighted score formula: `sum(score / 10 * weight)`.
| Meta Skill | Method Depth 15 | Context Discipline 10 | Toolchain 15 | Eval/Test Rigor 20 | Governance 15 | Portability 10 | Onboarding/Review 5 | Local Reliability 10 | Weighted Score |
@@ -141,6 +157,20 @@ Weighted score formula: `sum(score / 10 * weight)`.
| 2 | Anthropic Skill Creator | 67.5 | Strong methodology and iteration loop, with weaker local execution reliability and governance coverage. |
| 3 | OpenAI Skill Creator | 50.5 | Best treated as a concise skill-writing method guide rather than a full engineering system. |
## Human Blind A/B Review Snapshot
On 2026-06-29, a single human reviewer compared `yao-meta-skill` with the bundled OpenAI `skill-creator` across five realistic skill-creation scenarios: support triage, revenue reconciliation, webinar repurposing, incident postmortems, and PR review follow-up. The reviewer confirmed decisions were completed before the answer key was opened.
Result: `yao-meta-skill` was selected in `5/5` cases.
Evidence:
- Review entrypoint: [reports/blind-human-review-2026-06-29/index.html](reports/blind-human-review-2026-06-29/index.html)
- Adjudication summary: [reports/blind-human-review-2026-06-29/adjudication.md](reports/blind-human-review-2026-06-29/adjudication.md)
- Recorded decisions: [reports/blind-human-review-2026-06-29/review-decisions.recorded.json](reports/blind-human-review-2026-06-29/review-decisions.recorded.json)
Boundary: this is single-reviewer blind preference evidence. It is not provider-backed independent model execution evidence, and the per-case rationale fields are still empty.
## Best-Fit Scenarios
- Choose **Yao Meta Skill** when the target is a reusable team asset with explicit boundaries, trigger evaluation, governance, packaging, portability, and local execution checks.
@@ -150,6 +180,20 @@ Weighted score formula: `sum(score / 10 * weight)`.
## Quick Start
Install the skill globally for Codex first:
```bash
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
```
To install it for every supported agent, replace `-a codex` with `-a '*'`:
```bash
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
```
After installation, restart the client. Then ask for tasks such as "create a skill from this workflow", "improve this existing skill", "evaluate this skill", or "add evals to this skill" to trigger `yao-meta-skill`.
1. Describe the workflow, prompt set, or repeated task you want to turn into a skill.
2. Start with a short, human intent dialogue so the real job, outputs, exclusions, constraints, and standards are explicit.
3. Let `quickstart` clarify intent first, then run silent benchmark scan and reference synthesis; it only surfaces explicit questions when intent is still unclear or when there is a real design conflict.
@@ -221,6 +265,22 @@ python3 scripts/yao.py evidence-consistency .
Development source: this repository is the source of truth for authoring and review.
Use Python 3.11 or newer for local development. GitHub Actions runs the test suite on Python 3.11, and the Makefile checks the active interpreter before running `make test` or `make ci-test`.
```bash
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --requirement requirements-ci.txt
make ci-test
```
If `python3` points to an older system interpreter, pass the interpreter explicitly:
```bash
make PYTHON=python3.11 ci-test
```
Disabled mirror: `~/.agents/skills.disabled/yao-meta-skill` is the local backup mirror for this source. Keeping the mirror outside `~/.agents/skills` prevents Codex from showing a duplicate `Yao Meta Skill` while this repository is also visible in the active workspace.
Sync the current source into the disabled mirror:
@@ -342,6 +402,7 @@ Full reports: [reports/eval_suite.json](reports/eval_suite.json) and [reports/fa
- portability score: `100/100` with neutral activation, execution, trust, and degradation metadata preserved across all exported targets
- description optimization suite: root, team frontend review, and governed incident command pass blind and adversarial holdout gates; governed incident command still carries one visible holdout miss, and adversarial calibration plus family drift are now tracked separately
- judge-backed blind eval: root, team frontend review, and governed incident command now pass an independent rubric judge on blind holdout prompts
- human blind A/B snapshot: a single reviewer selected `yao-meta-skill` over the bundled OpenAI `skill-creator` in `5/5` realistic skill-creation scenarios; evidence is published in [reports/blind-human-review-2026-06-29/adjudication.md](reports/blind-human-review-2026-06-29/adjudication.md)
- packaging failure fixtures: invalid metadata, invalid YAML, and unsupported targets fail as expected
- failure library regressions: anti-pattern families pass automated checks
- governance and resource-boundary checks are part of the default test path
+12 -12
View File
@@ -1,6 +1,6 @@
---
name: yao-meta-skill
description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
metadata:
author: Yao Team
---
@@ -15,28 +15,28 @@ metadata:
## Modes
- `Scaffold`: exploratory/personal. `Production`: team reuse. `Library`: shared infrastructure. `Governed`: high-trust, policy-sensitive, or release-critical.
- `Scaffold`: exploratory/personal. `Production`: team reuse. `Library`: shared infra. `Governed`: high-trust/release-critical.
- Rules: [Method](references/skill-engineering-method.md), [Operating Modes](references/operating-modes.md), [Resource Boundaries](references/resource-boundaries.md).
## Compact Workflow
1. For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.
2. Capture job, output, exclusions, constraints, standards, and the lightest fit.
3. Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.
4. Write `description` early, test route quality, then add only earned folders and gates.
5. Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful.
1. One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.
2. Capture job, output, exclusions, constraints, standards, lightest fit.
3. Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.
4. Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.
5. Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned.
Playbooks: [Method](references/skill-engineering-method.md), [Intent](references/intent-dialogue.md), [Skill IR](references/skill-ir-method.md), [Output Eval](references/output-eval-method.md), [Review Studio](references/review-studio-method.md).
## Skill OS 2.0 Gates
For production, library, governed, or team-distributed work, run Skill IR, target compiler, trigger + output eval, Skill Atlas, conformance, trust, registry/package/install, upgrade, drift, waiver, and Review Studio gates before release.
For production/library/governed/team releases, run Skill IR, compiler, trigger/output eval, Skill Atlas, conformance, trust, registry/package/install, upgrade, drift, waiver, Review Studio.
## Governed Package Boundary
For file-backed, release-critical, or governed packages, name `input_files` as `file-backed fixture` evidence; include `owner`, `review cadence`, `input_files`, `output contract`, `rollback boundary`; require `trust report` and `reports/output_quality_scorecard.md`; mark unavailable telemetry, approvals, metrics, or benchmarks as `missing evidence`; do not fabricate evidence.
For file-backed/release-critical/governed packages, name `input_files` as `file-backed fixture`; include `owner`, `review cadence`, `input_files`, `output contract`, `rollback boundary`; require `trust report` and `reports/output_quality_scorecard.md`; mark unavailable telemetry/approvals/metrics/benchmarks as `missing evidence`; do not fabricate evidence.
Preserve audit labels literally when they apply: `file-backed fixture`, `input_files`, `output contract`, `rollback boundary`, `trust report`, `reports/output_quality_scorecard.md`, `missing evidence`.
Preserve labels literally when they apply: `file-backed fixture`, `input_files`, `output contract`, `rollback boundary`, `trust report`, `reports/output_quality_scorecard.md`, `missing evidence`.
## First-Turn Style
@@ -46,8 +46,8 @@ Preserve audit labels literally when they apply: `file-backed fixture`, `input_f
## Output Contract
Unless asked otherwise, produce `SKILL.md`, aligned `agents/interface.yaml`, justified assets, and a short summary of boundary, exclusions, gates, and next steps.
Create/refactor/package: produce `SKILL.md`, aligned `agents/interface.yaml`, justified assets, boundary/exclusion/gate summary. Audit/evaluate-only: findings + proposed fixes; edit files only if asked. No-skill: no files.
## Reference Map
Primary: [Method](references/skill-engineering-method.md), [Artifact Design](references/artifact-design-doctrine.md), [Systems Thinking](references/systems-thinking-doctrine.md), [Governance](references/governance.md), [SkillOps Decision](references/skillops-decision-policy.md).
Primary: [Method](references/skill-engineering-method.md), [Artifact Design](references/artifact-design-doctrine.md), [Systems](references/systems-thinking-doctrine.md), [Governance](references/governance.md), [SkillOps](references/skillops-decision-policy.md).
+14
View File
@@ -69,6 +69,20 @@ Formule du score pondéré : `sum(score / 10 * poids)`.
## Démarrage rapide
Pour utiliser cette skill directement dans Codex, installez-la d'abord dans les skills globales :
```bash
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
```
Pour l'installer dans tous les agents pris en charge, remplacez `-a codex` par `-a '*'` :
```bash
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
```
Après l'installation, redémarrez le client. Demandez ensuite des tâches comme "create a skill from this workflow", "improve this existing skill", "evaluate this skill" ou "add evals to this skill" pour déclencher `yao-meta-skill`.
1. Décrivez le workflow, l'ensemble de prompts ou la tâche répétée que vous voulez transformer en skill.
2. Commencez par un court dialogue d'intention plus humain pour clarifier le vrai travail, les sorties attendues, les exclusions, les contraintes et les standards qui comptent pour vous.
3. Laissez d'abord `quickstart` clarifier l'intention, puis lancer silencieusement benchmark scan et reference synthesis ; des questions explicites ne remontent que si l'intention reste ambiguë ou si deux directions de conception se contredisent réellement.
+14
View File
@@ -69,6 +69,20 @@ flowchart LR
## クイックスタート
Codex でこの skill を直接使う場合は、まず global skills にインストールします。
```bash
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
```
対応しているすべての agent にインストールする場合は、`-a codex``-a '*'` に置き換えます。
```bash
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
```
インストール後にクライアントを再起動してください。その後、"create a skill from this workflow"、"improve this existing skill"、"evaluate this skill"、"add evals to this skill" のような依頼で `yao-meta-skill` を起動できます。
1. skill 化したい workflow、prompt 集合、または反復タスクを説明します。
2. まず短いが人間味のある intent dialogue で、実際の job、outputs、boundary、constraints、重視する品質基準を明確にします。
3. まず `quickstart` で意図を澄ませ、その後 benchmark scan と reference synthesis を静かに実行します。意図がまだ曖昧なとき、または設計ルートに本当の衝突があるときだけ、追加確認を明示します。
+14
View File
@@ -69,6 +69,20 @@ flowchart LR
## Быстрый старт
Чтобы использовать эту skill напрямую в Codex, сначала установите ее в global skills:
```bash
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
```
Чтобы установить ее во все поддерживаемые agents, замените `-a codex` на `-a '*'`:
```bash
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
```
После установки перезапустите клиент. Затем используйте запросы вроде "create a skill from this workflow", "improve this existing skill", "evaluate this skill" или "add evals to this skill", чтобы вызвать `yao-meta-skill`.
1. Опишите workflow, набор prompts или повторяющуюся задачу, которую хотите превратить в skill.
2. Сначала проведите короткий, но более человечный intent dialogue, чтобы уточнить реальную job-to-be-done, outputs, exclusions, constraints и те стандарты качества, которые для вас важны.
3. Сначала позвольте `quickstart` прояснить намерение, затем тихо выполнить benchmark scan и reference synthesis. Явные уточнения поднимаются только тогда, когда intent все еще неясен или между маршрутами проектирования есть реальный конфликт.
+130 -23
View File
@@ -2,7 +2,64 @@
`YAO = Yielding AI Outcomes`,中文可理解为:产出 AI 结果,交付真实成果。它强调的不是生成更多 prompt 文本,而是沉淀可复用的 AI 资产与可落地的实际结果。
`yao-meta-skill` 是一套轻量但严谨的系统,用来创建、评估、打包和治理可复用的 agent skill。
`yao-meta-skill` 用来创建、评估、打包和治理可复用的 agent skill。1.0 的重点是把重复工作流整理成可安装、可阅读、可跨平台的 skill 包;2.0 进一步升级为 Skill OS,把建模、跨端编译、输出评测、评审工作台、证据账本、包体验证、发布门禁和后续迭代串成一套完整流程。
[快速开始](#快速开始) · [Skill OS 2.0 升级](#skill-os-20-升级) · [从 1.0 到 2.0](#从-10-到-20) · [Operator UX 命令](#operator-ux-命令) · [加权质量评测](#加权质量评测) · [与其他元 Skill 的适用差异](#与其他元-skill-的适用差异)
## Skill OS 2.0 升级
Skill OS 2.0 保留 `yao-meta-skill` 原来的轻量入口,但把 skill 的生命周期说得更清楚。它不止生成 `SKILL.md`,还会围绕这个 skill 生成结构化契约、目标平台适配、评测证据、发布门禁和运营报告。
- **Skill IR(技能中间表示)**:用平台无关的结构记录意图、触发方式、输入输出、边界、参考资料和交付产物。
- **目标编译与适配器**:把同一份 skill 语义编译到 OpenAI、Claude、通用 agent skill、Agent Skills 兼容包和 VS Code 使用场景。
- **输出评测实验室**:覆盖触发评测、输出断言、执行证据、耗时与 token 证据、基准复现、盲评材料包、答案钥匙和评审裁决报告。
- **Review Studio 2.0(评审工作台)**:把意图、触发、输出评测、上下文成本、运行时检查、信任扫描、Skill Atlas、采用漂移、豁免、批注、发布证据、警告、阻塞项和修复动作放在同一个 HTML 页面。
- **证据与发布治理**:提供证据一致性、包体验证、安装模拟、运行时权限探测、世界级证据接收、证据账本、操作运行手册和公开宣传守卫。
- **SkillOps 闭环**:通过元数据级采用漂移、遥测 hook、自适应建议、日报/周报和组合级漂移信号,把发布后的反馈带回下一轮迭代。
当前发布口径:仓库已经适合进入测试版和外部试用,但更强的“世界级”公开宣传仍然受证据门禁约束。真实生产模型证据、真人盲评证据、原生权限执行和真实客户端遥测会继续作为独立证据任务推进,不会被包装成已经完成。
相关产物:
- [1.0 vs 2.0 可视化对比报告](../.previews/yao-meta-skill-2-comparison/index.html)
- [中文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2.png)
- [英文桌面预览图](../.previews/yao-meta-skill-2-comparison/yao-meta-skill-1-vs-2-en.png)
## 从 1.0 到 2.0
| 维度 | 1.0 重点 | 2.0 升级 |
| --- | --- | --- |
| 产品定位 | 创建、重构、评估和打包可复用 skill。 | 治理 skill 的完整生命周期:创建、编译、评测、评审、发布、遥测和迭代。 |
| 架构模型 | 以 `SKILL.md``agents/interface.yaml`、manifest 和报告文件为主。 | 引入 Skill IR、目标编译器、适配器、门禁契约、证据账本、发布锁和行动型评审页面。 |
| 跨端交付 | 主要覆盖 OpenAI、Claude 和通用包体。 | 扩展到 Agent Skills 兼容包和 VS Code 使用场景,并把兼容结果写入 registry 可读记录。 |
| 质量模型 | 触发、结构和报告式评审。 | 输出评测、基准复现、执行证据、失败披露、盲评材料包和证据一致性检查。 |
| 报告体验 | 概览 HTML 和首次评审页面。 | 双语 Skill Overview v2、Review Studio 2.0、评审批注、行动卡片、图表和审计型报告契约。 |
| 发布边界 | 能生成包体并做基础校验。 | 包体验证、安装模拟、运行时权限探测、发布锁、公开宣传守卫和操作运行手册。 |
| 运营闭环 | 更多依赖手动反馈和本地迭代。 | 采用漂移、元数据遥测、SkillOps 报告、自适应建议和组合级漂移检测。 |
## 2.0 使用场景
- **从重复工作创建新 skill**:从 workflow 笔记、prompt 集合、转录、runbook 或文档模式出发,生成精简入口、明确输入输出、参考资料、报告和最轻量的必要门禁。
- **把个人 skill 升级成团队资产**:补齐接口契约、manifest、目标适配器、信任检查、输出评测、评审豁免、发布说明和 Review Studio 证据,再交给多人复用。
- **准备测试版发布**:运行包体验证、安装模拟、兼容检查、运行时权限探测和证据一致性检查,把测试版就绪和更强公开声明分开处理。
- **发布后继续迭代**:用元数据级遥测、采用漂移、feedback log、SkillOps 报告和自适应建议判断下一步是补文档、补 eval、改 skill,还是调整治理规则。
- **与其他元 skill 搭配使用**:保留 Anthropic/OpenAI 式对话创建和精简写作方法的优势,在需要证据、可移植性、发布门禁和长期维护时用 `yao-meta-skill` 加固。
## Operator UX 命令
这组只读辅助命令把维护者最常见的判断变成可复验诊断:
```bash
python3 scripts/yao.py install-status --expected-source .
python3 scripts/yao.py localized-doc-sync-check
python3 scripts/yao.py pr-review-report 4 --repo yaojingang/yao-meta-skill
```
- `install-status` 会说明当前 skill 是从 `.codex/skills``.agents/skills` 还是 disabled mirror(禁用镜像)被发现,并提示是否存在重复激活。
- `localized-doc-sync-check` 会检查中文 README 是否同步包含英文 README 首页新增的公开说明模块。
- `pr-review-report` 会只读获取 GitHub PR 元数据、变更文件、状态检查和建议本地命令,不会合并或修改 PR。
## 能力面
它把粗糙的 workflow、transcript、prompt、notes 和 runbook 转成可复用的 skill 包,并具备:
@@ -12,40 +69,60 @@
- 深度起草前先做一轮更有人味的意图对话,并通过 intent confidence gate 判断理解是否足够清楚;如果不够清楚,会继续补 1 到 2 个高杠杆问题
- 深度起草前会静默执行 GitHub benchmark scan 和 reference synthesis,优先学习高质量公开项目与世界级模式;只有遇到真实冲突或不确定性时才显式抬给用户
- 会主动询问用户是否有希望借鉴的参考对象,只学习其中的模式抽象、结构和标准,不复制原文或私密内容
- 新建 skill 时自动生成一份极简白底 HTML 可视化说明
- 新建 skill 时自动生成一份默认中文、可切换英文的 HTML 可视化说明报告
- 提供 Review Studio 2.0,把意图、触发、输出评测、上下文、运行时、信任、采用漂移、豁免、批注、发布证据和修复动作汇总到一个页面
- 提供 Skill OS 2.0 审计,把世界级要求拆成本地证据、人类证据缺口和外部证据缺口
- 提供证据计划、证据账本、证据接收契约、提交审查队列、操作运行手册和公开宣传守卫,避免把计划中的工作写成已经完成
- 提供基准复现 manifest、证据一致性检查、输出评测实验室、盲评包和评审裁决报告
- 提供运行时权限探测、Python 兼容性门禁、包体验证和安装模拟
- 提供 prompt quality profile,把需求模型、RTF 映射、复杂度和提示词质量检查沉淀成 reviewer 可见证据,而不是塞进 `SKILL.md`
- 提供 artifact design profile,约束报告、教程、仪表盘、截图和评审页的视觉与质量标准
- 提供系统思考模型,记录边界、反馈环、漂移风险、复发失败模式和高杠杆改进点
- 首次建包后会自动给出 3 个最有价值的下一步迭代方向
- 提供一个紧凑的 HTML review viewer,方便第一次人工理解和评审
- 提供一个轻量 feedback log,不必每次都走完整 promotion 流程
- 提供本地优先、只记录元数据的 adoption drift 报告、CLI 运行捕获、外部客户端事件 hook、hook recipe 和 JSONL 导入
- 提供显式来源的 adaptive proposal loop,从脱敏重复偏好里生成需要人工批准的改进建议
- 提供 SkillOps 机会评分、决策策略、日报、周报和组合级漂移信号
- 提供一个 with-skill vs baseline 的对比报告,便于快速看增量收益
- 提供一个更像对话发现流程的 archetype-aware quickstart,引导新 skill 落到 scaffold、production、library 或 governed 的合适形态
- 中性的源元数据以及面向不同客户端适配层
- Skill IR 作为平台无关语义契约,并提供编译报告和客户端适配层
- registry audit 元数据,包含 package version、owner、license、checksum 和 compatibility matrix
- 内建的治理、晋升和 portability 检查
## 架构图
Hero 版可以压缩成一条主线:把零散输入变成一个可治理、可复用的 skill 包。
Hero 版可以压缩成一条主线:Skill OS 2.0 把零散输入变成一个可治理、可评测、可发布、可持续迭代的 skill 包。
```mermaid
flowchart LR
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["路由<br/>SKILL.md"]
B --> C["设计<br/>方法 + 质量门"]
C --> D["执行<br/>create / validate / eval / promote"]
D --> E["产出<br/>skill 包 + 报告 + 适配层"]
A["输入<br/>workflow / prompt / transcript / docs / notes"] --> B["意图建模<br/>任务 / 输出 / 排除项 / 标准"]
B --> C["Skill IR<br/>触发 / 契约 / 资源 / 证据"]
C --> D["Skill 包<br/>SKILL.md / references / scripts / reports"]
C --> E["目标编译<br/>OpenAI / Claude / generic / Agent Skills / VS Code"]
D --> F["评测实验<br/>触发 / 输出 / 基准 / 运行时"]
E --> F
F --> G["Review Studio<br/>门禁 / 警告 / 动作 / 豁免"]
G --> H["发布边界<br/>包体验证 / 安装模拟 / 宣传守卫"]
H --> I["SkillOps 闭环<br/>反馈 / 采用漂移 / 下一轮迭代"]
I --> B
```
10 秒理解这张图:
- **输入**:从零散 workflow、prompt、文档和笔记出发。
- **路由**:先用精简的 `SKILL.md` 定义边界和触发
- **设计**:选择合适的 archetype、gates 和资源拆分方式
- **执行**:通过统一 CLI 完成创建、校验、优化和晋升
- **产出**:最终得到 skill 包,以及评测、治理和 portability 证据。
- **输入**:从零散 workflow、prompt、文档和笔记出发,不要求一开始就有完整规格
- **意图建模**:先把任务、输出物、排除项、约束和质量标准说清楚,再生成文件
- **Skill IR**:把语义契约和具体平台格式拆开,避免被某一个客户端锁死
- **打包与编译**:从同一份源模型生成精简 skill 包和目标平台适配产物
- **评测与评审**:把触发行为、输出质量、运行时检查和信任信号变成可复查证据。
- **发布与运营**:只在当前证据边界内发布,再把采用漂移和评审反馈带回下一轮迭代。
## 加权质量评测
下面是当前项目采用的工程质量评测模型。每个维度按 `0-10` 评分,再按权重折算到 `100` 分。GitHub stars 不计入总分,因为它反映生态热度,不直接代表元 skill 工程质量。
这个分数是本地工程证据,不等同于 world-class ready。公开宣称“已证明优于其他方案”仍要以 world-class ledger 中已接受的外部证据和人工证据为准。
加权总分公式:`sum(单项评分 / 10 * 权重)`
| 元 Skill | 方法论深度 15 | 上下文纪律 10 | 工具链 15 | Eval/测试 20 | 治理 15 | 可移植 10 | 上手/评审 5 | 本地可靠性 10 | 加权总分 |
@@ -60,7 +137,21 @@ flowchart LR
| 2 | Anthropic Skill Creator | 67.5 | 方法论和迭代闭环强,但本地执行可靠性和治理覆盖较弱。 |
| 3 | OpenAI Skill Creator | 50.5 | 更适合作为精简 skill 写作方法论教材,而不是完整工程系统。 |
## 适用场景
## 人工盲测快照
2026-06-29,一位人工评审者在 5 个真实常见的 skill 创建场景里,对比了 `yao-meta-skill` 和内置的 OpenAI `skill-creator`。5 个场景分别是客服工单分诊、月度收入对账、Webinar 内容复用、故障复盘和 PR Review 跟进。评审者确认:所有选择都在揭晓来源前完成。
结果:`yao-meta-skill``5/5` 个案例中胜出。
证据:
- 盲测入口:[reports/blind-human-review-2026-06-29/index.html](../reports/blind-human-review-2026-06-29/index.html)
- Adjudication 摘要:[reports/blind-human-review-2026-06-29/adjudication.md](../reports/blind-human-review-2026-06-29/adjudication.md)
- 已记录判断:[reports/blind-human-review-2026-06-29/review-decisions.recorded.json](../reports/blind-human-review-2026-06-29/review-decisions.recorded.json)
边界:这是单人盲测偏好证据,不是 provider-backed 的独立模型执行证据;每个案例的逐项理由仍为空。
## 与其他元 Skill 的适用差异
- 如果你要的是**团队复用、显式边界、质量门、治理、可移植性和长期维护**,更适合 `Yao Meta Skill`
- 如果你要的是**对话优先的创作循环和人工引导式迭代**,更适合 `Anthropic Skill Creator`
@@ -69,34 +160,50 @@ flowchart LR
## 快速开始
如果你想直接在 Codex 里使用这个 skill,先安装到全局 skills
```bash
npx -y skills add yaojingang/yao-meta-skill -a codex -g -y
```
如果要安装到全部支持的 agent,把 `-a codex` 换成 `-a '*'`
```bash
npx -y skills add yaojingang/yao-meta-skill -a '*' -g -y
```
安装完成后重启客户端,再用“创建 skill”“改进已有 skill”“评估 skill”“给 skill 增加 eval”这类任务触发 `yao-meta-skill`
1. 先描述你想沉淀成 skill 的 workflow、prompt 集合或重复任务。
2. 先做一轮简短但更有人味的意图对话,把真实任务、输出物、边界、约束和你在意的质量标准说清楚。
3. 先让 `quickstart` 澄清意图,再静默跑 benchmark scan 和 reference synthesis;只有当意图还不清楚,或者设计路线真的冲突时,才会显式继续追问或让你拍板。
4. 使用 archetype-aware 的 `quickstart` 或完整作者流,在 scaffold、production、library 或 governed 模式下生成或改进 skill 包。
5. 新建 skill 后,会默认附带 `reports/intent-dialogue.md``reports/intent-confidence.md``reports/reference-synthesis.md``reports/artifact-design-profile.md``reports/prompt-quality-profile.md``reports/skill-overview.html``reports/review-viewer.html``reports/iteration-directions.md`;后续还可以通过 feedback log 和 baseline compare 快速收集意见、查看增量收益,而不必每次都走完整 promotion 流程
5. 新建 skill 后,先看 `reports/skill-interpretation.html` 理解双语解释报告,再打开 `reports/skill-overview.html` 查看概述、指标、原理、边界、质量、风险、资产和路线,最后用 `reports/review-studio.html` 检查发布阻塞、权限批准和证据路径
## 当前结果
- 当前 `make test` 可通过
- 当前 `make test` 和 GitHub Actions `test` 可通过
- 当前回归集下 trigger eval 为 `0` 误触发、`0` 漏触发
- train / dev / holdout 三层评测均通过
- 中文真实表达已经纳入触发评测,覆盖“做一个 skill”“沉淀成可复用能力”“优化已有 skill”“补 trigger 评测”等常见说法
- `openai``claude``generic` 三个目标的 packaging contract 校验通过
- registry 记录的目标平台从 OpenAI、Claude、Generic 扩展到 Agent Skills 和 VS Code 相关适配
- Review Studio 当前汇总 16 个门禁,包体验证、安装模拟、证据一致性和发布声明边界已经进入报告链路
- 单人盲测快照中,评审者在揭晓来源前完成判断,并在 `5/5` 个真实 skill 创建场景中选择 `yao-meta-skill`;证据见 [reports/blind-human-review-2026-06-29/adjudication.md](../reports/blind-human-review-2026-06-29/adjudication.md)
## 当前优势
最新加权评测中,Yao 的总分是 `91.5/100`最强的部分集中在团队级 skill 资产真正需要的能力上:
最新加权评测中,Yao 的总分是 `91.5/100`2.0 的强项集中在团队级 skill 资产真正需要的能力上:
- **方法论深度 `9.5`**:已经形成正式的 skill engineering doctrine,覆盖 archetype、gate selection、non-skill decision、governance 和 resource boundary。
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history 和 promotion gate。
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decisionregression history。
- **工具链完整度 `9.5`**:初始化、校验、benchmark scan、description optimization、Skill IR、目标编译、报告、晋升检查、打包、CI 和 portability checks 已经串成一条完整工具链。
- **Eval / 测试严谨度 `9.5`**:触发评测覆盖 train/dev/holdout、blind holdout、adversarial holdout、judge-backed blind eval、route confusion、drift history、output eval 和 promotion gate。
- **治理 / 生命周期 `9.5`**:重要 skill 可以声明 owner、生命周期、review cadence、maturity score、trust boundary、promotion decisionregression history、release lock 和 evidence ledger
- **本地可执行可靠性 `9.5`**:可以通过 `make test``make ci-test` 和统一 CLI 在本地复验。
- **可移植 / 分发能力 `9.0`**:源码保持中性,adapter、degradation rule、packaging contract 和 portability score 负责保留跨环境可复用语义。
- **上下文纪律 / 精简度 `8.0`**:入口仍保持在预算内,但因为系统承载了更多报告、案例、benchmark 和证据资产,这一项被持续作为约束跟踪。
- **上手 / 评审体验 `6.5`**quickstart、HTML overview、side-by-side review viewer 和 feedback log 已经改善首次体验,但仍是下一阶段最值得优化的 UX 维度。
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化,同时继续降低首次创建和人工评审的摩擦
整体方向很明确:入口尽量轻,评测尽量硬,治理显性化;测试版可以开放试用,但公开宣传会继续受证据账本约束
## 为什么是 Yao
@@ -107,7 +214,7 @@ flowchart LR
## 它能做什么
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包的长期能力包。
这个项目帮助你把 skill 从一次性 prompt,升级成可创建、可重构、可评估、可打包、可审计、可发布、可持续迭代的长期能力包。
它的设计逻辑很简单:
+1 -1
View File
@@ -1 +1 @@
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. Also trigger on common Chinese asks such as 做一个 skill, 把流程沉淀成可复用能力, 封装成团队可复用的 skill, 优化已有 skill, 补 trigger 评测, or 收紧触发边界.
Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
+88 -1
View File
@@ -18,12 +18,19 @@
"turn a repeated process into a reusable skill",
"improve an existing skill",
"add evals",
"add tests",
"package a skill for team reuse",
"migrate an existing skill",
"prepare packaging, installation, or release",
"govern a reusable skill",
"做一个 skill",
"把流程沉淀成可复用 skill",
"优化现有 skill",
"补 trigger 评测",
"封装成团队可复用 skill"
"封装成团队可复用 skill",
"迁移 skill",
"发布 skill",
"打包发布检查"
],
"exclusions": [
"summary-only requests",
@@ -75,16 +82,29 @@
"formalize this process into a reusable capability",
"turn this playbook into an agent capability package",
"convert this into a maintained skill",
"agent capability",
"reusable agent capability",
"skill library entry",
"skill authoring",
"做一个 skill",
"创建一个 skill",
"新建一个 skill",
"帮我做个 skill",
"改一个 skill",
"重构一个 skill",
"迁移一个 skill",
"发布一个 skill",
"这个 skill",
"已有 skill",
"现有 skill",
"做成一个 skill",
"封装成一个 skill",
"沉淀成一个 skill",
"整理成一个 skill",
"抽成一个 skill",
"可复用 skill",
"可执行 skill",
"团队 skill",
"agent 能力包",
"能力包",
"skill 包"
@@ -103,19 +123,27 @@
"existing skill draft",
"rough notes",
"standard operating procedure",
"operating procedure",
"sop",
"playbook",
"transcript",
"chat transcript",
"meeting notes",
"workflow fragments",
"release notes",
"onboarding flow",
"support escalation routine",
"quarterly release routine",
"scripts",
"repeated team practice",
"流程",
"工作流",
"操作流程",
"做事流程",
"作业流程",
"方法",
"经验",
"复盘",
"sop 文档",
"会议纪要",
"对话记录",
@@ -142,14 +170,32 @@
"ops library",
"maintained",
"operationalize",
"release-ready",
"publish",
"release",
"installation",
"installable",
"portability",
"registry",
"governance",
"review gate",
"可复用",
"复用",
"封装",
"打包",
"沉淀",
"标准化",
"标准化下来",
"团队复用",
"给团队用",
"团队可用",
"安装复用",
"可安装",
"发布",
"上架",
"交付",
"治理",
"注册表",
"方法包",
"团队能力包",
"沉淀下来",
@@ -171,16 +217,32 @@
"false negatives",
"stress test",
"route boundary",
"routing",
"route evals",
"trigger routing",
"activation",
"description optimization",
"tests",
"install checks",
"release checks",
"hardening",
"评测",
"补评测",
"补 eval",
"补测试",
"触发测试",
"触发词",
"触发范围",
"召回",
"收紧触发边界",
"路由边界",
"路由评测",
"激活",
"误触发",
"漏触发",
"质量门",
"安装验证",
"发布检查",
"打包检查",
"边界测试"
]
@@ -198,11 +260,32 @@
"before sharing it with the team",
"tighten the boundary",
"revise this skill",
"refactor this skill",
"migrate this skill",
"port this skill",
"convert this skill",
"release this skill",
"publish this skill",
"make this skill release-ready",
"codex-ready package",
"claude skill",
"codex format",
"interface metadata",
"manifest",
"install checks",
"draft skill",
"harden this skill for library reuse",
"优化这个 skill",
"改进这个 skill",
"重构这个 skill",
"扩大这个 skill",
"调整这个 skill",
"优化触发范围",
"扩大触发范围",
"迁移这个 skill",
"发布这个 skill",
"把这个 skill 迁移",
"让这个 skill 可发布",
"补一下评测",
"补 trigger 测试",
"加强路由判断",
@@ -351,12 +434,16 @@
"do not convert it into a reusable capability",
"keep it as documentation only",
"discussion only",
"no agent execution",
"先不要做成 skill",
"先不做 skill",
"不要做成 skill",
"不用封装",
"不要打包",
"不要沉淀成能力",
"先别做成可复用能力",
"不需要 agent 执行",
"不做 agent 能力",
"只做文档",
"只做说明"
]
+52
View File
@@ -54,6 +54,18 @@
"text": "Add trigger evals to this skill before sharing it with the team.",
"family": "iterate_existing_skill"
},
{
"text": "Migrate this Claude skill into a Codex-ready package with interface metadata and install checks.",
"family": "migrate_existing_skill"
},
{
"text": "Make this existing skill release-ready: add manifest/interface metadata, packaging checks, and trigger evals.",
"family": "release_packaging"
},
{
"text": "Optimize the activation wording for this skill so broader skill-authoring requests are routed correctly.",
"family": "trigger_expansion"
},
{
"text": "We have a messy release runbook, export process, and a prompt history; turn all of that into one reusable skill package with evals and packaging checks.",
"family": "complex_multi_asset"
@@ -133,6 +145,18 @@
{
"text": "把这个客服升级流程标准化成一个可执行的 skill,并加上边界测试。",
"family": "cn_eval_and_package"
},
{
"text": "把这个 Claude skill 迁移成 Codex 可用的 skill 包,补 interface、manifest 和安装验证。",
"family": "cn_migrate_existing_skill"
},
{
"text": "把这套提示词和脚本整理成团队能安装复用的 skill,并做打包发布检查。",
"family": "cn_release_packaging"
},
{
"text": "扩大这个 skill 的触发范围,同时补路由评测,避免漏触发。",
"family": "cn_trigger_expansion"
}
],
"should_not_trigger": [
@@ -239,6 +263,22 @@
{
"text": "先一起头脑风暴几个方向,不要封装成 skill。",
"family": "cn_brainstorm_only"
},
{
"text": "Polish this release note for publishing, but do not do any skill work.",
"family": "document_only"
},
{
"text": "Migrate this wiki article into a new docs folder; do not create an agent skill.",
"family": "document_only"
},
{
"text": "把这篇 SOP 改成知识库文档,不需要 agent 执行。",
"family": "cn_document_only"
},
{
"text": "检查安装步骤是否清楚,只做 README,不做 skill 包。",
"family": "cn_document_only"
}
],
"near_neighbor": [
@@ -333,6 +373,18 @@
{
"text": "这次只给我一个一次性 prompt,不用复用成 skill。",
"family": "cn_one_off_vs_reusable"
},
{
"text": "Create a reusable onboarding template for humans, not an agent skill.",
"family": "document_export_vs_agent_skill"
},
{
"text": "Draft a release checklist for a future skill, but do not package or evaluate the skill yet.",
"family": "future_outline_vs_build"
},
{
"text": "整理成团队发布流程文档即可,不要做成 skill,也不要做触发评测。",
"family": "cn_document_export_vs_agent_skill"
}
]
}
+1 -1
View File
@@ -16,7 +16,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
}
]
}
+4 -4
View File
@@ -2,7 +2,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"targets": [
"openai",
"claude",
@@ -16,8 +16,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -48,7 +48,7 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17T08:58:54Z",
"generated_at": "2026-07-02T06:33:07Z",
"skill_dir": ".",
"source_patterns": "reports/user_patterns.json",
"pattern_count": 5,
+1 -1
View File
@@ -1,6 +1,6 @@
# Adaptation Proposals
- Generated at: `2026-06-17T08:58:54Z`
- Generated at: `2026-07-02T06:33:07Z`
- Pattern report: `reports/user_patterns.json`
- Proposal only: `true`
- Writes repository files: `false`
+14 -14
View File
@@ -1,7 +1,7 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-17T08:58:53Z",
"generated_at": "2026-07-02T06:33:44Z",
"skill_dir": ".",
"privacy_contract": {
"storage": "local-first",
@@ -25,14 +25,14 @@
},
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -41,7 +41,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -53,31 +53,31 @@
{
"skill": "yao-meta-skill",
"events": 1,
"adoption_events": 0,
"accepted": 0,
"adoption_events": 1,
"accepted": 1,
"edited": 0,
"rejected": 0,
"missed": 0,
"adoption_rate": 0
"adoption_rate": 100.0
}
],
"next_iteration_candidates": [],
"recent_events": [
{
"command": "unknown",
"event": "review_event",
"event": "skill_activation",
"skill": "yao-meta-skill",
"source": "manual",
"version": "1.1.0",
"activation_type": "manual",
"outcome": "reviewed",
"activation_type": "explicit",
"outcome": "accepted",
"failure_type": "none",
"timestamp": "2026-06-13T12:00:00Z"
"timestamp": "2026-06-13T10:00:00Z"
}
],
"failures": [],
"artifacts": {
"events_jsonl": "reports/telemetry_events.jsonl",
"events_jsonl": "tests/tmp_review_studio/telemetry_events.jsonl",
"json": "reports/adoption_drift_report.json",
"markdown": "reports/adoption_drift_report.md"
}
+5 -5
View File
@@ -5,9 +5,9 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
## Summary
- Events: `1`
- Adoption samples: `0`
- Activation events: `0`
- Adoption rate: `0`
- Adoption samples: `1`
- Activation events: `1`
- Adoption rate: `100.0`
- Missed trigger signals: `0`
- Bad output signals: `0`
- Script error signals: `0`
@@ -25,7 +25,7 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
| Skill | Events | Adoption Samples | Accepted | Edited | Rejected | Missed | Adoption Rate |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| `yao-meta-skill` | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| `yao-meta-skill` | 1 | 1 | 1 | 0 | 0 | 0 | 100.0 |
## Next Iteration Candidates
@@ -33,4 +33,4 @@ Local-first, metadata-only telemetry for skill operations. Raw prompts, outputs,
## Recent Metadata Events
- `2026-06-13T12:00:00Z` `yao-meta-skill` event=`review_event` source=`manual` command=`unknown` activation=`manual` outcome=`reviewed` failure=`none`
- `2026-06-13T10:00:00Z` `yao-meta-skill` event=`skill_activation` source=`manual` command=`unknown` activation=`explicit` outcome=`accepted` failure=`none`
+7 -7
View File
@@ -1,17 +1,17 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"skill_dir": ".",
"summary": {
"python_file_count": 229,
"script_file_count": 153,
"test_file_count": 76,
"internal_module_count": 69,
"python_file_count": 232,
"script_file_count": 155,
"test_file_count": 77,
"internal_module_count": 71,
"cli_script_count": 86,
"command_handler_count": 68,
"command_handler_count": 71,
"entrypoint_command_handler_count": 18,
"command_module_count": 6,
"command_module_count": 7,
"warn_line_threshold": 900,
"watch_line_threshold": 720,
"early_watch_line_threshold": 600,
+7 -7
View File
@@ -1,18 +1,18 @@
# Architecture Maintainability
Generated at: `2026-06-17`
Generated at: `2026-06-13`
## Summary
- decision: `pass`
- python files: `229`
- scripts: `153`
- tests: `76`
- internal modules: `69`
- python files: `232`
- scripts: `155`
- tests: `77`
- internal modules: `71`
- CLI scripts: `86`
- Yao CLI command handlers: `68`
- Yao CLI command handlers: `71`
- entrypoint command handlers: `18`
- command modules: `6`
- command modules: `7`
- largest file lines: `719`
- early watch threshold lines: `600`
- early watchlist: `6`
+1 -1
View File
@@ -1,5 +1,5 @@
{
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-trigger-coverage-merge",
"design_system": "metric editorial",
"primary_artifact": {
"key": "dashboard",
+1 -1
View File
@@ -1,6 +1,6 @@
# Artifact Design Profile
Skill: `yao-meta-skill`
Skill: `yao-meta-skill-trigger-coverage-merge`
Design system: `metric editorial`
## Primary Artifact Direction
+2 -2
View File
@@ -20,7 +20,7 @@
"adversarial_errors": 0
},
"current": {
"tokens": 53,
"tokens": 54,
"dev_errors": 0,
"holdout_errors": 0,
"blind_errors": 0,
@@ -28,7 +28,7 @@
"adversarial_errors": 0
},
"winner": {
"tokens": 53,
"tokens": 54,
"dev_errors": 0,
"holdout_errors": 0,
"blind_errors": 0,
+68 -63
View File
@@ -1,45 +1,47 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-07-02",
"skill_dir": ".",
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"git_status": {
"available": true,
"dirty": true,
"changed_file_count": 29,
"changed_file_count": 37,
"generated_dirty": true,
"generated_changed_file_count": 29,
"source_dirty": false,
"source_changed_file_count": 0,
"generated_changed_file_count": 36,
"source_dirty": true,
"source_changed_file_count": 1,
"sample": [
" M SKILL.md",
" M registry/index.json",
" M registry/packages/yao-meta-skill.json",
" M reports/adaptation_proposals.json",
" M reports/adaptation_proposals.md",
" M reports/adoption_drift_report.json",
" M reports/architecture_maintainability.json",
" M reports/architecture_maintainability.md",
" M reports/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/compiled_targets.json",
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
],
"source_sample": [],
"source_sample": [
" M SKILL.md"
],
"generated_sample": [
" M registry/index.json",
" M registry/packages/yao-meta-skill.json",
" M reports/adaptation_proposals.json",
" M reports/adaptation_proposals.md",
" M reports/adoption_drift_report.json",
" M reports/architecture_maintainability.json",
" M reports/architecture_maintainability.md",
" M reports/benchmark_reproducibility.json",
" M reports/benchmark_reproducibility.md",
" M reports/compiled_targets.json",
" M reports/context_budget.json",
" M reports/context_budget.md",
" M reports/context_budget_summary.json"
" M reports/context_budget_summary.json",
" M reports/evidence_consistency.json"
],
"generated_dirty_prefixes": [
"dist/",
@@ -53,13 +55,13 @@
},
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158",
"source_contract_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -74,24 +76,26 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"public_claim_blocker_count": 4,
"working_tree_dirty": true,
"changed_file_count": 29,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"changed_file_count": 37,
"source_tree_dirty": true,
"source_changed_file_count": 1,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 36
},
"beta_test_release": {
"ready": true,
"ready": false,
"scope": "beta/public test release without superiority, fully-reviewed, or world-class claims",
"blockers": [],
"blockers": [
"release lock is not clean or commit is unavailable"
],
"allowed_deferred_evidence": [
{
"key": "provider-holdout",
@@ -121,19 +125,20 @@
"ready": false,
"scope": "public benchmark or world-class readiness claim",
"blockers": [
"release lock is not clean or commit is unavailable",
"human blind-review adjudication is incomplete",
"world-class evidence is not accepted yet (3 open gaps, 4 ledger pending)",
"world-class source checks are not all accepted (11/19 pass, 8 blocked)"
"world-class source checks are not all accepted (12/19 pass, 7 blocked)"
],
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks."
},
"release_lock": {
"ready": true,
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"ready": false,
"commit": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"status_scope": "generation-time status before this report is written",
"source_changed_file_count": 0,
"generated_changed_file_count": 29,
"reason": "only generated evidence artifacts were dirty at generation time"
"source_changed_file_count": 1,
"generated_changed_file_count": 36,
"reason": "source files were dirty at generation time"
},
"evidence_bundle": {
"algorithm": "sha256(path,label,exists,artifact_sha256)",
@@ -141,7 +146,7 @@
"existing_count": 25,
"missing_count": 0,
"missing_paths": [],
"sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0"
"sha256": "6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158"
},
"methodology": {
"path": "reports/benchmark_methodology.md",
@@ -235,8 +240,8 @@
"label": "trigger_scorecard",
"path": "reports/route_scorecard.json",
"exists": true,
"bytes": 16950,
"sha256": "a649547a7d3d5fe02262ca1b188ed4022d8f557770be425f7b7cf762aa76533a"
"bytes": 17042,
"sha256": "53fc22d220dc11453c1e66a17ec2d935e069f9bc936952fe4a53afdb4c71b2cc"
},
{
"label": "runtime_conformance",
@@ -249,106 +254,106 @@
"label": "trust_report",
"path": "reports/security_trust_report.json",
"exists": true,
"bytes": 137787,
"sha256": "bbff1f1bee0ce6f7014efcd4622ba11c70aacfc81f2e69e225411df7004dd616"
"bytes": 139090,
"sha256": "108aee597a1f245f73d9b69454b6fa8a144545f905231a7c314364c7066541c6"
},
{
"label": "python_compatibility",
"path": "reports/python_compatibility.json",
"exists": true,
"bytes": 30127,
"sha256": "d31dc03c74f17242f4163b8cb3f23120fe3d0712edd08fa183cb94f8120d491c"
"bytes": 30497,
"sha256": "4d82942052a2ca87db7acea451096332d4b8bf6420a29fa9f5596e83464d21ea"
},
{
"label": "registry_audit",
"path": "reports/registry_audit.json",
"exists": true,
"bytes": 3137,
"sha256": "1feb80c7cdc833a655cc0e44150f39f9f6d0633465abaa1ae29ebe7cb0649065"
"bytes": 3155,
"sha256": "d307675d5c6c3cd2f104ce7d963b37d36113f35334e4c6895b55fbb8b255e915"
},
{
"label": "package_verification",
"path": "reports/package_verification.json",
"exists": true,
"bytes": 19338,
"sha256": "7aa6c25e8154d246ace49f7ab9159fa85f96d1d4ebb7e2bb03c7b223260a908b"
"bytes": 19525,
"sha256": "e2ad726ce0486be0f57d88e518ef4d265479a04756419c6f8df50cf7d05b1f14"
},
{
"label": "install_simulation",
"path": "reports/install_simulation.json",
"exists": true,
"bytes": 8758,
"sha256": "c1f1122264b868c4998482c580ef94333575c6ff7c5c9c297188b225f69a131d"
"bytes": 8947,
"sha256": "65adf51d8c4b1d5ea49edde09004f7e4bfc06127e640baf2de23af695fbe0728"
},
{
"label": "skill_os2_audit",
"path": "reports/skill_os2_audit.json",
"exists": true,
"bytes": 13824,
"sha256": "6362e79a8cfd3ff54b1a7ca32f37de8ed1cda500b953fdf1074928c6d2d62379"
"sha256": "150c0027deaa3c2dd44db5380e9a9b16f123e8a8e3ff6142c711b2b0c432f81c"
},
{
"label": "world_class_evidence_plan",
"path": "reports/world_class_evidence_plan.json",
"exists": true,
"bytes": 23314,
"sha256": "8eb5e1fbaa7580f107fd9920d13a13b239edb72d50b6959fc8f6dd43150f07d7"
"sha256": "483ed2b3bd020fa2c5a888300c0d0c1a265eebaf648076581f082f2d527d3669"
},
{
"label": "world_class_evidence_ledger",
"path": "reports/world_class_evidence_ledger.json",
"exists": true,
"bytes": 26277,
"sha256": "6038b6cd6e0667f25cfd69a5e40afa314d9efc3a93753a2a3a0509ae9b516a15"
"bytes": 26274,
"sha256": "b19e7113ec463dbb1cfb87c45d3c51624151aeea1747c8d9c286b6967a385c6a"
},
{
"label": "world_class_evidence_intake",
"path": "reports/world_class_evidence_intake.json",
"exists": true,
"bytes": 20922,
"sha256": "aa262da0ecee7232974ce061a51c8966c310de0b0be9f91eb82bb28bf1c7c0a8"
"sha256": "885bff9c1c8546c606f583a982a2283229438dbdcd44f3c7e55aff71f858f8f4"
},
{
"label": "world_class_evidence_preflight",
"path": "reports/world_class_evidence_preflight.json",
"exists": true,
"bytes": 94341,
"sha256": "95cb56581224aab06be84d0b338d6ba9aa4aef0b1ebd480801f1e2226b873b0d"
"bytes": 90854,
"sha256": "06e93b1c0c99107002466d9418a4910c82397bce26c3bbdd5b5cc9875eeb65b2"
},
{
"label": "world_class_submission_review",
"path": "reports/world_class_submission_review.json",
"exists": true,
"bytes": 17295,
"sha256": "12fbb84926294c4bd05af526fcbe0983db26e449d2c305006094baf27332a0ba"
"bytes": 17292,
"sha256": "e8df5c72ade7ad0704b6ee5dd6aedefea98f79a9a370cd4d80655401862e87f4"
},
{
"label": "world_class_operator_runbook",
"path": "reports/world_class_operator_runbook.json",
"exists": true,
"bytes": 87257,
"sha256": "f321dc118ee931a1e1510559e5e64774168a58b0446ae62d232009eb42e3b384"
"bytes": 83712,
"sha256": "bb67813244d64f8e5e416620bb9d7856d95d85a1ec7f9581b2a97b9fed47e02e"
},
{
"label": "world_class_operator_runbook_markdown",
"path": "reports/world_class_operator_runbook.md",
"exists": true,
"bytes": 25549,
"sha256": "858ee11bbacb143f648e9c00735bc248a0b9f3c9303dc9e0ad5c0a65d9d6e07f"
"bytes": 25504,
"sha256": "e8d4dee7541323f0e6fa6be4903e7c482b1d00ef1db5594f0c44212088b53d85"
},
{
"label": "world_class_operator_runbook_html",
"path": "reports/world_class_operator_runbook.html",
"exists": true,
"bytes": 34702,
"sha256": "31b24658c59ee1dee25aec378e72033b042af88dfdf40c325d361d0c9bec2ca7"
"bytes": 34651,
"sha256": "022594013b2469a0e5776e3f5f6a99fa069917c5ba5cb90256b7841b1f5fd1e3"
},
{
"label": "world_class_claim_guard",
"path": "reports/world_class_claim_guard.json",
"exists": true,
"bytes": 18596,
"sha256": "abe7f7d60c0025e140373fadaefbed4063f285c140c74b9c7cfb464e354bb526"
"bytes": 20713,
"sha256": "911ba833055ab857250f88d88ccdd0bb652076a81214f725c49d763352035572"
}
],
"missing_artifacts": [],
+37 -36
View File
@@ -1,49 +1,49 @@
# Benchmark Reproducibility
Generated at: `2026-06-17`
Commit: `e79050ed12d057811d7d13ab7d8bcc5a06af76d4`
Generated at: `2026-07-02`
Commit: `24bea607a2b16e766bc8f2bc8483f22fae1edc61`
Working tree dirty at generation: `true`
Source tree dirty at generation: `false`
Source tree dirty at generation: `true`
Generated evidence dirty at generation: `true`
Evidence bundle SHA256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
Evidence bundle SHA256: `6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158`
## Summary
- reproducibility ready: `true`
- release lock ready: `true`
- release lock ready: `false`
- methodology complete: `true`
- required artifacts: `25`
- missing artifacts: `0`
- source contract sha256: `5a99ef3133b0`
- archive sha256: `7db44f059844`
- source contract sha256: `db71157184dc`
- archive sha256: `c56a8519244c`
- output cases: `5`
- disclosed failure cases: `3`
- reproduction commands: `23`
- provider evidence complete: `true`
- human review complete: `false`
- world-class ready: `false`
- world-class source checks: `11` pass / `19` total; `8` blocked
- beta test ready: `true`
- beta test blockers: `0`
- world-class source checks: `12` pass / `19` total; `7` blocked
- beta test ready: `false`
- beta test blockers: `1`
- beta deferred evidence: `4`
- public claim ready: `false`
- public claim blockers: `3`
- changed files at generation: `29`
- source changed files at generation: `0`
- generated changed files at generation: `29`
- public claim blockers: `4`
- changed files at generation: `37`
- source changed files at generation: `1`
- generated changed files at generation: `36`
This report proves local benchmark reproducibility only. It keeps external provider and human-review gaps visible instead of counting them as complete. The git commit and dirty samples are generation-time context; the evidence bundle SHA is the durable anchor for the artifacts listed below.
## Beta Test Boundary
- ready: `true`
- ready: `false`
- scope: beta/public test release without superiority, fully-reviewed, or world-class claims
- policy: Human blind-review, native permission enforcement, real client telemetry, and ledger acceptance may be deferred for beta/public testing, but public claims must remain blocked until those evidence entries are accepted.
- required wording: Use beta, public test, or technical preview wording; do not claim world-class readiness, fully reviewed quality, or proven superiority over baseline.
| Blocker |
| --- |
| none |
| release lock is not clean or commit is unavailable |
| Deferred evidence | Reason |
| --- | --- |
@@ -60,21 +60,22 @@ This report proves local benchmark reproducibility only. It keeps external provi
| Blocker |
| --- |
| release lock is not clean or commit is unavailable |
| human blind-review adjudication is incomplete |
| world-class evidence is not accepted yet (3 open gaps, 4 ledger pending) |
| world-class source checks are not all accepted (11/19 pass, 8 blocked) |
| world-class source checks are not all accepted (12/19 pass, 7 blocked) |
## Release Lock
- ready: `true`
- reason: only generated evidence artifacts were dirty at generation time
- ready: `false`
- reason: source files were dirty at generation time
- status scope: generation-time status before this report is written
## Evidence Bundle
- algorithm: `sha256(path,label,exists,artifact_sha256)`
- artifacts: `25` / `25`
- sha256: `55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0`
- sha256: `6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158`
## Methodology Sections
@@ -99,23 +100,23 @@ This report proves local benchmark reproducibility only. It keeps external provi
| output_execution | `reports/output_execution_runs.json` | present | `4df66b63d2e7` |
| blind_review | `reports/output_blind_review_pack.json` | present | `bbe2db8ec277` |
| review_adjudication | `reports/output_review_adjudication.json` | present | `91fd88dd9b0f` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `a649547a7d3d` |
| trigger_scorecard | `reports/route_scorecard.json` | present | `53fc22d220dc` |
| runtime_conformance | `reports/conformance_matrix.json` | present | `97f9ba949c23` |
| trust_report | `reports/security_trust_report.json` | present | `bbff1f1bee0c` |
| python_compatibility | `reports/python_compatibility.json` | present | `d31dc03c74f1` |
| registry_audit | `reports/registry_audit.json` | present | `1feb80c7cdc8` |
| package_verification | `reports/package_verification.json` | present | `7aa6c25e8154` |
| install_simulation | `reports/install_simulation.json` | present | `c1f1122264b8` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `6362e79a8cfd` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `8eb5e1fbaa75` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `6038b6cd6e06` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `aa262da0ecee` |
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `95cb56581224` |
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `12fbb8492629` |
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `f321dc118ee9` |
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `858ee11bbacb` |
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `31b24658c59e` |
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `abe7f7d60c00` |
| trust_report | `reports/security_trust_report.json` | present | `108aee597a1f` |
| python_compatibility | `reports/python_compatibility.json` | present | `4d82942052a2` |
| registry_audit | `reports/registry_audit.json` | present | `d307675d5c6c` |
| package_verification | `reports/package_verification.json` | present | `e2ad726ce048` |
| install_simulation | `reports/install_simulation.json` | present | `65adf51d8c4b` |
| skill_os2_audit | `reports/skill_os2_audit.json` | present | `150c0027deaa` |
| world_class_evidence_plan | `reports/world_class_evidence_plan.json` | present | `483ed2b3bd02` |
| world_class_evidence_ledger | `reports/world_class_evidence_ledger.json` | present | `b19e7113ec46` |
| world_class_evidence_intake | `reports/world_class_evidence_intake.json` | present | `885bff9c1c85` |
| world_class_evidence_preflight | `reports/world_class_evidence_preflight.json` | present | `06e93b1c0c99` |
| world_class_submission_review | `reports/world_class_submission_review.json` | present | `e8df5c72ade7` |
| world_class_operator_runbook | `reports/world_class_operator_runbook.json` | present | `bb67813244d6` |
| world_class_operator_runbook_markdown | `reports/world_class_operator_runbook.md` | present | `e8d4dee75413` |
| world_class_operator_runbook_html | `reports/world_class_operator_runbook.html` | present | `022594013b24` |
| world_class_claim_guard | `reports/world_class_claim_guard.json` | present | `911ba833055a` |
## Reproduction Commands
@@ -0,0 +1,149 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>答案钥匙 - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
table { width:100%; border-collapse: collapse; } td, th { border:1px solid var(--line); padding:8px; text-align:left; }</style>
</head>
<body>
<header>
<a class="button" href="index.html">返回入口</a>
<h1>答案钥匙</h1>
<p class="warn">请只在所有评审判断都记录完成后再打开。</p>
</header>
<main>
<section class="panel">
<table>
<thead><tr><th>案例</th><th>方案 A 来源</th><th>方案 B 来源</th></tr></thead>
<tbody><tr><td>case-01-support-triage</td><td>官方 skill-creator</td><td>yao-meta-skill</td></tr><tr><td>case-02-monthly-revenue-reconciliation</td><td>yao-meta-skill</td><td>官方 skill-creator</td></tr><tr><td>case-03-webinar-repurposing</td><td>官方 skill-creator</td><td>yao-meta-skill</td></tr><tr><td>case-04-incident-postmortem</td><td>yao-meta-skill</td><td>官方 skill-creator</td></tr><tr><td>case-05-pr-review-followup</td><td>官方 skill-creator</td><td>yao-meta-skill</td></tr></tbody>
</table>
<p class="note" style="margin-top:12px">来源路径:yao-meta-skill = /Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md;官方 skill-creator = /Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md。</p>
</section>
</main>
</body>
</html>
@@ -0,0 +1,62 @@
{
"schema_version": "1.0",
"seed": "blind-human-review-2026-06-29-v1",
"answer_key_warning": "请只在记录完所有判断后再打开。",
"answers": [
{
"case_id": "case-01-support-triage",
"variant_a_source": "official",
"variant_b_source": "yao",
"variant_a_source_label": "官方 skill-creator",
"variant_b_source_label": "yao-meta-skill",
"source_paths": {
"yao": "/Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md",
"official": "/Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md"
}
},
{
"case_id": "case-02-monthly-revenue-reconciliation",
"variant_a_source": "yao",
"variant_b_source": "official",
"variant_a_source_label": "yao-meta-skill",
"variant_b_source_label": "官方 skill-creator",
"source_paths": {
"yao": "/Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md",
"official": "/Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md"
}
},
{
"case_id": "case-03-webinar-repurposing",
"variant_a_source": "official",
"variant_b_source": "yao",
"variant_a_source_label": "官方 skill-creator",
"variant_b_source_label": "yao-meta-skill",
"source_paths": {
"yao": "/Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md",
"official": "/Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md"
}
},
{
"case_id": "case-04-incident-postmortem",
"variant_a_source": "yao",
"variant_b_source": "official",
"variant_a_source_label": "yao-meta-skill",
"variant_b_source_label": "官方 skill-creator",
"source_paths": {
"yao": "/Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md",
"official": "/Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md"
}
},
{
"case_id": "case-05-pr-review-followup",
"variant_a_source": "official",
"variant_b_source": "yao",
"variant_a_source_label": "官方 skill-creator",
"variant_b_source_label": "yao-meta-skill",
"source_paths": {
"yao": "/Users/laoyao/AI Coding/03-Development/Skills/yao-meta-skill/SKILL.md",
"official": "/Users/laoyao/.codex/skills/.system/skill-creator/SKILL.md"
}
}
]
}
@@ -0,0 +1,15 @@
# 人工盲测结果
这组材料记录了 2026-06-29 的单人 A/B 盲测。评审者在揭晓来源前完成了 5 个判断,结果为 `yao-meta-skill` 5 胜,官方 `skill-creator` 0 胜。
## 文件
- [index.html](index.html):盲测入口。
- [adjudication.md](adjudication.md):揭晓后的统计摘要。
- [review-decisions.recorded.json](review-decisions.recorded.json):评审者选择、确认和证据边界。
- [blind-pack.json](blind-pack.json):不含答案钥匙的盲测包。
- [DO_NOT_OPEN_answer_key.json](DO_NOT_OPEN_answer_key.json):答案钥匙,只应在评审完成后打开。
## 证据边界
这可以作为单人盲测偏好证据。它不等同于 provider-backed 的独立模型执行证据,也不等同于 world-class readiness。当前缺口是逐案理由为空、评审人数为 1,尚未形成多评审者一致性证据。
@@ -0,0 +1,39 @@
# 人工盲测 Adjudication
生成时间:`2026-06-29T03:04:34Z`
## 结论
在 5 个真实常见 skill 创建场景的单人盲测中,评审者在揭晓来源前完成判断,5/5 选择了 `yao-meta-skill` 输出。
| 案例 | 评审选择 | 揭晓来源 |
| --- | --- | --- |
| `case-01-support-triage` | B | `yao-meta-skill` |
| `case-02-monthly-revenue-reconciliation` | A | `yao-meta-skill` |
| `case-03-webinar-repurposing` | B | `yao-meta-skill` |
| `case-04-incident-postmortem` | A | `yao-meta-skill` |
| `case-05-pr-review-followup` | B | `yao-meta-skill` |
## 统计
- `yao-meta-skill`5
- 官方 `skill-creator`0
- 平局:0
- 评审人数:1
- 信心程度:5 个判断均为 `1.0`
## 盲审确认
评审者确认:
> 确认:我是在完成五个判断之后才让你打开答案钥匙的,评审前没有看来源。以上 5 个判断都是揭晓来源前完成的。
## 证据边界
这可以作为单人独立盲测偏好证据。它不等同于 provider-backed 独立模型执行证据,因为两个输出是本地按两份 skill 说明生成的。
当前缺口:
- 每个案例的 `reason` 字段为空,缺少逐案 rationale。
- 评审人数为 1,尚未形成多评审者一致性证据。
- 尚未加入外部冻结 holdout 任务集。
@@ -0,0 +1,98 @@
{
"schema_version": "1.0",
"seed": "blind-human-review-2026-06-29-v1",
"generated_by": "Codex 在本地套用两份 skill 说明生成",
"evidence_boundary": "人类盲测评审起始包;不是 provider-backed 的独立模型执行证据。",
"cases": [
{
"id": "case-01-support-triage",
"title": "客服工单分诊 Skill",
"scenario": "一个 B2B SaaS 团队每天都要处理客户工单:判断分类、紧急程度、起草首轮回复,并把账务、安全、故障类问题升级给对应负责人。他们希望把这个重复流程做成一个给支持团队使用的 Codex skill。",
"user_prompt": "请把我们反复使用的客服工单分诊流程做成一个团队可复用的 skill。输入包括原始工单文本、客户等级、产品模块和近期故障记录。输出需要包含问题分类、紧急程度、首轮回复草稿、升级负责人和判断依据。不要把 PII 泄露到报告里。",
"rubric": [
"是否有清楚的触发边界和近邻排除。",
"是否是可复用的 skill 包结构,而不只是一个提示词。",
"是否定义了分类、紧急程度、回复、升级和证据的输出契约。",
"是否处理 PII 和客户内容的隐私风险。",
"是否有能发现错误升级和泛泛回复的评测方案。"
],
"variants": {
"A": "## 建议 Skillsupport-triage\n\n### 目的\n创建一个简洁的 skill,帮助 Codex 对 B2B SaaS 客服工单进行分诊,并起草首轮回复。\n\n### 建议包结构\n```\nsupport-triage/\n SKILL.md\n agents/openai.yaml\n references/\n triage-taxonomy.md\n escalation-policy.md\n```\n\n### SKILL.md 草稿\n```markdown\n---\nname: support-triage\ndescription: 对 B2B SaaS 客服工单进行分诊并起草首轮回复。当用户提供原始工单文本、客户等级、产品模块、故障记录,或需要紧急程度、分类、升级建议时使用。\n---\n\n# 客服工单分诊\n\n使用这个 skill 对入站工单分类、起草合适的首轮回复,并识别是否需要升级。\n\n## 工作流\n1. 阅读工单文本、客户等级、产品模块和近期故障记录。\n2. 将工单归为一个主分类:账务、访问权限、缺陷、故障、功能请求、安全、数据/隐私、上手问题或其他。\n3. 标记紧急程度:低、普通、高、严重。\n4. 起草首轮回复:确认问题、只询问必要补充信息,并避免没有依据的承诺。\n5. 对安全、隐私、严重故障、数据丢失或企业客户影响问题进行升级。\n6. 汇报判断依据,但不要复制不必要的 PII。\n\n## 输出格式\n- 分类:\n- 紧急程度:\n- 首轮回复:\n- 升级负责人:\n- 判断依据:\n- 缺失信息:\n\n## 参考资料\n- 分类规则见 `references/triage-taxonomy.md`。\n- 升级标准见 `references/escalation-policy.md`。\n```\n\n### agents/openai.yaml\n```yaml\ndisplay_name: 客服工单分诊\nshort_description: 对客服工单分类,并起草首轮回复。\ndefault_prompt: 请分诊这个客服工单,并起草首轮回复。\n```\n\n### 资源\n- `references/triage-taxonomy.md`:分类定义、紧急程度提示和示例。\n- `references/escalation-policy.md`:升级负责人和升级标准。\n\n### 验证\n用账务、安全、故障和功能请求等代表性工单测试。确认输出会最小化 PII,并且严重问题会被升级。\n",
"B": "## Skill 包建议:support-triage\n\n### 边界\n负责重复出现的客服工单分诊:用户提供工单文本以及客户/产品上下文,需要结构化路由决策。不要用于一次性文案润色、泛泛的客服同理心训练、CRM 配置,或超出升级范围的法律/安全事件处置。\n\n### 输出契约\n这个 skill 必须返回:\n- `category`\n- `urgency`\n- `first_response_draft`\n- `escalation_owner`\n- `evidence_used`\n- `missing_information`\n- `pii_handling_note`\n\n### 包结构\n```\nsupport-triage/\n SKILL.md\n agents/interface.yaml\n references/\n triage-taxonomy.md\n escalation-policy.md\n privacy-redaction.md\n evals/\n trigger_cases.json\n output/\n cases.jsonl\n fixtures/\n reports/\n output-risk-profile.md\n output_quality_scorecard.md\n```\n\n### SKILL.md\n```markdown\n---\nname: support-triage\ndescription: 将重复出现的 B2B SaaS 客服工单分诊为分类、紧急程度、首轮回复、升级负责人、判断依据和缺失信息。当输入包含原始工单、客户等级、产品模块、故障记录或支持队列上下文时使用。不要用于一次性文案润色、CRM 设置、法律建议或最终安全事件处置。\n---\n\n# 客服工单分诊\n\n## 工作流\n1. 确认这是重复的工单分诊任务,而不是一次性文案润色。\n2. 阅读工单文本、客户等级、产品模块和故障记录。\n3. 使用 `references/triage-taxonomy.md` 判断分类和紧急程度。\n4. 按 `references/escalation-policy.md` 检查升级标准。\n5. 起草首轮回复:确认问题、避免无依据承诺,只请求最少的缺失信息。\n6. 按 `references/privacy-redaction.md` 对 PII 做脱敏或摘要。\n7. 严格按输出契约返回。\n\n## 必填输出\n使用这些字段:\n- category\n- urgency\n- first_response_draft\n- escalation_owner\n- evidence_used\n- missing_information\n- pii_handling_note\n```\n\n### agents/interface.yaml\n```yaml\ndisplay_name: 客服工单分诊\nshort_description: 对工单分类、起草首轮回复,并给出升级依据。\ndefault_prompt: 请用分类、紧急程度、回复、升级负责人和依据来分诊这个客服工单。\n```\n\n### 评测用例\n1. 企业客户在已知故障期间提交工单:必须标为 `critical`,并升级给 incident commander。\n2. SMB 客户的账务困惑:不应过度升级。\n3. 带客户邮箱和 token 片段的安全披露:必须脱敏 token,并升级安全团队。\n4. 伪装成投诉的功能请求:应归类为功能请求,紧急程度为普通。\n5. 近邻请求:“把这段回复改得更温和”不应触发包级分诊。\n\n### 发布门禁\n- 触发评测:正例、反例、近邻文案润色。\n- 输出评测:首轮回复不能编造 SLA,升级必须匹配策略。\n- 隐私检查:报告不能保存原始工单 PII。\n- 审查备注:如果分类规则或升级负责人未提供,标记为 `missing evidence`,不要编造。\n\n### 下一步\n加入 3 个匿名工单 fixture,运行输出评测,并记录错误升级、泛泛回复和 PII 泄露的失败分类。\n"
},
"html_report": "case-01-support-triage.html"
},
{
"id": "case-02-monthly-revenue-reconciliation",
"title": "月度收入对账 Skill",
"scenario": "一个财务运营团队每个月结账前都要比对 Stripe 导出、数据仓库发票 CSV 和人工调整表,找出金额、币种、发票和调整项的不一致。",
"user_prompt": "请创建一个用于月度收入对账的可复用 skill。输入是 Stripe balance export CSV、warehouse invoice CSV 和 adjustments sheet。输出需要标出不一致项、解释可能原因,并生成可用于月结的摘要。准确性比速度更重要。",
"rubric": [
"是否识别出这是 file-backed 且准确性敏感的任务。",
"是否定义了确定性脚本和资源边界。",
"是否说明输入/输出 schema 与对账容差。",
"是否包含 fixture 和失败用例验证。",
"是否避免编造财务事实或隐藏未解决差异。"
],
"variants": {
"A": "## Skill 包建议:revenue-reconciliation\n\n### 边界\n负责围绕 Stripe balance export、warehouse invoice CSV 和调整表的重复月结对账。排除税务建议、收入确认政策决策、支付渠道配置和一次性表格美化。\n\n### 风险等级\nGovernedfile-backed,准确性敏感。任何可用于月结的结论前,都必须有确定性解析和可见的未解决项目。\n\n### 包结构\n```\nrevenue-reconciliation/\n SKILL.md\n agents/interface.yaml\n scripts/\n reconcile_revenue.py\n validate_reconciliation_fixture.py\n references/\n input-schema.md\n tolerance-policy.md\n close-summary-contract.md\n evals/\n output/\n cases.jsonl\n fixtures/\n stripe_sample.csv\n warehouse_sample.csv\n adjustments_sample.csv\n reports/\n output-risk-profile.md\n output_quality_scorecard.md\n trust_report.md\n```\n\n### SKILL.md\n```markdown\n---\nname: revenue-reconciliation\ndescription: 对来自 Stripe 导出、warehouse invoice CSV 和调整表的重复月结收入文件进行对账。用于 file-backed 差异检测、可能原因分析、未解决项目报告和月结摘要。不要用于收入确认建议、税务指导、支付渠道配置或一次性表格格式整理。\n---\n\n# 收入对账\n\n## 工作流\n1. 要求提供所有输入文件;缺失文件必须标记为 `missing evidence`。\n2. 阅读 `references/input-schema.md`,先校验列再分析。\n3. 运行 `scripts/reconcile_revenue.py`,规范化 ID、币种、金额精度、日期和调整项关联。\n4. 审查 JSON 输出,并按缺失发票、金额差异、币种差异、重复项、时间差异或仅调整项分类。\n5. 只基于脚本证据生成月结摘要。\n6. 保持未解决差异可见。不要编造原因、审批或政策判断。\n\n## 输出契约\n- input_files\n- validation_status\n- totals_by_source\n- matched_count\n- mismatch_table\n- likely_causes\n- unresolved_items\n- close_ready_summary\n- missing_evidence\n```\n\n### 确定性脚本契约\n`scripts/reconcile_revenue.py` 应接受:\n```bash\npython3 scripts/reconcile_revenue.py --stripe stripe.csv --warehouse warehouse.csv --adjustments adjustments.csv --output reconciliation.json\n```\n\n它应返回包含源行 ID 的结构化 JSON,让摘要里的每个结论都能追溯到 file-backed fixture。\n\n### 评测\n- Fixture 1:所有记录匹配。\n- Fixture 2Stripe 有付款,但 warehouse 缺发票。\n- Fixture 3warehouse 金额超过容差。\n- Fixture 4:人工调整解释了差异。\n- 近邻请求:“把这个表格弄好看一点”不应路由到这里。\n\n### 门禁\n- 汇总前必须通过输入 schema 校验。\n- 如果遗漏未解决差异,输出评测必须失败。\n- Trust check 应标记网络访问为不必要。\n- Review Studio 应在晋级前显示 file-backed fixture 覆盖和未解决差异处理。\n",
"B": "## 建议 Skillrevenue-reconciliation\n\n### 目的\n帮助 Codex 对 Stripe、数据仓库发票和人工调整表中的月度收入记录进行对账。\n\n### 建议包结构\n```\nrevenue-reconciliation/\n SKILL.md\n agents/openai.yaml\n scripts/\n reconcile_revenue.py\n references/\n csv-schema.md\n```\n\n### SKILL.md 草稿\n```markdown\n---\nname: revenue-reconciliation\ndescription: 对 Stripe balance export、warehouse invoice CSV 和调整表中的月度收入数据进行对账。当用户要求比较收入文件、找出不一致项或准备月结摘要时使用。\n---\n\n# 收入对账\n\n## 工作流\n1. 确认用户提供了 Stripe 导出、warehouse invoice CSV 和调整表。\n2. 阅读 `references/csv-schema.md`,了解预期列。\n3. 使用用户提供的文件运行 `scripts/reconcile_revenue.py`。\n4. 审查不一致项,并总结可能原因。\n5. 不要编造缺失值。清楚标记未解决记录。\n\n## 输出\n- 已检查文件\n- 匹配总额\n- 不一致项\n- 可能原因\n- 未解决项目\n- 月结摘要\n```\n\n### 脚本\n`scripts/reconcile_revenue.py` 应解析 CSV 输入,规范化 invoice ID 和币种,比较金额,并输出 JSON 供 Codex 总结。\n\n### agents/openai.yaml\n```yaml\ndisplay_name: 收入对账\nshort_description: 比对收入 CSV,并总结月结差异。\ndefault_prompt: 请对这些收入文件进行对账,并生成月结摘要。\n```\n\n### 验证\n使用包含匹配发票、缺失发票、重复发票和仅调整项记录的样例 CSV。确认未解决差异不会被隐藏。\n"
},
"html_report": "case-02-monthly-revenue-reconciliation.html"
},
{
"id": "case-03-webinar-repurposing",
"title": "Webinar 内容复用 Skill",
"scenario": "一个市场团队经常把 webinar 逐字稿改写成 LinkedIn 帖子、邮件 teaser 和 newsletter 段落,同时必须保证所有说法都有来源,并避开禁止宣传的 claim。",
"user_prompt": "请做一个可复用 skill,把 webinar 逐字稿复用成市场内容。输入包括逐字稿、讲者姓名、产品定位说明和禁止使用的 claim。输出包括 LinkedIn 帖子、邮件 teaser、newsletter 段落、可引用金句和来源依据说明。",
"rubric": [
"是否保留来源约束,并处理 banned claims。",
"是否定义可重复的多渠道输出格式。",
"是否把语气和定位资料放到 references,避免入口膨胀。",
"是否有针对幻觉 claim 和泛泛市场文案的评测。",
"是否在中等治理风险下保持 skill 足够轻量。"
],
"variants": {
"A": "## 建议 Skillwebinar-repurposer\n\n### 目的\n创建一个 skill,把 webinar 逐字稿转成可复用的市场内容。\n\n### 包结构\n```\nwebinar-repurposer/\n SKILL.md\n agents/openai.yaml\n references/\n brand-voice.md\n banned-claims.md\n```\n\n### SKILL.md 草稿\n```markdown\n---\nname: webinar-repurposer\ndescription: 将 webinar 逐字稿复用成 LinkedIn 帖子、邮件 teaser、newsletter 段落、可引用金句和来源依据说明。当用户提供逐字稿、讲者、定位说明或禁止 claim 时使用。\n---\n\n# Webinar 内容复用\n\n## 工作流\n1. 阅读逐字稿、讲者姓名、产品定位说明和禁止 claim。\n2. 提取核心主题、最强的来源支持观点和可用引语。\n3. 起草一条 LinkedIn 帖子、一段邮件 teaser、一段 newsletter 和若干金句。\n4. 对照逐字稿和禁止 claim 检查每个说法。\n5. 为重要 claim 添加来源依据说明。\n\n## 输出\n- LinkedIn 帖子\n- 邮件 teaser\n- Newsletter 段落\n- 可引用金句\n- 来源依据说明\n- 已避免的 claim\n\n## 参考资料\n语气见 `references/brand-voice.md`,禁止 claim 见 `references/banned-claims.md`。\n```\n\n### agents/openai.yaml\n```yaml\ndisplay_name: Webinar 内容复用\nshort_description: 将 webinar 逐字稿转成有来源依据的市场内容。\ndefault_prompt: 请把这份 webinar 逐字稿复用成可发布的多渠道市场内容。\n```\n\n### 验证\n用包含强金句、证据较弱、以及容易误用禁止 claim 的逐字稿测试。确认输出会避免没有依据的 claim。\n",
"B": "## Skill 包建议:webinar-repurposer\n\n### 边界\n负责在提供来源逐字稿和定位约束时,把逐字稿复用为市场内容。排除全新 campaign strategy、没有依据的产品 claim、法律审核和一次性文案润色。\n\n### 类型\nProduction-light。它需要输出质量检查和 banned-claim 防护,但除非涉及受监管 claim 或上市公司披露规则,否则不需要做成很重的 governed 包。\n\n### 包结构\n```\nwebinar-repurposer/\n SKILL.md\n agents/interface.yaml\n references/\n brand-voice.md\n positioning-notes.md\n banned-claims.md\n evals/\n output/\n cases.jsonl\n reports/\n output-risk-profile.md\n prompt-quality-profile.md\n```\n\n### SKILL.md\n```markdown\n---\nname: webinar-repurposer\ndescription: 将重复出现的 webinar 逐字稿复用为有来源依据的 LinkedIn 帖子、邮件 teaser、newsletter 段落、金句和 claim 依据说明。当提供逐字稿、讲者、定位说明或禁止 claim 时使用。不要用于无依据的发布 claim、法律审批、全新 campaign strategy 或一次性文案润色。\n---\n\n# Webinar 内容复用\n\n## 工作流\n1. 确认逐字稿是事实来源。\n2. 提取有来源支持的主题、讲者背书的引语和可安全复用的 claim。\n3. 起草前先检查 `references/banned-claims.md`。\n4. 生成各渠道输出,但不要添加逐字稿中没有的性能数字、客户结果或产品承诺。\n5. 添加来源依据说明,把每个主要 claim 绑定到逐字稿证据。\n\n## 必填输出\n- linkedin_post\n- email_teaser\n- newsletter_section\n- pull_quotes\n- source_grounding_notes\n- claims_avoided\n- missing_evidence\n```\n\n### 输出风险画像\n常见失败:\n- 生成任何产品都能用的泛泛市场话术。\n- 编造指标或客户结果。\n- 过度改写金句,导致意思偏离。\n- 因为某个 claim 很有吸引力而忽略 banned claims。\n\n### 输出评测用例\n1. 逐字稿包含诱人的“guaranteed ROI”禁止 claim:输出必须避开。\n2. 逐字稿没有量化证明:输出不能编造数字。\n3. 讲者原话不够顺:可以轻微修语法,但必须保留原意。\n4. 近邻请求:“从零写一个新 campaign idea”不应路由到这里。\n\n### 审查门禁\n- 必填 section 必须全部出现。\n- Banned claim 检查必须显式出现。\n- 来源依据说明必须引用逐字稿位置或原话片段。\n- 缺失证据必须被标出,而不是用通用卖点填补。\n"
},
"html_report": "case-03-webinar-repurposing.html"
},
{
"id": "case-04-incident-postmortem",
"title": "故障复盘 Skill",
"scenario": "一个基础设施团队经常把 Slack 故障时间线、告警数据和部署记录整理成故障复盘和后续行动项。",
"user_prompt": "请创建一个可复用的 governed skill,用于故障复盘。输入包括告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表。输出应包含时间线、影响、根因假设、行动项、未解决证据和后续负责人矩阵。",
"rubric": [
"是否处理 governed/运营风险和未解决证据。",
"是否区分假设和已确认根因。",
"是否定义行动项负责人矩阵和回滚/跟进边界。",
"是否要求 file-backed 或 source-backed 证据。",
"是否有针对 blame language 和编造因果的审查门禁。"
],
"variants": {
"A": "## Skill 包建议:incident-postmortem\n\n### 边界\n负责根据 source-backed 时间线、Slack 摘要、部署记录、客户影响说明和负责人列表起草 governed 故障复盘。不要用于实时 incident command、最终 RCA 签核、HR/归责分析或面向客户的法律声明。\n\n### 类型\nGoverned。这个包会影响运营责任归属,如果证据不足,容易制造虚假因果。\n\n### 包结构\n```\nincident-postmortem/\n SKILL.md\n agents/interface.yaml\n references/\n postmortem-contract.md\n severity-policy.md\n blame-free-language.md\n action-owner-matrix.md\n evals/\n output/\n cases.jsonl\n fixtures/\n alert_timeline.json\n slack_summary.md\n deploy_notes.md\n reports/\n output-risk-profile.md\n output_quality_scorecard.md\n trust_report.md\n review-studio.html\n```\n\n### SKILL.md\n```markdown\n---\nname: incident-postmortem\ndescription: 根据告警时间线、Slack 摘要、部署记录、影响说明和负责人列表起草 governed 故障复盘。用于 source-backed 时间线重建、影响总结、根因假设、行动项、未解决证据和后续负责人矩阵。不要用于实时故障指挥、最终 RCA 审批、归责或法律/客户承诺。\n---\n\n# 故障复盘\n\n## 工作流\n1. 要求提供 source-backed 故障输入,并把缺失输入列为 `missing evidence`。\n2. 只根据已提供时间戳建立时间线;如需推断顺序,必须明确标注。\n3. 分开列出 `confirmed_facts`、`root_cause_hypotheses` 和 `unresolved_evidence`。\n4. 总结客户影响,但不要编造受影响账户、持续时间或 SLA 违约。\n5. 创建行动项:包含 owner、due date、验证信号和回滚/跟进边界。\n6. 使用 `references/blame-free-language.md` 的无责语言。\n7. 除非 reviewer 明确提供,否则最终 RCA 审批不属于本 skill。\n\n## 输出契约\n- incident_summary\n- source_inputs\n- timeline\n- customer_impact\n- confirmed_facts\n- root_cause_hypotheses\n- unresolved_evidence\n- action_items\n- owner_matrix\n- approval_status\n```\n\n### 输出评测用例\n1. Slack 和部署记录冲突:必须保留为未解决证据。\n2. 告警时间线缺恢复时间:不能编造持续时长。\n3. 用户要求实时故障决策:应路由出去,或说明本 skill 只做复盘。\n4. 来源材料带有归责语言:输出必须改写为系统/流程语言。\n5. 缺负责人列表:行动项 owner 字段应为 `missing evidence`。\n\n### 门禁\n- 时间线和部署记录需要 file-backed fixture 覆盖。\n- 输出评测禁止编造因果和隐藏未解决证据。\n- Review Studio 在人工 reviewer 审批行动负责人矩阵前保持 warning。\n- Trust report 应显示无网络和无破坏性操作。\n",
"B": "## 建议 Skillincident-postmortem\n\n### 目的\n帮助 Codex 根据时间线、Slack 摘要、部署记录、影响说明和负责人列表创建结构化故障复盘。\n\n### 包结构\n```\nincident-postmortem/\n SKILL.md\n agents/openai.yaml\n references/\n postmortem-template.md\n severity-policy.md\n```\n\n### SKILL.md 草稿\n```markdown\n---\nname: incident-postmortem\ndescription: 根据告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表创建故障复盘。当用户需要时间线、影响、根因假设、行动项、未解决证据或负责人矩阵时使用。\n---\n\n# 故障复盘\n\n## 工作流\n1. 收集告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表。\n2. 建立按时间排序的时间线。\n3. 总结客户和系统影响。\n4. 识别已确认事实和根因假设。\n5. 在提供负责人和截止时间时,起草行动项。\n6. 清楚标记未解决证据。\n7. 避免归责式语言。\n\n## 输出\n- 故障摘要\n- 时间线\n- 影响\n- 根因假设\n- 已确认事实\n- 未解决证据\n- 行动项\n- 负责人矩阵\n```\n\n### agents/openai.yaml\n```yaml\ndisplay_name: 故障复盘\nshort_description: 根据故障证据生成结构化复盘。\ndefault_prompt: 请把这些故障证据整理成复盘和负责人矩阵。\n```\n\n### 验证\n用证据完整、缺部署记录、Slack 说法冲突和暂时没有根因的 case 测试。确认 skill 会区分事实和假设。\n"
},
"html_report": "case-04-incident-postmortem.html"
},
{
"id": "case-05-pr-review-followup",
"title": "PR Review 跟进 Skill",
"scenario": "一个小工程团队经常收到 GitHub PR review comments,希望 Codex 能把评论转成补丁、回复摘要和验证记录。",
"user_prompt": "请设计一个用于处理 PR review comments 的可复用 skill。输入包括 review comments、变更文件、失败 CI 说明和 maintainer preferences。输出需要分组评论、只修改相关文件、写回复说明并运行验证。必须避免回滚无关的用户改动。",
"rubric": [
"是否理解 code-review 跟进和 dirty worktree 安全。",
"是否定义评论分组、补丁、回复和验证工作流。",
"是否避免过度重构和无关 revert。",
"是否说明变更后需要的命令和证据。",
"是否定义一般 code review 与评论跟进的触发排除。"
],
"variants": {
"A": "## 建议 Skillpr-review-followup\n\n### 目的\n创建一个 skill,帮助 Codex 安全处理 PR review comments,并总结回复。\n\n### 包结构\n```\npr-review-followup/\n SKILL.md\n agents/openai.yaml\n references/\n response-style.md\n```\n\n### SKILL.md 草稿\n```markdown\n---\nname: pr-review-followup\ndescription: 通过分组反馈、修改相关文件、编写回复说明和运行验证来处理 GitHub PR review comments。当用户提供 review comments、变更文件、CI 说明或 maintainer preferences 时使用。\n---\n\n# PR Review 跟进\n\n## 工作流\n1. 阅读所有 review comments,并按文件、主题和严重程度分组。\n2. 编辑前检查受影响文件。\n3. 只修改处理 comments 所需的文件。\n4. 不要回滚无关用户改动。\n5. 运行相关测试或 CI 复现命令。\n6. 总结变更,并为 reviewer 起草回复说明。\n\n## 输出\n- 评论分组\n- 修改文件\n- 验证命令\n- Reviewer 回复说明\n- 剩余问题\n```\n\n### agents/openai.yaml\n```yaml\ndisplay_name: PR Review 跟进\nshort_description: 处理 PR comments 并准备 reviewer 回复。\ndefault_prompt: 请处理这些 PR review comments,并总结验证结果。\n```\n\n### 验证\n用需要代码修改、文档修改、无需修改只需解释、以及 reviewer 要求冲突的 comments 测试。\n",
"B": "## Skill 包建议:pr-review-followup\n\n### 边界\n负责 PR 已经有明确 reviewer comments、变更文件或 CI 说明之后的评论跟进。排除首次 code review、大范围重构、issue triage,以及没有绑定评论的推测性清理。\n\n### 包结构\n```\npr-review-followup/\n SKILL.md\n agents/interface.yaml\n references/\n response-style.md\n dirty-worktree-safety.md\n verification-policy.md\n evals/\n trigger_cases.json\n output/\n cases.jsonl\n reports/\n output-risk-profile.md\n output_quality_scorecard.md\n```\n\n### SKILL.md\n```markdown\n---\nname: pr-review-followup\ndescription: 处理具体 PR review comments:分组反馈、只修改相关文件、保留无关用户改动、起草 reviewer 回复并运行验证。当提供 review comments、变更文件、失败 CI 说明或 maintainer preferences 时使用。不要用于首次 code review、大范围重构、issue triage 或无关清理。\n---\n\n# PR Review 跟进\n\n## 工作流\n1. 编辑前记录 git status,并识别用户已经改动的文件。\n2. 按文件、行为、严重程度,以及是否需要代码、测试、文档或仅解释来分组 review comments。\n3. 修改前阅读受影响代码和附近测试。\n4. 只修改与评论绑定的文件。不要回滚无关改动,也不要格式化未触碰文件。\n5. 运行有针对性的验证,并记录命令和结果。\n6. 起草 reviewer 回复说明,把每组评论映射到变更、无需修改的理由或剩余问题。\n7. 如果评论冲突,停止并询问哪个 reviewer 指令优先。\n\n## 输出契约\n- comment_groups\n- patch_summary\n- files_changed\n- verification\n- reviewer_response_notes\n- unresolved_questions\n- unrelated_changes_preserved\n```\n\n### 输出评测用例\n1. 评论要求添加特定 null check:输出必须只修改受影响函数,并提到测试。\n2. Reviewer 要求与 PR 范围无关的大重构:输出应标出范围风险。\n3. Dirty worktree 中有无关用户文件:输出必须保留它。\n4. 两个 reviewer comments 冲突:输出必须询问优先级,而不是猜。\n5. 近邻请求:“从零 review 这个 PR”不应触发 follow-up mode。\n\n### 门禁\n- 触发评测必须区分首次 review 和评论跟进。\n- 如果回滚或隐藏无关改动,输出评测必须失败。\n- 验证策略必须记录跳过测试的原因。\n- 回复说明必须能追溯到评论分组。\n"
},
"html_report": "case-05-pr-review-followup.html"
}
]
}
@@ -0,0 +1,380 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>客服工单分诊 Skill - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body data-case-id="case-01-support-triage">
<header>
<div class="split"><a class="button" href="index.html">返回入口</a><a class="button" href="case-02-monthly-revenue-reconciliation.html">下一个</a></div>
<h1>客服工单分诊 Skill</h1>
<p class="meta">A/B 盲测评审。记录完判断前,不要打开答案钥匙。</p>
</header>
<main>
<section class="panel">
<h2>场景</h2>
<p>一个 B2B SaaS 团队每天都要处理客户工单:判断分类、紧急程度、起草首轮回复,并把账务、安全、故障类问题升级给对应负责人。他们希望把这个重复流程做成一个给支持团队使用的 Codex skill。</p>
<h3>用户请求</h3>
<p>请把我们反复使用的客服工单分诊流程做成一个团队可复用的 skill。输入包括原始工单文本、客户等级、产品模块和近期故障记录。输出需要包含问题分类、紧急程度、首轮回复草稿、升级负责人和判断依据。不要把 PII 泄露到报告里。</p>
<h3>评审标准</h3>
<ol class="rubric"><li>是否有清楚的触发边界和近邻排除。</li>
<li>是否是可复用的 skill 包结构,而不只是一个提示词。</li>
<li>是否定义了分类、紧急程度、回复、升级和证据的输出契约。</li>
<li>是否处理 PII 和客户内容的隐私风险。</li>
<li>是否有能发现错误升级和泛泛回复的评测方案。</li></ol>
</section>
<div class="grid" style="margin-top:18px">
<section class="variant">
<div class="variant-head">
<h2>方案 A</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>建议 Skillsupport-triage</h2>
<h3>目的</h3>
<p>创建一个简洁的 skill,帮助 Codex 对 B2B SaaS 客服工单进行分诊,并起草首轮回复。</p>
<h3>建议包结构</h3>
<pre><code>support-triage/
SKILL.md
agents/openai.yaml
references/
triage-taxonomy.md
escalation-policy.md</code></pre>
<h3>SKILL.md 草稿</h3>
<pre><code>---
name: support-triage
description: 对 B2B SaaS 客服工单进行分诊并起草首轮回复。当用户提供原始工单文本、客户等级、产品模块、故障记录,或需要紧急程度、分类、升级建议时使用。
---
# 客服工单分诊
使用这个 skill 对入站工单分类、起草合适的首轮回复,并识别是否需要升级。
## 工作流
1. 阅读工单文本、客户等级、产品模块和近期故障记录。
2. 将工单归为一个主分类:账务、访问权限、缺陷、故障、功能请求、安全、数据/隐私、上手问题或其他。
3. 标记紧急程度:低、普通、高、严重。
4. 起草首轮回复:确认问题、只询问必要补充信息,并避免没有依据的承诺。
5. 对安全、隐私、严重故障、数据丢失或企业客户影响问题进行升级。
6. 汇报判断依据,但不要复制不必要的 PII。
## 输出格式
- 分类:
- 紧急程度:
- 首轮回复:
- 升级负责人:
- 判断依据:
- 缺失信息:
## 参考资料
- 分类规则见 `references/triage-taxonomy.md`。
- 升级标准见 `references/escalation-policy.md`。</code></pre>
<h3>agents/openai.yaml</h3>
<pre><code>display_name: 客服工单分诊
short_description: 对客服工单分类,并起草首轮回复。
default_prompt: 请分诊这个客服工单,并起草首轮回复。</code></pre>
<h3>资源</h3>
<ul>
<li>`references/triage-taxonomy.md`:分类定义、紧急程度提示和示例。</li>
<li>`references/escalation-policy.md`:升级负责人和升级标准。</li>
</ul>
<h3>验证</h3>
<p>用账务、安全、故障和功能请求等代表性工单测试。确认输出会最小化 PII,并且严重问题会被升级。</p>
</div>
</section>
<section class="variant">
<div class="variant-head">
<h2>方案 B</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>Skill 包建议:support-triage</h2>
<h3>边界</h3>
<p>负责重复出现的客服工单分诊:用户提供工单文本以及客户/产品上下文,需要结构化路由决策。不要用于一次性文案润色、泛泛的客服同理心训练、CRM 配置,或超出升级范围的法律/安全事件处置。</p>
<h3>输出契约</h3>
<p>这个 skill 必须返回:</p>
<ul>
<li>`category`</li>
<li>`urgency`</li>
<li>`first_response_draft`</li>
<li>`escalation_owner`</li>
<li>`evidence_used`</li>
<li>`missing_information`</li>
<li>`pii_handling_note`</li>
</ul>
<h3>包结构</h3>
<pre><code>support-triage/
SKILL.md
agents/interface.yaml
references/
triage-taxonomy.md
escalation-policy.md
privacy-redaction.md
evals/
trigger_cases.json
output/
cases.jsonl
fixtures/
reports/
output-risk-profile.md
output_quality_scorecard.md</code></pre>
<h3>SKILL.md</h3>
<pre><code>---
name: support-triage
description: 将重复出现的 B2B SaaS 客服工单分诊为分类、紧急程度、首轮回复、升级负责人、判断依据和缺失信息。当输入包含原始工单、客户等级、产品模块、故障记录或支持队列上下文时使用。不要用于一次性文案润色、CRM 设置、法律建议或最终安全事件处置。
---
# 客服工单分诊
## 工作流
1. 确认这是重复的工单分诊任务,而不是一次性文案润色。
2. 阅读工单文本、客户等级、产品模块和故障记录。
3. 使用 `references/triage-taxonomy.md` 判断分类和紧急程度。
4. 按 `references/escalation-policy.md` 检查升级标准。
5. 起草首轮回复:确认问题、避免无依据承诺,只请求最少的缺失信息。
6. 按 `references/privacy-redaction.md` 对 PII 做脱敏或摘要。
7. 严格按输出契约返回。
## 必填输出
使用这些字段:
- category
- urgency
- first_response_draft
- escalation_owner
- evidence_used
- missing_information
- pii_handling_note</code></pre>
<h3>agents/interface.yaml</h3>
<pre><code>display_name: 客服工单分诊
short_description: 对工单分类、起草首轮回复,并给出升级依据。
default_prompt: 请用分类、紧急程度、回复、升级负责人和依据来分诊这个客服工单。</code></pre>
<h3>评测用例</h3>
<p>1. 企业客户在已知故障期间提交工单:必须标为 `critical`,并升级给 incident commander。</p>
<p>2. SMB 客户的账务困惑:不应过度升级。</p>
<p>3. 带客户邮箱和 token 片段的安全披露:必须脱敏 token,并升级安全团队。</p>
<p>4. 伪装成投诉的功能请求:应归类为功能请求,紧急程度为普通。</p>
<p>5. 近邻请求:“把这段回复改得更温和”不应触发包级分诊。</p>
<h3>发布门禁</h3>
<ul>
<li>触发评测:正例、反例、近邻文案润色。</li>
<li>输出评测:首轮回复不能编造 SLA,升级必须匹配策略。</li>
<li>隐私检查:报告不能保存原始工单 PII。</li>
<li>审查备注:如果分类规则或升级负责人未提供,标记为 `missing evidence`,不要编造。</li>
</ul>
<h3>下一步</h3>
<p>加入 3 个匿名工单 fixture,运行输出评测,并记录错误升级、泛泛回复和 PII 泄露的失败分类。</p>
</div>
</section>
</div>
<section class="review-box">
<h2>你的判断</h2>
<p class="note">只根据评审标准和页面里可见的两个输出做判断。选择会保存到当前浏览器的本地存储里,也可以回到入口页导出。</p>
<div class="controls" role="radiogroup" aria-label="胜出方案">
<label><input type="radio" name="winner" value="A"> 方案 A 更好</label>
<label><input type="radio" name="winner" value="B"> 方案 B 更好</label>
<label><input type="radio" name="winner" value="tie"> 平局 / 没有明显胜出</label>
</div>
<label for="confidence">信心程度</label>
<div class="controls">
<select id="confidence">
<option value="">请选择</option>
<option value="0.4">0.4,较弱</option>
<option value="0.6">0.6,中等</option>
<option value="0.8">0.8,较强</option>
<option value="1.0">1.0,非常确定</option>
</select>
</div>
<label for="reason">理由</label>
<textarea id="reason" placeholder="为什么这个方案更好?请写出具体的评审标准差异。"></textarea>
<div class="controls">
<button class="primary" type="button" onclick="saveDecision()">保存判断</button>
<button type="button" onclick="clearDecision()">清空</button>
</div>
<p id="save-status" class="small note"></p>
</section>
</main>
<script>
const caseId = document.body.dataset.caseId;
const key = "blindSkillReview:" + caseId;
function currentDecision() {
const selected = document.querySelector('input[name="winner"]:checked');
return {
case_id: caseId,
winner_variant: selected ? selected.value : "",
confidence: document.getElementById("confidence").value,
reason: document.getElementById("reason").value.trim(),
reviewed_at: new Date().toISOString()
};
}
function saveDecision() {
const decision = currentDecision();
localStorage.setItem(key, JSON.stringify(decision));
document.getElementById("save-status").textContent = "已保存:" + decision.reviewed_at;
}
function clearDecision() {
localStorage.removeItem(key);
document.querySelectorAll('input[name="winner"]').forEach(el => el.checked = false);
document.getElementById("confidence").value = "";
document.getElementById("reason").value = "";
document.getElementById("save-status").textContent = "已清空。";
}
function loadDecision() {
const raw = localStorage.getItem(key);
if (!raw) return;
const decision = JSON.parse(raw);
const selected = document.querySelector('input[name="winner"][value="' + decision.winner_variant + '"]');
if (selected) selected.checked = true;
document.getElementById("confidence").value = decision.confidence || "";
document.getElementById("reason").value = decision.reason || "";
document.getElementById("save-status").textContent = "已加载保存过的判断。";
}
loadDecision();
</script>
</body>
</html>
@@ -0,0 +1,368 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>月度收入对账 Skill - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body data-case-id="case-02-monthly-revenue-reconciliation">
<header>
<div class="split"><a class="button" href="index.html">返回入口</a><a class="button" href="case-01-support-triage.html">上一个</a><a class="button" href="case-03-webinar-repurposing.html">下一个</a></div>
<h1>月度收入对账 Skill</h1>
<p class="meta">A/B 盲测评审。记录完判断前,不要打开答案钥匙。</p>
</header>
<main>
<section class="panel">
<h2>场景</h2>
<p>一个财务运营团队每个月结账前都要比对 Stripe 导出、数据仓库发票 CSV 和人工调整表,找出金额、币种、发票和调整项的不一致。</p>
<h3>用户请求</h3>
<p>请创建一个用于月度收入对账的可复用 skill。输入是 Stripe balance export CSV、warehouse invoice CSV 和 adjustments sheet。输出需要标出不一致项、解释可能原因,并生成可用于月结的摘要。准确性比速度更重要。</p>
<h3>评审标准</h3>
<ol class="rubric"><li>是否识别出这是 file-backed 且准确性敏感的任务。</li>
<li>是否定义了确定性脚本和资源边界。</li>
<li>是否说明输入/输出 schema 与对账容差。</li>
<li>是否包含 fixture 和失败用例验证。</li>
<li>是否避免编造财务事实或隐藏未解决差异。</li></ol>
</section>
<div class="grid" style="margin-top:18px">
<section class="variant">
<div class="variant-head">
<h2>方案 A</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>Skill 包建议:revenue-reconciliation</h2>
<h3>边界</h3>
<p>负责围绕 Stripe balance export、warehouse invoice CSV 和调整表的重复月结对账。排除税务建议、收入确认政策决策、支付渠道配置和一次性表格美化。</p>
<h3>风险等级</h3>
<p>Governedfile-backed,准确性敏感。任何可用于月结的结论前,都必须有确定性解析和可见的未解决项目。</p>
<h3>包结构</h3>
<pre><code>revenue-reconciliation/
SKILL.md
agents/interface.yaml
scripts/
reconcile_revenue.py
validate_reconciliation_fixture.py
references/
input-schema.md
tolerance-policy.md
close-summary-contract.md
evals/
output/
cases.jsonl
fixtures/
stripe_sample.csv
warehouse_sample.csv
adjustments_sample.csv
reports/
output-risk-profile.md
output_quality_scorecard.md
trust_report.md</code></pre>
<h3>SKILL.md</h3>
<pre><code>---
name: revenue-reconciliation
description: 对来自 Stripe 导出、warehouse invoice CSV 和调整表的重复月结收入文件进行对账。用于 file-backed 差异检测、可能原因分析、未解决项目报告和月结摘要。不要用于收入确认建议、税务指导、支付渠道配置或一次性表格格式整理。
---
# 收入对账
## 工作流
1. 要求提供所有输入文件;缺失文件必须标记为 `missing evidence`。
2. 阅读 `references/input-schema.md`,先校验列再分析。
3. 运行 `scripts/reconcile_revenue.py`,规范化 ID、币种、金额精度、日期和调整项关联。
4. 审查 JSON 输出,并按缺失发票、金额差异、币种差异、重复项、时间差异或仅调整项分类。
5. 只基于脚本证据生成月结摘要。
6. 保持未解决差异可见。不要编造原因、审批或政策判断。
## 输出契约
- input_files
- validation_status
- totals_by_source
- matched_count
- mismatch_table
- likely_causes
- unresolved_items
- close_ready_summary
- missing_evidence</code></pre>
<h3>确定性脚本契约</h3>
<p>`scripts/reconcile_revenue.py` 应接受:</p>
<pre><code>python3 scripts/reconcile_revenue.py --stripe stripe.csv --warehouse warehouse.csv --adjustments adjustments.csv --output reconciliation.json</code></pre>
<p>它应返回包含源行 ID 的结构化 JSON,让摘要里的每个结论都能追溯到 file-backed fixture。</p>
<h3>评测</h3>
<ul>
<li>Fixture 1:所有记录匹配。</li>
<li>Fixture 2Stripe 有付款,但 warehouse 缺发票。</li>
<li>Fixture 3warehouse 金额超过容差。</li>
<li>Fixture 4:人工调整解释了差异。</li>
<li>近邻请求:“把这个表格弄好看一点”不应路由到这里。</li>
</ul>
<h3>门禁</h3>
<ul>
<li>汇总前必须通过输入 schema 校验。</li>
<li>如果遗漏未解决差异,输出评测必须失败。</li>
<li>Trust check 应标记网络访问为不必要。</li>
<li>Review Studio 应在晋级前显示 file-backed fixture 覆盖和未解决差异处理。</li>
</ul>
</div>
</section>
<section class="variant">
<div class="variant-head">
<h2>方案 B</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>建议 Skillrevenue-reconciliation</h2>
<h3>目的</h3>
<p>帮助 Codex 对 Stripe、数据仓库发票和人工调整表中的月度收入记录进行对账。</p>
<h3>建议包结构</h3>
<pre><code>revenue-reconciliation/
SKILL.md
agents/openai.yaml
scripts/
reconcile_revenue.py
references/
csv-schema.md</code></pre>
<h3>SKILL.md 草稿</h3>
<pre><code>---
name: revenue-reconciliation
description: 对 Stripe balance export、warehouse invoice CSV 和调整表中的月度收入数据进行对账。当用户要求比较收入文件、找出不一致项或准备月结摘要时使用。
---
# 收入对账
## 工作流
1. 确认用户提供了 Stripe 导出、warehouse invoice CSV 和调整表。
2. 阅读 `references/csv-schema.md`,了解预期列。
3. 使用用户提供的文件运行 `scripts/reconcile_revenue.py`。
4. 审查不一致项,并总结可能原因。
5. 不要编造缺失值。清楚标记未解决记录。
## 输出
- 已检查文件
- 匹配总额
- 不一致项
- 可能原因
- 未解决项目
- 月结摘要</code></pre>
<h3>脚本</h3>
<p>`scripts/reconcile_revenue.py` 应解析 CSV 输入,规范化 invoice ID 和币种,比较金额,并输出 JSON 供 Codex 总结。</p>
<h3>agents/openai.yaml</h3>
<pre><code>display_name: 收入对账
short_description: 比对收入 CSV,并总结月结差异。
default_prompt: 请对这些收入文件进行对账,并生成月结摘要。</code></pre>
<h3>验证</h3>
<p>使用包含匹配发票、缺失发票、重复发票和仅调整项记录的样例 CSV。确认未解决差异不会被隐藏。</p>
</div>
</section>
</div>
<section class="review-box">
<h2>你的判断</h2>
<p class="note">只根据评审标准和页面里可见的两个输出做判断。选择会保存到当前浏览器的本地存储里,也可以回到入口页导出。</p>
<div class="controls" role="radiogroup" aria-label="胜出方案">
<label><input type="radio" name="winner" value="A"> 方案 A 更好</label>
<label><input type="radio" name="winner" value="B"> 方案 B 更好</label>
<label><input type="radio" name="winner" value="tie"> 平局 / 没有明显胜出</label>
</div>
<label for="confidence">信心程度</label>
<div class="controls">
<select id="confidence">
<option value="">请选择</option>
<option value="0.4">0.4,较弱</option>
<option value="0.6">0.6,中等</option>
<option value="0.8">0.8,较强</option>
<option value="1.0">1.0,非常确定</option>
</select>
</div>
<label for="reason">理由</label>
<textarea id="reason" placeholder="为什么这个方案更好?请写出具体的评审标准差异。"></textarea>
<div class="controls">
<button class="primary" type="button" onclick="saveDecision()">保存判断</button>
<button type="button" onclick="clearDecision()">清空</button>
</div>
<p id="save-status" class="small note"></p>
</section>
</main>
<script>
const caseId = document.body.dataset.caseId;
const key = "blindSkillReview:" + caseId;
function currentDecision() {
const selected = document.querySelector('input[name="winner"]:checked');
return {
case_id: caseId,
winner_variant: selected ? selected.value : "",
confidence: document.getElementById("confidence").value,
reason: document.getElementById("reason").value.trim(),
reviewed_at: new Date().toISOString()
};
}
function saveDecision() {
const decision = currentDecision();
localStorage.setItem(key, JSON.stringify(decision));
document.getElementById("save-status").textContent = "已保存:" + decision.reviewed_at;
}
function clearDecision() {
localStorage.removeItem(key);
document.querySelectorAll('input[name="winner"]').forEach(el => el.checked = false);
document.getElementById("confidence").value = "";
document.getElementById("reason").value = "";
document.getElementById("save-status").textContent = "已清空。";
}
function loadDecision() {
const raw = localStorage.getItem(key);
if (!raw) return;
const decision = JSON.parse(raw);
const selected = document.querySelector('input[name="winner"][value="' + decision.winner_variant + '"]');
if (selected) selected.checked = true;
document.getElementById("confidence").value = decision.confidence || "";
document.getElementById("reason").value = decision.reason || "";
document.getElementById("save-status").textContent = "已加载保存过的判断。";
}
loadDecision();
</script>
</body>
</html>
@@ -0,0 +1,356 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Webinar 内容复用 Skill - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body data-case-id="case-03-webinar-repurposing">
<header>
<div class="split"><a class="button" href="index.html">返回入口</a><a class="button" href="case-02-monthly-revenue-reconciliation.html">上一个</a><a class="button" href="case-04-incident-postmortem.html">下一个</a></div>
<h1>Webinar 内容复用 Skill</h1>
<p class="meta">A/B 盲测评审。记录完判断前,不要打开答案钥匙。</p>
</header>
<main>
<section class="panel">
<h2>场景</h2>
<p>一个市场团队经常把 webinar 逐字稿改写成 LinkedIn 帖子、邮件 teaser 和 newsletter 段落,同时必须保证所有说法都有来源,并避开禁止宣传的 claim。</p>
<h3>用户请求</h3>
<p>请做一个可复用 skill,把 webinar 逐字稿复用成市场内容。输入包括逐字稿、讲者姓名、产品定位说明和禁止使用的 claim。输出包括 LinkedIn 帖子、邮件 teaser、newsletter 段落、可引用金句和来源依据说明。</p>
<h3>评审标准</h3>
<ol class="rubric"><li>是否保留来源约束,并处理 banned claims。</li>
<li>是否定义可重复的多渠道输出格式。</li>
<li>是否把语气和定位资料放到 references,避免入口膨胀。</li>
<li>是否有针对幻觉 claim 和泛泛市场文案的评测。</li>
<li>是否在中等治理风险下保持 skill 足够轻量。</li></ol>
</section>
<div class="grid" style="margin-top:18px">
<section class="variant">
<div class="variant-head">
<h2>方案 A</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>建议 Skillwebinar-repurposer</h2>
<h3>目的</h3>
<p>创建一个 skill,把 webinar 逐字稿转成可复用的市场内容。</p>
<h3>包结构</h3>
<pre><code>webinar-repurposer/
SKILL.md
agents/openai.yaml
references/
brand-voice.md
banned-claims.md</code></pre>
<h3>SKILL.md 草稿</h3>
<pre><code>---
name: webinar-repurposer
description: 将 webinar 逐字稿复用成 LinkedIn 帖子、邮件 teaser、newsletter 段落、可引用金句和来源依据说明。当用户提供逐字稿、讲者、定位说明或禁止 claim 时使用。
---
# Webinar 内容复用
## 工作流
1. 阅读逐字稿、讲者姓名、产品定位说明和禁止 claim。
2. 提取核心主题、最强的来源支持观点和可用引语。
3. 起草一条 LinkedIn 帖子、一段邮件 teaser、一段 newsletter 和若干金句。
4. 对照逐字稿和禁止 claim 检查每个说法。
5. 为重要 claim 添加来源依据说明。
## 输出
- LinkedIn 帖子
- 邮件 teaser
- Newsletter 段落
- 可引用金句
- 来源依据说明
- 已避免的 claim
## 参考资料
语气见 `references/brand-voice.md`,禁止 claim 见 `references/banned-claims.md`。</code></pre>
<h3>agents/openai.yaml</h3>
<pre><code>display_name: Webinar 内容复用
short_description: 将 webinar 逐字稿转成有来源依据的市场内容。
default_prompt: 请把这份 webinar 逐字稿复用成可发布的多渠道市场内容。</code></pre>
<h3>验证</h3>
<p>用包含强金句、证据较弱、以及容易误用禁止 claim 的逐字稿测试。确认输出会避免没有依据的 claim。</p>
</div>
</section>
<section class="variant">
<div class="variant-head">
<h2>方案 B</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>Skill 包建议:webinar-repurposer</h2>
<h3>边界</h3>
<p>负责在提供来源逐字稿和定位约束时,把逐字稿复用为市场内容。排除全新 campaign strategy、没有依据的产品 claim、法律审核和一次性文案润色。</p>
<h3>类型</h3>
<p>Production-light。它需要输出质量检查和 banned-claim 防护,但除非涉及受监管 claim 或上市公司披露规则,否则不需要做成很重的 governed 包。</p>
<h3>包结构</h3>
<pre><code>webinar-repurposer/
SKILL.md
agents/interface.yaml
references/
brand-voice.md
positioning-notes.md
banned-claims.md
evals/
output/
cases.jsonl
reports/
output-risk-profile.md
prompt-quality-profile.md</code></pre>
<h3>SKILL.md</h3>
<pre><code>---
name: webinar-repurposer
description: 将重复出现的 webinar 逐字稿复用为有来源依据的 LinkedIn 帖子、邮件 teaser、newsletter 段落、金句和 claim 依据说明。当提供逐字稿、讲者、定位说明或禁止 claim 时使用。不要用于无依据的发布 claim、法律审批、全新 campaign strategy 或一次性文案润色。
---
# Webinar 内容复用
## 工作流
1. 确认逐字稿是事实来源。
2. 提取有来源支持的主题、讲者背书的引语和可安全复用的 claim。
3. 起草前先检查 `references/banned-claims.md`。
4. 生成各渠道输出,但不要添加逐字稿中没有的性能数字、客户结果或产品承诺。
5. 添加来源依据说明,把每个主要 claim 绑定到逐字稿证据。
## 必填输出
- linkedin_post
- email_teaser
- newsletter_section
- pull_quotes
- source_grounding_notes
- claims_avoided
- missing_evidence</code></pre>
<h3>输出风险画像</h3>
<p>常见失败:</p>
<ul>
<li>生成任何产品都能用的泛泛市场话术。</li>
<li>编造指标或客户结果。</li>
<li>过度改写金句,导致意思偏离。</li>
<li>因为某个 claim 很有吸引力而忽略 banned claims。</li>
</ul>
<h3>输出评测用例</h3>
<p>1. 逐字稿包含诱人的“guaranteed ROI”禁止 claim:输出必须避开。</p>
<p>2. 逐字稿没有量化证明:输出不能编造数字。</p>
<p>3. 讲者原话不够顺:可以轻微修语法,但必须保留原意。</p>
<p>4. 近邻请求:“从零写一个新 campaign idea”不应路由到这里。</p>
<h3>审查门禁</h3>
<ul>
<li>必填 section 必须全部出现。</li>
<li>Banned claim 检查必须显式出现。</li>
<li>来源依据说明必须引用逐字稿位置或原话片段。</li>
<li>缺失证据必须被标出,而不是用通用卖点填补。</li>
</ul>
</div>
</section>
</div>
<section class="review-box">
<h2>你的判断</h2>
<p class="note">只根据评审标准和页面里可见的两个输出做判断。选择会保存到当前浏览器的本地存储里,也可以回到入口页导出。</p>
<div class="controls" role="radiogroup" aria-label="胜出方案">
<label><input type="radio" name="winner" value="A"> 方案 A 更好</label>
<label><input type="radio" name="winner" value="B"> 方案 B 更好</label>
<label><input type="radio" name="winner" value="tie"> 平局 / 没有明显胜出</label>
</div>
<label for="confidence">信心程度</label>
<div class="controls">
<select id="confidence">
<option value="">请选择</option>
<option value="0.4">0.4,较弱</option>
<option value="0.6">0.6,中等</option>
<option value="0.8">0.8,较强</option>
<option value="1.0">1.0,非常确定</option>
</select>
</div>
<label for="reason">理由</label>
<textarea id="reason" placeholder="为什么这个方案更好?请写出具体的评审标准差异。"></textarea>
<div class="controls">
<button class="primary" type="button" onclick="saveDecision()">保存判断</button>
<button type="button" onclick="clearDecision()">清空</button>
</div>
<p id="save-status" class="small note"></p>
</section>
</main>
<script>
const caseId = document.body.dataset.caseId;
const key = "blindSkillReview:" + caseId;
function currentDecision() {
const selected = document.querySelector('input[name="winner"]:checked');
return {
case_id: caseId,
winner_variant: selected ? selected.value : "",
confidence: document.getElementById("confidence").value,
reason: document.getElementById("reason").value.trim(),
reviewed_at: new Date().toISOString()
};
}
function saveDecision() {
const decision = currentDecision();
localStorage.setItem(key, JSON.stringify(decision));
document.getElementById("save-status").textContent = "已保存:" + decision.reviewed_at;
}
function clearDecision() {
localStorage.removeItem(key);
document.querySelectorAll('input[name="winner"]').forEach(el => el.checked = false);
document.getElementById("confidence").value = "";
document.getElementById("reason").value = "";
document.getElementById("save-status").textContent = "已清空。";
}
function loadDecision() {
const raw = localStorage.getItem(key);
if (!raw) return;
const decision = JSON.parse(raw);
const selected = document.querySelector('input[name="winner"][value="' + decision.winner_variant + '"]');
if (selected) selected.checked = true;
document.getElementById("confidence").value = decision.confidence || "";
document.getElementById("reason").value = decision.reason || "";
document.getElementById("save-status").textContent = "已加载保存过的判断。";
}
loadDecision();
</script>
</body>
</html>
@@ -0,0 +1,361 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>故障复盘 Skill - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body data-case-id="case-04-incident-postmortem">
<header>
<div class="split"><a class="button" href="index.html">返回入口</a><a class="button" href="case-03-webinar-repurposing.html">上一个</a><a class="button" href="case-05-pr-review-followup.html">下一个</a></div>
<h1>故障复盘 Skill</h1>
<p class="meta">A/B 盲测评审。记录完判断前,不要打开答案钥匙。</p>
</header>
<main>
<section class="panel">
<h2>场景</h2>
<p>一个基础设施团队经常把 Slack 故障时间线、告警数据和部署记录整理成故障复盘和后续行动项。</p>
<h3>用户请求</h3>
<p>请创建一个可复用的 governed skill,用于故障复盘。输入包括告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表。输出应包含时间线、影响、根因假设、行动项、未解决证据和后续负责人矩阵。</p>
<h3>评审标准</h3>
<ol class="rubric"><li>是否处理 governed/运营风险和未解决证据。</li>
<li>是否区分假设和已确认根因。</li>
<li>是否定义行动项负责人矩阵和回滚/跟进边界。</li>
<li>是否要求 file-backed 或 source-backed 证据。</li>
<li>是否有针对 blame language 和编造因果的审查门禁。</li></ol>
</section>
<div class="grid" style="margin-top:18px">
<section class="variant">
<div class="variant-head">
<h2>方案 A</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>Skill 包建议:incident-postmortem</h2>
<h3>边界</h3>
<p>负责根据 source-backed 时间线、Slack 摘要、部署记录、客户影响说明和负责人列表起草 governed 故障复盘。不要用于实时 incident command、最终 RCA 签核、HR/归责分析或面向客户的法律声明。</p>
<h3>类型</h3>
<p>Governed。这个包会影响运营责任归属,如果证据不足,容易制造虚假因果。</p>
<h3>包结构</h3>
<pre><code>incident-postmortem/
SKILL.md
agents/interface.yaml
references/
postmortem-contract.md
severity-policy.md
blame-free-language.md
action-owner-matrix.md
evals/
output/
cases.jsonl
fixtures/
alert_timeline.json
slack_summary.md
deploy_notes.md
reports/
output-risk-profile.md
output_quality_scorecard.md
trust_report.md
review-studio.html</code></pre>
<h3>SKILL.md</h3>
<pre><code>---
name: incident-postmortem
description: 根据告警时间线、Slack 摘要、部署记录、影响说明和负责人列表起草 governed 故障复盘。用于 source-backed 时间线重建、影响总结、根因假设、行动项、未解决证据和后续负责人矩阵。不要用于实时故障指挥、最终 RCA 审批、归责或法律/客户承诺。
---
# 故障复盘
## 工作流
1. 要求提供 source-backed 故障输入,并把缺失输入列为 `missing evidence`。
2. 只根据已提供时间戳建立时间线;如需推断顺序,必须明确标注。
3. 分开列出 `confirmed_facts`、`root_cause_hypotheses` 和 `unresolved_evidence`。
4. 总结客户影响,但不要编造受影响账户、持续时间或 SLA 违约。
5. 创建行动项:包含 owner、due date、验证信号和回滚/跟进边界。
6. 使用 `references/blame-free-language.md` 的无责语言。
7. 除非 reviewer 明确提供,否则最终 RCA 审批不属于本 skill。
## 输出契约
- incident_summary
- source_inputs
- timeline
- customer_impact
- confirmed_facts
- root_cause_hypotheses
- unresolved_evidence
- action_items
- owner_matrix
- approval_status</code></pre>
<h3>输出评测用例</h3>
<p>1. Slack 和部署记录冲突:必须保留为未解决证据。</p>
<p>2. 告警时间线缺恢复时间:不能编造持续时长。</p>
<p>3. 用户要求实时故障决策:应路由出去,或说明本 skill 只做复盘。</p>
<p>4. 来源材料带有归责语言:输出必须改写为系统/流程语言。</p>
<p>5. 缺负责人列表:行动项 owner 字段应为 `missing evidence`。</p>
<h3>门禁</h3>
<ul>
<li>时间线和部署记录需要 file-backed fixture 覆盖。</li>
<li>输出评测禁止编造因果和隐藏未解决证据。</li>
<li>Review Studio 在人工 reviewer 审批行动负责人矩阵前保持 warning。</li>
<li>Trust report 应显示无网络和无破坏性操作。</li>
</ul>
</div>
</section>
<section class="variant">
<div class="variant-head">
<h2>方案 B</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>建议 Skillincident-postmortem</h2>
<h3>目的</h3>
<p>帮助 Codex 根据时间线、Slack 摘要、部署记录、影响说明和负责人列表创建结构化故障复盘。</p>
<h3>包结构</h3>
<pre><code>incident-postmortem/
SKILL.md
agents/openai.yaml
references/
postmortem-template.md
severity-policy.md</code></pre>
<h3>SKILL.md 草稿</h3>
<pre><code>---
name: incident-postmortem
description: 根据告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表创建故障复盘。当用户需要时间线、影响、根因假设、行动项、未解决证据或负责人矩阵时使用。
---
# 故障复盘
## 工作流
1. 收集告警时间线、Slack 摘要、部署记录、客户影响说明和负责人列表。
2. 建立按时间排序的时间线。
3. 总结客户和系统影响。
4. 识别已确认事实和根因假设。
5. 在提供负责人和截止时间时,起草行动项。
6. 清楚标记未解决证据。
7. 避免归责式语言。
## 输出
- 故障摘要
- 时间线
- 影响
- 根因假设
- 已确认事实
- 未解决证据
- 行动项
- 负责人矩阵</code></pre>
<h3>agents/openai.yaml</h3>
<pre><code>display_name: 故障复盘
short_description: 根据故障证据生成结构化复盘。
default_prompt: 请把这些故障证据整理成复盘和负责人矩阵。</code></pre>
<h3>验证</h3>
<p>用证据完整、缺部署记录、Slack 说法冲突和暂时没有根因的 case 测试。确认 skill 会区分事实和假设。</p>
</div>
</section>
</div>
<section class="review-box">
<h2>你的判断</h2>
<p class="note">只根据评审标准和页面里可见的两个输出做判断。选择会保存到当前浏览器的本地存储里,也可以回到入口页导出。</p>
<div class="controls" role="radiogroup" aria-label="胜出方案">
<label><input type="radio" name="winner" value="A"> 方案 A 更好</label>
<label><input type="radio" name="winner" value="B"> 方案 B 更好</label>
<label><input type="radio" name="winner" value="tie"> 平局 / 没有明显胜出</label>
</div>
<label for="confidence">信心程度</label>
<div class="controls">
<select id="confidence">
<option value="">请选择</option>
<option value="0.4">0.4,较弱</option>
<option value="0.6">0.6,中等</option>
<option value="0.8">0.8,较强</option>
<option value="1.0">1.0,非常确定</option>
</select>
</div>
<label for="reason">理由</label>
<textarea id="reason" placeholder="为什么这个方案更好?请写出具体的评审标准差异。"></textarea>
<div class="controls">
<button class="primary" type="button" onclick="saveDecision()">保存判断</button>
<button type="button" onclick="clearDecision()">清空</button>
</div>
<p id="save-status" class="small note"></p>
</section>
</main>
<script>
const caseId = document.body.dataset.caseId;
const key = "blindSkillReview:" + caseId;
function currentDecision() {
const selected = document.querySelector('input[name="winner"]:checked');
return {
case_id: caseId,
winner_variant: selected ? selected.value : "",
confidence: document.getElementById("confidence").value,
reason: document.getElementById("reason").value.trim(),
reviewed_at: new Date().toISOString()
};
}
function saveDecision() {
const decision = currentDecision();
localStorage.setItem(key, JSON.stringify(decision));
document.getElementById("save-status").textContent = "已保存:" + decision.reviewed_at;
}
function clearDecision() {
localStorage.removeItem(key);
document.querySelectorAll('input[name="winner"]').forEach(el => el.checked = false);
document.getElementById("confidence").value = "";
document.getElementById("reason").value = "";
document.getElementById("save-status").textContent = "已清空。";
}
function loadDecision() {
const raw = localStorage.getItem(key);
if (!raw) return;
const decision = JSON.parse(raw);
const selected = document.querySelector('input[name="winner"][value="' + decision.winner_variant + '"]');
if (selected) selected.checked = true;
document.getElementById("confidence").value = decision.confidence || "";
document.getElementById("reason").value = decision.reason || "";
document.getElementById("save-status").textContent = "已加载保存过的判断。";
}
loadDecision();
</script>
</body>
</html>
@@ -0,0 +1,344 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PR Review 跟进 Skill - Skill 盲测评审</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body data-case-id="case-05-pr-review-followup">
<header>
<div class="split"><a class="button" href="index.html">返回入口</a><a class="button" href="case-04-incident-postmortem.html">上一个</a></div>
<h1>PR Review 跟进 Skill</h1>
<p class="meta">A/B 盲测评审。记录完判断前,不要打开答案钥匙。</p>
</header>
<main>
<section class="panel">
<h2>场景</h2>
<p>一个小工程团队经常收到 GitHub PR review comments,希望 Codex 能把评论转成补丁、回复摘要和验证记录。</p>
<h3>用户请求</h3>
<p>请设计一个用于处理 PR review comments 的可复用 skill。输入包括 review comments、变更文件、失败 CI 说明和 maintainer preferences。输出需要分组评论、只修改相关文件、写回复说明并运行验证。必须避免回滚无关的用户改动。</p>
<h3>评审标准</h3>
<ol class="rubric"><li>是否理解 code-review 跟进和 dirty worktree 安全。</li>
<li>是否定义评论分组、补丁、回复和验证工作流。</li>
<li>是否避免过度重构和无关 revert。</li>
<li>是否说明变更后需要的命令和证据。</li>
<li>是否定义一般 code review 与评论跟进的触发排除。</li></ol>
</section>
<div class="grid" style="margin-top:18px">
<section class="variant">
<div class="variant-head">
<h2>方案 A</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>建议 Skillpr-review-followup</h2>
<h3>目的</h3>
<p>创建一个 skill,帮助 Codex 安全处理 PR review comments,并总结回复。</p>
<h3>包结构</h3>
<pre><code>pr-review-followup/
SKILL.md
agents/openai.yaml
references/
response-style.md</code></pre>
<h3>SKILL.md 草稿</h3>
<pre><code>---
name: pr-review-followup
description: 通过分组反馈、修改相关文件、编写回复说明和运行验证来处理 GitHub PR review comments。当用户提供 review comments、变更文件、CI 说明或 maintainer preferences 时使用。
---
# PR Review 跟进
## 工作流
1. 阅读所有 review comments,并按文件、主题和严重程度分组。
2. 编辑前检查受影响文件。
3. 只修改处理 comments 所需的文件。
4. 不要回滚无关用户改动。
5. 运行相关测试或 CI 复现命令。
6. 总结变更,并为 reviewer 起草回复说明。
## 输出
- 评论分组
- 修改文件
- 验证命令
- Reviewer 回复说明
- 剩余问题</code></pre>
<h3>agents/openai.yaml</h3>
<pre><code>display_name: PR Review 跟进
short_description: 处理 PR comments 并准备 reviewer 回复。
default_prompt: 请处理这些 PR review comments,并总结验证结果。</code></pre>
<h3>验证</h3>
<p>用需要代码修改、文档修改、无需修改只需解释、以及 reviewer 要求冲突的 comments 测试。</p>
</div>
</section>
<section class="variant">
<div class="variant-head">
<h2>方案 B</h2>
<span class="badge">来源已隐藏</span>
</div>
<div class="variant-body">
<h2>Skill 包建议:pr-review-followup</h2>
<h3>边界</h3>
<p>负责 PR 已经有明确 reviewer comments、变更文件或 CI 说明之后的评论跟进。排除首次 code review、大范围重构、issue triage,以及没有绑定评论的推测性清理。</p>
<h3>包结构</h3>
<pre><code>pr-review-followup/
SKILL.md
agents/interface.yaml
references/
response-style.md
dirty-worktree-safety.md
verification-policy.md
evals/
trigger_cases.json
output/
cases.jsonl
reports/
output-risk-profile.md
output_quality_scorecard.md</code></pre>
<h3>SKILL.md</h3>
<pre><code>---
name: pr-review-followup
description: 处理具体 PR review comments:分组反馈、只修改相关文件、保留无关用户改动、起草 reviewer 回复并运行验证。当提供 review comments、变更文件、失败 CI 说明或 maintainer preferences 时使用。不要用于首次 code review、大范围重构、issue triage 或无关清理。
---
# PR Review 跟进
## 工作流
1. 编辑前记录 git status,并识别用户已经改动的文件。
2. 按文件、行为、严重程度,以及是否需要代码、测试、文档或仅解释来分组 review comments。
3. 修改前阅读受影响代码和附近测试。
4. 只修改与评论绑定的文件。不要回滚无关改动,也不要格式化未触碰文件。
5. 运行有针对性的验证,并记录命令和结果。
6. 起草 reviewer 回复说明,把每组评论映射到变更、无需修改的理由或剩余问题。
7. 如果评论冲突,停止并询问哪个 reviewer 指令优先。
## 输出契约
- comment_groups
- patch_summary
- files_changed
- verification
- reviewer_response_notes
- unresolved_questions
- unrelated_changes_preserved</code></pre>
<h3>输出评测用例</h3>
<p>1. 评论要求添加特定 null check:输出必须只修改受影响函数,并提到测试。</p>
<p>2. Reviewer 要求与 PR 范围无关的大重构:输出应标出范围风险。</p>
<p>3. Dirty worktree 中有无关用户文件:输出必须保留它。</p>
<p>4. 两个 reviewer comments 冲突:输出必须询问优先级,而不是猜。</p>
<p>5. 近邻请求:“从零 review 这个 PR”不应触发 follow-up mode。</p>
<h3>门禁</h3>
<ul>
<li>触发评测必须区分首次 review 和评论跟进。</li>
<li>如果回滚或隐藏无关改动,输出评测必须失败。</li>
<li>验证策略必须记录跳过测试的原因。</li>
<li>回复说明必须能追溯到评论分组。</li>
</ul>
</div>
</section>
</div>
<section class="review-box">
<h2>你的判断</h2>
<p class="note">只根据评审标准和页面里可见的两个输出做判断。选择会保存到当前浏览器的本地存储里,也可以回到入口页导出。</p>
<div class="controls" role="radiogroup" aria-label="胜出方案">
<label><input type="radio" name="winner" value="A"> 方案 A 更好</label>
<label><input type="radio" name="winner" value="B"> 方案 B 更好</label>
<label><input type="radio" name="winner" value="tie"> 平局 / 没有明显胜出</label>
</div>
<label for="confidence">信心程度</label>
<div class="controls">
<select id="confidence">
<option value="">请选择</option>
<option value="0.4">0.4,较弱</option>
<option value="0.6">0.6,中等</option>
<option value="0.8">0.8,较强</option>
<option value="1.0">1.0,非常确定</option>
</select>
</div>
<label for="reason">理由</label>
<textarea id="reason" placeholder="为什么这个方案更好?请写出具体的评审标准差异。"></textarea>
<div class="controls">
<button class="primary" type="button" onclick="saveDecision()">保存判断</button>
<button type="button" onclick="clearDecision()">清空</button>
</div>
<p id="save-status" class="small note"></p>
</section>
</main>
<script>
const caseId = document.body.dataset.caseId;
const key = "blindSkillReview:" + caseId;
function currentDecision() {
const selected = document.querySelector('input[name="winner"]:checked');
return {
case_id: caseId,
winner_variant: selected ? selected.value : "",
confidence: document.getElementById("confidence").value,
reason: document.getElementById("reason").value.trim(),
reviewed_at: new Date().toISOString()
};
}
function saveDecision() {
const decision = currentDecision();
localStorage.setItem(key, JSON.stringify(decision));
document.getElementById("save-status").textContent = "已保存:" + decision.reviewed_at;
}
function clearDecision() {
localStorage.removeItem(key);
document.querySelectorAll('input[name="winner"]').forEach(el => el.checked = false);
document.getElementById("confidence").value = "";
document.getElementById("reason").value = "";
document.getElementById("save-status").textContent = "已清空。";
}
function loadDecision() {
const raw = localStorage.getItem(key);
if (!raw) return;
const decision = JSON.parse(raw);
const selected = document.querySelector('input[name="winner"][value="' + decision.winner_variant + '"]');
if (selected) selected.checked = true;
document.getElementById("confidence").value = decision.confidence || "";
document.getElementById("reason").value = decision.reason || "";
document.getElementById("save-status").textContent = "已加载保存过的判断。";
}
loadDecision();
</script>
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,220 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>人工盲测评审包 - Meta Skill 对比</title>
<style>
:root {
color-scheme: light;
--bg: #f7f8fb;
--panel: #ffffff;
--ink: #20242c;
--muted: #687082;
--line: #d9deea;
--accent: #2563eb;
--accent-2: #0f766e;
--warn: #b45309;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--ink);
line-height: 1.55;
}
header {
padding: 28px clamp(18px, 4vw, 52px) 18px;
background: #ffffff;
border-bottom: 1px solid var(--line);
}
main { padding: 24px clamp(18px, 4vw, 52px) 52px; }
h1 { margin: 0 0 8px; font-size: clamp(26px, 3vw, 38px); letter-spacing: 0; }
h2 { margin: 0 0 12px; font-size: 20px; }
h3 { margin: 18px 0 8px; font-size: 16px; }
p { margin: 0 0 10px; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.meta, .note { color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.card, .panel {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 18px;
}
.case-list { display: grid; gap: 12px; margin-top: 18px; }
.case-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 12px;
align-items: center;
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
padding: 14px 16px;
}
.badge {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 4px 10px;
border-radius: 999px;
background: #e8f0ff;
color: #1d4ed8;
font-size: 13px;
font-weight: 650;
}
.rubric { margin: 0; padding-left: 20px; }
.rubric li { margin-bottom: 6px; }
.variant {
background: var(--panel);
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
}
.variant-head {
display: flex;
justify-content: space-between;
gap: 12px;
align-items: center;
padding: 12px 16px;
border-bottom: 1px solid var(--line);
background: #f2f5fa;
}
.variant-body { padding: 16px; }
pre {
overflow: auto;
padding: 12px;
border-radius: 6px;
background: #111827;
color: #f9fafb;
font-size: 13px;
}
code { font-family: "SFMono-Regular", Consolas, monospace; }
.review-box {
margin-top: 18px;
border: 1px solid var(--line);
border-radius: 8px;
padding: 16px;
background: #fff;
}
.controls { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
button, .button {
border: 1px solid var(--line);
border-radius: 6px;
background: #fff;
color: var(--ink);
min-height: 36px;
padding: 7px 12px;
cursor: pointer;
font-weight: 650;
}
button.primary, .button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
textarea {
width: 100%;
min-height: 96px;
resize: vertical;
border: 1px solid var(--line);
border-radius: 6px;
padding: 10px;
font: inherit;
}
.warn { color: var(--warn); font-weight: 650; }
.split { display: flex; flex-wrap: wrap; gap: 10px; }
.small { font-size: 13px; }
@media (max-width: 900px) {
.grid { grid-template-columns: 1fr; }
.case-row { grid-template-columns: 1fr; }
}
</style>
</head>
<body>
<header>
<h1>人工盲测评审包</h1>
<p class="meta">5 个真实常见的 skill 创建场景。打开答案钥匙前,方案来源都会保持隐藏。</p>
</header>
<main>
<section class="panel">
<h2>评审说明</h2>
<p>依次打开每个案例,按评审标准比较方案 A 和方案 B,保存胜出方案和理由,然后回到这里导出判断结果。5 个判断全部保存前,不要打开 <code>DO_NOT_OPEN_answer_key.html</code><code>DO_NOT_OPEN_answer_key.json</code></p>
<p class="warn">证据边界:这些输出是 Codex 在本地套用两份 skill 说明生成的,适合做人类盲测评审,但不能冒充 provider-backed 的独立模型执行证据。</p>
<div class="controls">
<button class="primary" type="button" onclick="exportDecisions()">导出已保存判断</button>
<a class="button" href="review-decisions-template.json">判断模板</a>
<a class="button" href="blind-pack.json">盲测包 JSON</a>
</div>
<textarea id="export" placeholder="导出的判断结果会显示在这里。"></textarea>
</section>
<section class="case-list">
<div class="case-row">
<div>
<div class="badge">案例 1</div>
<h2 style="margin-top:10px">客服工单分诊 Skill</h2>
<p class="meta">一个 B2B SaaS 团队每天都要处理客户工单:判断分类、紧急程度、起草首轮回复,并把账务、安全、故障类问题升级给对应负责人。他们希望把这个重复流程做成一个给支持团队使用的 Codex skill。</p>
</div>
<a class="button primary" href="case-01-support-triage.html">打开报告</a>
</div>
<div class="case-row">
<div>
<div class="badge">案例 2</div>
<h2 style="margin-top:10px">月度收入对账 Skill</h2>
<p class="meta">一个财务运营团队每个月结账前都要比对 Stripe 导出、数据仓库发票 CSV 和人工调整表,找出金额、币种、发票和调整项的不一致。</p>
</div>
<a class="button primary" href="case-02-monthly-revenue-reconciliation.html">打开报告</a>
</div>
<div class="case-row">
<div>
<div class="badge">案例 3</div>
<h2 style="margin-top:10px">Webinar 内容复用 Skill</h2>
<p class="meta">一个市场团队经常把 webinar 逐字稿改写成 LinkedIn 帖子、邮件 teaser 和 newsletter 段落,同时必须保证所有说法都有来源,并避开禁止宣传的 claim。</p>
</div>
<a class="button primary" href="case-03-webinar-repurposing.html">打开报告</a>
</div>
<div class="case-row">
<div>
<div class="badge">案例 4</div>
<h2 style="margin-top:10px">故障复盘 Skill</h2>
<p class="meta">一个基础设施团队经常把 Slack 故障时间线、告警数据和部署记录整理成故障复盘和后续行动项。</p>
</div>
<a class="button primary" href="case-04-incident-postmortem.html">打开报告</a>
</div>
<div class="case-row">
<div>
<div class="badge">案例 5</div>
<h2 style="margin-top:10px">PR Review 跟进 Skill</h2>
<p class="meta">一个小工程团队经常收到 GitHub PR review comments,希望 Codex 能把评论转成补丁、回复摘要和验证记录。</p>
</div>
<a class="button primary" href="case-05-pr-review-followup.html">打开报告</a>
</div>
</section>
</main>
<script>
const caseIds = ["case-01-support-triage", "case-02-monthly-revenue-reconciliation", "case-03-webinar-repurposing", "case-04-incident-postmortem", "case-05-pr-review-followup"];
function exportDecisions() {
const decisions = caseIds.map(id => {
const raw = localStorage.getItem("blindSkillReview:" + id);
return raw ? JSON.parse(raw) : { case_id: id, winner_variant: "", confidence: "", reason: "", reviewed_at: "" };
});
const payload = {
schema_version: "1.0",
review_pack: "blind-human-review-2026-06-29",
reviewer: "",
blind_review_attestation: {
answer_key_not_opened_before_decisions: false,
completed_before_answer_key: false
},
decisions
};
document.getElementById("export").value = JSON.stringify(payload, null, 2);
}
</script>
</body>
</html>
@@ -0,0 +1,42 @@
{
"schema_version": "1.0",
"review_pack": "blind-human-review-2026-06-29",
"reviewer": "",
"reviewed_at": "",
"blind_review_attestation": {
"answer_key_not_opened_before_decisions": false,
"completed_before_answer_key": false
},
"decisions": [
{
"case_id": "case-01-support-triage",
"winner_variant": "",
"confidence": "",
"reason": ""
},
{
"case_id": "case-02-monthly-revenue-reconciliation",
"winner_variant": "",
"confidence": "",
"reason": ""
},
{
"case_id": "case-03-webinar-repurposing",
"winner_variant": "",
"confidence": "",
"reason": ""
},
{
"case_id": "case-04-incident-postmortem",
"winner_variant": "",
"confidence": "",
"reason": ""
},
{
"case_id": "case-05-pr-review-followup",
"winner_variant": "",
"confidence": "",
"reason": ""
}
]
}
@@ -0,0 +1,55 @@
{
"schema_version": "1.0",
"review_pack": "blind-human-review-2026-06-29",
"reviewer": "single human reviewer",
"reviewed_at": "2026-06-29T03:01:03.037Z",
"recorded_at": "2026-06-29T03:04:34Z",
"blind_review_attestation": {
"answer_key_not_opened_before_decisions": true,
"completed_before_answer_key": true,
"attestation_source": "User confirmed in chat after decisions were submitted: 确认:我是在完成五个判断之后才让你打开答案钥匙的,评审前没有看来源。以上 5 个判断都是揭晓来源前完成的。"
},
"limitations": {
"reviewer_count": 1,
"reasons_present": false,
"reason_gap": "The reviewer selected winners with confidence 1.0, but per-case rationale fields were left empty.",
"execution_boundary": "Outputs were generated locally from two skill instruction files. This is human blind A/B review evidence, not provider-backed independent model execution evidence."
},
"decisions": [
{
"case_id": "case-01-support-triage",
"winner_variant": "B",
"confidence": "1.0",
"reason": "",
"reviewed_at": "2026-06-29T03:00:00.994Z"
},
{
"case_id": "case-02-monthly-revenue-reconciliation",
"winner_variant": "A",
"confidence": "1.0",
"reason": "",
"reviewed_at": "2026-06-29T03:00:18.277Z"
},
{
"case_id": "case-03-webinar-repurposing",
"winner_variant": "B",
"confidence": "1.0",
"reason": "",
"reviewed_at": "2026-06-29T03:00:34.343Z"
},
{
"case_id": "case-04-incident-postmortem",
"winner_variant": "A",
"confidence": "1.0",
"reason": "",
"reviewed_at": "2026-06-29T03:00:49.160Z"
},
{
"case_id": "case-05-pr-review-followup",
"winner_variant": "B",
"confidence": "1.0",
"reason": "",
"reviewed_at": "2026-06-29T03:01:03.037Z"
}
]
}
+32 -32
View File
@@ -3,9 +3,9 @@
{
"name": "yao-meta-skill",
"winner_label": "Current",
"winner_description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"winner_tokens": 53,
"current_tokens": 53,
"winner_description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"winner_tokens": 54,
"current_tokens": 54,
"winner_holdout_fp": 0,
"winner_holdout_fn": 0,
"current_holdout_fp": 0,
@@ -36,44 +36,44 @@
"calibration": {
"holdout": {
"threshold": 0.33,
"mean_positive_score": 0.908,
"mean_non_trigger_score": 0.003,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.767,
"max_non_trigger_score": 0.023,
"score_gap": 0.744,
"threshold_margin": 0.307,
"positive_threshold_buffer": 0.437,
"negative_threshold_buffer": 0.307,
"mean_positive_score": 0.704,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 0.465,
"max_non_trigger_score": 0.0,
"score_gap": 0.465,
"threshold_margin": 0.135,
"positive_threshold_buffer": 0.135,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
"risk_band": "healthy"
},
"blind_holdout": {
"threshold": 0.33,
"mean_positive_score": 0.669,
"mean_non_trigger_score": 0.116,
"mean_near_neighbor_score": 0.152,
"min_positive_score": 0.665,
"max_non_trigger_score": 0.305,
"score_gap": 0.36,
"threshold_margin": 0.025,
"positive_threshold_buffer": 0.335,
"negative_threshold_buffer": 0.025,
"boundary_case_count": 1,
"boundary_case_rate": 0.167,
"risk_band": "tight"
"mean_positive_score": 0.377,
"mean_non_trigger_score": 0.024,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.374,
"max_non_trigger_score": 0.084,
"score_gap": 0.29,
"threshold_margin": 0.044,
"positive_threshold_buffer": 0.044,
"negative_threshold_buffer": 0.246,
"boundary_case_count": 2,
"boundary_case_rate": 0.333,
"risk_band": "watch"
},
"adversarial_holdout": {
"threshold": 0.33,
"mean_positive_score": 1.0,
"mean_positive_score": 0.81,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 1.0,
"min_positive_score": 0.808,
"max_non_trigger_score": 0.0,
"score_gap": 1.0,
"score_gap": 0.808,
"threshold_margin": 0.33,
"positive_threshold_buffer": 0.67,
"positive_threshold_buffer": 0.478,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
@@ -164,7 +164,7 @@
"route_metrics": {
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.701,
"average_margin": 0.644,
"misroute_count": 0,
"ambiguous_case_count": 0
}
@@ -187,8 +187,8 @@
"label": "Current",
"ranking_state": "selected_by_dev",
"promotion_state": "kept_current",
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"tokens": 53,
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"tokens": 54,
"dev_errors": 0,
"holdout_errors": 0,
"reason_tags": []
@@ -696,7 +696,7 @@
"route_metrics": {
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.586,
"average_margin": 0.709,
"misroute_count": 0,
"ambiguous_case_count": 0
}
+1 -1
View File
@@ -3,7 +3,7 @@
| Target | Role | Label | Ranking State | Promotion State | Tokens | Dev Errors | Holdout Errors | Reason Tags |
| --- | --- | --- | --- | --- | ---: | ---: | ---: | --- |
| `yao-meta-skill` | baseline | `Baseline` | reference | reference | 8 | 1 | 0 | - |
| `yao-meta-skill` | current | `Current` | selected_by_dev | kept_current | 53 | 0 | 0 | - |
| `yao-meta-skill` | current | `Current` | selected_by_dev | kept_current | 54 | 0 | 0 | - |
| `yao-meta-skill` | candidate | `Minimal` | not_selected | blocked | 41 | 2 | 0 | weaker_dev_fit |
| `yao-meta-skill` | candidate | `Guardrail` | not_selected | blocked | 56 | 2 | 0 | weaker_dev_fit, longer_without_gain |
| `yao-meta-skill` | candidate | `Balanced` | not_selected | blocked | 60 | 2 | 0 | weaker_dev_fit, longer_without_gain |
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -5,17 +5,17 @@
"stats": {
"context_budget_tier": "production",
"context_budget_limit": 1000,
"skill_body_tokens": 805,
"other_text_tokens": 1156781,
"estimated_initial_load_tokens": 998,
"estimated_total_text_tokens": 1157586,
"deferred_resource_tokens": 525864,
"skill_body_tokens": 794,
"other_text_tokens": 1200569,
"estimated_initial_load_tokens": 987,
"estimated_total_text_tokens": 1201363,
"deferred_resource_tokens": 531767,
"deferred_resource_warn_threshold": 120000,
"deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
},
{
"path": "references",
@@ -24,7 +24,7 @@
},
{
"path": "evals",
"estimated_tokens": 21835,
"estimated_tokens": 22731,
"file_count": 27
},
{
@@ -36,8 +36,8 @@
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
}
],
"deferred_resource_governance": {
@@ -59,16 +59,16 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153,
"estimated_tokens": 469568,
"file_count": 155,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
],
"summary": "Large deferred resources are indexed and backed by evidence."
},
"relevant_file_count": 712,
"relevant_file_count": 591,
"unused_resource_dirs": [],
"quality_signal_points": 140,
"quality_density": 140.3
"quality_density": 141.8
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
| Target | Path | Tier | Limit | Initial | SKILL | Deferred | Resource Governance | Large Deferred Dirs | Quality Density | Unused Dirs | Status |
| --- | --- | --- | ---: | ---: | ---: | ---: | --- | --- | ---: | --- | --- |
| root | `.` | `production` | 1000 | 998 | 805 | 525864 | `governed` | scripts:464561 | 140.3 | - | ok |
| root | `.` | `production` | 1000 | 987 | 794 | 531767 | `governed` | scripts:469568 | 141.8 | - | ok |
| complex-release-orchestrator | `examples/complex-release-orchestrator/generated-skill` | `production` | 1000 | 790 | 718 | 1657 | `not-required` | - | 164.6 | - | ok |
| governed-incident-command | `examples/governed-incident-command/generated-skill` | `production` | 1000 | 760 | 658 | 1030 | `not-required` | - | 171.1 | - | ok |
+8 -8
View File
@@ -6,14 +6,14 @@
"path": ".",
"budget_tier": "production",
"budget_limit": 1000,
"initial_tokens": 998,
"skill_body_tokens": 805,
"deferred_resource_tokens": 525864,
"initial_tokens": 987,
"skill_body_tokens": 794,
"deferred_resource_tokens": 531767,
"large_deferred_resource_dirs": [
{
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153
"estimated_tokens": 469568,
"file_count": 155
}
],
"deferred_resource_governance": {
@@ -35,14 +35,14 @@
],
"missing": [],
"path": "scripts",
"estimated_tokens": 464561,
"file_count": 153,
"estimated_tokens": 469568,
"file_count": 155,
"rationale": "Script resources are deterministic deferred tools, not initial-load prompt context."
}
],
"summary": "Large deferred resources are indexed and backed by evidence."
},
"quality_density": 140.3,
"quality_density": 141.8,
"unused_resource_dirs": [],
"ok": true,
"warnings": []
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -2,19 +2,19 @@
Winner: `Current`
- current tokens: `53`
- winner tokens: `53`
- current tokens: `54`
- winner tokens: `54`
- baseline tokens: `8`
## Winner
Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
## Candidate Ranking
| Candidate | Tokens | Dev FP | Dev FN | Dev Near | Holdout FP | Holdout FN |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `Current` | 53 | 0 | 0 | 1.0 | 0 | 0 |
| `Current` | 54 | 0 | 0 | 1.0 | 0 | 0 |
| `Minimal` | 41 | 1 | 1 | 1.0 | 0 | 0 |
| `Guardrail` | 56 | 1 | 1 | 1.0 | 0 | 0 |
| `Balanced` | 60 | 1 | 1 | 1.0 | 0 | 0 |
@@ -34,9 +34,9 @@ Create, refactor, evaluate, and package agent skills from workflows, prompts, tr
| Gate | Winner Gap | Winner Risk | Winner Boundary Rate | Current Gap | Baseline Gap |
| --- | ---: | --- | ---: | ---: | ---: |
| Holdout | 0.744 | healthy | 0.0 | 0.744 | 0.416 |
| Blind Holdout | 0.36 | tight | 0.167 | 0.36 | 0.368 |
| Adversarial Holdout | 1.0 | healthy | 0.0 | 1.0 | 0.845 |
| Holdout | 0.465 | healthy | 0.0 | 0.465 | 0.416 |
| Blind Holdout | 0.29 | watch | 0.333 | 0.29 | 0.368 |
| Adversarial Holdout | 0.808 | healthy | 0.0 | 0.808 | 0.845 |
## Judge Blind Summary
+28 -28
View File
@@ -3,9 +3,9 @@
{
"name": "yao-meta-skill",
"winner_label": "Current",
"winner_description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"winner_tokens": 53,
"current_tokens": 53,
"winner_description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"winner_tokens": 54,
"current_tokens": 54,
"winner_holdout_fp": 0,
"winner_holdout_fn": 0,
"current_holdout_fp": 0,
@@ -36,44 +36,44 @@
"calibration": {
"holdout": {
"threshold": 0.33,
"mean_positive_score": 0.908,
"mean_non_trigger_score": 0.003,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.767,
"max_non_trigger_score": 0.023,
"score_gap": 0.744,
"threshold_margin": 0.307,
"positive_threshold_buffer": 0.437,
"negative_threshold_buffer": 0.307,
"mean_positive_score": 0.704,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 0.465,
"max_non_trigger_score": 0.0,
"score_gap": 0.465,
"threshold_margin": 0.135,
"positive_threshold_buffer": 0.135,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
"risk_band": "healthy"
},
"blind_holdout": {
"threshold": 0.33,
"mean_positive_score": 0.669,
"mean_non_trigger_score": 0.116,
"mean_near_neighbor_score": 0.152,
"min_positive_score": 0.665,
"max_non_trigger_score": 0.305,
"score_gap": 0.36,
"threshold_margin": 0.025,
"positive_threshold_buffer": 0.335,
"negative_threshold_buffer": 0.025,
"boundary_case_count": 1,
"boundary_case_rate": 0.167,
"risk_band": "tight"
"mean_positive_score": 0.377,
"mean_non_trigger_score": 0.024,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.374,
"max_non_trigger_score": 0.084,
"score_gap": 0.29,
"threshold_margin": 0.044,
"positive_threshold_buffer": 0.044,
"negative_threshold_buffer": 0.246,
"boundary_case_count": 2,
"boundary_case_rate": 0.333,
"risk_band": "watch"
},
"adversarial_holdout": {
"threshold": 0.33,
"mean_positive_score": 1.0,
"mean_positive_score": 0.81,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 1.0,
"min_positive_score": 0.808,
"max_non_trigger_score": 0.0,
"score_gap": 1.0,
"score_gap": 0.808,
"threshold_margin": 0.33,
"positive_threshold_buffer": 0.67,
"positive_threshold_buffer": 0.478,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
+1 -1
View File
@@ -2,7 +2,7 @@
| Target | Winner | Winner Tokens | Holdout FP | Holdout FN | Blind FP | Blind FN | Judge Blind Errors | Adv FP | Adv FN | Adv Gap | Adv Risk | Status |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- | --- |
| `yao-meta-skill` | `Current` | 53 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1.0 | healthy | ok |
| `yao-meta-skill` | `Current` | 54 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.808 | healthy | ok |
| `team-frontend-review` | `Current` | 50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.509 | healthy | ok |
| `governed-incident-command` | `Current` | 37 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.538 | watch | ok |
+328 -297
View File
File diff suppressed because it is too large Load Diff
+152 -154
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-07-02",
"skill_dir": ".",
"summary": {
"check_count": 39,
@@ -324,12 +324,12 @@
"status": "pass",
"expected": {
"status": "pass",
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
"detail": "initial load 987/1000; deferred 531767/120000; top deferred scripts 469568; resource governance governed; quality density 141.8",
"evidence": "reports/context_budget.json"
},
"actual": {
"status": "pass",
"detail": "initial load 998/1000; deferred 525864/120000; top deferred scripts 464561; resource governance governed; quality density 140.3",
"detail": "initial load 987/1000; deferred 531767/120000; top deferred scripts 469568; resource governance governed; quality density 141.8",
"evidence": "reports/context_budget.json"
},
"paths": [
@@ -342,8 +342,8 @@
"key": "benchmark-release-lock-self-consistency",
"label": "Benchmark release lock matches source dirty state",
"status": "pass",
"expected": true,
"actual": true,
"expected": false,
"actual": false,
"paths": [
"reports/benchmark_reproducibility.json"
],
@@ -357,7 +357,7 @@
"actual": {
"available": true,
"clean": false,
"changed_file_count": 27
"changed_file_count": 39
},
"paths": [
"reports/benchmark_reproducibility.json"
@@ -398,8 +398,8 @@
"key": "overview-benchmark-commit",
"label": "overview embeds the benchmark commit",
"status": "pass",
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"expected": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"actual": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-overview.json"
@@ -411,36 +411,36 @@
"label": "overview embeds benchmark summary fields",
"status": "pass",
"expected": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "b5cfa61c532d9ecd55d4d3a91aaf249bab0393251319a0f391422edb07a9e658",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3
"public_claim_blocker_count": 4
},
"actual": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "b5cfa61c532d9ecd55d4d3a91aaf249bab0393251319a0f391422edb07a9e658",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3
"public_claim_blocker_count": 4
},
"paths": [
"reports/benchmark_reproducibility.json",
@@ -454,13 +454,13 @@
"status": "pass",
"expected": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -468,13 +468,13 @@
},
"actual": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -497,8 +497,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -509,8 +509,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -530,7 +530,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"actual": {
"ready": false,
@@ -538,7 +538,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"paths": [
"reports/world_class_evidence_ledger.json",
@@ -550,8 +550,8 @@
"key": "interpretation-benchmark-commit",
"label": "interpretation embeds the benchmark commit",
"status": "pass",
"expected": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"actual": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"expected": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"actual": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"paths": [
"reports/benchmark_reproducibility.json",
"reports/skill-interpretation.json"
@@ -563,36 +563,36 @@
"label": "interpretation embeds benchmark summary fields",
"status": "pass",
"expected": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "b5cfa61c532d9ecd55d4d3a91aaf249bab0393251319a0f391422edb07a9e658",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3
"public_claim_blocker_count": 4
},
"actual": {
"release_lock_ready": true,
"release_lock_ready": false,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"source_contract_sha256": "b5cfa61c532d9ecd55d4d3a91aaf249bab0393251319a0f391422edb07a9e658",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3
"public_claim_blocker_count": 4
},
"paths": [
"reports/benchmark_reproducibility.json",
@@ -606,13 +606,13 @@
"status": "pass",
"expected": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -620,13 +620,13 @@
},
"actual": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_rate": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"adoption_rate": 100.0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"source_types": {
"manual": 1
@@ -649,8 +649,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -661,8 +661,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"decision": "evidence-pending"
},
@@ -682,7 +682,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"actual": {
"ready": false,
@@ -690,7 +690,7 @@
"pending_count": 4,
"accepted_count": 0,
"source_check_count": 19,
"source_pass_count": 11
"source_pass_count": 12
},
"paths": [
"reports/world_class_evidence_ledger.json",
@@ -739,7 +739,7 @@
"label": "可维护性",
"score": 100,
"reasons": [
"SKILL.md 约 339 个词/字。",
"SKILL.md 约 314 个词/字。",
"入口文件保持克制,可维护性较好。",
"references/ 已承载扩展指导。",
"scripts/ 已承载确定性逻辑。",
@@ -760,7 +760,7 @@
"label": "上下文成本",
"score": 42,
"reasons": [
"入口约 339 个词/字,references 约 16934 个词/字。",
"入口约 314 个词/字,references 约 16934 个词/字。",
"分数越高代表上下文成本越低。",
"上下文成本偏高,建议压缩入口或拆分 references。"
]
@@ -803,7 +803,7 @@
"label": "可维护性",
"score": 100,
"reasons": [
"SKILL.md 约 339 个词/字。",
"SKILL.md 约 314 个词/字。",
"入口文件保持克制,可维护性较好。",
"references/ 已承载扩展指导。",
"scripts/ 已承载确定性逻辑。",
@@ -824,7 +824,7 @@
"label": "上下文成本",
"score": 42,
"reasons": [
"入口约 339 个词/字,references 约 16934 个词/字。",
"入口约 314 个词/字,references 约 16934 个词/字。",
"分数越高代表上下文成本越低。",
"上下文成本偏高,建议压缩入口或拆分 references。"
]
@@ -954,7 +954,7 @@
"status": "pass",
"expected": {
"trigger": {
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -982,7 +982,7 @@
"boundary_cards": [
{
"label": "Owned",
"body": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"body": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
},
{
"label": "Adjacent",
@@ -996,7 +996,7 @@
},
"actual": {
"trigger": {
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -1024,7 +1024,7 @@
"boundary_cards": [
{
"label": "Owned",
"body": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"body": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
},
{
"label": "Adjacent",
@@ -1056,7 +1056,7 @@
"已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
],
"gaps": [
"上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。"
"上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。"
],
"recommendations": [
"先改触发边界,再扩展工作流。",
@@ -1104,7 +1104,7 @@
"已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
],
"gaps": [
"上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。"
"上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。"
],
"recommendations": [
"先改触发边界,再扩展工作流。",
@@ -1179,7 +1179,7 @@
"name": "包体膨胀风险",
"impact": 2,
"probability": 1,
"signal": "SKILL.md 约 339 个词/字。",
"signal": "SKILL.md 约 314 个词/字。",
"response": "先补证据和边界,再增加包体复杂度。"
},
{
@@ -1338,7 +1338,7 @@
"name": "包体膨胀风险",
"impact": 2,
"probability": 1,
"signal": "SKILL.md 约 339 个词/字。",
"signal": "SKILL.md 约 314 个词/字。",
"response": "先补证据和边界,再增加包体复杂度。"
},
{
@@ -1489,7 +1489,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -1546,8 +1546,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -1561,7 +1560,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -1618,8 +1617,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -1670,7 +1668,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -1682,10 +1680,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"file_count": 456,
"file_count": 393,
"folder_count": 4,
"distribution": [
{
@@ -1710,7 +1708,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -1718,7 +1716,7 @@
},
{
"label": "reports",
"value": 235
"value": 170
}
]
},
@@ -1758,7 +1756,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -1770,10 +1768,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"file_count": 456,
"file_count": 393,
"folder_count": 4,
"distribution": [
{
@@ -1798,7 +1796,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -1806,7 +1804,7 @@
},
{
"label": "reports",
"value": 235
"value": 170
}
]
},
@@ -1969,15 +1967,15 @@
"expected": {
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"public_claim_ready": false
},
"actual": {
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"public_claim_ready": false
},
"paths": [
@@ -1991,10 +1989,10 @@
"label": "Benchmark separates beta testing from public claims",
"status": "pass",
"expected": {
"beta_test_ready": true,
"beta_test_ready": false,
"public_claim_ready": false,
"human_review_complete": false,
"beta_release_ready": true,
"beta_release_ready": false,
"beta_release_scope": "beta/public test release without superiority, fully-reviewed, or world-class claims",
"deferred_evidence_keys": [
"human-adjudication",
@@ -2005,10 +2003,10 @@
"deferred_human_review": true
},
"actual": {
"beta_test_ready": true,
"beta_test_ready": false,
"public_claim_ready": false,
"human_review_complete": false,
"beta_release_ready": true,
"beta_release_ready": false,
"beta_release_scope": "beta/public test release without superiority, fully-reviewed, or world-class claims",
"deferred_evidence_keys": [
"human-adjudication",
@@ -2031,8 +2029,8 @@
"expected": {
"pending_count": 4,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"preflight_counts_as_evidence": false,
"credential_value_exposed": false
@@ -2040,8 +2038,8 @@
"actual": {
"pending_count": 4,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"ready_to_claim_world_class": false,
"preflight_counts_as_evidence": false,
"credential_value_exposed": false
@@ -2218,7 +2216,7 @@
"summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2251,8 +2249,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2376,15 +2374,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2394,7 +2392,7 @@
"operator_runbook_summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2427,8 +2425,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2552,15 +2550,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2674,15 +2672,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -2693,7 +2691,7 @@
"summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2726,8 +2724,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2746,7 +2744,7 @@
"operator_runbook_summary": {
"phase_queue_count": 2,
"phase_queue_blocked_count": 2,
"phase_queue_row_count": 12,
"phase_queue_row_count": 11,
"phase_queue_next_phase": "unblock-access",
"phase_queue_next_action_id": "human-adjudication-precheck-human-reviewer",
"phase_queue_next_command": "python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
@@ -2779,8 +2777,8 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 8,
"row_count": 8,
"blocked_count": 7,
"row_count": 7,
"owners": [
"Browser/Chrome/IDE/provider client integrator",
"human reviewer",
@@ -2904,15 +2902,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3026,15 +3024,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3148,15 +3146,15 @@
"phase": "collect-source",
"priority": 40,
"status": "blocked",
"blocked_count": 2,
"row_count": 2,
"blocked_count": 1,
"row_count": 1,
"owners": [
"Browser/Chrome/IDE/provider client integrator"
],
"evidence_keys": [
"native-client-telemetry"
],
"next_action_id": "native-client-telemetry-source-check-adoption_sample_count",
"next_action_id": "native-client-telemetry-source-check-external_source_events",
"verification_command": "python3 scripts/yao.py telemetry-import . --input-jsonl .yao/telemetry_spool/external_events.jsonl && python3 scripts/yao.py world-class-preflight . --submissions-dir evidence/world_class/submissions",
"counts_as_completion": false
}
@@ -3256,8 +3254,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"plan_keys": [
"human-adjudication",
"native-client-telemetry",
@@ -3414,8 +3412,8 @@
"human_pending_count": 1,
"external_pending_count": 3,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"plan_keys": [
"human-adjudication",
"native-client-telemetry",
@@ -3579,16 +3577,16 @@
"score `91`",
"`16` gates",
"`3` warnings",
"`67` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `153` scripts",
"`689` zip entries",
"archive with `689` entries",
"`69` declared internal modules",
"`86 / 86` CLI help smoke checks passing across `155` scripts",
"`580` zip entries",
"archive with `580` entries",
"`12` installer permission checks enforced",
"`0` permission failures",
"`25` required artifacts",
"`23` reproduction commands",
"initial load `998/1000`",
"target count is `82`"
"initial load `987/1000`",
"target count is `83`"
],
"actual": "all present",
"paths": [
+1 -1
View File
@@ -1,6 +1,6 @@
# Evidence Consistency
Generated at: `2026-06-17`
Generated at: `2026-07-02`
## Summary
+7 -1
View File
@@ -8,7 +8,8 @@
"installed_skill_dir": "tests/tmp_review_studio/install-root/simulate-yao-meta-skill/yao-meta-skill",
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 598,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -33,6 +34,11 @@
"status": "pass",
"detail": "Archive has no absolute or parent-traversal entries"
},
{
"id": "single-skill-entrypoint",
"status": "pass",
"detail": "Installed package exposes only the root SKILL.md entrypoint"
},
{
"id": "single-top-level",
"status": "pass",
+2
View File
@@ -3,6 +3,7 @@
- OK: `True`
- Package directory: `tests/tmp_review_studio/dist`
- Archive extracted: `True`
- Nested SKILL.md entries: `0`
- Entrypoint loaded: `True`
- Manifest loaded: `True`
- Interface loaded: `True`
@@ -18,6 +19,7 @@
| --- | --- | --- |
| `archive-present` | `pass` | Package archive exists: tests/tmp_review_studio/dist/yao-meta-skill.zip |
| `archive-safe-paths` | `pass` | Archive has no absolute or parent-traversal entries |
| `single-skill-entrypoint` | `pass` | Installed package exposes only the root SKILL.md entrypoint |
| `single-top-level` | `pass` | Archive top-level directory is yao-meta-skill |
| `entrypoint-load` | `pass` | Installed SKILL.md frontmatter is readable |
| `entrypoint-name` | `pass` | Installed SKILL.md name matches package directory |
@@ -35,8 +35,8 @@
"label": "Current",
"ranking_state": "selected_by_dev",
"promotion_state": "kept_current",
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"tokens": 53,
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"tokens": 54,
"dev_errors": 0,
"holdout_errors": 0,
"reason_tags": []
@@ -118,8 +118,8 @@
],
"review_template": {
"target": "yao-meta-skill",
"current_description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"candidate_description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"current_description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"candidate_description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"focus": [
"no_candidate_outperformed_current"
]
@@ -27,7 +27,7 @@
| Role | Label | Ranking State | Promotion State | Tokens | Dev Errors | Holdout Errors |
| --- | --- | --- | --- | ---: | ---: | ---: |
| baseline | `Baseline` | reference | reference | 8 | 1 | 0 |
| current | `Current` | selected_by_dev | kept_current | 53 | 0 | 0 |
| current | `Current` | selected_by_dev | kept_current | 54 | 0 | 0 |
| candidate | `Minimal` | not_selected | blocked | 41 | 2 | 0 |
| candidate | `Guardrail` | not_selected | blocked | 56 | 2 | 0 |
| candidate | `Balanced` | not_selected | blocked | 60 | 2 | 0 |
@@ -37,8 +37,8 @@
## Human Review Stub
- target: yao-meta-skill
- current description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
- candidate description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
- current description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
- candidate description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
- review focus: no_candidate_outperformed_current
## Artifact Paths
@@ -1,8 +1,8 @@
# Human Review
- target: yao-meta-skill
- current description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
- candidate description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
- current description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
- candidate description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
- suggested focus: no_candidate_outperformed_current
Use the shared template in `references/human-review-template.md` to complete the final decision.
+2 -2
View File
@@ -43,7 +43,7 @@
| Route | Precision | Recall | Avg Margin |
| --- | ---: | ---: | ---: |
| `yao-meta-skill` | 1.0 | 1.0 | 0.701 |
| `yao-meta-skill` | 1.0 | 1.0 | 0.644 |
| `team-frontend-review` | 1.0 | 1.0 | 0.805 |
| `governed-incident-command` | 1.0 | 1.0 | 0.586 |
| `governed-incident-command` | 1.0 | 1.0 | 0.709 |
| `no_route` | 1.0 | 1.0 | - |
+9 -3
View File
@@ -1,15 +1,16 @@
{
"ok": true,
"schema_version": "2.0",
"generated_at": "2026-06-17",
"generated_at": "2026-06-21",
"skill_dir": ".",
"package_dir": "dist",
"summary": {
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -614,6 +615,11 @@
"status": "pass",
"detail": "Archive contains yao-meta-skill/agents/interface.yaml"
},
{
"id": "archive-single-skill-entrypoint",
"status": "pass",
"detail": "Archive exposes only the root SKILL.md entrypoint"
},
{
"id": "archive-excludes-generated",
"status": "pass",
+3 -1
View File
@@ -4,7 +4,8 @@
- Package directory: `dist`
- Targets: `4 / 4` adapters present
- Archive present: `True`
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
- Nested SKILL.md entries: `0`
- Failures: `0`
- Warnings: `0`
@@ -132,6 +133,7 @@
| `archive-entry-yao-meta-skill/SKILL.md` | `pass` | Archive contains yao-meta-skill/SKILL.md |
| `archive-entry-yao-meta-skill/manifest.json` | `pass` | Archive contains yao-meta-skill/manifest.json |
| `archive-entry-yao-meta-skill/agents/interface.yaml` | `pass` | Archive contains yao-meta-skill/agents/interface.yaml |
| `archive-single-skill-entrypoint` | `pass` | Archive exposes only the root SKILL.md entrypoint |
| `archive-excludes-generated` | `pass` | Archive excludes generated dist/, .previews/, and tests/tmp* contents |
| `registry-ok` | `pass` | Registry audit is OK |
| `registry-name-match` | `pass` | Registry package name matches package manifest |
+32 -32
View File
@@ -9,9 +9,9 @@
{
"name": "yao-meta-skill",
"winner_label": "Current",
"winner_description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"winner_tokens": 53,
"current_tokens": 53,
"winner_description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"winner_tokens": 54,
"current_tokens": 54,
"winner_holdout_fp": 0,
"winner_holdout_fn": 0,
"current_holdout_fp": 0,
@@ -42,44 +42,44 @@
"calibration": {
"holdout": {
"threshold": 0.33,
"mean_positive_score": 0.908,
"mean_non_trigger_score": 0.003,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.767,
"max_non_trigger_score": 0.023,
"score_gap": 0.744,
"threshold_margin": 0.307,
"positive_threshold_buffer": 0.437,
"negative_threshold_buffer": 0.307,
"mean_positive_score": 0.704,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 0.465,
"max_non_trigger_score": 0.0,
"score_gap": 0.465,
"threshold_margin": 0.135,
"positive_threshold_buffer": 0.135,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
"risk_band": "healthy"
},
"blind_holdout": {
"threshold": 0.33,
"mean_positive_score": 0.669,
"mean_non_trigger_score": 0.116,
"mean_near_neighbor_score": 0.152,
"min_positive_score": 0.665,
"max_non_trigger_score": 0.305,
"score_gap": 0.36,
"threshold_margin": 0.025,
"positive_threshold_buffer": 0.335,
"negative_threshold_buffer": 0.025,
"boundary_case_count": 1,
"boundary_case_rate": 0.167,
"risk_band": "tight"
"mean_positive_score": 0.377,
"mean_non_trigger_score": 0.024,
"mean_near_neighbor_score": 0.006,
"min_positive_score": 0.374,
"max_non_trigger_score": 0.084,
"score_gap": 0.29,
"threshold_margin": 0.044,
"positive_threshold_buffer": 0.044,
"negative_threshold_buffer": 0.246,
"boundary_case_count": 2,
"boundary_case_rate": 0.333,
"risk_band": "watch"
},
"adversarial_holdout": {
"threshold": 0.33,
"mean_positive_score": 1.0,
"mean_positive_score": 0.81,
"mean_non_trigger_score": 0.0,
"mean_near_neighbor_score": 0.0,
"min_positive_score": 1.0,
"min_positive_score": 0.808,
"max_non_trigger_score": 0.0,
"score_gap": 1.0,
"score_gap": 0.808,
"threshold_margin": 0.33,
"positive_threshold_buffer": 0.67,
"positive_threshold_buffer": 0.478,
"negative_threshold_buffer": 0.33,
"boundary_case_count": 0,
"boundary_case_rate": 0.0,
@@ -170,7 +170,7 @@
"route_metrics": {
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.701,
"average_margin": 0.644,
"misroute_count": 0,
"ambiguous_case_count": 0
}
@@ -193,8 +193,8 @@
"label": "Current",
"ranking_state": "selected_by_dev",
"promotion_state": "kept_current",
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"tokens": 53,
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"tokens": 54,
"dev_errors": 0,
"holdout_errors": 0,
"reason_tags": []
@@ -702,7 +702,7 @@
"route_metrics": {
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.586,
"average_margin": 0.709,
"misroute_count": 0,
"ambiguous_case_count": 0
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"skill_name": "yao-meta-skill",
"skill_name": "yao-meta-skill-trigger-coverage-merge",
"relevance": "prompt-aware",
"primary_task_family": {
"key": "execution_operation",
+1 -1
View File
@@ -1,6 +1,6 @@
# Prompt Quality Profile
Skill: `yao-meta-skill`
Skill: `yao-meta-skill-trigger-coverage-merge`
Relevance: `prompt-aware`
Overall quality score: `89.0/100`
+21 -3
View File
@@ -1,11 +1,11 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"root": ".",
"summary": {
"target_python": "3.11",
"file_count": 232,
"file_count": 235,
"issue_count": 0,
"syntax_error_count": 0,
"fstring_311_violation_count": 0,
@@ -35,7 +35,7 @@
"issues": []
},
{
"path": "geo-ranking-article-generator/scripts/build_html_index.py",
"path": "reports/blind-human-review-2026-06-29/generate_pack.py",
"ok": true,
"issue_count": 0,
"issues": []
@@ -916,6 +916,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_operator_commands.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_output_commands.py",
"ok": true,
@@ -940,6 +946,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_parser_operator.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "scripts/yao_cli_report_commands.py",
"ok": true,
@@ -1090,6 +1102,12 @@
"issue_count": 0,
"issues": []
},
{
"path": "tests/verify_operator_ux.py",
"ok": true,
"issue_count": 0,
"issues": []
},
{
"path": "tests/verify_output_eval_lab.py",
"ok": true,
+2 -2
View File
@@ -1,12 +1,12 @@
# Python Compatibility
Generated at: `2026-06-17`
Generated at: `2026-06-13`
## Summary
- decision: `pass`
- target python: `3.11`
- files scanned: `232`
- files scanned: `235`
- issues: `0`
- syntax errors: `0`
- f-string 3.11 violations: `0`
+18 -16
View File
@@ -1,6 +1,6 @@
{
"skill_name": "yao-meta-skill",
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"intent_confidence": {
"score": 100,
"band": "high",
@@ -50,39 +50,41 @@
},
{
"source_type": "research",
"name": "Human-in-the-loop verification",
"name": "Hypothesis-test-learn loop",
"evidence_mode": "curated-pattern-track",
"matched_keywords": [
"review",
"govern"
"test",
"iteration"
],
"borrow": "Borrow a review checkpoint wherever trust matters more than raw speed.",
"avoid": "Do not force every skill through heavyweight review when the risk is low.",
"why_relevant": "This track matches: review, govern."
"borrow": "Borrow a small hypothesis-test-learn loop so the first revision is evidence-backed.",
"avoid": "Do not create experimental overhead that exceeds the skill's real risk tier.",
"why_relevant": "This track matches: test, iteration."
},
{
"source_type": "principles",
"name": "Boundary-first design",
"evidence_mode": "curated-pattern-track",
"matched_keywords": [
"route"
"route",
"trigger",
"exclude"
],
"borrow": "Borrow the discipline of defining what the skill should not own before growing the package.",
"avoid": "Do not expand execution assets until route boundaries stay clean.",
"why_relevant": "This track matches: route."
"why_relevant": "This track matches: route, trigger, exclude."
}
],
"synthesis": {
"borrow_now": [
"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 a small hypothesis-test-learn loop so the first revision is evidence-backed.",
"Borrow the discipline of defining what the skill should not own before growing the package.",
"Borrow the way it turns a messy workflow into a repeatable operating path.",
"Borrow the clear execution entrypoints and command structure."
],
"avoid_now": [
"Do not let packaging or platform concerns swallow the core job boundary.",
"Do not force every skill through heavyweight review when the risk is low.",
"Do not create experimental overhead that exceeds the skill's real risk tier.",
"Do not expand execution assets until route boundaries stay clean.",
"Do not import process overhead that only exists for that project's scale.",
"Do not copy repo-specific commands or environment assumptions verbatim."
@@ -118,10 +120,10 @@
"score": 4
},
{
"name": "Human-in-the-loop verification",
"name": "Hypothesis-test-learn loop",
"source_type": "research",
"borrow": "Borrow a review checkpoint wherever trust matters more than raw speed.",
"avoid": "Do not force every skill through heavyweight review when the risk is low.",
"borrow": "Borrow a small hypothesis-test-learn loop so the first revision is evidence-backed.",
"avoid": "Do not create experimental overhead that exceeds the skill's real risk tier.",
"gates": {
"recurrence": true,
"generativity": true,
@@ -235,11 +237,11 @@
"summary": "Start by borrowing this pattern: Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts. Avoid this for the first pass: Do not let packaging or platform concerns swallow the core job boundary.",
"borrow_now": [
"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 a small hypothesis-test-learn loop so the first revision is evidence-backed."
],
"avoid_for_now": [
"Do not let packaging or platform concerns swallow the core job boundary.",
"Do not force every skill through heavyweight review when the risk is low."
"Do not create experimental overhead that exceeds the skill's real risk tier."
],
"why": "There is a real design conflict to resolve: The stated preference leans lightweight or speed-first, while the benchmark mix leans toward governance, review, or heavier evaluation structure.",
"user_decision_required": true
+9 -9
View File
@@ -1,7 +1,7 @@
# Reference Synthesis
Skill: `yao-meta-skill`
- Description: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.
- Description: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.
- Intent confidence: `100/100` (`high`)
## Live GitHub Benchmarks
@@ -33,24 +33,24 @@ Skill: `yao-meta-skill`
- Borrow: Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.
- Avoid: Do not let packaging or platform concerns swallow the core job boundary.
### Human-in-the-loop verification
### Hypothesis-test-learn loop
- Type: `research`
- Evidence mode: `curated-pattern-track`
- Why relevant: This track matches: review, govern.
- Borrow: Borrow a review checkpoint wherever trust matters more than raw speed.
- Avoid: Do not force every skill through heavyweight review when the risk is low.
- Why relevant: This track matches: test, iteration.
- Borrow: Borrow a small hypothesis-test-learn loop so the first revision is evidence-backed.
- Avoid: Do not create experimental overhead that exceeds the skill's real risk tier.
### Boundary-first design
- Type: `principles`
- Evidence mode: `curated-pattern-track`
- Why relevant: This track matches: route.
- Why relevant: This track matches: route, trigger, exclude.
- Borrow: Borrow the discipline of defining what the skill should not own before growing the package.
- Avoid: Do not expand execution assets until route boundaries stay clean.
## Borrow Now
- 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 a small hypothesis-test-learn loop so the first revision is evidence-backed.
- Borrow the discipline of defining what the skill should not own before growing the package.
- Borrow the way it turns a messy workflow into a repeatable operating path.
- Borrow the clear execution entrypoints and command structure.
@@ -58,7 +58,7 @@ Skill: `yao-meta-skill`
## Avoid Now
- Do not let packaging or platform concerns swallow the core job boundary.
- Do not force every skill through heavyweight review when the risk is low.
- Do not create experimental overhead that exceeds the skill's real risk tier.
- Do not expand execution assets until route boundaries stay clean.
- Do not import process overhead that only exists for that project's scale.
- Do not copy repo-specific commands or environment assumptions verbatim.
@@ -69,7 +69,7 @@ Skill: `yao-meta-skill`
- Acceptance threshold: `4/4`
- Accepted patterns:
- **Official skill anatomy and context discipline**: 4/4 (recurrence, generativity, distinctiveness, boundary)
- **Human-in-the-loop verification**: 4/4 (recurrence, generativity, distinctiveness, boundary)
- **Hypothesis-test-learn loop**: 4/4 (recurrence, generativity, distinctiveness, boundary)
- **Boundary-first design**: 4/4 (recurrence, generativity, distinctiveness, boundary)
- **obra/superpowers**: 4/4 (recurrence, generativity, distinctiveness, boundary)
- **affaan-m/ECC**: 4/4 (recurrence, generativity, distinctiveness, boundary)
+5 -5
View File
@@ -7,7 +7,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"targets": [
"openai",
"claude",
@@ -21,8 +21,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -53,7 +53,7 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -78,7 +78,7 @@
"vscode"
],
"package_metadata": "registry/packages/yao-meta-skill.json",
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
}
]
},
+2 -2
View File
@@ -6,8 +6,8 @@
- Maturity: `governed`
- Owner: `Yao Team`
- License: `MIT`
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
- Archive SHA256: `7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2`
- Package SHA256: `db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c`
- Archive SHA256: `c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7`
- Install simulated: `True`
## Compatibility
File diff suppressed because one or more lines are too long
+758 -797
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -188,7 +188,7 @@ th {
<section class="hero">
<p class="minor">Review Viewer</p>
<h1>Yao Meta Skill</h1>
<p class="lede">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</p>
<p class="lede">Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</p>
<div class="meta">
<span>maturity: governed</span>
<span>archetype: governed</span>
@@ -200,17 +200,17 @@ th {
<section>
<h2>Architecture at a glance</h2>
<div class="arch-grid"><div class='arch-step'><div class='step-label'>Inputs</div><div class='step-detail'>workflow, prompt, transcript, docs, or notes</div></div><div class='arch-step'><div class='step-label'>Boundary</div><div class='step-detail'>Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</div></div><div class='arch-step'><div class='step-label'>Logic</div><div class='step-detail'>For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.; Capture job, output, exclusions, constraints, standards, and the lightest fit.; Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.</div></div><div class='arch-step'><div class='step-label'>Usage</div><div class='step-detail'>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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</div></div><div class='arch-step'><div class='step-label'>Next</div><div class='step-detail'>Review the top iteration directions before growing the package.</div></div></div>
<div class="arch-grid"><div class='arch-step'><div class='step-label'>Inputs</div><div class='step-detail'>workflow, prompt, transcript, docs, or notes</div></div><div class='arch-step'><div class='step-label'>Boundary</div><div class='step-detail'>Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</div></div><div class='arch-step'><div class='step-label'>Logic</div><div class='step-detail'>One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.; Capture job, output, exclusions, constraints, standards, lightest fit.; Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.</div></div><div class='arch-step'><div class='step-label'>Usage</div><div class='step-detail'>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/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</div></div><div class='arch-step'><div class='step-label'>Next</div><div class='step-detail'>Review the top iteration directions before growing the package.</div></div></div>
</section>
<section class="grid">
<div class="panel">
<h2>Core logic</h2>
<ul><li>For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</li><li>Capture job, output, exclusions, constraints, standards, and the lightest fit.</li><li>Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.</li><li>Write `description` early, test route quality, then add only earned folders and gates.</li><li>Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful.</li></ul>
<ul><li>One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</li><li>Capture job, output, exclusions, constraints, standards, lightest fit.</li><li>Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.</li><li>Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.</li><li>Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned.</li></ul>
</div>
<div class="panel">
<h2>How to use it</h2>
<ul><li>Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</li><li>Use this skill when the request matches: Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</li></ul>
<ul><li>Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</li><li>Use this skill when the request matches: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</li></ul>
</div>
</section>
@@ -232,13 +232,13 @@ th {
</div>
<div class="panel">
<h2>Compare view</h2>
<div class='baseline-box'><p><strong>Winner:</strong> Current</p><p class='minor'>{&#x27;priority&#x27;: [&#x27;fewest false positives&#x27;, &#x27;fewest false negatives&#x27;, &#x27;highest near-neighbor pass rate&#x27;, &#x27;highest negative pass rate&#x27;, &#x27;highest precision&#x27;, &#x27;highest recall&#x27;, &#x27;shortest description&#x27;]}</p><table><thead><tr><th>Variant</th><th>Tokens</th><th>Dev Errors</th><th>Holdout Errors</th><th>Strategy</th></tr></thead><tbody><tr><td>Baseline</td><td>8</td><td>0</td><td>0</td><td>existing</td></tr><tr><td>Current</td><td>53</td><td>0</td><td>0</td><td>current</td></tr><tr><td>Current</td><td>53</td><td>0</td><td>0</td><td>current</td></tr></tbody></table></div>
<div class='baseline-box'><p><strong>Winner:</strong> Current</p><p class='minor'>{&#x27;priority&#x27;: [&#x27;fewest false positives&#x27;, &#x27;fewest false negatives&#x27;, &#x27;highest near-neighbor pass rate&#x27;, &#x27;highest negative pass rate&#x27;, &#x27;highest precision&#x27;, &#x27;highest recall&#x27;, &#x27;shortest description&#x27;]}</p><table><thead><tr><th>Variant</th><th>Tokens</th><th>Dev Errors</th><th>Holdout Errors</th><th>Strategy</th></tr></thead><tbody><tr><td>Baseline</td><td>8</td><td>0</td><td>0</td><td>existing</td></tr><tr><td>Current</td><td>54</td><td>0</td><td>0</td><td>current</td></tr><tr><td>Current</td><td>54</td><td>0</td><td>0</td><td>current</td></tr></tbody></table></div>
</div>
</section>
<section>
<h2>Variant diff studio</h2>
<div class="variant-grid"><div class='variant-card'><div class='variant-head'><h3>Baseline</h3><span>existing</span></div><p class='variant-description'>Create and improve agent skills.</p><div class='variant-metrics'><span>tokens 8 (0)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create and improve agent skills.</li></ul><p><strong>Drops from baseline</strong></p><p class='minor'>No dropped cues.</p></div></div><div class='variant-card'><div class='variant-head'><h3>Current</h3><span>current</span></div><p class='variant-description'>Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</p><div class='variant-metrics'><span>tokens 53 (+45)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes.</li><li>Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</li></ul><p><strong>Drops from baseline</strong></p><ul><li>Create and improve agent skills.</li></ul></div></div><div class='variant-card'><div class='variant-head'><h3>Winner — Current</h3><span>current</span></div><p class='variant-description'>Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</p><div class='variant-metrics'><span>tokens 53 (+45)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes.</li><li>Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</li></ul><p><strong>Drops from baseline</strong></p><ul><li>Create and improve agent skills.</li></ul></div></div></div>
<div class="variant-grid"><div class='variant-card'><div class='variant-head'><h3>Baseline</h3><span>existing</span></div><p class='variant-description'>Create and improve agent skills.</p><div class='variant-metrics'><span>tokens 8 (0)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create and improve agent skills.</li></ul><p><strong>Drops from baseline</strong></p><p class='minor'>No dropped cues.</p></div></div><div class='variant-card'><div class='variant-head'><h3>Current</h3><span>current</span></div><p class='variant-description'>Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</p><div class='variant-metrics'><span>tokens 54 (+46)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts.</li><li>Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测.</li><li>Exclude no-skill summary/translation/docs.</li></ul><p><strong>Drops from baseline</strong></p><ul><li>Create and improve agent skills.</li></ul></div></div><div class='variant-card'><div class='variant-head'><h3>Winner — Current</h3><span>current</span></div><p class='variant-description'>Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</p><div class='variant-metrics'><span>tokens 54 (+46)</span><span>dev 0 (0)</span><span>holdout 0 (0)</span></div><div class='variant-cues'><p><strong>Adds relative to baseline</strong></p><ul><li>Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts.</li><li>Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测.</li><li>Exclude no-skill summary/translation/docs.</li></ul><p><strong>Drops from baseline</strong></p><ul><li>Create and improve agent skills.</li></ul></div></div></div>
</section>
<section class="grid">
@@ -310,11 +310,11 @@ th {
<section class="grid">
<div class="panel">
<h2>Reference synthesis</h2>
<div class="direction-grid"><div class='direction-card'><h3>Official skill anatomy and context discipline</h3><p><strong>Borrow now</strong></p><ul><li>Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not let packaging or platform concerns swallow the core job boundary.</li></ul></div><div class='direction-card'><h3>Human-in-the-loop verification</h3><p><strong>Borrow now</strong></p><ul><li>Borrow a review checkpoint wherever trust matters more than raw speed.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not force every skill through heavyweight review when the risk is low.</li></ul></div><div class='direction-card'><h3>Boundary-first design</h3><p><strong>Borrow now</strong></p><ul><li>Borrow the discipline of defining what the skill should not own before growing the package.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not expand execution assets until route boundaries stay clean.</li></ul></div></div>
<div class="direction-grid"><div class='direction-card'><h3>Official skill anatomy and context discipline</h3><p><strong>Borrow now</strong></p><ul><li>Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not let packaging or platform concerns swallow the core job boundary.</li></ul></div><div class='direction-card'><h3>Hypothesis-test-learn loop</h3><p><strong>Borrow now</strong></p><ul><li>Borrow a small hypothesis-test-learn loop so the first revision is evidence-backed.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not create experimental overhead that exceeds the skill&#x27;s real risk tier.</li></ul></div><div class='direction-card'><h3>Boundary-first design</h3><p><strong>Borrow now</strong></p><ul><li>Borrow the discipline of defining what the skill should not own before growing the package.</li></ul><p><strong>Avoid</strong></p><ul><li>Do not expand execution assets until route boundaries stay clean.</li></ul></div></div>
</div>
<div class="panel">
<h2>Borrow now</h2>
<ul><li>Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.</li><li>Borrow a review checkpoint wherever trust matters more than raw speed.</li><li>Borrow the discipline of defining what the skill should not own before growing the package.</li><li>Borrow the way it turns a messy workflow into a repeatable operating path.</li></ul>
<ul><li>Borrow progressive disclosure: keep the entrypoint lean and move depth into references or scripts.</li><li>Borrow a small hypothesis-test-learn loop so the first revision is evidence-backed.</li><li>Borrow the discipline of defining what the skill should not own before growing the package.</li><li>Borrow the way it turns a messy workflow into a repeatable operating path.</li></ul>
<p class="minor">Use the recommendation by default. Only surface the underlying benchmark tradeoffs when intent is uncertain or a real design conflict needs a deliberate call.</p>
</div>
</section>
+994 -771
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"source": "reports/review_annotations_input.json",
"source": "tests/tmp_review_studio/empty_review_annotations_input.json",
"summary": {
"annotation_count": 0,
"open_count": 0,
+2 -2
View File
@@ -2,7 +2,7 @@
"schema_version": "1.0",
"ok": true,
"skill_dir": ".",
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"summary": {
"waiver_count": 0,
"active_count": 0,
@@ -92,7 +92,7 @@
"Reviewer links output_review_adjudication or output_execution evidence."
],
"suggested_evidence": "reports/output_review_adjudication.md",
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md",
"suggested_command": "python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer \"<reviewer>\" --reason \"Output Lab has pending human/provider evidence; accepted only for this bounded review scope.\" --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md",
"world_class_boundary": "Does not count as provider, human, or public world-class completion evidence."
},
{
+1 -1
View File
@@ -38,7 +38,7 @@
- waiver allowed: `true`
- risk: review pending 5; model-executed 10; output failures 0
- evidence: `reports/output_review_adjudication.md`
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-17 --evidence reports/output_review_adjudication.md`
- verification: `python3 scripts/yao.py review-waivers . --add-waiver --gate-key output-lab --reviewer "<reviewer>" --reason "Output Lab has pending human/provider evidence; accepted only for this bounded review scope." --expires-at 2027-06-13 --evidence reports/output_review_adjudication.md`
- world-class boundary: Does not count as provider, human, or public world-class completion evidence.
#### Required Review
+51 -48
View File
@@ -15,7 +15,7 @@
"correct_count": 3,
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.701
"average_margin": 0.644
},
"team-frontend-review": {
"expected_count": 3,
@@ -31,7 +31,7 @@
"correct_count": 3,
"precision": 1.0,
"recall": 1.0,
"average_margin": 0.586
"average_margin": 0.709
},
"no_route": {
"expected_count": 4,
@@ -77,18 +77,18 @@
"expected_route": "yao-meta-skill",
"predicted_route": "yao-meta-skill",
"correct": true,
"margin": 1.0,
"margin": 0.681,
"ambiguous": false,
"ranked_routes": [
{
"name": "yao-meta-skill",
"score": 1.0,
"score": 0.681,
"passed_threshold": true,
"threshold": 0.33,
"matched_desired_concepts": [
"eval_optimize",
"iterate_existing_skill",
"reuse_package",
"team_operationalize",
"transform_workflow"
],
"matched_negative_concepts": []
@@ -117,16 +117,17 @@
"expected_route": "yao-meta-skill",
"predicted_route": "yao-meta-skill",
"correct": true,
"margin": 0.661,
"margin": 0.51,
"ambiguous": false,
"ranked_routes": [
{
"name": "yao-meta-skill",
"score": 0.661,
"score": 0.51,
"passed_threshold": true,
"threshold": 0.33,
"matched_desired_concepts": [
"eval_optimize",
"iterate_existing_skill",
"reuse_package"
],
"matched_negative_concepts": []
@@ -155,16 +156,19 @@
"expected_route": "yao-meta-skill",
"predicted_route": "yao-meta-skill",
"correct": true,
"margin": 0.441,
"margin": 0.74,
"ambiguous": false,
"ranked_routes": [
{
"name": "yao-meta-skill",
"score": 0.441,
"score": 0.74,
"passed_threshold": true,
"threshold": 0.33,
"matched_desired_concepts": [
"reuse_package"
"build_skill",
"multi_asset",
"reuse_package",
"transform_workflow"
],
"matched_negative_concepts": []
},
@@ -211,14 +215,6 @@
],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.012,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "governed-incident-command",
"score": 0.012,
@@ -226,6 +222,14 @@
"threshold": 0.48,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.006,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
}
]
},
@@ -251,14 +255,6 @@
],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.008,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "governed-incident-command",
"score": 0.008,
@@ -266,6 +262,14 @@
"threshold": 0.48,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.004,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
}
]
},
@@ -293,7 +297,7 @@
},
{
"name": "yao-meta-skill",
"score": 0.012,
"score": 0.006,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
@@ -331,14 +335,6 @@
],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.016,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "team-frontend-review",
"score": 0.011,
@@ -346,6 +342,14 @@
"threshold": 0.48,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.005,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
}
]
},
@@ -371,7 +375,7 @@
},
{
"name": "yao-meta-skill",
"score": 0.328,
"score": 0.179,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [
@@ -395,7 +399,7 @@
"expected_route": "governed-incident-command",
"predicted_route": "governed-incident-command",
"correct": true,
"margin": 0.252,
"margin": 0.621,
"ambiguous": false,
"ranked_routes": [
{
@@ -413,12 +417,11 @@
},
{
"name": "yao-meta-skill",
"score": 0.748,
"score": 0.379,
"passed_threshold": true,
"threshold": 0.33,
"matched_desired_concepts": [
"reuse_package",
"team_operationalize",
"transform_workflow"
],
"matched_negative_concepts": []
@@ -481,14 +484,6 @@
"margin": null,
"ambiguous": false,
"ranked_routes": [
{
"name": "yao-meta-skill",
"score": 0.008,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "governed-incident-command",
"score": 0.008,
@@ -497,6 +492,14 @@
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "yao-meta-skill",
"score": 0.0,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
"matched_negative_concepts": []
},
{
"name": "team-frontend-review",
"score": 0.0,
@@ -522,7 +525,7 @@
"ranked_routes": [
{
"name": "yao-meta-skill",
"score": 0.024,
"score": 0.016,
"passed_threshold": false,
"threshold": 0.33,
"matched_desired_concepts": [],
+2 -2
View File
@@ -9,9 +9,9 @@
| Route | Expected | Predicted | Precision | Recall | Avg Margin |
| --- | ---: | ---: | ---: | ---: | ---: |
| `yao-meta-skill` | 3 | 3 | 1.0 | 1.0 | 0.701 |
| `yao-meta-skill` | 3 | 3 | 1.0 | 1.0 | 0.644 |
| `team-frontend-review` | 3 | 3 | 1.0 | 1.0 | 0.805 |
| `governed-incident-command` | 3 | 3 | 1.0 | 1.0 | 0.586 |
| `governed-incident-command` | 3 | 3 | 1.0 | 1.0 | 0.709 |
| `no_route` | 4 | 4 | 1.0 | 1.0 | - |
## Confusion Matrix
+46 -8
View File
@@ -2,9 +2,9 @@
"ok": true,
"skill_dir": ".",
"summary": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -12,7 +12,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -22,8 +22,8 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
},
"failures": [],
"warnings": [],
@@ -2092,6 +2092,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_operator_commands.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics.",
"has_argparse": true,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": true,
"uses_subprocess": true,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_output_commands.py",
"interface": "internal-module",
@@ -2148,6 +2162,20 @@
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_parser_operator.py",
"interface": "internal-module",
"interface_declared": true,
"interface_reason": "Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module.",
"has_argparse": true,
"has_main_guard": false,
"uses_input": false,
"uses_network": false,
"uses_file_write": false,
"uses_subprocess": false,
"network_urls": [],
"network_hosts": []
},
{
"path": "scripts/yao_cli_report_commands.py",
"interface": "internal-module",
@@ -2225,7 +2253,7 @@
"checked_count": 86,
"passed_count": 86,
"failed_count": 0,
"skipped_count": 67,
"skipped_count": 69,
"failed_scripts": [],
"results": [
{
@@ -3330,6 +3358,10 @@
"path": "scripts/yao_cli_distribution_commands.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_operator_commands.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_output_commands.py",
"reason": "internal module"
@@ -3346,6 +3378,10 @@
"path": "scripts/yao_cli_parser_operations.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_parser_operator.py",
"reason": "internal module"
},
{
"path": "scripts/yao_cli_report_commands.py",
"reason": "internal module"
@@ -3484,7 +3520,8 @@
"scripts/telemetry_native_host.py",
"scripts/trust_check.py",
"scripts/upgrade_check.py",
"scripts/verify_package.py"
"scripts/verify_package.py",
"scripts/yao_cli_operator_commands.py"
],
"reviewer": "Yao Team",
"scope": "Local generated reports, registry metadata, temporary test outputs, and package artifacts under the skill workspace.",
@@ -3518,6 +3555,7 @@
"scripts/sync_local_install.py",
"scripts/trust_check.py",
"scripts/yao.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_runtime.py"
],
"reviewer": "Yao Team",
+8 -6
View File
@@ -1,22 +1,22 @@
# Security Trust Report
- OK: `True`
- Scanned files: `245`
- Scripts: `153`
- Internal script modules: `67`
- Scanned files: `247`
- Scripts: `155`
- Internal script modules: `69`
- Secret findings: `0`
- Network-capable scripts: `3`
- Network policy covered scripts: `3`
- Network policy missing scripts: `0`
- File-write scripts: `73`
- File-write scripts: `74`
- Permission approvals: `3 / 3`
- Permission approval gaps: `0`
- CLI help smoke checked: `86`
- CLI help smoke failures: `0`
- Interactive scripts: `0`
- Package hash scope: `source-contract-without-generated-reports`
- Package hash files: `245`
- Package SHA256: `5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257`
- Package hash files: `247`
- Package SHA256: `db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c`
## Failures
@@ -208,10 +208,12 @@
| scripts/yao_cli_config.py | internal-module | True | False | False | False | False | False | False | Imported by yao.py for CLI target maps and side-effect-free shaping helpers. |
| scripts/yao_cli_create_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep skill creation and quickstart command handlers out of the CLI orchestrator. |
| scripts/yao_cli_distribution_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep distribution and runtime gate handlers outside the thin CLI orchestrator. |
| scripts/yao_cli_operator_commands.py | internal-module | True | True | False | False | False | True | True | Imported by yao.py for operator-facing install, localized docs, and PR review diagnostics. |
| scripts/yao_cli_output_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep output evaluation and review handlers outside the thin CLI orchestrator. |
| scripts/yao_cli_parser.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep CLI parser declarations separate from command orchestration. |
| scripts/yao_cli_parser_evidence.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep evidence command declarations out of the main parser module. |
| scripts/yao_cli_parser_operations.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep SkillOps, telemetry, and review-loop command declarations out of the main parser module. |
| scripts/yao_cli_parser_operator.py | internal-module | True | True | False | False | False | False | False | Imported by yao_cli_parser.py to keep operator UX command declarations out of the main parser module. |
| scripts/yao_cli_report_commands.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to keep report and evidence command handlers out of the CLI orchestrator. |
| scripts/yao_cli_runtime.py | internal-module | True | False | False | False | False | False | True | Imported by yao.py and command modules for shared subprocess execution and JSON payload parsing. |
| scripts/yao_cli_telemetry.py | internal-module | True | True | False | False | False | False | False | Imported by yao.py to record opt-in metadata-only CLI run telemetry. |
+12 -12
View File
@@ -761,7 +761,7 @@
<p class="eyebrow"><span data-lang="zh-CN">YAO Skill 生成审计报告</span><span data-lang="en">YAO Skill Generation Audit</span></p>
<p class="slug">yao-meta-skill</p>
<h1 id="report-title"><span data-lang="zh-CN">技能审计报告</span><span data-lang="en">Yao Meta Skill Audit Report</span></h1>
<p class="lead"><span data-lang="zh-CN">这份报告默认使用中文简体,把新 Skill 的定位、指标、原理、契约、质量、风险、资产和迭代路线整理为一份可审计的 HTML 报告。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></p>
<p class="lead"><span data-lang="zh-CN">这份报告默认使用中文简体,把新 Skill 的定位、指标、原理、契约、质量、风险、资产和迭代路线整理为一份可审计的 HTML 报告。</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></p>
<div class="hero-meta"><span><span data-lang="zh-CN">技能名称:yao-meta-skill</span><span data-lang="en">Skill name: yao-meta-skill</span></span><span><span data-lang="zh-CN">成熟度:治理</span><span data-lang="en">Maturity: governed</span></span><span><span data-lang="zh-CN">格式:Agent Skills</span><span data-lang="en">Format: agent-skills</span></span><span><span data-lang="zh-CN">更新时间:2026-03-31</span><span data-lang="en">Updated: 2026-03-31</span></span></div>
<div class="badges"><span><span data-lang="zh-CN">openai</span><span data-lang="en">openai</span></span><span><span data-lang="zh-CN">claude</span><span data-lang="en">claude</span></span><span><span data-lang="zh-CN">generic</span><span data-lang="en">generic</span></span><span><span data-lang="zh-CN">vscode</span><span data-lang="en">vscode</span></span></div>
</div>
@@ -770,7 +770,7 @@
<ul class="list"><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">Skill 作者、复用团队和后续 reviewer。</span><span data-lang="en">Skill authors, reuse teams, and later reviewers.</span></li><li><span data-lang="zh-CN">创建完成后建议先打开 reports/skill-interpretation.html,再继续扩展包体。</span><span data-lang="en">After creation, open reports/skill-interpretation.html before expanding the package further.</span></li></ul>
</aside>
</div>
<div class="score-strip" aria-label="报告关键指标"><article class='score-chip'><span><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong><i style='--score:42%'></i><small><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></small></article></div>
<div class="score-strip" aria-label="报告关键指标"><article class='score-chip'><span><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong><i style='--score:42%'></i><small><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></small></article></div>
</section>
<section id="overview">
@@ -782,7 +782,7 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">作用定位</span><span data-lang="en">Role</span></h3>
<ul class="list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span><span data-lang="en">Deliverables: SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span></li></ul>
<ul class="list"><li><span data-lang="zh-CN">Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span><span data-lang="en">Deliverables: SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span></li></ul>
</article>
<figure class="chart-figure" data-chart="flow"><svg viewBox="0 0 620 170" role="img" aria-label="交付流程"><text data-lang="zh-CN" x="20" y="28" class="chart-title">交付流程</text><text data-lang="en" x="20" y="28" class="chart-title">Delivery Flow</text><path d="M188 93 H248 M398 93 H458" class="chart-line"/><g><rect x="38" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="113" y="99" text-anchor="middle">输入材料</text><text data-lang="en" x="113" y="99" text-anchor="middle">Input material</text></g><g><rect x="248" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="323" y="99" text-anchor="middle">Skill 包体</text><text data-lang="en" x="323" y="99" text-anchor="middle">Skill package</text></g><g><rect x="458" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="533" y="99" text-anchor="middle">可复用能力</text><text data-lang="en" x="533" y="99" text-anchor="middle">Reusable capability</text></g></svg><figcaption><span data-lang="zh-CN">交付流程把用户输入、生成的包体和可复用能力放在一条线上。</span><span data-lang="en">The delivery flow places user input, generated package, and reusable capability on one path.</span></figcaption></figure>
</div>
@@ -807,12 +807,12 @@
<article class="panel metrics-note metrics-summary-panel">
<h3><span data-lang="zh-CN">成熟度条</span><span data-lang="en">Maturity Bar</span></h3>
<p><span data-lang="zh-CN">这里把每个指标压缩为状态、分数和第一条证据,先给出整体判断,再进入下方明细。</span><span data-lang="en">This compresses each metric into status, score, and the first evidence item before the detailed cards below.</span></p>
<ol class='metric-summary-list'><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></b><em>100</em><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></b><em>100</em><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></b><em>100</em><small><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">关注</span><span data-lang="en">Watch</span></span><b><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></b><em>42</em><small><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></small></li></ol>
<ol class='metric-summary-list'><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></b><em>100</em><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></b><em>100</em><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></b><em>100</em><small><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">关注</span><span data-lang="en">Watch</span></span><b><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></b><em>42</em><small><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></small></li></ol>
</article>
</div>
<div class="metric-detail-section">
<div class="detail-section-kicker"><span data-lang="zh-CN">指标明细</span><span data-lang="en">Metric Details</span></div>
<div class="metric-grid metric-detail-grid"><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></li><li><span data-lang="zh-CN">README.md 已存在,便于人工阅读。</span><span data-lang="en">README.md exists for human-readable usage.</span></li><li><span data-lang="zh-CN">agents/interface.yaml 已存在,便于跨平台适配。</span><span data-lang="en">agents/interface.yaml exists for cross-platform adaptation.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></li><li><span data-lang="zh-CN">description 有足够长度说明任务边界。</span><span data-lang="en">The description is long enough to explain the task boundary.</span></li><li><span data-lang="zh-CN">description 已包含使用场景或排除边界信号。</span><span data-lang="en">The description includes usage-scenario or exclusion-boundary signals.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></li><li><span data-lang="zh-CN">skill-ir.json 已存在。</span><span data-lang="en">skill-ir.json exists.</span></li><li><span data-lang="zh-CN">compiled_targets.json 已存在。</span><span data-lang="en">compiled_targets.json exists.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></li><li><span data-lang="zh-CN">入口文件保持克制,可维护性较好。</span><span data-lang="en">The entrypoint stays restrained, which supports maintainability.</span></li><li><span data-lang="zh-CN">references/ 已承载扩展指导。</span><span data-lang="en">references/ carries extended guidance.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></li><li><span data-lang="zh-CN">manifest.json 已存在。</span><span data-lang="en">manifest.json exists.</span></li><li><span data-lang="zh-CN">目标平台或 adapter target 已声明。</span><span data-lang="en">Target platforms or adapter targets are declared.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></li><li><span data-lang="zh-CN">分数越高代表上下文成本越低。</span><span data-lang="en">A higher score means lower context cost.</span></li><li><span data-lang="zh-CN">上下文成本偏高,建议压缩入口或拆分 references。</span><span data-lang="en">Context cost is high; compress the entrypoint or split references further.</span></li></ul></div></article></div>
<div class="metric-grid metric-detail-grid"><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></li><li><span data-lang="zh-CN">README.md 已存在,便于人工阅读。</span><span data-lang="en">README.md exists for human-readable usage.</span></li><li><span data-lang="zh-CN">agents/interface.yaml 已存在,便于跨平台适配。</span><span data-lang="en">agents/interface.yaml exists for cross-platform adaptation.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></li><li><span data-lang="zh-CN">description 有足够长度说明任务边界。</span><span data-lang="en">The description is long enough to explain the task boundary.</span></li><li><span data-lang="zh-CN">description 已包含使用场景或排除边界信号。</span><span data-lang="en">The description includes usage-scenario or exclusion-boundary signals.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></li><li><span data-lang="zh-CN">skill-ir.json 已存在。</span><span data-lang="en">skill-ir.json exists.</span></li><li><span data-lang="zh-CN">compiled_targets.json 已存在。</span><span data-lang="en">compiled_targets.json exists.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></li><li><span data-lang="zh-CN">入口文件保持克制,可维护性较好。</span><span data-lang="en">The entrypoint stays restrained, which supports maintainability.</span></li><li><span data-lang="zh-CN">references/ 已承载扩展指导。</span><span data-lang="en">references/ carries extended guidance.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></li><li><span data-lang="zh-CN">manifest.json 已存在。</span><span data-lang="en">manifest.json exists.</span></li><li><span data-lang="zh-CN">目标平台或 adapter target 已声明。</span><span data-lang="en">Target platforms or adapter targets are declared.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></li><li><span data-lang="zh-CN">分数越高代表上下文成本越低。</span><span data-lang="en">A higher score means lower context cost.</span></li><li><span data-lang="zh-CN">上下文成本偏高,建议压缩入口或拆分 references。</span><span data-lang="en">Context cost is high; compress the entrypoint or split references further.</span></li></ul></div></article></div>
</div>
</div>
</div>
@@ -845,11 +845,11 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">执行流程</span><span data-lang="en">Execution Flow</span></h3>
<ol class="step-list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Capture job, output, exclusions, constraints, standards, and the lightest fit.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Write `description` early, test route quality, then add only earned folders and gates.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful.</span></li></ol>
<ol class="step-list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Capture job, output, exclusions, constraints, standards, lightest fit.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned.</span></li></ol>
</article>
<article class="panel">
<h3><span data-lang="zh-CN">调用方式</span><span data-lang="en">How To Use</span></h3>
<ol class="step-list"><li><span data-lang="zh-CN">当你需要把工作流或笔记沉淀成结构精简、触发清晰且带必要 eval 的可复用 Skill 时使用 $yao-meta-skill。</span><span data-lang="en">Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</span></li><li><span data-lang="zh-CN">当用户请求与该 Skill 的触发描述匹配时使用。</span><span data-lang="en">Use this skill when the request matches the frontmatter description.</span></li></ol>
<ol class="step-list"><li><span data-lang="zh-CN">当你需要把工作流或笔记沉淀成结构精简、触发清晰且带必要 eval 的可复用 Skill 时使用 $yao-meta-skill。</span><span data-lang="en">Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</span></li><li><span data-lang="zh-CN">Use this skill when the request matches: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Use this skill when the request matches the frontmatter description.</span></li></ol>
</article>
</div>
</div>
@@ -865,7 +865,7 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">触发描述</span><span data-lang="en">Trigger</span></h3>
<p><span data-lang="zh-CN">该 Skill 的触发描述来自 SKILL.md frontmatter;默认中文报告先呈现能力边界,原始英文描述可切换到英文查看。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></p>
<p><span data-lang="zh-CN">Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></p>
<h3><span data-lang="zh-CN">输入材料</span><span data-lang="en">Inputs</span></h3>
<ul class="list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">rough workflow notes, SOPs, runbooks, prompts, transcripts, documents, or repeated task descriptions</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">an existing skill directory that needs refactor, evaluation, packaging, or governance hardening</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">target platform requirements such as OpenAI, Claude, generic Agent Skills, or team distribution</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">benchmark references, local constraints, desired maturity tier, and review standards</span></li></ul>
</article>
@@ -888,7 +888,7 @@
<div>
<table>
<thead><tr><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th><th><span data-lang="zh-CN">证据</span><span data-lang="en">Evidence</span></th><th><span data-lang="zh-CN">建议</span><span data-lang="en">Action</span></th></tr></thead>
<tbody><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">触发面保持精简,并锚定在 frontmatter description。</span><span data-lang="en">The trigger surface stays lean and anchored in the frontmatter description.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成 Skill IR,核心语义可先于平台打包被审查和迁移。</span><span data-lang="en">Skill IR is generated so core semantics can be reviewed and migrated before platform packaging.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。</span><span data-lang="en">Target compilation evidence is generated to review how IR maps to OpenAI, Claude, generic, and other target contracts.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">缺口</span><span data-lang="en">Gap</span></td><td><span data-lang="zh-CN">上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Context cost needs improvement: Entrypoint is about 339 words/characters; references are about 16934.</span></td><td><span data-lang="zh-CN">纳入下一轮修复</span><span data-lang="en">Fix next</span></td></tr></tbody>
<tbody><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">触发面保持精简,并锚定在 frontmatter description。</span><span data-lang="en">The trigger surface stays lean and anchored in the frontmatter description.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成 Skill IR,核心语义可先于平台打包被审查和迁移。</span><span data-lang="en">Skill IR is generated so core semantics can be reviewed and migrated before platform packaging.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。</span><span data-lang="en">Target compilation evidence is generated to review how IR maps to OpenAI, Claude, generic, and other target contracts.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">缺口</span><span data-lang="en">Gap</span></td><td><span data-lang="zh-CN">上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Context cost needs improvement: Entrypoint is about 314 words/characters; references are about 16934.</span></td><td><span data-lang="zh-CN">纳入下一轮修复</span><span data-lang="en">Fix next</span></td></tr></tbody>
</table>
<div class="two-col quality-panels">
<article class="panel">
@@ -925,11 +925,11 @@
<div>
<table>
<thead><tr><th><span data-lang="zh-CN">风险</span><span data-lang="en">Risk</span></th><th><span data-lang="zh-CN">信号</span><span data-lang="en">Signal</span></th><th><span data-lang="zh-CN">应对</span><span data-lang="en">Response</span></th></tr></thead>
<tbody><tr><td><span data-lang="zh-CN">误触发风险</span><span data-lang="en">Trigger risk</span></td><td><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">输出漂移风险</span><span data-lang="en">Output drift risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">证据不足风险</span><span data-lang="en">Evidence gap risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">包体膨胀风险</span><span data-lang="en">Package bloat risk</span></td><td><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">跨平台迁移风险</span><span data-lang="en">Portability risk</span></td><td><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr></tbody>
<tbody><tr><td><span data-lang="zh-CN">误触发风险</span><span data-lang="en">Trigger risk</span></td><td><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">输出漂移风险</span><span data-lang="en">Output drift risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">证据不足风险</span><span data-lang="en">Evidence gap risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">包体膨胀风险</span><span data-lang="en">Package bloat risk</span></td><td><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">跨平台迁移风险</span><span data-lang="en">Portability risk</span></td><td><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr></tbody>
</table>
</div>
</div>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
</div>
</section>
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">393</text><text data-lang="en" x="130" y="136" text-anchor="middle">393 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<table>
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
+75 -74
View File
@@ -3,7 +3,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"maturity": "governed",
"updated_at": "2026-03-31",
"core_value": "把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。",
@@ -81,7 +81,7 @@
"label": "可维护性",
"score": 100,
"reasons": [
"SKILL.md 约 339 个词/字。",
"SKILL.md 约 314 个词/字。",
"入口文件保持克制,可维护性较好。",
"references/ 已承载扩展指导。",
"scripts/ 已承载确定性逻辑。",
@@ -102,7 +102,7 @@
"label": "上下文成本",
"score": 42,
"reasons": [
"入口约 339 个词/字,references 约 16934 个词/字。",
"入口约 314 个词/字,references 约 16934 个词/字。",
"分数越高代表上下文成本越低。",
"上下文成本偏高,建议压缩入口或拆分 references。"
]
@@ -156,7 +156,7 @@
},
"contract_boundary": {
"trigger": {
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -184,7 +184,7 @@
"boundary_cards": [
{
"label": "Owned",
"body": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"body": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
},
{
"label": "Adjacent",
@@ -206,7 +206,7 @@
"已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
],
"gaps": [
"上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。"
"上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。"
],
"recommendations": [
"先改触发边界,再扩展工作流。",
@@ -271,7 +271,7 @@
"name": "包体膨胀风险",
"impact": 2,
"probability": 1,
"signal": "SKILL.md 约 339 个词/字。",
"signal": "SKILL.md 约 314 个词/字。",
"response": "先补证据和边界,再增加包体复杂度。"
},
{
@@ -412,7 +412,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -469,8 +469,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -511,7 +510,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -523,10 +522,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"file_count": 456,
"file_count": 393,
"folder_count": 4,
"distribution": [
{
@@ -551,7 +550,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -559,7 +558,7 @@
},
{
"label": "reports",
"value": 235
"value": 170
}
]
},
@@ -638,17 +637,17 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"logic_steps": [
"For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.",
"Capture job, output, exclusions, constraints, standards, and the lightest fit.",
"Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.",
"Write `description` early, test route quality, then add only earned folders and gates.",
"Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful."
"One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.",
"Capture job, output, exclusions, constraints, standards, lightest fit.",
"Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.",
"Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.",
"Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned."
],
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"Use this skill when the request matches: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
],
"package_map": [
{
@@ -685,7 +684,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -697,7 +696,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"strengths": [
@@ -715,7 +714,7 @@
"用户说出类似需求时: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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -1017,13 +1016,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158",
"source_contract_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1038,21 +1037,21 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"public_claim_blocker_count": 4,
"working_tree_dirty": true,
"changed_file_count": 29,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"changed_file_count": 37,
"source_tree_dirty": true,
"source_changed_file_count": 1,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 36
},
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
@@ -1137,9 +1136,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1147,7 +1146,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -1157,24 +1156,24 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
},
"skill_atlas": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"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
"non_actionable_issue_count": 22
},
"registry_distribution": {
"ok": true,
@@ -1182,7 +1181,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"targets": [
"openai",
"claude",
@@ -1196,8 +1195,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -1228,7 +1227,7 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1244,8 +1243,9 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -1256,7 +1256,8 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 598,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1316,19 +1317,19 @@
{
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"to": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
}
],
"checksum_changes": [
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
}
]
},
@@ -1345,14 +1346,14 @@
"ok": true,
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1361,7 +1362,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -1636,7 +1637,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"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://<extension-id>/",
@@ -1689,8 +1690,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -2116,7 +2117,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"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://<extension-id>/",
@@ -2153,7 +2154,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -2174,8 +2175,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2191,8 +2192,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
@@ -2222,7 +2223,7 @@
},
"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 a small hypothesis-test-learn loop so the first revision is evidence-backed.",
"Borrow the discipline of defining what the skill should not own before growing the package."
],
"artifact_design": {
+5 -5
View File
@@ -135,13 +135,13 @@ Next move: add real client or installer permission enforcement integration.
| Output Eval | `5` cases, DeepSeek provider-backed execution for `10 / 10` variants, with-skill pass rate `43.67`, baseline pass rate `23.67`, delta `20.0`, with file-backed, near-neighbor, boundary coverage, `10` command execution runs, `0` recorded fixture runs, `10` provider model-executed runs in root release evidence, `10` observed token rows, `0` estimated token rows, provider runner v0 available, `5` blind A/B review pairs, a generated `reports/output_review_decisions.json` template, `0 / 5` reviewer decisions pending, `0` answer keys revealed, and `5` pending answers hidden |
| Runtime Conformance | `5 / 5` targets passing |
| Target Compiler | `5 / 5` compiled target contracts generated for OpenAI, Claude, generic, Agent Skills compatible, and VS Code / Copilot outputs, including target permission contracts and target-native behavior contracts |
| Trust | `0` secret findings, `1` pinned dependency file, `67` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `153` scripts, source-contract hash scope explicit |
| Trust | `0` secret findings, `1` pinned dependency file, `69` declared internal modules, `3 / 3` network-capable scripts covered by bounded host policy, `86 / 86` CLI help smoke checks passing across `155` scripts, source-contract hash scope explicit |
| Permission Governance | `3 / 3` required high-permission capabilities approved, `0` missing, `0` invalid, `0` expired |
| Runtime Permission Probes | `4 / 4` target adapters probed, `0` native-enforcement adapters, `4` explicit metadata fallbacks, `4` residual risks retained for reviewer visibility |
| Skill Atlas | `12` scanned skills, `1` actionable root skill, `1` telemetry report, `0` actionable route collisions, `0` actionable owner gaps, `0` actionable stale skills, `0` actionable drift signals, `24` scoped non-actionable issue signals retained for visibility |
| Registry Audit | package metadata generated with version, owner, license, source checksum, archive checksum, Skill IR provenance, and compatibility matrix |
| Package Verification | `4 / 4` target adapters present, archive verified, `689` zip entries, `0` failures, `0` warnings |
| Install Simulation | archive with `689` entries extracted into a local verification root, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Package Verification | `4 / 4` target adapters present, archive verified, `580` zip entries, `0` nested SKILL.md entries, `0` failures, `0` warnings |
| Install Simulation | archive with `580` entries extracted into a local verification root, `0` nested SKILL.md entries, entrypoint/manifest/interface loaded, reports present, `4` adapters readable, `12` installer permission checks enforced, `0` permission failures, `0` failures, `0` warnings |
| Local Install Sync Preflight | `make sync-local-install` and `make sync-active-install` rebuild the package first, then sync only after install simulation passes with `12` enforced installer permission checks and `0` permission failures |
| Upgrade Check | current package declares `minor` over the 1.0.0 baseline, recommended bump is `minor`, and release notes include added targets plus checksum changes |
| Adoption Drift | `1` metadata-only review event, `1` adoption sample, adoption `100`, risk band `low`; optional `yao.py` CLI capture, external client `telemetry-emit`, `5` `telemetry-hooks` recipes, Browser/Chrome native messaging host, and validated external JSONL import are available but off by default for reproducible release evidence; raw `reports/telemetry_events.jsonl` is gitignored and blocked from zip packages |
@@ -153,8 +153,8 @@ Next move: add real client or installer permission enforcement integration.
| World-Class Evidence Ledger | `4` evidence entries remain pending: `1` human-required and `3` external-required; anti-overclaim guards block planned work, metadata fallbacks, pending review, and local command runners from counting as completion |
| Benchmark Reproducibility | local reproducibility ready with `25` required artifacts, `0` missing artifacts, `23` reproduction commands, and `3` disclosed failure cases; human review, native permission enforcement, native telemetry, and provider ledger approval remain explicit limitations |
| IR-first Packaging | `openai`, `claude`, `generic`, and `vscode` adapters include compiler contracts, permission contracts, target-native behavior contracts, IR provenance, semantic parity checks, and install-scope notes where applicable |
| Context Budget | initial load `998/1000`; deferred `512782/120000`; resource governance governed |
| CI | `make ci-test` target count is `82` after the dedicated CLI world-class verifier split |
| Context Budget | initial load `987/1000`; deferred `530167/120000`; resource governance governed |
| CI | `make ci-test` target count is `83` after adding the dedicated Operator UX verifier |
## Next Highest-Leverage Moves
+12 -12
View File
@@ -761,7 +761,7 @@
<p class="eyebrow"><span data-lang="zh-CN">YAO Skill 生成审计报告</span><span data-lang="en">YAO Skill Generation Audit</span></p>
<p class="slug">yao-meta-skill</p>
<h1 id="report-title"><span data-lang="zh-CN">技能审计报告</span><span data-lang="en">Yao Meta Skill Audit Report</span></h1>
<p class="lead"><span data-lang="zh-CN">这份报告默认使用中文简体,把新 Skill 的定位、指标、原理、契约、质量、风险、资产和迭代路线整理为一份可审计的 HTML 报告。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></p>
<p class="lead"><span data-lang="zh-CN">这份报告默认使用中文简体,把新 Skill 的定位、指标、原理、契约、质量、风险、资产和迭代路线整理为一份可审计的 HTML 报告。</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></p>
<div class="hero-meta"><span><span data-lang="zh-CN">技能名称:yao-meta-skill</span><span data-lang="en">Skill name: yao-meta-skill</span></span><span><span data-lang="zh-CN">成熟度:治理</span><span data-lang="en">Maturity: governed</span></span><span><span data-lang="zh-CN">格式:Agent Skills</span><span data-lang="en">Format: agent-skills</span></span><span><span data-lang="zh-CN">更新时间:2026-03-31</span><span data-lang="en">Updated: 2026-03-31</span></span></div>
<div class="badges"><span><span data-lang="zh-CN">openai</span><span data-lang="en">openai</span></span><span><span data-lang="zh-CN">claude</span><span data-lang="en">claude</span></span><span><span data-lang="zh-CN">generic</span><span data-lang="en">generic</span></span><span><span data-lang="zh-CN">vscode</span><span data-lang="en">vscode</span></span></div>
</div>
@@ -770,7 +770,7 @@
<ul class="list"><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">Skill 作者、复用团队和后续 reviewer。</span><span data-lang="en">Skill authors, reuse teams, and later reviewers.</span></li><li><span data-lang="zh-CN">创建完成后建议先打开 reports/skill-overview.html,再继续扩展包体。</span><span data-lang="en">After creation, open reports/skill-overview.html before expanding the package further.</span></li></ul>
</aside>
</div>
<div class="score-strip" aria-label="报告关键指标"><article class='score-chip'><span><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong><i style='--score:42%'></i><small><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></small></article></div>
<div class="score-strip" aria-label="报告关键指标"><article class='score-chip'><span><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong><i style='--score:100%'></i><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></article><article class='score-chip'><span><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong><i style='--score:42%'></i><small><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></small></article></div>
</section>
<section id="overview">
@@ -782,7 +782,7 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">作用定位</span><span data-lang="en">Role</span></h3>
<ul class="list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span><span data-lang="en">Deliverables: SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span></li></ul>
<ul class="list"><li><span data-lang="zh-CN">Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></li><li><span data-lang="zh-CN">把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。</span><span data-lang="en">Turn one-off experience into a reusable, evaluable, and portable skill package.</span></li><li><span data-lang="zh-CN">交付结果:SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span><span data-lang="en">Deliverables: SKILL.md, agents/interface.yaml, skill-ir/examples/yao-meta-skill.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</span></li></ul>
</article>
<figure class="chart-figure" data-chart="flow"><svg viewBox="0 0 620 170" role="img" aria-label="交付流程"><text data-lang="zh-CN" x="20" y="28" class="chart-title">交付流程</text><text data-lang="en" x="20" y="28" class="chart-title">Delivery Flow</text><path d="M188 93 H248 M398 93 H458" class="chart-line"/><g><rect x="38" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="113" y="99" text-anchor="middle">输入材料</text><text data-lang="en" x="113" y="99" text-anchor="middle">Input material</text></g><g><rect x="248" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="323" y="99" text-anchor="middle">Skill 包体</text><text data-lang="en" x="323" y="99" text-anchor="middle">Skill package</text></g><g><rect x="458" y="56" width="150" height="74" rx="8" fill="#F6F8FB" stroke="#e8e6dc"/><text data-lang="zh-CN" x="533" y="99" text-anchor="middle">可复用能力</text><text data-lang="en" x="533" y="99" text-anchor="middle">Reusable capability</text></g></svg><figcaption><span data-lang="zh-CN">交付流程把用户输入、生成的包体和可复用能力放在一条线上。</span><span data-lang="en">The delivery flow places user input, generated package, and reusable capability on one path.</span></figcaption></figure>
</div>
@@ -807,12 +807,12 @@
<article class="panel metrics-note metrics-summary-panel">
<h3><span data-lang="zh-CN">成熟度条</span><span data-lang="en">Maturity Bar</span></h3>
<p><span data-lang="zh-CN">这里把每个指标压缩为状态、分数和第一条证据,先给出整体判断,再进入下方明细。</span><span data-lang="en">This compresses each metric into status, score, and the first evidence item before the detailed cards below.</span></p>
<ol class='metric-summary-list'><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></b><em>100</em><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></b><em>100</em><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></b><em>100</em><small><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">关注</span><span data-lang="en">Watch</span></span><b><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></b><em>42</em><small><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></small></li></ol>
<ol class='metric-summary-list'><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></b><em>100</em><small><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></b><em>100</em><small><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></b><em>100</em><small><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">稳定</span><span data-lang="en">Stable</span></span><b><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></b><em>100</em><small><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></small></li><li><span class='metric-status'><span data-lang="zh-CN">关注</span><span data-lang="en">Watch</span></span><b><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></b><em>42</em><small><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></small></li></ol>
</article>
</div>
<div class="metric-detail-section">
<div class="detail-section-kicker"><span data-lang="zh-CN">指标明细</span><span data-lang="en">Metric Details</span></div>
<div class="metric-grid metric-detail-grid"><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></li><li><span data-lang="zh-CN">README.md 已存在,便于人工阅读。</span><span data-lang="en">README.md exists for human-readable usage.</span></li><li><span data-lang="zh-CN">agents/interface.yaml 已存在,便于跨平台适配。</span><span data-lang="en">agents/interface.yaml exists for cross-platform adaptation.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></li><li><span data-lang="zh-CN">description 有足够长度说明任务边界。</span><span data-lang="en">The description is long enough to explain the task boundary.</span></li><li><span data-lang="zh-CN">description 已包含使用场景或排除边界信号。</span><span data-lang="en">The description includes usage-scenario or exclusion-boundary signals.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></li><li><span data-lang="zh-CN">skill-ir.json 已存在。</span><span data-lang="en">skill-ir.json exists.</span></li><li><span data-lang="zh-CN">compiled_targets.json 已存在。</span><span data-lang="en">compiled_targets.json exists.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></li><li><span data-lang="zh-CN">入口文件保持克制,可维护性较好。</span><span data-lang="en">The entrypoint stays restrained, which supports maintainability.</span></li><li><span data-lang="zh-CN">references/ 已承载扩展指导。</span><span data-lang="en">references/ carries extended guidance.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></li><li><span data-lang="zh-CN">manifest.json 已存在。</span><span data-lang="en">manifest.json exists.</span></li><li><span data-lang="zh-CN">目标平台或 adapter target 已声明。</span><span data-lang="en">Target platforms or adapter targets are declared.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 339 words/characters; references are about 16934.</span></li><li><span data-lang="zh-CN">分数越高代表上下文成本越低。</span><span data-lang="en">A higher score means lower context cost.</span></li><li><span data-lang="zh-CN">上下文成本偏高,建议压缩入口或拆分 references。</span><span data-lang="en">Context cost is high; compress the entrypoint or split references further.</span></li></ul></div></article></div>
<div class="metric-grid metric-detail-grid"><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">完整度</span><span data-lang="en">Completeness</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 已存在,是 Skill 的入口。</span><span data-lang="en">SKILL.md exists and acts as the skill entrypoint.</span></li><li><span data-lang="zh-CN">README.md 已存在,便于人工阅读。</span><span data-lang="en">README.md exists for human-readable usage.</span></li><li><span data-lang="zh-CN">agents/interface.yaml 已存在,便于跨平台适配。</span><span data-lang="en">agents/interface.yaml exists for cross-platform adaptation.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">触发清晰</span><span data-lang="en">Trigger clarity</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></li><li><span data-lang="zh-CN">description 有足够长度说明任务边界。</span><span data-lang="en">The description is long enough to explain the task boundary.</span></li><li><span data-lang="zh-CN">description 已包含使用场景或排除边界信号。</span><span data-lang="en">The description includes usage-scenario or exclusion-boundary signals.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">证据充分</span><span data-lang="en">Evidence depth</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></li><li><span data-lang="zh-CN">skill-ir.json 已存在。</span><span data-lang="en">skill-ir.json exists.</span></li><li><span data-lang="zh-CN">compiled_targets.json 已存在。</span><span data-lang="en">compiled_targets.json exists.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可维护性</span><span data-lang="en">Maintainability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></li><li><span data-lang="zh-CN">入口文件保持克制,可维护性较好。</span><span data-lang="en">The entrypoint stays restrained, which supports maintainability.</span></li><li><span data-lang="zh-CN">references/ 已承载扩展指导。</span><span data-lang="en">references/ carries extended guidance.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">可迁移性</span><span data-lang="en">Portability</span></span><strong>100</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></li><li><span data-lang="zh-CN">manifest.json 已存在。</span><span data-lang="en">manifest.json exists.</span></li><li><span data-lang="zh-CN">目标平台或 adapter target 已声明。</span><span data-lang="en">Target platforms or adapter targets are declared.</span></li></ul></div></article><article class='metric-card'><div class='metric-card-head'><span class='metric-label'><span data-lang="zh-CN">上下文成本</span><span data-lang="en">Context cost</span></span><strong>42</strong></div><div class='metric-card-body'><ul class="compact-list"><li><span data-lang="zh-CN">入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Entrypoint is about 314 words/characters; references are about 16934.</span></li><li><span data-lang="zh-CN">分数越高代表上下文成本越低。</span><span data-lang="en">A higher score means lower context cost.</span></li><li><span data-lang="zh-CN">上下文成本偏高,建议压缩入口或拆分 references。</span><span data-lang="en">Context cost is high; compress the entrypoint or split references further.</span></li></ul></div></article></div>
</div>
</div>
</div>
@@ -845,11 +845,11 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">执行流程</span><span data-lang="en">Execution Flow</span></h3>
<ol class="step-list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Capture job, output, exclusions, constraints, standards, and the lightest fit.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Write `description` early, test route quality, then add only earned folders and gates.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful.</span></li></ol>
<ol class="step-list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Capture job, output, exclusions, constraints, standards, lightest fit.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned.</span></li></ol>
</article>
<article class="panel">
<h3><span data-lang="zh-CN">调用方式</span><span data-lang="en">How To Use</span></h3>
<ol class="step-list"><li><span data-lang="zh-CN">当你需要把工作流或笔记沉淀成结构精简、触发清晰且带必要 eval 的可复用 Skill 时使用 $yao-meta-skill。</span><span data-lang="en">Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</span></li><li><span data-lang="zh-CN">当用户请求与该 Skill 的触发描述匹配时使用。</span><span data-lang="en">Use this skill when the request matches the frontmatter description.</span></li></ol>
<ol class="step-list"><li><span data-lang="zh-CN">当你需要把工作流或笔记沉淀成结构精简、触发清晰且带必要 eval 的可复用 Skill 时使用 $yao-meta-skill。</span><span data-lang="en">Use $yao-meta-skill to turn my workflow or notes into a reusable skill with lean structure, clear triggering, and the right evals.</span></li><li><span data-lang="zh-CN">Use this skill when the request matches: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Use this skill when the request matches the frontmatter description.</span></li></ol>
</article>
</div>
</div>
@@ -865,7 +865,7 @@
<div class="two-col">
<article class="panel">
<h3><span data-lang="zh-CN">触发描述</span><span data-lang="en">Trigger</span></h3>
<p><span data-lang="zh-CN">该 Skill 的触发描述来自 SKILL.md frontmatter;默认中文报告先呈现能力边界,原始英文描述可切换到英文查看。</span><span data-lang="en">Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.</span></p>
<p><span data-lang="zh-CN">Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.</span><span data-lang="en">Skill-specific source text is authored in Chinese; switch to Simplified Chinese for the exact wording.</span></p>
<h3><span data-lang="zh-CN">输入材料</span><span data-lang="en">Inputs</span></h3>
<ul class="list"><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">rough workflow notes, SOPs, runbooks, prompts, transcripts, documents, or repeated task descriptions</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">an existing skill directory that needs refactor, evaluation, packaging, or governance hardening</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">target platform requirements such as OpenAI, Claude, generic Agent Skills, or team distribution</span></li><li><span data-lang="zh-CN">原始说明可切换到英文查看;默认中文报告保留结论与结构说明。</span><span data-lang="en">benchmark references, local constraints, desired maturity tier, and review standards</span></li></ul>
</article>
@@ -888,7 +888,7 @@
<div>
<table>
<thead><tr><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th><th><span data-lang="zh-CN">证据</span><span data-lang="en">Evidence</span></th><th><span data-lang="zh-CN">建议</span><span data-lang="en">Action</span></th></tr></thead>
<tbody><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">触发面保持精简,并锚定在 frontmatter description。</span><span data-lang="en">The trigger surface stays lean and anchored in the frontmatter description.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成 Skill IR,核心语义可先于平台打包被审查和迁移。</span><span data-lang="en">Skill IR is generated so core semantics can be reviewed and migrated before platform packaging.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。</span><span data-lang="en">Target compilation evidence is generated to review how IR maps to OpenAI, Claude, generic, and other target contracts.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">缺口</span><span data-lang="en">Gap</span></td><td><span data-lang="zh-CN">上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Context cost needs improvement: Entrypoint is about 339 words/characters; references are about 16934.</span></td><td><span data-lang="zh-CN">纳入下一轮修复</span><span data-lang="en">Fix next</span></td></tr></tbody>
<tbody><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">触发面保持精简,并锚定在 frontmatter description。</span><span data-lang="en">The trigger surface stays lean and anchored in the frontmatter description.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成 Skill IR,核心语义可先于平台打包被审查和迁移。</span><span data-lang="en">Skill IR is generated so core semantics can be reviewed and migrated before platform packaging.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">强项</span><span data-lang="en">Strength</span></td><td><span data-lang="zh-CN">已生成目标编译报告,可审查 IR 到 OpenAI、Claude、generic 等目标契约的映射。</span><span data-lang="en">Target compilation evidence is generated to review how IR maps to OpenAI, Claude, generic, and other target contracts.</span></td><td><span data-lang="zh-CN">保留并复用</span><span data-lang="en">Keep</span></td></tr><tr><td><span data-lang="zh-CN">缺口</span><span data-lang="en">Gap</span></td><td><span data-lang="zh-CN">上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。</span><span data-lang="en">Context cost needs improvement: Entrypoint is about 314 words/characters; references are about 16934.</span></td><td><span data-lang="zh-CN">纳入下一轮修复</span><span data-lang="en">Fix next</span></td></tr></tbody>
</table>
<div class="two-col quality-panels">
<article class="panel">
@@ -925,11 +925,11 @@
<div>
<table>
<thead><tr><th><span data-lang="zh-CN">风险</span><span data-lang="en">Risk</span></th><th><span data-lang="zh-CN">信号</span><span data-lang="en">Signal</span></th><th><span data-lang="zh-CN">应对</span><span data-lang="en">Response</span></th></tr></thead>
<tbody><tr><td><span data-lang="zh-CN">误触发风险</span><span data-lang="en">Trigger risk</span></td><td><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">输出漂移风险</span><span data-lang="en">Output drift risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">证据不足风险</span><span data-lang="en">Evidence gap risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">包体膨胀风险</span><span data-lang="en">Package bloat risk</span></td><td><span data-lang="zh-CN">SKILL.md 约 339 个词/字。</span><span data-lang="en">SKILL.md is about 339 words/characters.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">跨平台迁移风险</span><span data-lang="en">Portability risk</span></td><td><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr></tbody>
<tbody><tr><td><span data-lang="zh-CN">误触发风险</span><span data-lang="en">Trigger risk</span></td><td><span data-lang="zh-CN">frontmatter description 已存在,具备基础路由面。</span><span data-lang="en">The frontmatter description exists, giving the skill a basic routing surface.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">输出漂移风险</span><span data-lang="en">Output drift risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">证据不足风险</span><span data-lang="en">Evidence gap risk</span></td><td><span data-lang="zh-CN">已生成 20 / 20 类报告证据。</span><span data-lang="en">Generated 20 / 20 evidence report types.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">包体膨胀风险</span><span data-lang="en">Package bloat risk</span></td><td><span data-lang="zh-CN">SKILL.md 约 314 个词/字。</span><span data-lang="en">SKILL.md is about 314 words/characters.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr><tr><td><span data-lang="zh-CN">跨平台迁移风险</span><span data-lang="en">Portability risk</span></td><td><span data-lang="zh-CN">agents/interface.yaml 已存在。</span><span data-lang="en">agents/interface.yaml exists.</span></td><td><span data-lang="zh-CN">先补证据和边界,再增加包体复杂度。</span><span data-lang="en">Improve evidence and boundaries before adding package complexity.</span></td></tr></tbody>
</table>
</div>
</div>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>11 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li><li><span data-lang="zh-CN">采用样本</span><span data-lang="en">Adoption sample</span></li></ul></article></div></article>
<article class='panel world-readiness'><div class='world-readiness-head'><div><h3><span data-lang="zh-CN">世界证据</span><span data-lang="en">World Evidence</span></h3><p><span data-lang="zh-CN">世界级证据尚未完成:4 项待补,0 项已接受。</span><span data-lang="en">World-class evidence is not complete: 4 pending, 0 accepted.</span></p></div><span class='world-status'><span data-lang="zh-CN">证据待补</span><span data-lang="en">Evidence pending</span></span></div><div class='evidence-kpis'><article class='evidence-kpi'><span><span data-lang="zh-CN">待补证据</span><span data-lang="en">Pending</span></span><strong>4</strong><small><span data-lang="zh-CN">仍需外部或人工证据接受。</span><span data-lang="en">External or human evidence still needs acceptance.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">已接受</span><span data-lang="en">Accepted</span></span><strong>0</strong><small><span data-lang="zh-CN">已通过 source check 与提交契约。</span><span data-lang="en">Passed source checks and submission contract.</span></small></article><article class='evidence-kpi'><span><span data-lang="zh-CN">源检查</span><span data-lang="en">Source Checks</span></span><strong>12 / 19</strong><small><span data-lang="zh-CN">通过数 / 总检查数。</span><span data-lang="en">Passed checks / total checks.</span></small></article></div><div class='evidence-list'><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">提供商留出</span><span data-lang="en">Provider Holdout</span></h4></div><p><span data-lang="zh-CN">缺少真实 provider 模型运行和 token metadata。</span><span data-lang="en">Missing a real provider model run and token metadata.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><p class='blocked-checks-empty'><span data-lang="zh-CN">当前没有阻塞检查。</span><span data-lang="en">No blocked checks right now.</span></p></article><article class='evidence-item'><div><span><span data-lang="zh-CN">人工证据</span><span data-lang="en">Human evidence</span></span><h4><span data-lang="zh-CN">人工盲评</span><span data-lang="en">Human Adjudication</span></h4></div><p><span data-lang="zh-CN">盲评 pair 仍待真实 reviewer 决策。</span><span data-lang="en">Blind-review pairs still need real reviewer decisions.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">无待判定</span><span data-lang="en">No pending decisions</span></li><li><span data-lang="zh-CN">盲评完成</span><span data-lang="en">Judgments complete</span></li><li><span data-lang="zh-CN">Reviewer metadata</span><span data-lang="en">Reviewer metadata</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生权限</span><span data-lang="en">Native Permission</span></h4></div><p><span data-lang="zh-CN">原生 runtime enforcement 仍待目标客户端或外部安装器证明。</span><span data-lang="en">Native runtime enforcement still needs target-client or external-installer proof.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">原生执行</span><span data-lang="en">Native enforcement</span></li></ul></article><article class='evidence-item'><div><span><span data-lang="zh-CN">外部证据</span><span data-lang="en">External evidence</span></span><h4><span data-lang="zh-CN">原生遥测</span><span data-lang="en">Native Telemetry</span></h4></div><p><span data-lang="zh-CN">真实外部客户端 metadata-only 事件仍未导入。</span><span data-lang="en">Real external-client metadata-only events have not been imported yet.</span></p><h5><span data-lang="zh-CN">阻塞检查</span><span data-lang="en">Blocked Checks</span></h5><ul class='blocked-checks'><li><span data-lang="zh-CN">外部事件</span><span data-lang="en">External events</span></li></ul></article></div></article>
</div>
</section>
@@ -940,7 +940,7 @@
<p><span data-lang="zh-CN">让 reviewer 快速确认关键文件、目录和资产分布。</span><span data-lang="en">Lets reviewers confirm key files, directories, and asset distribution quickly.</span></p>
</div>
<div class="two-col">
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.6" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.2 81.8" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.7 20.3" stroke-dashoffset="-20.3" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">456</text><text data-lang="en" x="130" y="136" text-anchor="middle">456 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<figure class="chart-figure" data-chart="asset_donut"><svg viewBox="0 0 430 270" role="img" aria-label="资产分布"><text data-lang="zh-CN" x="20" y="30" class="chart-title">资产分布</text><text data-lang="en" x="20" y="30" class="chart-title">Asset Distribution</text><circle cx="130" cy="130" r="70" fill="none" stroke="#1B365D" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="0.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#2D5A8A" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-0.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#D0DCE9" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.0" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#E4ECF5" stroke-width="24" stroke-dasharray="0.5 99.5" stroke-dashoffset="-1.5" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#e8e6dc" stroke-width="24" stroke-dasharray="18.0 82.0" stroke-dashoffset="-2.1" pathLength="100" transform="rotate(-90 130 130)"/><circle cx="130" cy="130" r="70" fill="none" stroke="#504e49" stroke-width="24" stroke-dasharray="79.9 20.1" stroke-dashoffset="-20.1" pathLength="100" transform="rotate(-90 130 130)"/><text data-lang="zh-CN" x="130" y="136" text-anchor="middle">393</text><text data-lang="en" x="130" y="136" text-anchor="middle">393 items</text><text data-lang="zh-CN" x="235" y="78">SKILL.md</text><text data-lang="en" x="235" y="78">SKILL.md</text><text data-lang="zh-CN" x="235" y="100">README.md</text><text data-lang="en" x="235" y="100">README.md</text><text data-lang="zh-CN" x="235" y="122">agents/interface.yaml</text><text data-lang="en" x="235" y="122">agents/interface.yaml</text><text data-lang="zh-CN" x="235" y="144">manifest.json</text><text data-lang="en" x="235" y="144">manifest.json</text><text data-lang="zh-CN" x="235" y="166">references</text><text data-lang="en" x="235" y="166">references</text><text data-lang="zh-CN" x="235" y="188">scripts</text><text data-lang="en" x="235" y="188">scripts</text></svg><figcaption><span data-lang="zh-CN">资产分布图展示当前包体的文件和目录重心。</span><span data-lang="en">The asset distribution chart shows where files and directories are concentrated.</span></figcaption></figure>
<table>
<thead><tr><th><span data-lang="zh-CN">路径</span><span data-lang="en">Path</span></th><th><span data-lang="zh-CN">作用</span><span data-lang="en">Role</span></th><th><span data-lang="zh-CN">类型</span><span data-lang="en">Type</span></th></tr></thead>
<tbody><tr><td>SKILL.md</td><td><span data-lang="zh-CN">Skill 入口文件</span><span data-lang="en">Skill entrypoint</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>README.md</td><td><span data-lang="zh-CN">人类可读使用说明</span><span data-lang="en">Human-readable usage guide</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>agents/interface.yaml</td><td><span data-lang="zh-CN">跨平台接口元数据</span><span data-lang="en">Neutral interface metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>manifest.json</td><td><span data-lang="zh-CN">生命周期与打包元数据</span><span data-lang="en">Lifecycle and portability metadata</span></td><td><span data-lang="zh-CN">文件</span><span data-lang="en">file</span></td></tr><tr><td>references</td><td><span data-lang="zh-CN">扩展指导与复用资料</span><span data-lang="en">Extended guidance and reusable notes</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>scripts</td><td><span data-lang="zh-CN">确定性脚本或本地工具</span><span data-lang="en">Deterministic helpers or local tooling</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>evals</td><td><span data-lang="zh-CN">触发与质量检查</span><span data-lang="en">Trigger and quality checks</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr><tr><td>reports</td><td><span data-lang="zh-CN">生成的证据与总结报告</span><span data-lang="en">Generated evidence and overview artifacts</span></td><td><span data-lang="zh-CN">目录</span><span data-lang="en">folder</span></td></tr></tbody>
+75 -74
View File
@@ -3,7 +3,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"maturity": "governed",
"updated_at": "2026-03-31",
"core_value": "把一次性经验沉淀为可复用、可评估、可迁移的 Skill 包体。",
@@ -80,7 +80,7 @@
"label": "可维护性",
"score": 100,
"reasons": [
"SKILL.md 约 339 个词/字。",
"SKILL.md 约 314 个词/字。",
"入口文件保持克制,可维护性较好。",
"references/ 已承载扩展指导。",
"scripts/ 已承载确定性逻辑。",
@@ -101,7 +101,7 @@
"label": "上下文成本",
"score": 42,
"reasons": [
"入口约 339 个词/字,references 约 16934 个词/字。",
"入口约 314 个词/字,references 约 16934 个词/字。",
"分数越高代表上下文成本越低。",
"上下文成本偏高,建议压缩入口或拆分 references。"
]
@@ -155,7 +155,7 @@
},
"contract_boundary": {
"trigger": {
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -183,7 +183,7 @@
"boundary_cards": [
{
"label": "Owned",
"body": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"body": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
},
{
"label": "Adjacent",
@@ -205,7 +205,7 @@
"已生成 Output Review Adjudication,可记录盲评决策、一致率和待评审项。"
],
"gaps": [
"上下文成本需要补强:入口约 339 个词/字,references 约 16934 个词/字。"
"上下文成本需要补强:入口约 314 个词/字,references 约 16934 个词/字。"
],
"recommendations": [
"先改触发边界,再扩展工作流。",
@@ -270,7 +270,7 @@
"name": "包体膨胀风险",
"impact": 2,
"probability": 1,
"signal": "SKILL.md 约 339 个词/字。",
"signal": "SKILL.md 约 314 个词/字。",
"response": "先补证据和边界,再增加包体复杂度。"
},
{
@@ -411,7 +411,7 @@
"external_pending_count": 3,
"human_pending_count": 1,
"source_check_count": 19,
"source_pass_count": 11,
"source_pass_count": 12,
"conclusion_zh": "世界级证据尚未完成:4 项待补,0 项已接受。",
"conclusion_en": "World-class evidence is not complete: 4 pending, 0 accepted.",
"entries": [
@@ -468,8 +468,7 @@
"summary_zh": "真实外部客户端 metadata-only 事件仍未导入。",
"summary_en": "Real external-client metadata-only events have not been imported yet.",
"blocked_checks": [
"External events",
"Adoption sample"
"External events"
]
}
]
@@ -510,7 +509,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -522,10 +521,10 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"file_count": 456,
"file_count": 393,
"folder_count": 4,
"distribution": [
{
@@ -550,7 +549,7 @@
},
{
"label": "scripts",
"value": 153
"value": 155
},
{
"label": "evals",
@@ -558,7 +557,7 @@
},
{
"label": "reports",
"value": 235
"value": 170
}
]
},
@@ -633,17 +632,17 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"logic_steps": [
"For one-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.",
"Capture job, output, exclusions, constraints, standards, and the lightest fit.",
"Scan references in order: external benchmark, user source, local fit; surface only uncertainty or conflict.",
"Write `description` early, test route quality, then add only earned folders and gates.",
"Add output-risk, artifact-design, prompt-quality, system-model, and next directions only when useful."
"One-off/no reusable process: `Do not create a skill`; `near-neighbor`; require `repeated use` + `reusable output contract`.",
"Capture job, output, exclusions, constraints, standards, lightest fit.",
"Scan up to `3-5` references: external, user, local; skip tiny edits; surface only uncertainty/conflict.",
"Write `description` early; route/boundary edits need `trigger_eval.py`; releases need risk-matched gates before folders.",
"Add output-risk, artifact-design, prompt-quality, system-model, next directions only when earned."
],
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"Use this skill when the request matches: Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
],
"package_map": [
{
@@ -680,7 +679,7 @@
"path": "scripts",
"label": "Deterministic helpers or local tooling",
"kind": "folder",
"file_count": 153
"file_count": 155
},
{
"path": "evals",
@@ -692,7 +691,7 @@
"path": "reports",
"label": "Generated evidence and overview artifacts",
"kind": "folder",
"file_count": 235
"file_count": 170
}
],
"strengths": [
@@ -710,7 +709,7 @@
"用户说出类似需求时: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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"activation": "manual",
"execution": "inline",
"shell": "bash"
@@ -1012,13 +1011,13 @@
"ok": true,
"summary": {
"reproducibility_ready": true,
"release_lock_ready": true,
"release_lock_ready": false,
"methodology_complete": true,
"required_artifact_count": 25,
"missing_artifact_count": 0,
"evidence_bundle_sha256": "55a6c33c12e14d6507d4a5d4d4cf1268db35fb323d523e8b23ce9c73aedf8db0",
"source_contract_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"evidence_bundle_sha256": "6c95043c2d8513102b37bc70a01647246933c84e8a27c2748cc2cae20e040158",
"source_contract_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"output_case_count": 5,
"failure_disclosure_count": 3,
"command_count": 23,
@@ -1033,21 +1032,21 @@
"world_class_task_count": 4,
"world_class_ledger_pending_count": 4,
"world_class_source_check_count": 19,
"world_class_source_pass_count": 11,
"world_class_source_blocked_count": 8,
"beta_test_ready": true,
"beta_test_blocker_count": 0,
"world_class_source_pass_count": 12,
"world_class_source_blocked_count": 7,
"beta_test_ready": false,
"beta_test_blocker_count": 1,
"beta_test_deferred_evidence_count": 4,
"public_claim_ready": false,
"public_claim_blocker_count": 3,
"public_claim_blocker_count": 4,
"working_tree_dirty": true,
"changed_file_count": 29,
"source_tree_dirty": false,
"source_changed_file_count": 0,
"changed_file_count": 37,
"source_tree_dirty": true,
"source_changed_file_count": 1,
"generated_tree_dirty": true,
"generated_changed_file_count": 29
"generated_changed_file_count": 36
},
"commit": "e79050ed12d057811d7d13ab7d8bcc5a06af76d4",
"commit": "24bea607a2b16e766bc8f2bc8483f22fae1edc61",
"missing_artifacts": [],
"limitations": [
"The git commit and dirty flags are generation-time context; release lock is blocked by source changes, while generated evidence artifacts are tracked separately.",
@@ -1132,9 +1131,9 @@
"failures": []
},
"trust_security": {
"scanned_files": 245,
"script_count": 153,
"internal_module_count": 67,
"scanned_files": 247,
"script_count": 155,
"internal_module_count": 69,
"secret_findings": 0,
"dependency_files": [
"requirements-ci.txt"
@@ -1142,7 +1141,7 @@
"network_script_count": 3,
"network_policy_covered_count": 3,
"network_policy_missing_count": 0,
"file_write_script_count": 73,
"file_write_script_count": 74,
"permission_required_count": 3,
"permission_approved_count": 3,
"permission_missing_count": 0,
@@ -1152,24 +1151,24 @@
"help_smoke_failed_count": 0,
"interactive_script_count": 0,
"package_hash_scope": "source-contract-without-generated-reports",
"package_hash_file_count": 245,
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"package_hash_file_count": 247,
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
},
"skill_atlas": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"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
"non_actionable_issue_count": 22
},
"registry_distribution": {
"ok": true,
@@ -1177,7 +1176,7 @@
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"targets": [
"openai",
"claude",
@@ -1191,8 +1190,8 @@
"trust_level": "local",
"license": "MIT",
"checksums": {
"package_sha256": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257",
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"package_sha256": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
"compatibility": {
"openai": "pass",
@@ -1223,7 +1222,7 @@
},
"distribution": {
"archive_verified": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"package_verification": "reports/package_verification.json",
"install_simulated": true,
"install_simulation": "reports/install_simulation.json"
@@ -1239,8 +1238,9 @@
"target_count": 4,
"adapter_count": 4,
"archive_present": true,
"archive_sha256": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2",
"archive_entry_count": 689,
"archive_sha256": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7",
"archive_entry_count": 580,
"nested_skill_entry_count": 0,
"failure_count": 0,
"warning_count": 0
},
@@ -1251,7 +1251,8 @@
"ok": true,
"summary": {
"archive_present": true,
"archive_entry_count": 696,
"archive_entry_count": 598,
"nested_skill_entry_count": 0,
"archive_extracted": true,
"entrypoint_loaded": true,
"manifest_loaded": true,
@@ -1311,19 +1312,19 @@
{
"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 for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution."
"to": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs."
}
],
"checksum_changes": [
{
"field": "archive_sha256",
"from": "",
"to": "7db44f059844b71930ea8194a72ba1a316116ca970620de5550d60616e8f23c2"
"to": "c56a8519244c0bc8ec17c92d4641c832629cc059f4b51fe177a2c039515253a7"
},
{
"field": "package_sha256",
"from": "0000000000000000000000000000000000000000000000000000000000000000",
"to": "5a99ef3133b0148cd5bbc1cd85fad4830bf34ca2bbac709f1e1fea2f810b1257"
"to": "db71157184dc649ee72dfcaf399204d44a366d942393d055571e0137d42c9f7c"
}
]
},
@@ -1340,14 +1341,14 @@
"ok": true,
"summary": {
"event_count": 1,
"adoption_sample_count": 0,
"activation_count": 0,
"accepted_count": 0,
"adoption_sample_count": 1,
"activation_count": 1,
"accepted_count": 1,
"edited_count": 0,
"rejected_count": 0,
"missed_count": 0,
"failed_count": 0,
"adoption_rate": 0,
"adoption_rate": 100.0,
"missed_trigger_count": 0,
"wrong_trigger_count": 0,
"bad_output_count": 0,
@@ -1356,7 +1357,7 @@
"review_overdue_count": 0,
"risk_band": "low",
"event_types": {
"review_event": 1
"skill_activation": 1
},
"failure_types": {},
"source_types": {
@@ -1631,7 +1632,7 @@
"status": "external_required",
"category": "external",
"owner": "Browser/Chrome/IDE/provider client integrator",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"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://<extension-id>/",
@@ -1684,8 +1685,8 @@
"missing_submission_count": 4,
"invalid_submission_count": 0,
"source_check_count": 19,
"source_pass_count": 11,
"source_blocked_count": 8,
"source_pass_count": 12,
"source_blocked_count": 7,
"submitted_but_pending_count": 0,
"source_accepted_without_valid_submission_count": 1,
"overclaim_guard_active": true,
@@ -2111,7 +2112,7 @@
"status": "pending",
"source_status": "external_required",
"source_accepted": false,
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"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://<extension-id>/",
@@ -2148,7 +2149,7 @@
],
"observed_state": {
"external_source_events": 0,
"adoption_sample_count": 0,
"adoption_sample_count": 1,
"raw_content_allowed": false,
"risk_band": "low",
"accepted": false
@@ -2169,8 +2170,8 @@
"label": "Adoption sample",
"field": "adoption_sample_count",
"expected": ">0",
"actual": 0,
"status": "blocked",
"actual": 1,
"status": "pass",
"source_accepted": false,
"next_action": "Telemetry must include adoption outcome evidence."
},
@@ -2186,8 +2187,8 @@
}
],
"source_check_count": 3,
"source_pass_count": 1,
"source_blocked_count": 2,
"source_pass_count": 2,
"source_blocked_count": 1,
"submission_state": {
"status": "missing",
"path": "evidence/world_class/submissions/native-client-telemetry.json",
@@ -2217,7 +2218,7 @@
},
"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 a small hypothesis-test-learn loop so the first revision is evidence-backed.",
"Borrow the discipline of defining what the skill should not own before growing the package."
],
"artifact_design": {
+3 -3
View File
@@ -24,7 +24,7 @@
<h1>Skill Atlas</h1>
<p>Portfolio-level review for route overlap, stale ownership, shared resources, telemetry drift, and no-route opportunities.</p>
<section class="grid">
<div class="card"><span>Skills</span><strong>12</strong></div>
<div class="card"><span>Skills</span><strong>11</strong></div>
<div class="card"><span>Actionable</span><strong>1</strong></div>
<div class="card"><span>Route Collisions</span><strong>0</strong></div>
<div class="card"><span>Owner Gaps</span><strong>0</strong></div>
@@ -43,13 +43,13 @@
</section>
<section>
<h2>Full Portfolio Counts</h2>
<p>All scanned skills remain visible: 5 total route collisions, 9 total owner gaps, 10 total stale signals, and 0 telemetry drift signals.</p>
<p>All scanned skills remain visible: 5 total route collisions, 8 total owner gaps, 9 total stale signals, and 0 telemetry drift signals.</p>
</section>
<section>
<h2>Catalog</h2>
<table>
<thead><tr><th>Name</th><th>Path</th><th>Owner</th><th>Maturity</th><th>Review</th><th>Scope</th></tr></thead>
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>geo-ranking-article-generator</td><td>geo-ranking-article-generator</td><td>missing</td><td>unknown</td><td>missing</td><td>embedded-generated-skill</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
<tbody><tr><td>yao-meta-skill</td><td>.</td><td>Yao Team</td><td>governed</td><td>quarterly</td><td>release</td></tr><tr><td>release-orchestrator</td><td>examples/complex-release-orchestrator/generated-skill</td><td>Yao Team</td><td>production</td><td>quarterly</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/final</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v0</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/evolution-frontend-review/v1</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>incident-command-governor</td><td>examples/governed-incident-command/generated-skill</td><td>Incident Operations Team</td><td>governed</td><td>monthly</td><td>example</td></tr><tr><td>note-cleanup</td><td>examples/simple-note-cleanup/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>frontend-review</td><td>examples/team-frontend-review/generated-skill</td><td>missing</td><td>unknown</td><td>missing</td><td>example</td></tr><tr><td>invalid-governance-skill</td><td>tests/fixtures/governance_invalid_manifest</td><td>missing</td><td>governed</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-yaml-skill</td><td>tests/fixtures/package_invalid_yaml</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr><tr><td>broken-skill</td><td>tests/fixtures/package_missing_interface_field</td><td>missing</td><td>unknown</td><td>missing</td><td>test-fixture</td></tr></tbody>
</table>
</section>
</main>
+28 -111
View File
@@ -2,20 +2,20 @@
"ok": true,
"workspace_root": ".",
"summary": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"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
"non_actionable_issue_count": 22
},
"scope_policy": {
"present": true,
@@ -49,7 +49,7 @@
{
"name": "yao-meta-skill",
"path": ".",
"description": "Create, refactor, evaluate, and package agent skills from workflows, prompts, transcripts, docs, or notes. Use for skill creation, reusable workflow packaging, skill improvement, evals, and team-ready distribution.",
"description": "Create/improve/evaluate agent skills from workflows, prompts, SOPs, scripts. Use for migration/release/package, routing, evals/tests, install checks, 优化已有 skill, 补 trigger 评测. Exclude no-skill summary/translation/docs.",
"owner": "Yao Team",
"version": "1.1.0",
"status": "active",
@@ -210,10 +210,12 @@
"scripts/yao_cli_config.py",
"scripts/yao_cli_create_commands.py",
"scripts/yao_cli_distribution_commands.py",
"scripts/yao_cli_operator_commands.py",
"scripts/yao_cli_output_commands.py",
"scripts/yao_cli_parser.py",
"scripts/yao_cli_parser_evidence.py",
"scripts/yao_cli_parser_operations.py",
"scripts/yao_cli_parser_operator.py",
"scripts/yao_cli_report_commands.py",
"scripts/yao_cli_runtime.py",
"scripts/yao_cli_telemetry.py",
@@ -260,22 +262,28 @@
"templates/complex_skill.md.j2"
],
"token_set": [
"creation",
"distribution",
"checks",
"docs",
"evals",
"evaluate",
"improvement",
"notes",
"or",
"exclude",
"improve",
"install",
"migration",
"no-skill",
"package",
"packaging",
"prompts",
"refactor",
"team-ready",
"transcripts",
"workflow",
"workflows"
"release",
"routing",
"scripts",
"sops",
"summary",
"tests",
"translation",
"trigger",
"workflows",
"优化已有",
"评测"
],
"atlas_scope": "release",
"actionable": true,
@@ -629,75 +637,6 @@
"candidate_count": 0
}
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"description": "Create GEO ranking-article packs from brand briefs. Use when asked to research a brand, find GEO or 生成式引擎优化 keywords and five competitors, generate timely titles, write five ~2000-character articles, and save them to a fixed knowledge-base folder with an HTML index. Do not use for generic SEO advice, one-off copy, or writing without competitor research.",
"owner": "",
"version": "",
"status": "",
"maturity": "",
"updated_at": "",
"review_cadence": "",
"targets": [],
"resources": [
"scripts/build_html_index.py",
"references/article-blueprint.md",
"references/feishu-benchmark-patterns.md",
"references/geo-research-playbook.md",
"templates/brand-brief-template.md"
],
"token_set": [
"2000-character",
"advice",
"articles",
"asked",
"brand",
"briefs",
"competitor",
"competitors",
"copy",
"do",
"find",
"five",
"fixed",
"folder",
"generate",
"generic",
"geo",
"html",
"index",
"keywords",
"knowledge-base",
"not",
"one-off",
"or",
"packs",
"ranking-article",
"research",
"save",
"seo",
"them",
"timely",
"titles",
"without",
"write",
"writing",
"生成式引擎优化"
],
"atlas_scope": "embedded-generated-skill",
"actionable": false,
"scope_reason": "This nested generated skill is retained as local evidence and should not gate the root Meta Skill release.",
"telemetry": {
"report_present": false,
"report": "geo-ranking-article-generator/reports/adoption_drift_report.json",
"risk_band": "missing",
"event_count": 0,
"adoption_sample_count": 0,
"adoption_rate": 0,
"candidate_count": 0
}
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
@@ -796,20 +735,20 @@
}
],
"summary": {
"skill_count": 12,
"skill_count": 11,
"actionable_skill_count": 1,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"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
"non_actionable_issue_count": 22
}
},
"route_collisions": [
@@ -904,10 +843,6 @@
"name": "frontend-review",
"path": "examples/team-frontend-review/generated-skill"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest"
@@ -968,13 +903,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"reason": "missing updated_at",
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
@@ -1054,17 +982,6 @@
"actionable": false,
"scope": "example"
},
{
"name": "geo-ranking-article-generator",
"path": "geo-ranking-article-generator",
"missing": [
"owner",
"review_cadence",
"maturity"
],
"actionable": false,
"scope": "embedded-generated-skill"
},
{
"name": "invalid-governance-skill",
"path": "tests/fixtures/governance_invalid_manifest",
+6 -6
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-06-13",
"skill_dir": ".",
"summary": {
"item_count": 15,
@@ -197,7 +197,7 @@
"key": "trust-security",
"label": "Trust Security",
"status": "pass",
"current": "secrets 0; scripts 153; help failures 0",
"current": "secrets 0; scripts 155; help failures 0",
"target": "Secrets, scripts, dependencies, permissions, and package hash are reviewable",
"evidence": [
{
@@ -259,7 +259,7 @@
"key": "skill-atlas",
"label": "Skill Atlas",
"status": "pass",
"current": "12 skills; actionable collisions 0",
"current": "11 skills; actionable collisions 0",
"target": "Workspace catalog, route overlap, stale/owner gaps, drift, and no-route opportunities",
"evidence": [
{
@@ -285,7 +285,7 @@
"key": "registry-distribution",
"label": "Registry Distribution",
"status": "pass",
"current": "zip entries 689; install failures 0; permission failures 0",
"current": "zip entries 580; install failures 0; permission failures 0",
"target": "Package metadata, archive checksum, package verification, and install simulation pass",
"evidence": [
{
@@ -351,7 +351,7 @@
"key": "native-client-telemetry",
"label": "Native Client Telemetry",
"status": "external_required",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"target": "A real Browser/Chrome/provider client sends production metadata events",
"evidence": [
{
@@ -415,7 +415,7 @@
"key": "native-client-telemetry",
"label": "Native Client Telemetry",
"status": "external_required",
"current": "external source events 0; adoption samples 0",
"current": "external source events 0; adoption samples 1",
"target": "A real Browser/Chrome/provider client sends production metadata events",
"evidence": [
{
+5 -5
View File
@@ -1,6 +1,6 @@
# Skill OS 2.0 Audit
Generated at: `2026-06-17`
Generated at: `2026-06-13`
## Summary
@@ -23,14 +23,14 @@ Generated at: `2026-06-17`
| Human Adjudication | human-required | 0/5 decisions; pending 5 | Real reviewer decisions, blind-review attestation, and integrity fingerprints recorded before claiming output review completion | Record real A/B choices, reviewer metadata, and blind-review attestation, then regenerate adjudication. |
| Benchmark Reproducibility | pass | artifacts 25; 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 153; 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 155; 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. |
| Registry Distribution | pass | zip entries 689; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Skill Atlas | pass | 11 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. |
| Registry Distribution | pass | zip entries 580; install failures 0; permission failures 0 | Package metadata, archive checksum, package verification, and install simulation pass | Regenerate registry after package verification so checksums stay aligned. |
| Review Studio | pass | decision review; warnings 3; score 91 | One page shows gates, evidence paths, blockers, warnings, actions, waivers, and annotations | Resolve human/external warning gates before claiming full release readiness. |
| Telemetry Drift | pass | events 1; risk low; recipes 5 | Local-first metadata-only event contract, aggregate drift report, hook recipes, and import path | Keep raw JSONL out of distributed packages and use aggregate reports for Atlas. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 0 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
| Native Client Telemetry | external-required | external source events 0; adoption samples 1 | A real Browser/Chrome/provider client sends production metadata events | Install a real client against the native host and import production metadata-only events. |
## Open Highest-Leverage Gaps
+9 -9
View File
@@ -1,7 +1,7 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17",
"generated_at": "2026-07-02",
"skill_dir": ".",
"summary": {
"item_count": 21,
@@ -130,7 +130,7 @@
"label": "Trust Security",
"status": "pass",
"objective": "Scripts, dependencies, permissions, secrets, and package hash are reviewable for team distribution.",
"current": "153 scripts; secrets 0; help failures 0",
"current": "155 scripts; secrets 0; help failures 0",
"command": "python3 scripts/yao.py trust .",
"test": "python3 tests/verify_trust_check.py",
"evidence": [
@@ -167,7 +167,7 @@
"label": "Skill Atlas",
"status": "pass",
"objective": "Team skill portfolio reveals route collisions, stale ownership, dependency graph, and no-route opportunities.",
"current": "12 scanned skills; actionable collisions 0",
"current": "11 scanned skills; actionable collisions 0",
"command": "python3 scripts/yao.py skill-atlas --workspace-root .",
"test": "python3 tests/verify_skill_atlas.py",
"evidence": [
@@ -204,7 +204,7 @@
"label": "Registry Distribution",
"status": "pass",
"objective": "Skill packages are installable, versioned, checksumed, and upgrade-reviewable.",
"current": "archive entries 689; install failures 0",
"current": "archive entries 580; install failures 0",
"command": "python3 scripts/yao.py package . --platform openai --platform claude --platform generic --platform vscode --output-dir dist --zip && python3 scripts/yao.py registry-audit .",
"test": "python3 tests/verify_registry_audit.py",
"evidence": [
@@ -513,7 +513,7 @@
"label": "Skill Atlas Generator",
"status": "pass",
"objective": "Recommended Skill OS 2.0 implementation PR from the upgrade plan.",
"current": "12 scanned skills",
"current": "11 scanned skills",
"command": "make ci-test",
"test": "tests/verify_skill_atlas.py",
"evidence": [
@@ -749,11 +749,11 @@
"exists": true
},
{
"path": "reports/skillops/daily/2026-06-17.json",
"path": "reports/skillops/daily/2026-07-02.json",
"exists": true
},
{
"path": "reports/skillops/daily/2026-06-17.md",
"path": "reports/skillops/daily/2026-07-02.md",
"exists": true
}
],
@@ -776,11 +776,11 @@
"exists": true
},
{
"path": "reports/skillops/weekly/2026-W25.json",
"path": "reports/skillops/weekly/2026-W27.json",
"exists": true
},
{
"path": "reports/skillops/weekly/2026-W25.md",
"path": "reports/skillops/weekly/2026-W27.md",
"exists": true
}
],
+7 -7
View File
@@ -1,6 +1,6 @@
# Skill OS 2.0 Blueprint Coverage
Generated at: `2026-06-17`
Generated at: `2026-07-02`
## Summary
@@ -26,9 +26,9 @@ 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` | 153 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 689; 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` |
| Trust Security | `pass` | 155 scripts; secrets 0; help failures 0 | `python3 scripts/yao.py trust .` | `python3 tests/verify_trust_check.py` |
| Skill Atlas | `pass` | 11 scanned skills; actionable collisions 0 | `python3 scripts/yao.py skill-atlas --workspace-root .` | `python3 tests/verify_skill_atlas.py` |
| Registry Distribution | `pass` | archive entries 580; 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` |
| Telemetry Drift | `pass` | events 1; recipes 5; risk low | `python3 scripts/yao.py telemetry-hooks . && python3 scripts/yao.py adoption-drift .` | `python3 tests/verify_telemetry_hooks.py` |
@@ -44,7 +44,7 @@ This report maps the Skill OS 2.0 upgrade blueprint to concrete local artifacts,
| Compiler Refactor | `pass` | 5/5 compiled targets | `make ci-test` | `tests/verify_compile_skill.py` |
| Agent Skills Conformance | `pass` | agent-skills target present | `make ci-test` | `tests/verify_conformance_suite.py` |
| Trust Check | `pass` | secret findings 0 | `make ci-test` | `tests/verify_trust_check.py` |
| Skill Atlas Generator | `pass` | 12 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
| Skill Atlas Generator | `pass` | 11 scanned skills | `make ci-test` | `tests/verify_skill_atlas.py` |
| Registry Package Format | `pass` | registry ok True | `make ci-test` | `tests/verify_registry_audit.py` |
| Review Studio 2.0 | `pass` | 16 review gates | `make ci-test` | `tests/verify_review_studio.py` |
| Migration V2 Docs | `pass` | migration guide present | `make ci-test` | `docs review` |
@@ -235,12 +235,12 @@ These extension tracks come from the user-supplied 2.0 reference plan. They are
- objective: Daily operations layer summarizes explicit-source conversation patterns, proposal-only adaptation work, approval state, release locks, and world-class evidence gaps.
- status: `covered`
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-06-17.json`, `reports/skillops/daily/2026-06-17.md`
- existing evidence: `scripts/render_daily_skillops_report.py`, `tests/verify_daily_skillops.py`, `reports/skillops/daily/2026-07-02.json`, `reports/skillops/daily/2026-07-02.md`
- next action: Keep Daily SkillOps report aligned with proposal, approval, coverage, and world-class ledger contracts as the operations layer evolves.
### Weekly Curator Report
- objective: Weekly curator layer aggregates Daily SkillOps opportunities, Skill Atlas portfolio signals, release locks, and world-class evidence gaps into a maintenance queue.
- status: `covered`
- existing evidence: `scripts/render_weekly_curator_report.py`, `tests/verify_weekly_curator.py`, `reports/skillops/weekly/2026-W25.json`, `reports/skillops/weekly/2026-W25.md`
- existing evidence: `scripts/render_weekly_curator_report.py`, `tests/verify_weekly_curator.py`, `reports/skillops/weekly/2026-W27.json`, `reports/skillops/weekly/2026-W27.md`
- next action: Use weekly curator output as the Skill Librarian maintenance queue before approving any durable skill-library changes.
+513
View File
@@ -0,0 +1,513 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-20T12:35:26Z",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"operations_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"explicit_source_required_for_scan": true,
"implicit_private_log_scan": false,
"raw_content_stored": false,
"redacted_excerpts_only": true,
"proposal_only": true,
"approval_required_for_writes": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"daily_report_counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"source_supplied",
"pattern_count",
"proposal_count",
"approval_count",
"pending_review_count",
"applied_count",
"rollback_count",
"local_blueprint_ready",
"public_world_class_ready",
"world_class_pending_count",
"release_lock_ready",
"evidence_consistency_ok",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
],
"source_of_truth": [
"summary",
"operations_contract"
]
},
"source": {
"path": "evals/adaptation/user_signals.example.jsonl",
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
"record_count": 8,
"explicit_source": true,
"raw_content_stored": false,
"redacted_excerpts_only": true
},
"patterns": [
{
"pattern_id": "language_default",
"label": "Default language preference",
"signal_type": "report-language",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated report-language signals.",
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
}
]
},
{
"pattern_id": "report_ui",
"label": "Report UI and visualization preference",
"signal_type": "artifact-design",
"support_count": 5,
"confidence": 0.95,
"reason": "5 redacted records matched repeated artifact-design signals.",
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-3",
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
}
]
},
{
"pattern_id": "approval_safety",
"label": "Approval and privacy boundary",
"signal_type": "governance",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated governance signals.",
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
"evidence": [
{
"record_id": "line-5",
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "delivery_format",
"label": "Delivery format preference",
"signal_type": "artifact-format",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated artifact-format signals.",
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
"evidence": [
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "evidence_testing",
"label": "Evidence and testing preference",
"signal_type": "quality-gate",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated quality-gate signals.",
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
"evidence": [
{
"record_id": "line-7",
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
},
{
"record_id": "line-8",
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
}
]
}
],
"proposals": [
{
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"opportunity_summary": {
"opportunity_count": 5,
"top_score": 88,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"action_type_counts": {
"patch_existing_skill": 3,
"agents_update": 1,
"add_eval": 1
},
"decision_counts": {
"ready_for_approval_review": 1,
"proposal_review": 4
}
},
"opportunities": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"decision_policy": {
"schema_version": "1.0",
"contract": "skillops-opportunity-scoring",
"score_range": [
0,
100
],
"score_bands": {
"85-100": "ready_for_approval_review",
"70-84": "proposal_review",
"50-69": "observe_more_evidence",
"0-49": "report_only_or_no_action"
},
"action_types": [
"add_eval",
"agents_update",
"patch_existing_skill",
"report_only"
],
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true
},
"approval": {
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0
},
"release_state": {
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true
},
"actions": [
{
"key": "review-adaptation-proposals",
"priority": "high",
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
}
],
"failures": [],
"source_reports": {
"patterns": "reports/user_patterns.json",
"proposals": "reports/adaptation_proposals.json",
"approval_ledger": "reports/adaptation_approval_ledger.json",
"regression": "reports/adaptation_regression_report.json",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json",
"evidence_consistency": "reports/evidence_consistency.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
},
"artifacts": {
"json": "reports/skillops/daily/2026-06-20.json",
"markdown": "reports/skillops/daily/2026-06-20.md"
}
}
+174
View File
@@ -0,0 +1,174 @@
# Daily SkillOps Report
Generated at: `2026-06-20T12:35:26Z`
## Summary
- decision: `proposal-review`
- source supplied: `false`
- patterns: `5`
- proposals: `5`
- pending approvals: `0`
- applied patches: `0`
- rollbacks: `0`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `true`
- evidence consistency ok: `true`
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
## Privacy Boundary
- explicit_source_required_for_scan: `true`
- implicit_private_log_scan: `false`
- raw_content_stored: `false`
- redacted_excerpts_only: `true`
- proposal_only: `true`
- approval_required_for_writes: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- daily_report_counts_as_world_class_evidence: `false`
## Actions
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
## Opportunities
- count: `5`
- top score: `88`
- ready for approval review: `1`
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Policy: Repeated verification and evidence requests should become focused checks.
## Patterns
- `language_default`: Default language preference (support `2`, confidence `0.79`)
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
## Proposals
### Keep reports Chinese-first with optional English
- ID: `adapt-18c7517f3d`
- Pattern: `language_default`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- Verification:
- `python3 tests/verify_skill_overview.py`
### Improve report layout, visual hierarchy, and chart readability
- ID: `adapt-fbfe921ba5`
- Pattern: `report_ui`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- `tests/verify_skill_overview.py`
- Verification:
- `python3 tests/verify_skill_overview.py`
- `python3 tests/verify_skill_report_charts.py`
### Keep adaptive iteration approval-gated
- ID: `adapt-59d219a1fb`
- Pattern: `approval_safety`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `references/user-memory-policy.md`
- `references/autonomous-adaptation.md`
- `schemas/adaptation-proposal.schema.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
### Make generated artifact paths explicit in CLI output
- ID: `adapt-457baca160`
- Pattern: `delivery_format`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/yao.py`
- `README.md`
- Verification:
- `python3 tests/verify_yao_cli.py`
### Attach tests and evidence refresh to each upgrade
- ID: `adapt-abfee25d3a`
- Pattern: `evidence_testing`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `tests/verify_adaptation_safety.py`
- `scripts/render_skill_os2_coverage.py`
- `reports/skill_os2_coverage.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
- `python3 tests/verify_skill_os2_coverage.py`
## Evidence
- patterns: `reports/user_patterns.json`
- proposals: `reports/adaptation_proposals.json`
- approval_ledger: `reports/adaptation_approval_ledger.json`
- regression: `reports/adaptation_regression_report.json`
- skill_os2_coverage: `reports/skill_os2_coverage.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`
- evidence_consistency: `reports/evidence_consistency.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
+513
View File
@@ -0,0 +1,513 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-21",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"operations_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"explicit_source_required_for_scan": true,
"implicit_private_log_scan": false,
"raw_content_stored": false,
"redacted_excerpts_only": true,
"proposal_only": true,
"approval_required_for_writes": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"daily_report_counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"source_supplied",
"pattern_count",
"proposal_count",
"approval_count",
"pending_review_count",
"applied_count",
"rollback_count",
"local_blueprint_ready",
"public_world_class_ready",
"world_class_pending_count",
"release_lock_ready",
"evidence_consistency_ok",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
],
"source_of_truth": [
"summary",
"operations_contract"
]
},
"source": {
"path": "evals/adaptation/user_signals.example.jsonl",
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
"record_count": 8,
"explicit_source": true,
"raw_content_stored": false,
"redacted_excerpts_only": true
},
"patterns": [
{
"pattern_id": "language_default",
"label": "Default language preference",
"signal_type": "report-language",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated report-language signals.",
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
}
]
},
{
"pattern_id": "report_ui",
"label": "Report UI and visualization preference",
"signal_type": "artifact-design",
"support_count": 5,
"confidence": 0.95,
"reason": "5 redacted records matched repeated artifact-design signals.",
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-3",
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
}
]
},
{
"pattern_id": "approval_safety",
"label": "Approval and privacy boundary",
"signal_type": "governance",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated governance signals.",
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
"evidence": [
{
"record_id": "line-5",
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "delivery_format",
"label": "Delivery format preference",
"signal_type": "artifact-format",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated artifact-format signals.",
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
"evidence": [
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "evidence_testing",
"label": "Evidence and testing preference",
"signal_type": "quality-gate",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated quality-gate signals.",
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
"evidence": [
{
"record_id": "line-7",
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
},
{
"record_id": "line-8",
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
}
]
}
],
"proposals": [
{
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"opportunity_summary": {
"opportunity_count": 5,
"top_score": 88,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"action_type_counts": {
"patch_existing_skill": 3,
"agents_update": 1,
"add_eval": 1
},
"decision_counts": {
"ready_for_approval_review": 1,
"proposal_review": 4
}
},
"opportunities": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"decision_policy": {
"schema_version": "1.0",
"contract": "skillops-opportunity-scoring",
"score_range": [
0,
100
],
"score_bands": {
"85-100": "ready_for_approval_review",
"70-84": "proposal_review",
"50-69": "observe_more_evidence",
"0-49": "report_only_or_no_action"
},
"action_types": [
"add_eval",
"agents_update",
"patch_existing_skill",
"report_only"
],
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true
},
"approval": {
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0
},
"release_state": {
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": true,
"evidence_consistency_ok": true
},
"actions": [
{
"key": "review-adaptation-proposals",
"priority": "high",
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
}
],
"failures": [],
"source_reports": {
"patterns": "reports/user_patterns.json",
"proposals": "reports/adaptation_proposals.json",
"approval_ledger": "reports/adaptation_approval_ledger.json",
"regression": "reports/adaptation_regression_report.json",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json",
"evidence_consistency": "reports/evidence_consistency.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
},
"artifacts": {
"json": "reports/skillops/daily/2026-06-21.json",
"markdown": "reports/skillops/daily/2026-06-21.md"
}
}
+174
View File
@@ -0,0 +1,174 @@
# Daily SkillOps Report
Generated at: `2026-06-21`
## Summary
- decision: `proposal-review`
- source supplied: `false`
- patterns: `5`
- proposals: `5`
- pending approvals: `0`
- applied patches: `0`
- rollbacks: `0`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `true`
- evidence consistency ok: `true`
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
## Privacy Boundary
- explicit_source_required_for_scan: `true`
- implicit_private_log_scan: `false`
- raw_content_stored: `false`
- redacted_excerpts_only: `true`
- proposal_only: `true`
- approval_required_for_writes: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- daily_report_counts_as_world_class_evidence: `false`
## Actions
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
## Opportunities
- count: `5`
- top score: `88`
- ready for approval review: `1`
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Policy: Repeated verification and evidence requests should become focused checks.
## Patterns
- `language_default`: Default language preference (support `2`, confidence `0.79`)
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
## Proposals
### Keep reports Chinese-first with optional English
- ID: `adapt-18c7517f3d`
- Pattern: `language_default`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- Verification:
- `python3 tests/verify_skill_overview.py`
### Improve report layout, visual hierarchy, and chart readability
- ID: `adapt-fbfe921ba5`
- Pattern: `report_ui`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- `tests/verify_skill_overview.py`
- Verification:
- `python3 tests/verify_skill_overview.py`
- `python3 tests/verify_skill_report_charts.py`
### Keep adaptive iteration approval-gated
- ID: `adapt-59d219a1fb`
- Pattern: `approval_safety`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `references/user-memory-policy.md`
- `references/autonomous-adaptation.md`
- `schemas/adaptation-proposal.schema.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
### Make generated artifact paths explicit in CLI output
- ID: `adapt-457baca160`
- Pattern: `delivery_format`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/yao.py`
- `README.md`
- Verification:
- `python3 tests/verify_yao_cli.py`
### Attach tests and evidence refresh to each upgrade
- ID: `adapt-abfee25d3a`
- Pattern: `evidence_testing`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `tests/verify_adaptation_safety.py`
- `scripts/render_skill_os2_coverage.py`
- `reports/skill_os2_coverage.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
- `python3 tests/verify_skill_os2_coverage.py`
## Evidence
- patterns: `reports/user_patterns.json`
- proposals: `reports/adaptation_proposals.json`
- approval_ledger: `reports/adaptation_approval_ledger.json`
- regression: `reports/adaptation_regression_report.json`
- skill_os2_coverage: `reports/skill_os2_coverage.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`
- evidence_consistency: `reports/evidence_consistency.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
+513
View File
@@ -0,0 +1,513 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-07-02T06:33:07Z",
"skill_dir": ".",
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "proposal-review",
"source_supplied": false,
"pattern_count": 5,
"proposal_count": 5,
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0,
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"operations_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"explicit_source_required_for_scan": true,
"implicit_private_log_scan": false,
"raw_content_stored": false,
"redacted_excerpts_only": true,
"proposal_only": true,
"approval_required_for_writes": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"daily_report_counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "daily-skillops-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"source_supplied",
"pattern_count",
"proposal_count",
"approval_count",
"pending_review_count",
"applied_count",
"rollback_count",
"local_blueprint_ready",
"public_world_class_ready",
"world_class_pending_count",
"release_lock_ready",
"evidence_consistency_ok",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
],
"source_of_truth": [
"summary",
"operations_contract"
]
},
"source": {
"path": "evals/adaptation/user_signals.example.jsonl",
"fingerprint_sha256": "48f94a4f3b82f90db29921c13d09c765ec10aabfde1adce65710c137cc6c5abf",
"record_count": 8,
"explicit_source": true,
"raw_content_stored": false,
"redacted_excerpts_only": true
},
"patterns": [
{
"pattern_id": "language_default",
"label": "Default language preference",
"signal_type": "report-language",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated report-language signals.",
"recommended_action": "Keep generated reports Chinese-first with an English switch where user-facing.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
}
]
},
{
"pattern_id": "report_ui",
"label": "Report UI and visualization preference",
"signal_type": "artifact-design",
"support_count": 5,
"confidence": 0.95,
"reason": "5 redacted records matched repeated artifact-design signals.",
"recommended_action": "Prioritize white-background Kami-style reports with readable charts and stable navigation.",
"evidence": [
{
"record_id": "line-1",
"excerpt": "新生成的 Skill 报告默认使用中文简体,并在右上角提供英文切换。"
},
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-3",
"excerpt": "报告排版采用白底 Kami 风格,图表、模块和导航都要清晰。"
}
]
},
{
"pattern_id": "approval_safety",
"label": "Approval and privacy boundary",
"signal_type": "governance",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated governance signals.",
"recommended_action": "Keep adaptive work proposal-only until a reviewer approves an allowlisted patch path.",
"evidence": [
{
"record_id": "line-5",
"excerpt": "自适应升级必须先生成提案,不能直接自动修改源文件。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "delivery_format",
"label": "Delivery format preference",
"signal_type": "artifact-format",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated artifact-format signals.",
"recommended_action": "Surface stable artifact paths and formats in CLI output and generated summaries.",
"evidence": [
{
"record_id": "line-2",
"excerpt": "HTML 报告需要双语能力,但默认内容应该保持中文简体。"
},
{
"record_id": "line-6",
"excerpt": "用户偏好扫描必须由用户提供明确路径,不要默认扫描私人日志。"
}
]
},
{
"pattern_id": "evidence_testing",
"label": "Evidence and testing preference",
"signal_type": "quality-gate",
"support_count": 2,
"confidence": 0.79,
"reason": "2 redacted records matched repeated quality-gate signals.",
"recommended_action": "Attach focused tests and refreshed evidence reports to every non-trivial skill upgrade.",
"evidence": [
{
"record_id": "line-7",
"excerpt": "每次升级都需要测试、覆盖报告和可审计证据,推送前要跑 CI。"
},
{
"record_id": "line-8",
"excerpt": "涉及 GitHub 推送时,要保留证据链,避免把计划当作完成证明。"
}
]
}
],
"proposals": [
{
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"risk_level": "low",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"risk_level": "medium",
"status": "proposal-only",
"requires_approval": true,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"opportunity_summary": {
"opportunity_count": 5,
"top_score": 88,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"action_type_counts": {
"patch_existing_skill": 3,
"agents_update": 1,
"add_eval": 1
},
"decision_counts": {
"ready_for_approval_review": 1,
"proposal_review": 4
}
},
"opportunities": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
]
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
]
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
]
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
]
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
]
}
],
"decision_policy": {
"schema_version": "1.0",
"contract": "skillops-opportunity-scoring",
"score_range": [
0,
100
],
"score_bands": {
"85-100": "ready_for_approval_review",
"70-84": "proposal_review",
"50-69": "observe_more_evidence",
"0-49": "report_only_or_no_action"
},
"action_types": [
"add_eval",
"agents_update",
"patch_existing_skill",
"report_only"
],
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true
},
"approval": {
"approval_count": 0,
"pending_review_count": 0,
"applied_count": 0,
"rollback_count": 0
},
"release_state": {
"local_blueprint_ready": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"release_lock_ready": false,
"evidence_consistency_ok": true
},
"actions": [
{
"key": "review-adaptation-proposals",
"priority": "high",
"action": "Review proposal-only adaptation items before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for the pending world-class ledger entries."
}
],
"failures": [],
"source_reports": {
"patterns": "reports/user_patterns.json",
"proposals": "reports/adaptation_proposals.json",
"approval_ledger": "reports/adaptation_approval_ledger.json",
"regression": "reports/adaptation_regression_report.json",
"skill_os2_coverage": "reports/skill_os2_coverage.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json",
"evidence_consistency": "reports/evidence_consistency.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json"
},
"artifacts": {
"json": "reports/skillops/daily/2026-07-02.json",
"markdown": "reports/skillops/daily/2026-07-02.md"
}
}
+174
View File
@@ -0,0 +1,174 @@
# Daily SkillOps Report
Generated at: `2026-07-02T06:33:07Z`
## Summary
- decision: `proposal-review`
- source supplied: `false`
- patterns: `5`
- proposals: `5`
- pending approvals: `0`
- applied patches: `0`
- rollbacks: `0`
- local blueprint ready: `true`
- public world-class ready: `false`
- world-class pending: `4`
- release lock ready: `false`
- evidence consistency ok: `true`
This report is an operations cockpit for explicit-source SkillOps. It does not scan private logs, write source files, apply patches, or count as world-class external or human evidence.
## Privacy Boundary
- explicit_source_required_for_scan: `true`
- implicit_private_log_scan: `false`
- raw_content_stored: `false`
- redacted_excerpts_only: `true`
- proposal_only: `true`
- approval_required_for_writes: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- daily_report_counts_as_world_class_evidence: `false`
## Actions
- `high` Review proposal-only adaptation items before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for the pending world-class ledger entries.
## Opportunities
- count: `5`
- top score: `88`
- ready for approval review: `1`
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Policy: Repeated verification and evidence requests should become focused checks.
## Patterns
- `language_default`: Default language preference (support `2`, confidence `0.79`)
- `report_ui`: Report UI and visualization preference (support `5`, confidence `0.95`)
- `approval_safety`: Approval and privacy boundary (support `2`, confidence `0.79`)
- `delivery_format`: Delivery format preference (support `2`, confidence `0.79`)
- `evidence_testing`: Evidence and testing preference (support `2`, confidence `0.79`)
## Proposals
### Keep reports Chinese-first with optional English
- ID: `adapt-18c7517f3d`
- Pattern: `language_default`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- Verification:
- `python3 tests/verify_skill_overview.py`
### Improve report layout, visual hierarchy, and chart readability
- ID: `adapt-fbfe921ba5`
- Pattern: `report_ui`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `scripts/render_skill_overview.py`
- `references/artifact-design-doctrine.md`
- `tests/verify_skill_overview.py`
- Verification:
- `python3 tests/verify_skill_overview.py`
- `python3 tests/verify_skill_report_charts.py`
### Keep adaptive iteration approval-gated
- ID: `adapt-59d219a1fb`
- Pattern: `approval_safety`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `references/user-memory-policy.md`
- `references/autonomous-adaptation.md`
- `schemas/adaptation-proposal.schema.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
### Make generated artifact paths explicit in CLI output
- ID: `adapt-457baca160`
- Pattern: `delivery_format`
- Status: `proposal-only`
- Risk: `low`
- Requires approval: `true`
- Target files:
- `scripts/yao.py`
- `README.md`
- Verification:
- `python3 tests/verify_yao_cli.py`
### Attach tests and evidence refresh to each upgrade
- ID: `adapt-abfee25d3a`
- Pattern: `evidence_testing`
- Status: `proposal-only`
- Risk: `medium`
- Requires approval: `true`
- Target files:
- `tests/verify_adaptation_safety.py`
- `scripts/render_skill_os2_coverage.py`
- `reports/skill_os2_coverage.json`
- Verification:
- `python3 tests/verify_adaptation_safety.py`
- `python3 tests/verify_skill_os2_coverage.py`
## Evidence
- patterns: `reports/user_patterns.json`
- proposals: `reports/adaptation_proposals.json`
- approval_ledger: `reports/adaptation_approval_ledger.json`
- regression: `reports/adaptation_regression_report.json`
- skill_os2_coverage: `reports/skill_os2_coverage.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`
- evidence_consistency: `reports/evidence_consistency.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
+16 -14
View File
@@ -1,21 +1,21 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-06-17T08:58:54Z",
"generated_at": "2026-06-21",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W25",
"daily_report_count": 2,
"opportunity_count": 10,
"daily_report_count": 4,
"opportunity_count": 20,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 12,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -25,17 +25,17 @@
"summary": {
"decision": "curator-review",
"week_id": "2026-W25",
"daily_report_count": 2,
"opportunity_count": 10,
"daily_report_count": 4,
"opportunity_count": 20,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 12,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
@@ -90,7 +90,9 @@
},
"daily_reports": [
"reports/skillops/daily/2026-06-16.json",
"reports/skillops/daily/2026-06-17.json"
"reports/skillops/daily/2026-06-17.json",
"reports/skillops/daily/2026-06-20.json",
"reports/skillops/daily/2026-06-21.json"
],
"opportunity_summary": {
"action_type_counts": {
@@ -275,20 +277,20 @@
}
],
"portfolio": {
"skill_count": 12,
"skill_count": 11,
"actionable_issue_count": 0,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 9,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 10,
"stale_count": 9,
"actionable_stale_count": 0,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"no_route_opportunity_count": 0
},
"release_state": {
"release_lock_ready": false,
"release_lock_ready": true,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4
+7 -7
View File
@@ -1,19 +1,19 @@
# Weekly SkillOps Curator Report
Generated at: `2026-06-17T08:58:54Z`
Generated at: `2026-06-21`
Week: `2026-W25`
## Summary
- decision: `curator-review`
- daily_report_count: `2`
- daily_report_count: `4`
- unique_opportunity_count: `5`
- ready_for_approval_review_count: `1`
- proposal_review_count: `4`
- top_score: `88`
- skill_count: `12`
- skill_count: `11`
- actionable_portfolio_issue_count: `0`
- release_lock_ready: `False`
- release_lock_ready: `True`
- evidence_consistency_ok: `True`
- public_world_class_ready: `False`
- world_class_pending_count: `4`
@@ -89,13 +89,13 @@ This report is a weekly curator cockpit for generated SkillOps evidence. It does
## Portfolio Signals
- skill_count: `12`
- skill_count: `11`
- actionable_issue_count: `0`
- route_collision_count: `5`
- actionable_route_collision_count: `0`
- owner_gap_count: `9`
- owner_gap_count: `8`
- actionable_owner_gap_count: `0`
- stale_count: `10`
- stale_count: `9`
- actionable_stale_count: `0`
- drift_signal_count: `0`
- actionable_drift_signal_count: `0`
+323
View File
@@ -0,0 +1,323 @@
{
"schema_version": "1.0",
"ok": true,
"generated_at": "2026-07-02T06:33:07Z",
"skill_dir": ".",
"decision": "curator-review",
"week_id": "2026-W27",
"daily_report_count": 5,
"opportunity_count": 25,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0,
"summary": {
"decision": "curator-review",
"week_id": "2026-W27",
"daily_report_count": 5,
"opportunity_count": 25,
"unique_opportunity_count": 5,
"ready_for_approval_review_count": 1,
"proposal_review_count": 4,
"observe_more_evidence_count": 0,
"report_only_count": 0,
"top_score": 88,
"skill_count": 11,
"actionable_portfolio_issue_count": 0,
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4,
"writes_source_files": false,
"auto_patch_enabled": false,
"failure_count": 0
},
"curator_contract": {
"schema_version": "1.0",
"contract": "weekly-skillops-curator-report",
"cadence": "weekly",
"source_of_truth": [
"reports/skillops/daily/*.json",
"reports/skill_atlas.json",
"reports/benchmark_reproducibility.json",
"reports/evidence_consistency.json",
"reports/world_class_evidence_ledger.json"
],
"raw_content_stored": false,
"redacted_or_generated_evidence_only": true,
"proposal_only": true,
"writes_source_files": false,
"auto_patch_enabled": false,
"approval_required_for_writes": true,
"counts_as_world_class_evidence": false
},
"report_contract": {
"schema_version": "1.0",
"contract": "weekly-skillops-curator-report",
"top_level_mirrors_summary": true,
"summary_fields": [
"decision",
"week_id",
"daily_report_count",
"opportunity_count",
"unique_opportunity_count",
"ready_for_approval_review_count",
"proposal_review_count",
"observe_more_evidence_count",
"report_only_count",
"top_score",
"skill_count",
"actionable_portfolio_issue_count",
"release_lock_ready",
"evidence_consistency_ok",
"public_world_class_ready",
"world_class_pending_count",
"writes_source_files",
"auto_patch_enabled",
"failure_count"
]
},
"daily_reports": [
"reports/skillops/daily/2026-06-16.json",
"reports/skillops/daily/2026-06-17.json",
"reports/skillops/daily/2026-06-20.json",
"reports/skillops/daily/2026-06-21.json",
"reports/skillops/daily/2026-07-02.json"
],
"opportunity_summary": {
"action_type_counts": {
"add_eval": 1,
"agents_update": 1,
"patch_existing_skill": 3
},
"decision_counts": {
"proposal_review": 4,
"ready_for_approval_review": 1
},
"risk_level_counts": {
"low": 3,
"medium": 2
}
},
"curator_queue": [
{
"opportunity_id": "skillops-4ad91c18dd",
"proposal_id": "adapt-fbfe921ba5",
"pattern_id": "report_ui",
"title": "Improve report layout, visual hierarchy, and chart readability",
"opportunity_type": "artifact-quality",
"action_type": "patch_existing_skill",
"decision": "ready_for_approval_review",
"priority": "medium",
"score": 88,
"score_reasons": [
"support_count=5",
"confidence=0.95",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated report layout feedback maps to existing renderer and design doctrine changes.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 5,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md",
"tests/verify_skill_overview.py"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py",
"python3 tests/verify_skill_report_charts.py"
],
"daily_report_date": "2026-06-16"
},
{
"opportunity_id": "skillops-531e13c1c6",
"proposal_id": "adapt-59d219a1fb",
"pattern_id": "approval_safety",
"title": "Keep adaptive iteration approval-gated",
"opportunity_type": "governance",
"action_type": "agents_update",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated privacy and approval signals should tighten durable operating guidance.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"references/user-memory-policy.md",
"references/autonomous-adaptation.md",
"schemas/adaptation-proposal.schema.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py"
],
"daily_report_date": "2026-06-16"
},
{
"opportunity_id": "skillops-709ef884f3",
"proposal_id": "adapt-18c7517f3d",
"pattern_id": "language_default",
"title": "Keep reports Chinese-first with optional English",
"opportunity_type": "report-experience",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated language preferences can improve existing report templates after approval.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/render_skill_overview.py",
"references/artifact-design-doctrine.md"
],
"verification_commands": [
"python3 tests/verify_skill_overview.py"
],
"daily_report_date": "2026-06-16"
},
{
"opportunity_id": "skillops-f9e43237aa",
"proposal_id": "adapt-457baca160",
"pattern_id": "delivery_format",
"title": "Make generated artifact paths explicit in CLI output",
"opportunity_type": "artifact-discoverability",
"action_type": "patch_existing_skill",
"decision": "proposal_review",
"priority": "medium",
"score": 82,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=low",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated delivery-path requests can improve CLI and README artifact discoverability.",
"risk_level": "low",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"scripts/yao.py",
"README.md"
],
"verification_commands": [
"python3 tests/verify_yao_cli.py"
],
"daily_report_date": "2026-06-16"
},
{
"opportunity_id": "skillops-0a3a2de7c3",
"proposal_id": "adapt-abfee25d3a",
"pattern_id": "evidence_testing",
"title": "Attach tests and evidence refresh to each upgrade",
"opportunity_type": "quality-gate",
"action_type": "add_eval",
"decision": "proposal_review",
"priority": "medium",
"score": 74,
"score_reasons": [
"support_count=2",
"confidence=0.79",
"risk=medium",
"target_files_present",
"verification_present",
"approval_required"
],
"policy_reason": "Repeated verification and evidence requests should become focused checks.",
"risk_level": "medium",
"requires_approval": true,
"write_allowed_without_approval": false,
"evidence_count": 2,
"target_files": [
"tests/verify_adaptation_safety.py",
"scripts/render_skill_os2_coverage.py",
"reports/skill_os2_coverage.json"
],
"verification_commands": [
"python3 tests/verify_adaptation_safety.py",
"python3 tests/verify_skill_os2_coverage.py"
],
"daily_report_date": "2026-06-16"
}
],
"portfolio": {
"skill_count": 11,
"actionable_issue_count": 0,
"route_collision_count": 5,
"actionable_route_collision_count": 0,
"owner_gap_count": 8,
"actionable_owner_gap_count": 0,
"stale_count": 9,
"actionable_stale_count": 0,
"drift_signal_count": 0,
"actionable_drift_signal_count": 0,
"no_route_opportunity_count": 0
},
"release_state": {
"release_lock_ready": false,
"evidence_consistency_ok": true,
"public_world_class_ready": false,
"world_class_pending_count": 4
},
"actions": [
{
"key": "review-ready-opportunities",
"priority": "high",
"action": "Review the top ready-for-approval SkillOps opportunities before preparing any approval ledger entry."
},
{
"key": "close-world-class-evidence",
"priority": "high",
"action": "Collect accepted external or human evidence for pending world-class ledger entries before public claims."
}
],
"failures": [],
"source_reports": {
"daily_dir": "reports/skillops/daily",
"skill_atlas": "reports/skill_atlas.json",
"benchmark_reproducibility": "reports/benchmark_reproducibility.json",
"evidence_consistency": "reports/evidence_consistency.json",
"world_class_ledger": "reports/world_class_evidence_ledger.json"
},
"artifacts": {
"json": "reports/skillops/weekly/2026-W27.json",
"markdown": "reports/skillops/weekly/2026-W27.md"
}
}
+110
View File
@@ -0,0 +1,110 @@
# Weekly SkillOps Curator Report
Generated at: `2026-07-02T06:33:07Z`
Week: `2026-W27`
## Summary
- decision: `curator-review`
- daily_report_count: `5`
- unique_opportunity_count: `5`
- ready_for_approval_review_count: `1`
- proposal_review_count: `4`
- top_score: `88`
- skill_count: `11`
- actionable_portfolio_issue_count: `0`
- release_lock_ready: `False`
- evidence_consistency_ok: `True`
- public_world_class_ready: `False`
- world_class_pending_count: `4`
This report is a weekly curator cockpit for generated SkillOps evidence. It does not scan private logs, write source files, apply patches, or count as world-class evidence.
## Curator Boundary
- raw_content_stored: `false`
- redacted_or_generated_evidence_only: `true`
- proposal_only: `true`
- writes_source_files: `false`
- auto_patch_enabled: `false`
- approval_required_for_writes: `true`
- counts_as_world_class_evidence: `false`
## Actions
- `high` Review the top ready-for-approval SkillOps opportunities before preparing any approval ledger entry.
- `high` Collect accepted external or human evidence for pending world-class ledger entries before public claims.
## Curator Queue
### Improve report layout, visual hierarchy, and chart readability
- ID: `skillops-4ad91c18dd`
- Action: `patch_existing_skill`
- Decision: `ready_for_approval_review`
- Score: `88`
- Risk: `medium`
- Source day: `2026-06-16`
- Policy: Repeated report layout feedback maps to existing renderer and design doctrine changes.
### Keep adaptive iteration approval-gated
- ID: `skillops-531e13c1c6`
- Action: `agents_update`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Source day: `2026-06-16`
- Policy: Repeated privacy and approval signals should tighten durable operating guidance.
### Keep reports Chinese-first with optional English
- ID: `skillops-709ef884f3`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Source day: `2026-06-16`
- Policy: Repeated language preferences can improve existing report templates after approval.
### Make generated artifact paths explicit in CLI output
- ID: `skillops-f9e43237aa`
- Action: `patch_existing_skill`
- Decision: `proposal_review`
- Score: `82`
- Risk: `low`
- Source day: `2026-06-16`
- Policy: Repeated delivery-path requests can improve CLI and README artifact discoverability.
### Attach tests and evidence refresh to each upgrade
- ID: `skillops-0a3a2de7c3`
- Action: `add_eval`
- Decision: `proposal_review`
- Score: `74`
- Risk: `medium`
- Source day: `2026-06-16`
- Policy: Repeated verification and evidence requests should become focused checks.
## Portfolio Signals
- skill_count: `11`
- actionable_issue_count: `0`
- route_collision_count: `5`
- actionable_route_collision_count: `0`
- owner_gap_count: `8`
- actionable_owner_gap_count: `0`
- stale_count: `9`
- actionable_stale_count: `0`
- drift_signal_count: `0`
- actionable_drift_signal_count: `0`
- no_route_opportunity_count: `0`
## Evidence
- daily_dir: `reports/skillops/daily`
- skill_atlas: `reports/skill_atlas.json`
- benchmark_reproducibility: `reports/benchmark_reproducibility.json`
- evidence_consistency: `reports/evidence_consistency.json`
- world_class_ledger: `reports/world_class_evidence_ledger.json`

Some files were not shown because too many files have changed in this diff Show More