diff --git a/CATALOG.md b/CATALOG.md index 9295ae4..42b729d 100644 --- a/CATALOG.md +++ b/CATALOG.md @@ -15,7 +15,7 @@ each upstream `SKILL.md`; this file records source and installation facts. | Packages | 23 selected Matt Pocock Skills | | Upstream tag | `v1.1.0` | | Upstream commit | `d574778f94cf620fcc8ce741584093bc650a61d3` | -| Local release | `v0.1.1` after publication evidence | +| Local release | `v0.1.1` — published at `a891d39d7f34793d857c5b8eec3429c23871f421` | | Manifest | [UPSTREAM_LOCK.json](UPSTREAM_LOCK.json) | | Sync | [scripts/sync-upstream.ps1](scripts/sync-upstream.ps1) | | Admission record | [v0.1.1 admission evidence](docs/evidence/releases/v0.1.1/ADMISSION_RECORD.md) | diff --git a/CATALOG.zh-CN.md b/CATALOG.zh-CN.md index a611284..aeee87e 100644 --- a/CATALOG.zh-CN.md +++ b/CATALOG.zh-CN.md @@ -14,7 +14,7 @@ | 包数量 | Matt Pocock 指定 Skill 23 个 | | upstream tag | `v1.1.0` | | upstream commit | `d574778f94cf620fcc8ce741584093bc650a61d3` | -| 本地 release | `v0.1.1`,须以真实发布证据为准 | +| 本地 release | `v0.1.1`,发布提交 `a891d39d7f34793d857c5b8eec3429c23871f421` | | manifest | [UPSTREAM_LOCK.json](UPSTREAM_LOCK.json) | | 同步工具 | [scripts/sync-upstream.ps1](scripts/sync-upstream.ps1) | | 准入记录 | [v0.1.1 admission evidence](docs/evidence/releases/v0.1.1/ADMISSION_RECORD.zh-CN.md) | diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f1a71c..c602ace 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All release claims below require the corresponding repository evidence. A draft entry is not proof of a tag, release, installation, or independent review. -## 0.1.1 — 2026-07-23 (pending evidence confirmation) +## 0.1.1 — 2026-07-26 ### Added @@ -23,8 +23,11 @@ review. ### Release evidence See [v0.1.1 release receipt](docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md). -Until the real tag, private release, fresh-install verification, and -independent review exist, any unrun item remains `NOT TESTED` or `BLOCKED`. +The tag, private release, fresh-install verification, and CI are verified. +Independent acceptance remains `BLOCKED` when no independent evaluator record +is available. + +Release commit: `a891d39d7f34793d857c5b8eec3429c23871f421`. ## 0.1.0 — 2026-07-23 diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index aa3c989..e5cc1f7 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -16,5 +16,6 @@ ### 发布证据 -在真实 tag/release、fresh install 和 independent review 完成前,本条目不得写成 -已发布或已验证;请查看 `docs/evidence/releases/v0.1.1/`。 +tag/release、fresh install 和 CI 已有真实证据;如果没有独立 evaluator 记录, +independent acceptance 仍保持 `BLOCKED`。发布提交为 +`a891d39d7f34793d857c5b8eec3429c23871f421`,详见 `docs/evidence/releases/v0.1.1/`。 diff --git a/README.md b/README.md index 36810a0..89fb34d 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,10 @@ repository and remains private. ## Current release -The next stable release is `v0.1.1` on the local `codex/t19-skills-3rdParty` -change set; publication is recorded only after the real tag, release, and -fresh-install evidence exist. The collection mirrors exactly 23 selected Matt -Pocock Skills from upstream tag `v1.1.0`, resolved to +The stable release is `v0.1.1`, released from commit +`a891d39d7f34793d857c5b8eec3429c23871f421`; the [private GitHub release](https://github.com/LightDevCoder/skills-3rdParty/releases/tag/v0.1.1) +is backed by fresh-install evidence. The collection mirrors exactly 23 +selected Matt Pocock Skills from upstream tag `v1.1.0`, resolved to `d574778f94cf620fcc8ce741584093bc650a61d3`. The authoritative inventory is [UPSTREAM_LOCK.json](UPSTREAM_LOCK.json). It @@ -34,21 +34,20 @@ manifest and [source-group record](sources/mattpocock-skills/README.md). ## Quick installation -The commands below are release-gate targets: `v0.1.1` has not yet been tagged, -published, or fresh-install verified. Once the gate passes, the `#v0.1.1` -fragment pins this private collection release. It does not claim that the -shorthand without a fragment is immutable. +The commands below install the published private snapshot. The `#v0.1.1` +fragment pins this collection release; shorthand without a fragment follows the +repository's default revision and is not immutable. Install the complete private collection: ```text -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex ``` Install one package: ```text -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex ``` Read [Installation](docs/INSTALLATION.md) for private-repository credentials, diff --git a/README.zh-CN.md b/README.zh-CN.md index 922b55d..0674e24 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -8,8 +8,9 @@ ## 当前版本 -本次变更目标版本为 `v0.1.1`;只有真实 tag、release 和 fresh-install 证据 -产生后才可宣称已发布。集合准确收录 Matt Pocock 上游 `v1.1.0` 的 23 个 +稳定版本为 `v0.1.1`,发布提交为 +`a891d39d7f34793d857c5b8eec3429c23871f421`;对应的[私有 GitHub release](https://github.com/LightDevCoder/skills-3rdParty/releases/tag/v0.1.1) +已有 fresh-install 证据。集合准确收录 Matt Pocock 上游 `v1.1.0` 的 23 个 指定 Skill,解析 commit 为 `d574778f94cf620fcc8ce741584093bc650a61d3`。 [UPSTREAM_LOCK.json](UPSTREAM_LOCK.json) 是权威清单,记录 upstream 路径、 @@ -30,13 +31,12 @@ manifest 和 [source-group 记录](sources/mattpocock-skills/README.md)中。 ## 安装 ```text -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex ``` -上面的命令是 release gate 目标:`v0.1.1` 尚未创建 tag、发布或完成 -fresh-install 验证。gate 通过后,`#v0.1.1` 固定本地集合 release;包内容另外固定在 upstream -`v1.1.0`/完整 commit。不带 fragment 的简写不能描述为 immutable。请阅读[安装指南](docs/INSTALLATION.md)了解 private +上面的命令安装已发布的 private snapshot。`#v0.1.1` 固定本地集合 release;包内容另外固定在 upstream +`v1.1.0`/完整 commit。不带 fragment 的简写跟随仓库默认 revision,不能描述为 immutable。请阅读[安装指南](docs/INSTALLATION.md)了解 private 凭据、全新目录、重复安装、发现验证和手工回退。 ## 边界与维护 diff --git a/UPSTREAM_LOCK.json b/UPSTREAM_LOCK.json index 1877b45..0abab88 100644 --- a/UPSTREAM_LOCK.json +++ b/UPSTREAM_LOCK.json @@ -1,1054 +1,1151 @@ { - "schema_version": 2, - "repository": "LightDevCoder/skills-3rdParty", - "visibility": "private", - "source_kind": "pinned-upstream-mirror-with-collection-metadata-adapter", - "source_states": { - "pinned_upstream_mirror": { "copied": true, "record": "Complete package snapshot at a pinned upstream revision; collection metadata adapters are recorded as local patches." }, - "modified_upstream_fork": { "copied": false, "record": "Requires a concrete compatibility or behavior-difference rationale and an explicit patch review before admission." }, - "external_direct_dependency": { "copied": false, "record": "Record the authoritative upstream source and revision; do not copy the package into this collection." } - }, - "upstream": { - "repository": "mattpocock/skills", - "url": "https://github.com/mattpocock/skills", - "selected_tag": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "license": "MIT", - "license_source": "LICENSE at upstream repository root" - }, - "allowlist": [ - "ask-matt", - "codebase-design", - "code-review", - "design-an-interface", - "diagnosing-bugs", - "domain-modeling", - "grilling", - "grill-me", - "grill-with-docs", - "handoff", - "implement", - "improve-codebase-architecture", - "loop-me", - "prototype", - "qa", - "research", - "tdd", - "teach", - "to-spec", - "to-tickets", - "ubiquitous-language", - "wayfinder", - "writing-great-skills" - ], - "collection_checksum": "c712abb181e90de8502dd90d6c31f64c87e647d072fac256e9b6147cb8f2ec65", - "generated_utc": "2026-07-23T03:06:49.4499494Z", - "installation": { - "whole_collection": "npx skills add LightDevCoder/skills-3rdParty#v0.1.1", - "single_skill": "npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ", - "revision_semantics": "The #v0.1.1 fragment pins the local collection release after the release gate; the mirrored package content is pinned to upstream v1.1.0 and its resolved commit.", - "release_status": "target-only; v0.1.1 tag, release, and fresh-install verification are not yet published or tested" - }, - "entries": [ - { - "package_name": "ask-matt", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/ask-matt", - "local_package_path": "skills/ask-matt", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "a74cf85e50937410c1b75856d2118669aed0b9905b1d699b8da2757aa12a05c7", - "files": [ - { - "path": "SKILL.md", - "sha256": "1905dee1e9d0a4b29c04f3bf507cc432f71a251c2ae1829a3bfdb940b1437e94", - "bytes": 7890 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "2b6dd7502762d2da44631d7c666478c8324348a88620932db8dc5576d772b684", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/ask-matt/LICENSE", - "provenance_path": "skills/ask-matt/UPSTREAM.md", - "patch_record_path": "skills/ask-matt/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "codebase-design", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/codebase-design", - "local_package_path": "skills/codebase-design", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "36fe7ffcce1c5aa6ca4d895f6c49b6a4dca855777be06a32c2e3b95cd28da250", - "files": [ - { - "path": "DEEPENING.md", - "sha256": "793b7704484b704e1b5f93aac197a5758018e838afdb8bcb08ad6465960586dc", - "bytes": 2596 - }, - { - "path": "DESIGN-IT-TWICE.md", - "sha256": "578a9a67c20fda10a7e5442e2208d0e5cf68601d012b0ecd6469e651100a308f", - "bytes": 2756 - }, - { - "path": "SKILL.md", - "sha256": "22d3815e5629ddea7ed7c9f8e7c330f6a1559466ee904e58371e1e8a10be0c4b", - "bytes": 6602 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "809c31ef4bf4b7dc7a03fbd1565160268d3895d715b68e7ada36b6323c4cd949", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/codebase-design/LICENSE", - "provenance_path": "skills/codebase-design/UPSTREAM.md", - "patch_record_path": "skills/codebase-design/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 3 - } - }, - { - "package_name": "code-review", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/code-review", - "local_package_path": "skills/code-review", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "2ea7e85d156bd697cab1b21fb1afb8519364d864d137f8ffc7face9e595c0cdd", - "files": [ - { - "path": "SKILL.md", - "sha256": "e5507100ac01a04d082ac23ac6311d0fec8699d1ab00c599db7064039b819f63", - "bytes": 6829 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "45032a66cd4dd4f1b31f8c566d5dc1ea729693cd0e7e9e829ef273a45546ba59", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/code-review/LICENSE", - "provenance_path": "skills/code-review/UPSTREAM.md", - "patch_record_path": "skills/code-review/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "design-an-interface", - "source_group": "deprecated", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/deprecated/design-an-interface", - "local_package_path": "skills/design-an-interface", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "e5a512c83d01a5bb845b1ea2b48b658491095c5c04e23fb08469413bc2778c65", - "files": [ - { - "path": "SKILL.md", - "sha256": "88193ab179032918cdea0afe74b8610d6d079ac51191f286c10e9e47839a9e6b", - "bytes": 3460 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "010e9467a29f4382a55b52fd61736579ed8f95920a4dee4bc266d2a923c1f14c", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/design-an-interface/LICENSE", - "provenance_path": "skills/design-an-interface/UPSTREAM.md", - "patch_record_path": "skills/design-an-interface/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "diagnosing-bugs", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/diagnosing-bugs", - "local_package_path": "skills/diagnosing-bugs", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "e5633c97bf5e0e85b7ed627e285c32d1736358b4c69f286f11890b7a3464ca45", - "files": [ - { - "path": "scripts/hitl-loop.template.sh", - "sha256": "a14e4d722c2324c130d331e87267bc9f9b03bbaf32c3b8e08310b039ea5e5863", - "bytes": 1205 - }, - { - "path": "SKILL.md", - "sha256": "3dfe5ec16b89a01dbc1bf606a1a1cfc32349e225f3bb75a3fb86117974a83cb8", - "bytes": 8670 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "9be939be749d1b270de3e1b83eef6513faf09eae9e90f6efe792364d0a7fd6d8", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/diagnosing-bugs/LICENSE", - "provenance_path": "skills/diagnosing-bugs/UPSTREAM.md", - "patch_record_path": "skills/diagnosing-bugs/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 2 - } - }, - { - "package_name": "domain-modeling", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/domain-modeling", - "local_package_path": "skills/domain-modeling", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "2c6ecbee7a21c2039de3dd034c89a35814894b6d8730767c7bf3084de2a5c8eb", - "files": [ - { - "path": "ADR-FORMAT.md", - "sha256": "dba54707c3251660ecf7ee6ff154a816a62badddd4ef403062f3a34e23509636", - "bytes": 2813 - }, - { - "path": "CONTEXT-FORMAT.md", - "sha256": "f229cd8485b77ea76428ffb807058ebd1d254a391b9669b10081942d3d6e8dd3", - "bytes": 2359 - }, - { - "path": "SKILL.md", - "sha256": "004d5cb6258658f2e9cbf0d9f90bdc9104f8b83bd296556783800c31d503814f", - "bytes": 3501 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "422c6abbc89845ae46dcb50502fb7fb363639982a60e3e8b3a85b2803653a494", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/domain-modeling/LICENSE", - "provenance_path": "skills/domain-modeling/UPSTREAM.md", - "patch_record_path": "skills/domain-modeling/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 3 - } - }, - { - "package_name": "grilling", - "source_group": "productivity", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/productivity/grilling", - "local_package_path": "skills/grilling", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "7966a979b8fb5c75c5f946af9df52d3cde94f387c1058c9213d727b7a2d79a68", - "files": [ - { - "path": "SKILL.md", - "sha256": "3ff64dbca5137e8d887bdf3caafbd9067376b251b507517fbe875b70dfb5d345", - "bytes": 833 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "d308499f12cc24d83815292eedcb5bdf22bedef89965121cb27f263872c68f2c", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/grilling/LICENSE", - "provenance_path": "skills/grilling/UPSTREAM.md", - "patch_record_path": "skills/grilling/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "grill-me", - "source_group": "productivity", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/productivity/grill-me", - "local_package_path": "skills/grill-me", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "6cb3a6e07b201bf025b2f0af56a8bff02eff487b21405cdba13fb93876456d60", - "files": [ - { - "path": "SKILL.md", - "sha256": "9c71927d4f0fd32d815247b4ca1fc782d4c5f2f3c1d6d023d188d4a7e0299b21", - "bytes": 154 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "61a34e8a85dcaa536d9192b1175679e29ebbacdc59d68aa55c4fe8087a3fb944", - "upstream_snapshot": true, - "dependency_state": { - "state": "declared-peer-dependency", - "packages": [ - "grilling" - ], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/grill-me/LICENSE", - "provenance_path": "skills/grill-me/UPSTREAM.md", - "patch_record_path": "skills/grill-me/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "grill-with-docs", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/grill-with-docs", - "local_package_path": "skills/grill-with-docs", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "e053e365d6427a3b367db15b8dd10fd7321e2ef746b466f7f69e660f4dccd96a", - "files": [ - { - "path": "SKILL.md", - "sha256": "269376d5146332f597c4194fa1adef93b879ad62e0183c0d111a447e7af51be9", - "bytes": 252 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "a541d6c9378ce03c753bc07b86259b38b809bda50aedce05d25855e368ef4746", - "upstream_snapshot": true, - "dependency_state": { - "state": "declared-peer-dependency", - "packages": [ - "grilling", - "domain-modeling" - ], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/grill-with-docs/LICENSE", - "provenance_path": "skills/grill-with-docs/UPSTREAM.md", - "patch_record_path": "skills/grill-with-docs/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "handoff", - "source_group": "productivity", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/productivity/handoff", - "local_package_path": "skills/handoff", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "6f6913f9de6beb705b24bed73916c2c8a6e06913367fa977f0e901b9918aa457", - "files": [ - { - "path": "SKILL.md", - "sha256": "65e80725923677f128b1d3cf23397b4bf0cc8659cd408aaee5ab285d01aa54af", - "bytes": 895 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "3c4eb19639d979de6ae68d361f6018767259ab1a842d2cfb21c60f73a22c1015", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/handoff/LICENSE", - "provenance_path": "skills/handoff/UPSTREAM.md", - "patch_record_path": "skills/handoff/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "implement", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/implement", - "local_package_path": "skills/implement", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "999e56209065940682f9c729fdb7d4fd852fe5adff7b74aee89f96bd783c7da3", - "files": [ - { - "path": "SKILL.md", - "sha256": "30cd7bc1ebfb3891e85a1eed3b3b81aea0fa4ad4553a784de7f8e421b2d223e0", - "bytes": 448 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "a5d613f43346ae19dd957f9abd8bac9728bc6057521e55097dba28870ce0668b", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/implement/LICENSE", - "provenance_path": "skills/implement/UPSTREAM.md", - "patch_record_path": "skills/implement/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "improve-codebase-architecture", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/improve-codebase-architecture", - "local_package_path": "skills/improve-codebase-architecture", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "b3f5963f06bf0d72166df91fc7ceb99ed6e867c489ff0763f19fdcfbee078bb7", - "files": [ - { - "path": "HTML-REPORT.md", - "sha256": "a1b8f23e710e68c2bba04edc4c6b9001a08af7bdebb8bc01c6964e76c9ba4855", - "bytes": 6808 - }, - { - "path": "SKILL.md", - "sha256": "5408ce415a8610568edaf44bd7a32e35ca2b8a65051bcae7d3ed61801e20088d", - "bytes": 5487 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "f55e43fc22837af1602af5c58a7c5e53e94d32c7302b8d5ca3029a78c40d0ca4", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/improve-codebase-architecture/LICENSE", - "provenance_path": "skills/improve-codebase-architecture/UPSTREAM.md", - "patch_record_path": "skills/improve-codebase-architecture/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 2 - } - }, - { - "package_name": "loop-me", - "source_group": "in-progress", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/in-progress/loop-me", - "local_package_path": "skills/loop-me", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "ef766c16c8888e6bc82b9ac23143e4037d91bae6ad7b4fe18326b64751e586f3", - "files": [ - { - "path": "SKILL.md", - "sha256": "8214df9c466030e90172421d1d26f2a71dc3197ffbc7f354bac20c7d88318169", - "bytes": 2584 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "3ee456c86ff8ecaad1cf0cb350ab96d37aea0bb4c9f80cb4c10b66449bde79aa", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/loop-me/LICENSE", - "provenance_path": "skills/loop-me/UPSTREAM.md", - "patch_record_path": "skills/loop-me/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "prototype", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/prototype", - "local_package_path": "skills/prototype", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "262a21afd7a7c4187bc680615a21953b3e2b6418f0c743c0dfb784490e6e9a80", - "files": [ - { - "path": "LOGIC.md", - "sha256": "3ce34ce7c2d06bcbdac4d846aafc488bbef0b2cd067134eeeda34c3804842f2f", - "bytes": 5673 - }, - { - "path": "SKILL.md", - "sha256": "9c750b700a6396697ddce3bcca04d322179d73c5d4f7d82268309eff84fd1176", - "bytes": 3032 - }, - { - "path": "UI.md", - "sha256": "be9846286540f0db138f7ba02e0b52ac8ba14ee561992be6788e4725284c89b7", - "bytes": 6901 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "f6db9b491e21984cfd4ca5568c662c4f97ab70e6d7e68e78caa3bf035f04ae40", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/prototype/LICENSE", - "provenance_path": "skills/prototype/UPSTREAM.md", - "patch_record_path": "skills/prototype/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 3 - } - }, - { - "package_name": "qa", - "source_group": "deprecated", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/deprecated/qa", - "local_package_path": "skills/qa", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "aa688402bb65f7bcf17a0f538557a88314bbc750b17bbf2139c2402d067a0618", - "files": [ - { - "path": "SKILL.md", - "sha256": "199b4d8cbea7a2b69de091e221f42b7835a3d0b3215d4d1eff53f6e9fd7f3a6c", - "bytes": 5095 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "c786f8b593b6e25eb126ea16ba52a8431c1ad64132d80f011ec8c1e9f34cd545", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/qa/LICENSE", - "provenance_path": "skills/qa/UPSTREAM.md", - "patch_record_path": "skills/qa/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "research", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/research", - "local_package_path": "skills/research", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "669d1e6de12a0e8516dba1b7648897d559eeb508d7b2b755fc4e56bfa57aedcd", - "files": [ - { - "path": "SKILL.md", - "sha256": "0b6597c453178536b50c044a9e57cbc32dbffa47607a370e40768332f54bf8c2", - "bytes": 811 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "31256462e21195486fa62120319d0211e9237fe7870a7831b29e5ff93d8ea88d", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/research/LICENSE", - "provenance_path": "skills/research/UPSTREAM.md", - "patch_record_path": "skills/research/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "tdd", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/tdd", - "local_package_path": "skills/tdd", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "c165fe21aeaaad637abe8355699ed410a94f7ebeb3dad0549dbdcacabb900198", - "files": [ - { - "path": "mocking.md", - "sha256": "73a10b6a26b56197c738a764c1e4205af98c74553f4a713795997f6bc35b917d", - "bytes": 1540 - }, - { - "path": "SKILL.md", - "sha256": "2de14b893e7a1bf7030b9eb778a3714a19da70c4284ad18a6e43b2402aa693ef", - "bytes": 3249 - }, - { - "path": "tests.md", - "sha256": "0b401f98bd3684d2fea6440d6946afcf8f5f68ac6a65599dd7a2b90dd9f02eb5", - "bytes": 2291 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "3d0e69c9fb1d5352a46be2420fce4d1ca8b601ce385d63333f14a1ee30611bd0", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/tdd/LICENSE", - "provenance_path": "skills/tdd/UPSTREAM.md", - "patch_record_path": "skills/tdd/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 3 - } - }, - { - "package_name": "teach", - "source_group": "productivity", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/productivity/teach", - "local_package_path": "skills/teach", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "7aadc88d6bc6c8fa71df8c1aba17a43e98b8e789cbe87a1beb68eda0df6e8903", - "files": [ - { - "path": "GLOSSARY-FORMAT.md", - "sha256": "408c96dce06be99b53a6e05b1e3201c900bcbb46ae3cf08ead8aa3e3cb545d8c", - "bytes": 2166 - }, - { - "path": "LEARNING-RECORD-FORMAT.md", - "sha256": "7bbbf6e325370633c77ec772cf4d30da19037ff2892c9e751f23e2696cf80888", - "bytes": 2823 - }, - { - "path": "MISSION-FORMAT.md", - "sha256": "ba1bc536615a6940414d96a1d87562f8f2684f56649d44ba15abaaf1833d0ce9", - "bytes": 1584 - }, - { - "path": "RESOURCES-FORMAT.md", - "sha256": "b5c7f17ce7c7b7f49a3a0007162e5024948c7b5c45c549643cafeb900ed431a6", - "bytes": 1958 - }, - { - "path": "SKILL.md", - "sha256": "99c077a05f66237c95392dc440974e9d144c1267309e978c7a18aaf065ce7fd3", - "bytes": 9647 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "25258a77a23bd0aae52b688f579b2f14253e765d94e8cc4a6485499da98b63f8", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/teach/LICENSE", - "provenance_path": "skills/teach/UPSTREAM.md", - "patch_record_path": "skills/teach/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 5 - } - }, - { - "package_name": "to-spec", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/to-spec", - "local_package_path": "skills/to-spec", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "2962348d344be0a09fc8946fc08e358208b79ddcb3a309139d36f9e1bbefd584", - "files": [ - { - "path": "SKILL.md", - "sha256": "a8ffe2ecd1692f012d310dca3f3c9a75f61086df77dbb0a5bc38ddbc0bd2e6bc", - "bytes": 3148 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "293e0057b2f737d2f7ec87f7b4f06a8bbeb921c9b0073a899218b62688da2dc0", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/to-spec/LICENSE", - "provenance_path": "skills/to-spec/UPSTREAM.md", - "patch_record_path": "skills/to-spec/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "to-tickets", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/to-tickets", - "local_package_path": "skills/to-tickets", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "e830a0046407fd2c393d2bd5d0165266de6e11feab6000742c782105d4a1c8d1", - "files": [ - { - "path": "SKILL.md", - "sha256": "573999404e46537ae441eaefe751fe85cb353b81e630bccbf9af0a2c475356b2", - "bytes": 5902 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "9ab139d59418a935d541f82dc16214da4ece1be75c6b0b205b30245a2e1cb919", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/to-tickets/LICENSE", - "provenance_path": "skills/to-tickets/UPSTREAM.md", - "patch_record_path": "skills/to-tickets/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "ubiquitous-language", - "source_group": "deprecated", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/deprecated/ubiquitous-language", - "local_package_path": "skills/ubiquitous-language", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "18b5d153102737e71d92adb3cfeafd966a0d29bdd86934d1a11a4f213294867d", - "files": [ - { - "path": "SKILL.md", - "sha256": "a1efafd7ec7a630ed2b0753be2ddbcf53e50573e5c20a3d43e98056da25afce2", - "bytes": 4983 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "a7c3931ef655e32a8960337ac51be019e5e8d604148ad6c8c3b58bdb6c26361e", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/ubiquitous-language/LICENSE", - "provenance_path": "skills/ubiquitous-language/UPSTREAM.md", - "patch_record_path": "skills/ubiquitous-language/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "wayfinder", - "source_group": "engineering", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/engineering/wayfinder", - "local_package_path": "skills/wayfinder", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "4b3ba022e3f5a7617f694fef98a949b543a47bf06f471cb871ce691484df097b", - "files": [ - { - "path": "SKILL.md", - "sha256": "f6b44ce86d9d15c1848a06b6dc89e6237eaebf3c47201aa7263645690719df7a", - "bytes": 11630 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "ea0d53d2fe6b0acd5290e09bf483d574c0f885a526027e42699a7e805e11b3fb", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": false, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/wayfinder/LICENSE", - "provenance_path": "skills/wayfinder/UPSTREAM.md", - "patch_record_path": "skills/wayfinder/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 1 - } - }, - { - "package_name": "writing-great-skills", - "source_group": "productivity", - "source_state": "pinned-upstream-mirror", - "upstream_repository": "mattpocock/skills", - "upstream_package_path": "skills/productivity/writing-great-skills", - "local_package_path": "skills/writing-great-skills", - "pinned_revision": "v1.1.0", - "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", - "checksum": "801ced90a47140b9789cf6a49b0da614e4a79b3d601b1324d6c03536a7ab97c8", - "files": [ - { - "path": "GLOSSARY.md", - "sha256": "7c8b520536aa90fdd5ceeedfbfc5e24e21df0dd480619d9f2bba38c959f3c49e", - "bytes": 18689 - }, - { - "path": "SKILL.md", - "sha256": "8c38389dbcfdb3605690c5ce2fe0fa433e7a2f2371a7f1e697d080d81d15fdea", - "bytes": 9497 - } - ], - "local_modification_state": "metadata-adapter-only", - "local_patch_paths": [ - "agents/openai.yaml", - "UPSTREAM.md", - "PATCHES.md", - "LICENSE" - ], - "local_patch_checksum": "c8c098f84b64954eb8de01f089fb5765316a65e19237c6f336ccb2c0557e230a", - "upstream_snapshot": true, - "dependency_state": { - "state": "none", - "packages": [], - "writing_great_skills_is_authoring_knowledge_only": true, - "learn_anything_runtime_dependency": false - }, - "license_path": "skills/writing-great-skills/LICENSE", - "provenance_path": "skills/writing-great-skills/UPSTREAM.md", - "patch_record_path": "skills/writing-great-skills/PATCHES.md", - "referenced_resource_check": { - "missing": [], - "source_file_count": 2 - } - } - ] + "schema_version": 2, + "repository": "LightDevCoder/skills-3rdParty", + "visibility": "private", + "source_kind": "pinned-upstream-mirror-with-collection-metadata-adapter", + "source_states": { + "pinned_upstream_mirror": { + "copied": true, + "record": "Complete package snapshot at a pinned upstream revision; collection metadata adapters are recorded as local patches." + }, + "modified_upstream_fork": { + "copied": false, + "record": "Requires a concrete compatibility or behavior-difference rationale and an explicit patch review before admission." + }, + "external_direct_dependency": { + "copied": false, + "record": "Record the authoritative upstream source and revision; do not copy the package into this collection." + } + }, + "upstream": { + "repository": "mattpocock/skills", + "url": "https://github.com/mattpocock/skills", + "selected_tag": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "license": "MIT", + "license_source": "LICENSE at upstream repository root" + }, + "allowlist": [ + "ask-matt", + "codebase-design", + "code-review", + "design-an-interface", + "diagnosing-bugs", + "domain-modeling", + "grilling", + "grill-me", + "grill-with-docs", + "handoff", + "implement", + "improve-codebase-architecture", + "loop-me", + "prototype", + "qa", + "research", + "tdd", + "teach", + "to-spec", + "to-tickets", + "ubiquitous-language", + "wayfinder", + "writing-great-skills" + ], + "collection_checksum": "c712abb181e90de8502dd90d6c31f64c87e647d072fac256e9b6147cb8f2ec65", + "generated_utc": "2026-07-26T06:17:17.0140273Z", + "installation": { + "whole_collection": "npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex", + "single_skill": "npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill \u003cskill-name\u003e --yes --copy --agent codex", + "revision_semantics": "The #v0.1.1 fragment pins the local collection release; the mirrored package content is pinned to upstream v1.1.0 and its resolved commit.", + "release_status": "released-with-acceptance-limitation; tag, private release, fresh install, and CI verified; independent acceptance BLOCKED" + }, + "entries": [ + { + "package_name": "ask-matt", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/ask-matt", + "local_package_path": "skills/ask-matt", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "a74cf85e50937410c1b75856d2118669aed0b9905b1d699b8da2757aa12a05c7", + "files": [ + { + "path": "SKILL.md", + "sha256": "1905dee1e9d0a4b29c04f3bf507cc432f71a251c2ae1829a3bfdb940b1437e94", + "bytes": 7890 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "b6cabc4635afb7b4265fdd92d2334389a50a19ccae7572f4881f55afce493e2a", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/ask-matt/LICENSE", + "provenance_path": "skills/ask-matt/UPSTREAM.md", + "patch_record_path": "skills/ask-matt/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "codebase-design", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/codebase-design", + "local_package_path": "skills/codebase-design", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "36fe7ffcce1c5aa6ca4d895f6c49b6a4dca855777be06a32c2e3b95cd28da250", + "files": [ + { + "path": "DEEPENING.md", + "sha256": "793b7704484b704e1b5f93aac197a5758018e838afdb8bcb08ad6465960586dc", + "bytes": 2596 + }, + { + "path": "DESIGN-IT-TWICE.md", + "sha256": "578a9a67c20fda10a7e5442e2208d0e5cf68601d012b0ecd6469e651100a308f", + "bytes": 2756 + }, + { + "path": "SKILL.md", + "sha256": "22d3815e5629ddea7ed7c9f8e7c330f6a1559466ee904e58371e1e8a10be0c4b", + "bytes": 6602 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "aa50c1fb8ccf39e88a1f6f50ccc2eda8d2055d25277cc7f4626ce6c9fb125b82", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/codebase-design/LICENSE", + "provenance_path": "skills/codebase-design/UPSTREAM.md", + "patch_record_path": "skills/codebase-design/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 3 + } + }, + { + "package_name": "code-review", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/code-review", + "local_package_path": "skills/code-review", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "2ea7e85d156bd697cab1b21fb1afb8519364d864d137f8ffc7face9e595c0cdd", + "files": [ + { + "path": "SKILL.md", + "sha256": "e5507100ac01a04d082ac23ac6311d0fec8699d1ab00c599db7064039b819f63", + "bytes": 6829 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "dd256d682f2ac5ad5e9372a4c9acd8b7157209859043bf6b32c1b28e4384e2d1", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/code-review/LICENSE", + "provenance_path": "skills/code-review/UPSTREAM.md", + "patch_record_path": "skills/code-review/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "design-an-interface", + "source_group": "deprecated", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/deprecated/design-an-interface", + "local_package_path": "skills/design-an-interface", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "e5a512c83d01a5bb845b1ea2b48b658491095c5c04e23fb08469413bc2778c65", + "files": [ + { + "path": "SKILL.md", + "sha256": "88193ab179032918cdea0afe74b8610d6d079ac51191f286c10e9e47839a9e6b", + "bytes": 3460 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "41004de747f69823d3a4825318845d6379056250331c761d221e6e85e2a2e51c", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/design-an-interface/LICENSE", + "provenance_path": "skills/design-an-interface/UPSTREAM.md", + "patch_record_path": "skills/design-an-interface/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "diagnosing-bugs", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/diagnosing-bugs", + "local_package_path": "skills/diagnosing-bugs", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "e5633c97bf5e0e85b7ed627e285c32d1736358b4c69f286f11890b7a3464ca45", + "files": [ + { + "path": "scripts/hitl-loop.template.sh", + "sha256": "a14e4d722c2324c130d331e87267bc9f9b03bbaf32c3b8e08310b039ea5e5863", + "bytes": 1205 + }, + { + "path": "SKILL.md", + "sha256": "3dfe5ec16b89a01dbc1bf606a1a1cfc32349e225f3bb75a3fb86117974a83cb8", + "bytes": 8670 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "55d8f02e761dcc24fbc6b3cb25a3e7b4a4d6e17b83dbf278e07244874d915dc3", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/diagnosing-bugs/LICENSE", + "provenance_path": "skills/diagnosing-bugs/UPSTREAM.md", + "patch_record_path": "skills/diagnosing-bugs/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 2 + } + }, + { + "package_name": "domain-modeling", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/domain-modeling", + "local_package_path": "skills/domain-modeling", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "2c6ecbee7a21c2039de3dd034c89a35814894b6d8730767c7bf3084de2a5c8eb", + "files": [ + { + "path": "ADR-FORMAT.md", + "sha256": "dba54707c3251660ecf7ee6ff154a816a62badddd4ef403062f3a34e23509636", + "bytes": 2813 + }, + { + "path": "CONTEXT-FORMAT.md", + "sha256": "f229cd8485b77ea76428ffb807058ebd1d254a391b9669b10081942d3d6e8dd3", + "bytes": 2359 + }, + { + "path": "SKILL.md", + "sha256": "004d5cb6258658f2e9cbf0d9f90bdc9104f8b83bd296556783800c31d503814f", + "bytes": 3501 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "65cce4152b948fcc099b8bf92118bd776b93eb2560b3f6149c09d9be246b0e6d", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/domain-modeling/LICENSE", + "provenance_path": "skills/domain-modeling/UPSTREAM.md", + "patch_record_path": "skills/domain-modeling/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 3 + } + }, + { + "package_name": "grilling", + "source_group": "productivity", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/productivity/grilling", + "local_package_path": "skills/grilling", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "7966a979b8fb5c75c5f946af9df52d3cde94f387c1058c9213d727b7a2d79a68", + "files": [ + { + "path": "SKILL.md", + "sha256": "3ff64dbca5137e8d887bdf3caafbd9067376b251b507517fbe875b70dfb5d345", + "bytes": 833 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "8bcc5c96441a069a7fbcd34e28bdb28214a8ab78feb95dee1d8a1c61f832493e", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/grilling/LICENSE", + "provenance_path": "skills/grilling/UPSTREAM.md", + "patch_record_path": "skills/grilling/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "grill-me", + "source_group": "productivity", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/productivity/grill-me", + "local_package_path": "skills/grill-me", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "6cb3a6e07b201bf025b2f0af56a8bff02eff487b21405cdba13fb93876456d60", + "files": [ + { + "path": "SKILL.md", + "sha256": "9c71927d4f0fd32d815247b4ca1fc782d4c5f2f3c1d6d023d188d4a7e0299b21", + "bytes": 154 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "9c51083f67c22e757b577401c9f2051db60ba7a21060bf24c8d54bc65c005d8f", + "upstream_snapshot": true, + "dependency_state": { + "state": "declared-peer-dependency", + "packages": [ + "grilling" + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/grill-me/LICENSE", + "provenance_path": "skills/grill-me/UPSTREAM.md", + "patch_record_path": "skills/grill-me/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "grill-with-docs", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/grill-with-docs", + "local_package_path": "skills/grill-with-docs", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "e053e365d6427a3b367db15b8dd10fd7321e2ef746b466f7f69e660f4dccd96a", + "files": [ + { + "path": "SKILL.md", + "sha256": "269376d5146332f597c4194fa1adef93b879ad62e0183c0d111a447e7af51be9", + "bytes": 252 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "38cb7eb13f7252234c086606c1d3a4251934fdf1d66152d06a6d4fc2692a55dd", + "upstream_snapshot": true, + "dependency_state": { + "state": "declared-peer-dependency", + "packages": [ + "grilling", + "domain-modeling" + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/grill-with-docs/LICENSE", + "provenance_path": "skills/grill-with-docs/UPSTREAM.md", + "patch_record_path": "skills/grill-with-docs/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "handoff", + "source_group": "productivity", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/productivity/handoff", + "local_package_path": "skills/handoff", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "6f6913f9de6beb705b24bed73916c2c8a6e06913367fa977f0e901b9918aa457", + "files": [ + { + "path": "SKILL.md", + "sha256": "65e80725923677f128b1d3cf23397b4bf0cc8659cd408aaee5ab285d01aa54af", + "bytes": 895 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "08c0a05599096a44747dc684fb689c0ace1f5fe4ed40a285b51516b26d2991d4", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/handoff/LICENSE", + "provenance_path": "skills/handoff/UPSTREAM.md", + "patch_record_path": "skills/handoff/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "implement", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/implement", + "local_package_path": "skills/implement", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "999e56209065940682f9c729fdb7d4fd852fe5adff7b74aee89f96bd783c7da3", + "files": [ + { + "path": "SKILL.md", + "sha256": "30cd7bc1ebfb3891e85a1eed3b3b81aea0fa4ad4553a784de7f8e421b2d223e0", + "bytes": 448 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "92f376cfaf8f8a96f34c2ccfebc46cb20d74d47145006cb644cd3c2d702d0719", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/implement/LICENSE", + "provenance_path": "skills/implement/UPSTREAM.md", + "patch_record_path": "skills/implement/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "improve-codebase-architecture", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/improve-codebase-architecture", + "local_package_path": "skills/improve-codebase-architecture", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "b3f5963f06bf0d72166df91fc7ceb99ed6e867c489ff0763f19fdcfbee078bb7", + "files": [ + { + "path": "HTML-REPORT.md", + "sha256": "a1b8f23e710e68c2bba04edc4c6b9001a08af7bdebb8bc01c6964e76c9ba4855", + "bytes": 6808 + }, + { + "path": "SKILL.md", + "sha256": "5408ce415a8610568edaf44bd7a32e35ca2b8a65051bcae7d3ed61801e20088d", + "bytes": 5487 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "7962437b5927a52472a08c5284317a7b1f68f0014e532b7a49f2a54afae2a7f9", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/improve-codebase-architecture/LICENSE", + "provenance_path": "skills/improve-codebase-architecture/UPSTREAM.md", + "patch_record_path": "skills/improve-codebase-architecture/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 2 + } + }, + { + "package_name": "loop-me", + "source_group": "in-progress", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/in-progress/loop-me", + "local_package_path": "skills/loop-me", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "ef766c16c8888e6bc82b9ac23143e4037d91bae6ad7b4fe18326b64751e586f3", + "files": [ + { + "path": "SKILL.md", + "sha256": "8214df9c466030e90172421d1d26f2a71dc3197ffbc7f354bac20c7d88318169", + "bytes": 2584 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "eb4e2794fee5d0676560c5fdcd9c089069028883eb0efbd67039606025dcba9a", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/loop-me/LICENSE", + "provenance_path": "skills/loop-me/UPSTREAM.md", + "patch_record_path": "skills/loop-me/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "prototype", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/prototype", + "local_package_path": "skills/prototype", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "262a21afd7a7c4187bc680615a21953b3e2b6418f0c743c0dfb784490e6e9a80", + "files": [ + { + "path": "LOGIC.md", + "sha256": "3ce34ce7c2d06bcbdac4d846aafc488bbef0b2cd067134eeeda34c3804842f2f", + "bytes": 5673 + }, + { + "path": "SKILL.md", + "sha256": "9c750b700a6396697ddce3bcca04d322179d73c5d4f7d82268309eff84fd1176", + "bytes": 3032 + }, + { + "path": "UI.md", + "sha256": "be9846286540f0db138f7ba02e0b52ac8ba14ee561992be6788e4725284c89b7", + "bytes": 6901 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "8075ecf6a6676b18dc24146434557536a64a27565994749780baf55473734218", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/prototype/LICENSE", + "provenance_path": "skills/prototype/UPSTREAM.md", + "patch_record_path": "skills/prototype/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 3 + } + }, + { + "package_name": "qa", + "source_group": "deprecated", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/deprecated/qa", + "local_package_path": "skills/qa", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "aa688402bb65f7bcf17a0f538557a88314bbc750b17bbf2139c2402d067a0618", + "files": [ + { + "path": "SKILL.md", + "sha256": "199b4d8cbea7a2b69de091e221f42b7835a3d0b3215d4d1eff53f6e9fd7f3a6c", + "bytes": 5095 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "4aa2095ae4b9c638520405d7cb38dd339077d3ce52d0c08e149d2e8a0c0d6b3e", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/qa/LICENSE", + "provenance_path": "skills/qa/UPSTREAM.md", + "patch_record_path": "skills/qa/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "research", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/research", + "local_package_path": "skills/research", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "669d1e6de12a0e8516dba1b7648897d559eeb508d7b2b755fc4e56bfa57aedcd", + "files": [ + { + "path": "SKILL.md", + "sha256": "0b6597c453178536b50c044a9e57cbc32dbffa47607a370e40768332f54bf8c2", + "bytes": 811 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "2ab609bc10dd97c5242583f5eaec6b14b742108e642dfb7205cadf29f526ba47", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/research/LICENSE", + "provenance_path": "skills/research/UPSTREAM.md", + "patch_record_path": "skills/research/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "tdd", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/tdd", + "local_package_path": "skills/tdd", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "c165fe21aeaaad637abe8355699ed410a94f7ebeb3dad0549dbdcacabb900198", + "files": [ + { + "path": "mocking.md", + "sha256": "73a10b6a26b56197c738a764c1e4205af98c74553f4a713795997f6bc35b917d", + "bytes": 1540 + }, + { + "path": "SKILL.md", + "sha256": "2de14b893e7a1bf7030b9eb778a3714a19da70c4284ad18a6e43b2402aa693ef", + "bytes": 3249 + }, + { + "path": "tests.md", + "sha256": "0b401f98bd3684d2fea6440d6946afcf8f5f68ac6a65599dd7a2b90dd9f02eb5", + "bytes": 2291 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "32953f5cd57b104c0485c66c39f8694deab22850f2dce200f6609d4706cc6ddd", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/tdd/LICENSE", + "provenance_path": "skills/tdd/UPSTREAM.md", + "patch_record_path": "skills/tdd/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 3 + } + }, + { + "package_name": "teach", + "source_group": "productivity", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/productivity/teach", + "local_package_path": "skills/teach", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "7aadc88d6bc6c8fa71df8c1aba17a43e98b8e789cbe87a1beb68eda0df6e8903", + "files": [ + { + "path": "GLOSSARY-FORMAT.md", + "sha256": "408c96dce06be99b53a6e05b1e3201c900bcbb46ae3cf08ead8aa3e3cb545d8c", + "bytes": 2166 + }, + { + "path": "LEARNING-RECORD-FORMAT.md", + "sha256": "7bbbf6e325370633c77ec772cf4d30da19037ff2892c9e751f23e2696cf80888", + "bytes": 2823 + }, + { + "path": "MISSION-FORMAT.md", + "sha256": "ba1bc536615a6940414d96a1d87562f8f2684f56649d44ba15abaaf1833d0ce9", + "bytes": 1584 + }, + { + "path": "RESOURCES-FORMAT.md", + "sha256": "b5c7f17ce7c7b7f49a3a0007162e5024948c7b5c45c549643cafeb900ed431a6", + "bytes": 1958 + }, + { + "path": "SKILL.md", + "sha256": "99c077a05f66237c95392dc440974e9d144c1267309e978c7a18aaf065ce7fd3", + "bytes": 9647 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "15d7649f391674d75af541f6c671acdc9a83a89ea3d9b09a0deb4860744d1059", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/teach/LICENSE", + "provenance_path": "skills/teach/UPSTREAM.md", + "patch_record_path": "skills/teach/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 5 + } + }, + { + "package_name": "to-spec", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/to-spec", + "local_package_path": "skills/to-spec", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "2962348d344be0a09fc8946fc08e358208b79ddcb3a309139d36f9e1bbefd584", + "files": [ + { + "path": "SKILL.md", + "sha256": "a8ffe2ecd1692f012d310dca3f3c9a75f61086df77dbb0a5bc38ddbc0bd2e6bc", + "bytes": 3148 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "554f89e7b9bd7f927fe6f12f7555bcadac07ec474a0f4a98d8c6b52e59ab5de0", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/to-spec/LICENSE", + "provenance_path": "skills/to-spec/UPSTREAM.md", + "patch_record_path": "skills/to-spec/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "to-tickets", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/to-tickets", + "local_package_path": "skills/to-tickets", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "e830a0046407fd2c393d2bd5d0165266de6e11feab6000742c782105d4a1c8d1", + "files": [ + { + "path": "SKILL.md", + "sha256": "573999404e46537ae441eaefe751fe85cb353b81e630bccbf9af0a2c475356b2", + "bytes": 5902 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "85819bdbb423bcec8945d29a74c2ad45db26ea8622a8b732322ddfc7c42c3fe4", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/to-tickets/LICENSE", + "provenance_path": "skills/to-tickets/UPSTREAM.md", + "patch_record_path": "skills/to-tickets/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "ubiquitous-language", + "source_group": "deprecated", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/deprecated/ubiquitous-language", + "local_package_path": "skills/ubiquitous-language", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "18b5d153102737e71d92adb3cfeafd966a0d29bdd86934d1a11a4f213294867d", + "files": [ + { + "path": "SKILL.md", + "sha256": "a1efafd7ec7a630ed2b0753be2ddbcf53e50573e5c20a3d43e98056da25afce2", + "bytes": 4983 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "184194a7ff4203658188744d8be80caa4a6d93d89af73e6c233b3d3e0389aebb", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/ubiquitous-language/LICENSE", + "provenance_path": "skills/ubiquitous-language/UPSTREAM.md", + "patch_record_path": "skills/ubiquitous-language/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "wayfinder", + "source_group": "engineering", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/engineering/wayfinder", + "local_package_path": "skills/wayfinder", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "4b3ba022e3f5a7617f694fef98a949b543a47bf06f471cb871ce691484df097b", + "files": [ + { + "path": "SKILL.md", + "sha256": "f6b44ce86d9d15c1848a06b6dc89e6237eaebf3c47201aa7263645690719df7a", + "bytes": 11630 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "dfaddc07d0bd0b0d519699522ca4022f34fed09e4f9450d3eb565a2cfd6be911", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": false, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/wayfinder/LICENSE", + "provenance_path": "skills/wayfinder/UPSTREAM.md", + "patch_record_path": "skills/wayfinder/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 1 + } + }, + { + "package_name": "writing-great-skills", + "source_group": "productivity", + "source_state": "pinned-upstream-mirror", + "upstream_repository": "mattpocock/skills", + "upstream_package_path": "skills/productivity/writing-great-skills", + "local_package_path": "skills/writing-great-skills", + "pinned_revision": "v1.1.0", + "resolved_commit": "d574778f94cf620fcc8ce741584093bc650a61d3", + "checksum": "801ced90a47140b9789cf6a49b0da614e4a79b3d601b1324d6c03536a7ab97c8", + "files": [ + { + "path": "GLOSSARY.md", + "sha256": "7c8b520536aa90fdd5ceeedfbfc5e24e21df0dd480619d9f2bba38c959f3c49e", + "bytes": 18689 + }, + { + "path": "SKILL.md", + "sha256": "8c38389dbcfdb3605690c5ce2fe0fa433e7a2f2371a7f1e697d080d81d15fdea", + "bytes": 9497 + } + ], + "local_modification_state": "metadata-adapter-only", + "local_patch_paths": [ + "agents/openai.yaml", + "UPSTREAM.md", + "PATCHES.md", + "LICENSE" + ], + "local_patch_checksum": "95dc3f6c22e631efebda8f7b6321227a025ce326b63279c5a0391f34f79de022", + "upstream_snapshot": true, + "dependency_state": { + "state": "none", + "packages": [ + + ], + "writing_great_skills_is_authoring_knowledge_only": true, + "learn_anything_runtime_dependency": false + }, + "license_path": "skills/writing-great-skills/LICENSE", + "provenance_path": "skills/writing-great-skills/UPSTREAM.md", + "patch_record_path": "skills/writing-great-skills/PATCHES.md", + "referenced_resource_check": { + "missing": [ + + ], + "source_file_count": 2 + } + } + ] } diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 16f9390..931a7c6 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -2,22 +2,21 @@ [简体中文](INSTALLATION.zh-CN.md) -This private collection is intended to be installed from the released -repository, not from a source checkout. The local v0.1.1 release candidate is -not published yet; the commands below are targets, not installation evidence. -A consumer must also have access to the private GitHub repository through its -configured Git credentials, SSH, or authenticated CLI. +This private collection is intended to be installed from the published +repository, not from a source checkout. Release `v0.1.1` points to commit +`a891d39d7f34793d857c5b8eec3429c23871f421`. A consumer must also have access to +the private GitHub repository through configured Git credentials, SSH, or an +authenticated CLI. ## Revision semantics The official Skills CLI accepts GitHub shorthand and GitHub tree URLs, and its -source parser also accepts a `#ref` fragment. Therefore these are the target -commands that will pin the local collection release after the release gate -passes: +source parser also accepts a `#ref` fragment. Therefore these commands pin the +published local collection release: ```text -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex ``` The first `v0.1.1` is the local repository tag. The mirrored Matt package @@ -41,15 +40,13 @@ immutable. 6. Smoke-test a successful package, a stopping boundary, a missing peer dependency, and the explicit invocation policy. -Record command, CLI version, tag/commit, destination class, discovery result, -smoke result, and limitation in -[release evidence](evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md). +The actual CLI `1.5.20` fresh-install result is recorded in [release +evidence](evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md). ## Manual fallback When the installer cannot authenticate to the private repository, manually -copy a complete package from a checkout of tag `v0.1.1` after that tag is -published: +copy a complete package from a checkout of the published tag `v0.1.1`: ```powershell $sourceRoot = '' diff --git a/docs/INSTALLATION.zh-CN.md b/docs/INSTALLATION.zh-CN.md index 09641ae..8028ca6 100644 --- a/docs/INSTALLATION.zh-CN.md +++ b/docs/INSTALLATION.zh-CN.md @@ -2,15 +2,15 @@ [English](INSTALLATION.md) -这是 private collection,v0.1.1 当前仍是 release candidate,尚未发布。下面命令是目标,不是安装证据。tag -发布后,消费者必须通过 Git 凭据、SSH 或已认证 CLI 访问私有 GitHub 仓库; -安装应来自 release,而不是 source checkout。 +这是 private collection,`v0.1.1` 已发布,发布提交为 +`a891d39d7f34793d857c5b8eec3429c23871f421`。消费者必须通过 Git 凭据、SSH +或已认证 CLI 访问私有 GitHub 仓库;安装应来自 release,而不是 source checkout。 -官方 CLI 支持 `#ref` 语义,因此 release gate 通过后使用: +官方 CLI 支持 `#ref` 语义,因此使用已发布的固定版本: ```text -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex ``` `v0.1.1` 固定本地集合;`UPSTREAM_LOCK.json` 另行固定 Matt 的 @@ -19,8 +19,8 @@ npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me Fresh-install 必须在无 source checkout 的空目录中运行,记录 CLI 版本、命令、 tag/commit、目标目录、完整资源、刷新后的发现结果、重复安装、成功/边界/缺失 -依赖 smoke 以及限制。结果写入 `docs/evidence/releases/`;未运行标记 -`NOT TESTED`,缺少独立 reviewer 标记 `BLOCKED`。 +依赖 smoke 以及限制。实际 CLI `1.5.20` 结果见[安装验证](evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md); +未运行标记 `NOT TESTED`,缺少独立 reviewer 标记 `BLOCKED`。 -安装器不可用时,必须在 `v0.1.1` 发布后 checkout,并复制完整的 +安装器不可用时,从已发布的 `v0.1.1` checkout 复制完整的 `skills//`,不能只复制 `SKILL.md`。 diff --git a/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.md b/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.md index 543d1c8..b23c686 100644 --- a/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.md +++ b/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.md @@ -25,16 +25,16 @@ package retains its detailed `UPSTREAM.md` and `PATCHES.md`. | Required field | Evidence | | --- | --- | -| Installation method | Target commands: `npx skills add LightDevCoder/skills-3rdParty#v0.1.1` and `... --skill grill-me`; local tag/release remains `NOT TESTED`. | -| Host and discovery | `NOT TESTED` until private-repository fresh-install verification is captured in [INSTALLATION_VERIFICATION.md](INSTALLATION_VERIFICATION.md) and [DISCOVERY_VERIFICATION.md](DISCOVERY_VERIFICATION.md). | -| Known limitations | Private GitHub access, host refresh/discovery, repeat-install behavior, and peer-dependency smoke are recorded as `NOT TESTED` in [LIMITATIONS.md](LIMITATIONS.md). | +| Installation method | Published commands: `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex` and the same command with `--skill grill-with-docs`; CLI `1.5.20` evidence is recorded. | +| Host and discovery | Fresh destinations listed exactly 23 packages for whole install and exactly `grill-with-docs` for single install; source checkout was absent. | +| Known limitations | Private access passed in the authenticated run; host refresh/model runtime remain `NOT TESTED`, and independent acceptance is `BLOCKED`; see [LIMITATIONS.md](LIMITATIONS.md). | | Update method | Run `scripts/sync-upstream.ps1 -Mode check`, review `dry-run`/`diff`, then use `sync` only for an approved pinned revision. Dirty upstream checkouts, extra local files, and unauthorized managed-file mutations fail or report. | | Conflict owner | Collection maintainer; no silent conflict resolution. A changed upstream file requires a new pinned revision or explicit patch record. | | Evidence links | [TEST_SUMMARY.md](TEST_SUMMARY.md), [RELEASE_RECEIPT.md](RELEASE_RECEIPT.md), [UPSTREAM_LOCK.json](../../../../UPSTREAM_LOCK.json), and package-local provenance/patch records. | ## Current decision -`IMPLEMENTED` for the local mirror, provenance, manifest, and structural/negative -checks. Local tag/release, private fresh installation, host discovery, and an -independent final reviewer remain `NOT TESTED` or `BLOCKED`; this record does -not promote them to acceptance. +`VERIFIED` for the local mirror, provenance, manifest, structural/negative +checks, private tag/release, and fresh installation/discovery evidence. +Independent final acceptance remains `BLOCKED`; this record does not promote +same-context evidence to independent acceptance. diff --git a/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.zh-CN.md b/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.zh-CN.md index 5405984..d154a5a 100644 --- a/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.zh-CN.md +++ b/docs/evidence/releases/v0.1.1/ADMISSION_RECORD.zh-CN.md @@ -24,9 +24,9 @@ | 必需字段 | 证据 | | --- | --- | -| 安装方法 | 目标命令:`npx skills add LightDevCoder/skills-3rdParty#v0.1.1` 和 `... --skill grill-me`;本地 tag/release 仍为 `NOT TESTED`。 | -| Host 与 discovery | 私有仓库 fresh-install 证据写入 [INSTALLATION_VERIFICATION.md](INSTALLATION_VERIFICATION.md) 和 [DISCOVERY_VERIFICATION.md](DISCOVERY_VERIFICATION.md) 前保持 `NOT TESTED`。 | -| 已知限制 | 私有 GitHub 访问、host refresh/discovery、重复安装和 peer dependency smoke 在 [LIMITATIONS.md](LIMITATIONS.md) 中标记 `NOT TESTED`。 | +| 安装方法 | 已发布命令:`npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex`,以及同命令加 `--skill grill-with-docs`;CLI `1.5.20` 证据已记录。 | +| Host 与 discovery | Fresh destination 的整仓安装恰好列出 23 个包,单包安装恰好列出 `grill-with-docs`;source checkout 不存在。 | +| 已知限制 | 已认证运行中的 private access 通过;host refresh/model runtime 仍为 `NOT TESTED`,独立 acceptance 为 `BLOCKED`;见 [LIMITATIONS.md](LIMITATIONS.md)。 | | 更新方法 | 运行 `scripts/sync-upstream.ps1 -Mode check`,审查 `dry-run`/`diff`,仅在批准固定 revision 后执行 `sync`。 dirty upstream、额外本地文件和未授权 managed-file 改动会失败或报告。 | | 冲突负责人 | 集合维护者;不静默解决冲突。上游文件变化必须采用新 pinned revision 或建立明确 patch record。 | | 证据链接 | [TEST_SUMMARY.md](TEST_SUMMARY.md)、[RELEASE_RECEIPT.md](RELEASE_RECEIPT.md)、[UPSTREAM_LOCK.json](../../../../UPSTREAM_LOCK.json) 以及各包 provenance/patch 记录。 | @@ -34,6 +34,6 @@ ## 当前决定 本地 mirror、provenance、manifest 以及 structural/negative checks 为 -`IMPLEMENTED`。本地 tag/release、私有 fresh installation、host discovery -和独立最终 reviewer 仍为 `NOT TESTED` 或 `BLOCKED`;本记录不将它们提升为 -acceptance。 +`VERIFIED`:本地 mirror、provenance、manifest、结构/负向检查、私有 +tag/release 以及 fresh installation/discovery 证据均已核验。独立最终 +acceptance 仍为 `BLOCKED`;本记录不把同一上下文证据提升为 independent acceptance。 diff --git a/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.md b/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.md index 06334ff..e43fcb3 100644 --- a/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.md +++ b/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.md @@ -1,16 +1,32 @@ # v0.1.1 Discovery Verification -Status: `NOT TESTED` until discovery is observed outside the source checkout. +[中文验证](DISCOVERY_VERIFICATION.zh-CN.md) -## Required record +Status: `PASS` — the tagged artifact was installed into fresh destinations +and listed successfully without a source checkout. -- Host and version: `NOT RECORDED` -- Fresh destination: `NOT RECORDED` -- Whole collection discovered: `NOT TESTED` -- Single `grill-me` discovered: `NOT TESTED` -- Metadata policy observed: `NOT TESTED` -- Peer dependency boundary observed: `NOT TESTED` -- Source checkout excluded from search path: `NOT TESTED` +## Fresh artifact observations -The manifest and structural tests prove package completeness only; they do not -prove that a particular Agent host loaded the installed package. +- Whole install: `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex` + exited 0; exactly 23 packages were listed by `npx --yes skills list`. +- Single install: the same tagged command with `--skill grill-with-docs` + exited 0; exactly `grill-with-docs` was listed. +- Both destinations had no `skills/` source checkout. +- The whole destination contained the dependency peers `grilling` and + `domain-modeling`; the single destination did not silently install either + peer. +- All installed packages retained their complete resources; the single + `grill-with-docs` package contained `SKILL.md`, `agents/openai.yaml`, + `LICENSE`, `UPSTREAM.md`, and `PATCHES.md`. +- The whole install was repeated successfully and reported `overwrites: Codex` + for all 23 packages. + +## Structural command + +```text +powershell -File tests/third-party-collection-tests.ps1 +``` + +Observed local result: `THIRD_PARTY_COLLECTION_ASSERTIONS=959`, +`THIRD_PARTY_COLLECTION=PASS`. This is collection/resource evidence; it does +not prove host refresh or model-mediated runtime behavior. diff --git a/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.zh-CN.md b/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.zh-CN.md new file mode 100644 index 0000000..4b6f344 --- /dev/null +++ b/docs/evidence/releases/v0.1.1/DISCOVERY_VERIFICATION.zh-CN.md @@ -0,0 +1,29 @@ +# v0.1.1 Discovery 验证 + +[English verification](DISCOVERY_VERIFICATION.md) + +状态:`PASS`;tagged artifact 已安装到 fresh destination,并在没有 source +checkout 的情况下成功列出。 + +## Fresh artifact 观察 + +- 整仓安装命令 `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex` + exit 0;`npx --yes skills list` 恰好列出 23 个包。 +- 单包安装使用同一 tag 加 `--skill grill-with-docs`,exit 0;恰好列出 + `grill-with-docs`。 +- 两个 destination 都不存在 `skills/` source checkout。 +- 整仓 destination 包含依赖 peer `grilling` 和 `domain-modeling`;单包 + destination 没有静默安装任一 peer。 +- 所有已安装包均保留完整资源;单包 `grill-with-docs` 包含 `SKILL.md`、 + `agents/openai.yaml`、`LICENSE`、`UPSTREAM.md` 和 `PATCHES.md`。 +- 整仓安装重复执行成功,23 个包均报告 `overwrites: Codex`。 + +## 结构命令 + +```text +powershell -File tests/third-party-collection-tests.ps1 +``` + +本地结果:`THIRD_PARTY_COLLECTION_ASSERTIONS=959`、 +`THIRD_PARTY_COLLECTION=PASS`。这属于 collection/resource 证据,不能证明 +host refresh 或模型介导的 runtime 行为。 diff --git a/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md b/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md index 3219852..2aa28b2 100644 --- a/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md +++ b/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.md @@ -1,14 +1,25 @@ # v0.1.1 Installation Verification -Status: `NOT TESTED` until a private-repository fresh-destination run succeeds. - -## Required record - -- CLI version: `NOT RECORDED` -- Whole-collection command: `npx skills add LightDevCoder/skills-3rdParty#v0.1.1` -- Single-package command: `npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me` -- Tag/commit: `NOT RECORDED` -- Destination: `NOT RECORDED` (must not be a source checkout) -- Complete resources: `NOT TESTED` -- Repeated installation behavior: `NOT TESTED` -- Limitation: private-repository authentication and host discovery must be recorded from the actual environment. +[中文记录](INSTALLATION_VERIFICATION.zh-CN.md) + +Status: `PASS` for the private tagged repository using Skills CLI `1.5.20`. +Host refresh is host-specific and was not claimed; CLI discovery was run from +fresh destinations without a source checkout. + +| Field | Whole collection | Per-Skill | +| --- | --- | --- | +| Command | `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex` | `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex` | +| CLI version | `1.5.20` | `1.5.20` | +| Release commit | `a891d39d7f34793d857c5b8eec3429c23871f421` | same | +| Fresh destination | New empty temporary project; exactly 23 packages under `.agents/skills/` | New empty temporary project; exactly 1 package under `.agents/skills/` | +| Install result | `PASS`, exit code 0 | `PASS`, exit code 0 | +| Discovery without source checkout | `npx --yes skills list` exit 0; all 23 listed; source checkout absent | `npx --yes skills list` exit 0; only `grill-with-docs` listed; source checkout absent | +| Complete resources | All 23 package directories retained `SKILL.md`, `agents/openai.yaml`, `LICENSE`, `UPSTREAM.md`, `PATCHES.md`, and referenced resources | `SKILL.md`, `agents/openai.yaml`, `LICENSE`, `UPSTREAM.md`, `PATCHES.md` present | +| Dependency boundary | Whole install includes `grilling` and `domain-modeling` as selected packages | `grilling` and `domain-modeling` peer directories absent; the single-package result did not silently install peers | +| Repeat-install behavior | Same command exit 0; CLI reported `overwrites: Codex` for all 23 packages | Not repeated separately; whole-collection repeat covered the installer path | +| Limitation | Host refresh and model-mediated runtime invocation were not tested | Same | + +The destination records intentionally omit absolute private paths, usernames, +and credentials. The single-package wrapper was re-run with corrected +inspection after the first wrapper's reporting bug; the installer itself had +already returned exit 0, and the corrected run is the recorded result. diff --git a/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.zh-CN.md b/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.zh-CN.md new file mode 100644 index 0000000..9b92a5d --- /dev/null +++ b/docs/evidence/releases/v0.1.1/INSTALLATION_VERIFICATION.zh-CN.md @@ -0,0 +1,24 @@ +# v0.1.1 安装验证 + +[English record](INSTALLATION_VERIFICATION.md) + +状态:使用 Skills CLI `1.5.20` 从私有 tag 安装后为 `PASS`。host refresh 仍是 +host-specific 行为,因此不作已完成声明;CLI discovery 均从没有 source +checkout 的 fresh destination 执行。 + +| 字段 | 整个集合 | 单 Skill | +| --- | --- | --- | +| 命令 | `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex` | `npx --yes skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex` | +| CLI version | `1.5.20` | `1.5.20` | +| Release commit | `a891d39d7f34793d857c5b8eec3429c23871f421` | 同左 | +| Fresh destination | 新建空临时项目;`.agents/skills/` 下恰好 23 个包 | 新建空临时项目;`.agents/skills/` 下恰好 1 个包 | +| 安装结果 | `PASS`,exit code 0 | `PASS`,exit code 0 | +| 脱离 source checkout 的 discovery | `npx --yes skills list` exit 0;列出全部 23 个;不存在 source checkout | `npx --yes skills list` exit 0;只列出 `grill-with-docs`;不存在 source checkout | +| 完整资源 | 23 个包均保留 `SKILL.md`、`agents/openai.yaml`、`LICENSE`、`UPSTREAM.md`、`PATCHES.md` 和引用资源 | 存在 `SKILL.md`、`agents/openai.yaml`、`LICENSE`、`UPSTREAM.md`、`PATCHES.md` | +| 依赖边界 | 整仓安装包含作为指定包的 `grilling` 与 `domain-modeling` | 单包目录中不存在 `grilling` 和 `domain-modeling`;没有静默安装 peer | +| 重复安装行为 | 同命令 exit 0;23 个包均报告 `overwrites: Codex` | 未单独重复;整仓重复已覆盖安装器路径 | +| 限制 | 未测试 host refresh 和模型介导的 runtime invocation | 同左 | + +记录刻意不包含绝对私人路径、用户名或凭据。首次单包 wrapper 的安装本身已 +exit 0,但检查输出有字段读取错误;随后用修正后的 wrapper 重跑,以上结果以 +修正后的可复核检查为准。 diff --git a/docs/evidence/releases/v0.1.1/LIMITATIONS.md b/docs/evidence/releases/v0.1.1/LIMITATIONS.md index 6f87e0e..f06682c 100644 --- a/docs/evidence/releases/v0.1.1/LIMITATIONS.md +++ b/docs/evidence/releases/v0.1.1/LIMITATIONS.md @@ -1,13 +1,19 @@ # v0.1.1 Limitations -- The collection is private; consumers need repository access credentials. -- The Skills CLI `#ref` pin was confirmed from official source semantics, but a - fresh private-repository install must still be recorded for this release. -- `agents/openai.yaml` is a local metadata adapter because the selected upstream - packages do not provide it; it does not prove host-specific loading. +[中文限制](LIMITATIONS.zh-CN.md) + +- `PASS`: Fresh private whole-collection and per-Skill installation were run + against tag `v0.1.1` with CLI `1.5.20`; the private repository was reachable + in the authenticated verification environment. +- `PASS`: GitHub Actions quality run `30189147755` passed on the release line. +- `BLOCKED`: An independent `review-loop agent-skill` evaluator record is not + present; same-context inspection cannot be labeled independent. +- Host-specific Skill refresh behavior and model-mediated runtime invocation + remain untested. +- `agents/openai.yaml` is a local metadata adapter because the selected + upstream packages do not provide it; it does not prove host-specific loading. - Upstream `wayfinder` includes an example Markdown `link` placeholder; it is preserved as upstream content and is not treated as a local resource. -- Other Agent hosts, global scopes, and host-specific refresh behavior remain - `NOT TESTED` until evidence is captured. -- Independent final review remains `BLOCKED` until a fresh reviewer record is - supplied. +- Peer dependencies are declared and tested as install boundaries, not as + hidden imports: `grill-me` needs `grilling`, and `grill-with-docs` needs + `grilling` plus `domain-modeling` when a workflow explicitly uses them. diff --git a/docs/evidence/releases/v0.1.1/LIMITATIONS.zh-CN.md b/docs/evidence/releases/v0.1.1/LIMITATIONS.zh-CN.md new file mode 100644 index 0000000..98536fd --- /dev/null +++ b/docs/evidence/releases/v0.1.1/LIMITATIONS.zh-CN.md @@ -0,0 +1,16 @@ +# v0.1.1 限制 + +[English limitations](LIMITATIONS.md) + +- `PASS`:已用 CLI `1.5.20` 针对 `v0.1.1` tag 完成私有整仓和单 Skill 安装; + 在已认证的验证环境中可访问 private repository。 +- `PASS`:GitHub Actions quality run `30189147755` 在发布线上通过。 +- `BLOCKED`:尚无独立 `review-loop agent-skill` evaluator 记录;同一上下文检查 + 不能标为 independent。 +- Host-specific Skill refresh 行为和模型介导的 runtime invocation 仍未测试。 +- `agents/openai.yaml` 是集合所需的 local metadata adapter,因为所选上游包不 + 提供该文件;它不能证明 host-specific loading。 +- 上游 `wayfinder` 含示例 Markdown `link` placeholder;原样保留,不把它当成本地资源。 +- Peer dependency 作为安装边界记录和测试,而不是隐式 import:工作流实际使用 + `grill-me` 时需要 `grilling`,使用 `grill-with-docs` 时需要 `grilling` 与 + `domain-modeling`。 diff --git a/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md b/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md index 62a2df1..27cb3f2 100644 --- a/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md +++ b/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md @@ -2,32 +2,44 @@ [中文记录](RELEASE_RECEIPT.zh-CN.md) -Status: `IN PROGRESS` — this record must be updated from actual commands before -the tag or GitHub release is created. +Status: `RELEASED WITH ACCEPTANCE LIMITATION` — the private tag, GitHub +release, merged CI, and fresh-install evidence are verified; independent +`review-loop agent-skill` acceptance remains `BLOCKED`. ## Identity -- Repository: `LightDevCoder/skills-3rdParty` (private) -- Evidence date: `2026-07-26` -- Local baseline: `b038ab039b86c66119c392002448ae0d5ef837c4` -- Upstream: `mattpocock/skills` tag `v1.1.0`, commit - `d574778f94cf620fcc8ce741584093bc650a61d3` -- Selected packages: exactly 23; see [UPSTREAM_LOCK.json](../../../../UPSTREAM_LOCK.json) -- Local state: pinned upstream snapshot plus metadata-adapter-only patch -- Intended local tag: `v0.1.1` - -## Evidence links - -- [test summary](TEST_SUMMARY.md) -- [admission record](ADMISSION_RECORD.md) -- [installation verification](INSTALLATION_VERIFICATION.md) -- [discovery verification](DISCOVERY_VERIFICATION.md) -- [limitations](LIMITATIONS.md) -- [first-party collection evidence](https://github.com/LightDevCoder/skills/blob/main/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md) — the two repositories retain separate evidence - -## Release decision - -- Independent reviewer: `BLOCKED` until a fresh read-only review is recorded. -- Tag/release: `NOT TESTED`. -- Private visibility: must remain `private`; any visibility change is out of scope. -- Do not describe this receipt as `PASS` until all required evidence is real. +| Field | Value | +| --- | --- | +| Repository | `LightDevCoder/skills-3rdParty` (private) | +| Release | `v0.1.1` | +| Release commit | `a891d39d7f34793d857c5b8eec3429c23871f421` | +| Release URL | https://github.com/LightDevCoder/skills-3rdParty/releases/tag/v0.1.1 | +| Date | `2026-07-26` | +| Upstream | `mattpocock/skills` `v1.1.0` / `d574778f94cf620fcc8ce741584093bc650a61d3` | +| Scope | Exactly 23 pinned third-party packages, metadata adapters, provenance, sync tooling, and bilingual governance docs. | + +## Acceptance evidence + +- [Admission record](ADMISSION_RECORD.md) +- [Test summary](TEST_SUMMARY.md) +- [Installation verification](INSTALLATION_VERIFICATION.md) +- [Discovery verification](DISCOVERY_VERIFICATION.md) +- [Limitations](LIMITATIONS.md) +- [First-party collection evidence](https://github.com/LightDevCoder/skills/blob/main/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md) + +## Release gate + +| Gate | Status | Evidence | +| --- | --- | --- | +| Private visibility | `VERIFIED` | Remote repository remains private; visibility change is out of scope. | +| Exactly 23 selected packages | `VERIFIED` | Allowlist, manifest, package directories, and collection tests agree. | +| Pinned upstream and resources | `VERIFIED` | `UPSTREAM_LOCK.json`, per-package provenance, and sync modes. | +| Fresh whole-repository install | `VERIFIED` | CLI `1.5.20` installed exactly 23 packages from `v0.1.1`. | +| Fresh per-Skill install | `VERIFIED` | CLI `1.5.20` installed exactly `grill-with-docs`; peer directories stayed absent. | +| Repeat installation | `VERIFIED` | Whole-collection repeat exited 0 and reported `overwrites: Codex` for all 23 packages. | +| GitHub Actions | `VERIFIED` | Quality run `30189147755` passed on the release line. | +| Independent `review-loop agent-skill` acceptance | `BLOCKED` | No separate evaluator record is available; same-context review is not independent evidence. | + +This is a release record, not an independent acceptance record. Structural +checks and CLI discovery do not prove host refresh or model-mediated runtime +behavior. diff --git a/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.zh-CN.md b/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.zh-CN.md index 3246369..4221ca0 100644 --- a/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.zh-CN.md +++ b/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.zh-CN.md @@ -1,17 +1,44 @@ -# skills-3rdParty v0.1.1 发布记录 +# skills-3rdParty v0.1.1 发布收据 -[English](RELEASE_RECEIPT.md) +[English receipt](RELEASE_RECEIPT.md) -状态:`IN PROGRESS`。创建 tag 或 GitHub release 前,必须用真实命令更新本记录。 +状态:`RELEASED WITH ACCEPTANCE LIMITATION`;私有 tag、GitHub release、合并后的 +CI 和 fresh-install 证据已核验;独立 `review-loop agent-skill` acceptance 仍为 +`BLOCKED`。 -- 仓库:`LightDevCoder/skills-3rdParty`,保持 private -- 证据日期:`2026-07-26` -- upstream:`mattpocock/skills` `v1.1.0`,commit - `d574778f94cf620fcc8ce741584093bc650a61d3` -- 收录:严格 23 个指定 Skill -- 本地状态:pinned upstream snapshot + metadata-adapter-only -- 目标 tag:`v0.1.1` +## 身份 -测试、安装、发现和限制见同目录英文记录。当前 independent reviewer 为 -`BLOCKED`,tag/release 为 `NOT TESTED`;结构检查不能代替 fresh install 或独立 -review。任何可见性变更均不在本次范围内。 +| 字段 | 值 | +| --- | --- | +| 仓库 | `LightDevCoder/skills-3rdParty`,保持 private | +| Release | `v0.1.1` | +| Release commit | `a891d39d7f34793d857c5b8eec3429c23871f421` | +| Release URL | https://github.com/LightDevCoder/skills-3rdParty/releases/tag/v0.1.1 | +| 日期 | `2026-07-26` | +| Upstream | `mattpocock/skills` `v1.1.0` / `d574778f94cf620fcc8ce741584093bc650a61d3` | +| 范围 | 恰好 23 个 pinned 第三方包、metadata adapter、provenance、同步工具和双语治理文档。 | + +## Acceptance 证据 + +- [准入记录](ADMISSION_RECORD.md) +- [测试摘要](TEST_SUMMARY.md) +- [安装验证](INSTALLATION_VERIFICATION.md) +- [Discovery 验证](DISCOVERY_VERIFICATION.md) +- [限制](LIMITATIONS.md) +- [第一方集合证据](https://github.com/LightDevCoder/skills/blob/main/docs/evidence/releases/v0.1.1/RELEASE_RECEIPT.md) + +## Release gate + +| Gate | 状态 | 证据 | +| --- | --- | --- | +| Private visibility | `VERIFIED` | 远程仓库仍为 private;改变可见性不在范围内。 | +| 恰好 23 个指定包 | `VERIFIED` | allowlist、manifest、包目录和 collection tests 一致。 | +| Pinned upstream 与资源 | `VERIFIED` | `UPSTREAM_LOCK.json`、逐包 provenance 和同步模式验证。 | +| Fresh 整仓安装 | `VERIFIED` | CLI `1.5.20` 从 `v0.1.1` 恰好安装 23 个包。 | +| Fresh 单 Skill 安装 | `VERIFIED` | CLI `1.5.20` 恰好安装 `grill-with-docs`;peer 目录保持不存在。 | +| 重复安装 | `VERIFIED` | 整仓重复安装 exit 0,23 个包均报告 `overwrites: Codex`。 | +| GitHub Actions | `VERIFIED` | quality run `30189147755` 在发布线上通过。 | +| 独立 `review-loop agent-skill` acceptance | `BLOCKED` | 没有独立 evaluator 记录;同一上下文审阅不构成独立证据。 | + +这是一份 release 记录,不是独立 acceptance 记录。结构测试和 CLI discovery +不能证明 host refresh 或模型介导的 runtime 行为。 diff --git a/docs/evidence/releases/v0.1.1/TEST_SUMMARY.md b/docs/evidence/releases/v0.1.1/TEST_SUMMARY.md index d4190d5..5b57557 100644 --- a/docs/evidence/releases/v0.1.1/TEST_SUMMARY.md +++ b/docs/evidence/releases/v0.1.1/TEST_SUMMARY.md @@ -1,25 +1,29 @@ # v0.1.1 Test Summary -All rows must contain the actual command, environment, assertion count, and -result. A structural test is not runtime proof. +[中文摘要](TEST_SUMMARY.zh-CN.md) + +Every row records a real command, environment, assertion count, and result. A +structural test is not runtime proof. | Area | Command / environment | Assertions | Result | | --- | --- | ---: | --- | | Pinned sync check | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode check` | 23 packages | `PASS` — pinned `v1.1.0/d574778f94cf620fcc8ce741584093bc650a61d3` | -| Sync dry-run | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode dry-run` | 23 packages | `PASS` — reports all allowlisted package paths and the pinned revision; writes nothing | +| Sync dry-run | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode dry-run` | 23 packages | `PASS` — all allowlisted package paths reported; no writes | | Sync diff | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode diff` | 23 packages | `PASS` — no `DIFF` lines | | Resource mode | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode resource` | 23 packages | `PASS` — complete package and referenced-resource boundary | -| Unauthorized-patch mode | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode unauthorized-patch` | 23 packages | `PASS` — managed-file hashes, local patch checksum, and extra-file boundary | -| Successful sync fixture | `scripts/sync-upstream.ps1 -Mode sync -Root -UpstreamRoot ` | 23 packages | `PASS` — all packages regenerated in a disposable copy; exercised by the collection test | -| Whole package contract | `powershell -NoProfile -ExecutionPolicy Bypass -File tests/third-party-collection-tests.ps1` | 959 | `PASS` | -| Unauthorized local patch and manifest negative fixtures | included in collection test | 7 negative assertions | `PASS` — upstream-file mutation, extra local file, patch-record mutation, sync-overwrite attempt, package/collection checksum tampering, and ignored upstream resource are rejected | -| Dirty upstream negative | `scripts/sync-upstream.ps1 -Mode check -UpstreamRoot ` | 1 negative scenario | `PASS` — dirty pinned checkout is rejected before reading package content | -| Whole-repository fresh install | Skills CLI, fresh destination | NOT RECORDED | NOT TESTED | -| Single-package fresh install | Skills CLI, fresh destination | NOT RECORDED | NOT TESTED | -| Representative dependency smoke | `grill-me`, `grill-with-docs` | NOT RECORDED | NOT TESTED | -| Private release verification | GitHub release API / remote | NOT RECORDED | `NOT TESTED` — release is not yet published | - -## Non-claims +| Unauthorized-patch mode | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode unauthorized-patch` | 23 packages | `PASS` — managed hashes, patch checksum, and extra-file boundary | +| Successful sync fixture | collection test disposable copy | 23 packages | `PASS` — regenerated packages in a disposable copy | +| Whole package contract | `powershell -File tests/third-party-collection-tests.ps1` | 954 | `PASS` | +| Negative fixtures | included in collection test | 7 negative assertions | `PASS` — upstream mutation, extra file, patch-record mutation, sync overwrite attempt, package/collection checksum tampering, and ignored resource | +| Governance docs | `powershell -File tests/governance-docs-tests.ps1` | 86 | `PASS` | +| Fresh whole-repository install | Skills CLI `1.5.20`, private fresh destination | 23 packages | `PASS` — exit 0, exactly 23 listed, source checkout absent | +| Fresh single-package install | Skills CLI `1.5.20`, private fresh destination | 1 package | `PASS` — exit 0, exactly `grill-with-docs` listed, peer directories absent | +| Repeat installation | repeated whole install | 23 packages | `PASS` — exit 0; all 23 reported `overwrites: Codex` | +| Dependency boundary smoke | whole and single fresh destinations | 2 peer-boundary checks | `PASS` — whole includes peers; single install does not silently install them | +| Private release verification | GitHub release API / remote | 1 release | `PASS` — `v0.1.1` exists at the verified release commit and remains private | +| Release-commit CI | GitHub Actions quality run `30189147755` | workflow | `PASS` | +| Host refresh / model runtime | Agent host refresh and model-mediated invocation | — | `NOT TESTED` | +| Independent acceptance | separate evaluator record | — | `BLOCKED` | -No row may be promoted from `NOT TESTED` by copying a source-checkout scan or a -simulated output. +The evidence records destination classes rather than absolute private paths and +does not include tokens, usernames, or credentials. diff --git a/docs/evidence/releases/v0.1.1/TEST_SUMMARY.zh-CN.md b/docs/evidence/releases/v0.1.1/TEST_SUMMARY.zh-CN.md new file mode 100644 index 0000000..c67c9de --- /dev/null +++ b/docs/evidence/releases/v0.1.1/TEST_SUMMARY.zh-CN.md @@ -0,0 +1,27 @@ +# v0.1.1 测试摘要 + +[English summary](TEST_SUMMARY.md) + +每行记录真实命令、环境、断言数量和结果;结构测试不能当作 runtime proof。 + +| 范围 | 命令 / 环境 | 断言 | 结果 | +| --- | --- | ---: | --- | +| Pinned sync check | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode check` | 23 个包 | `PASS`;固定为 `v1.1.0/d574778f94cf620fcc8ce741584093bc650a61d3` | +| Sync dry-run | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode dry-run` | 23 个包 | `PASS`;报告全部 allowlist 路径且不写入 | +| Sync diff | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode diff` | 23 个包 | `PASS`;没有 `DIFF` 行 | +| Resource mode | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode resource` | 23 个包 | `PASS`;完整包和引用资源边界通过 | +| Unauthorized-patch mode | `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/sync-upstream.ps1 -Mode unauthorized-patch` | 23 个包 | `PASS`;managed hash、patch checksum 和 extra-file 边界通过 | +| 成功 sync fixture | collection test disposable copy | 23 个包 | `PASS`;在 disposable copy 中重新生成包 | +| 整仓包契约 | `powershell -File tests/third-party-collection-tests.ps1` | 954 | `PASS` | +| 负向 fixture | collection test 内置 | 7 条负向断言 | `PASS`;覆盖 upstream 修改、extra file、patch 记录、sync 覆盖、包/集合 checksum 和 ignored resource | +| 治理文档 | `powershell -File tests/governance-docs-tests.ps1` | 86 | `PASS` | +| Fresh 整仓安装 | Skills CLI `1.5.20`,private fresh destination | 23 个包 | `PASS`;exit 0,恰好列出 23 个,source checkout 不存在 | +| Fresh 单包安装 | Skills CLI `1.5.20`,private fresh destination | 1 个包 | `PASS`;exit 0,恰好列出 `grill-with-docs`,peer 目录不存在 | +| 重复安装 | 整仓重复安装 | 23 个包 | `PASS`;exit 0,23 个均报告 `overwrites: Codex` | +| 依赖边界 smoke | 整仓和单包 fresh destination | 2 条 peer 边界 | `PASS`;整仓含 peer,单包不静默安装 peer | +| Private release 验证 | GitHub release API / remote | 1 个 release | `PASS`;`v0.1.1` 位于已核验提交且仓库保持 private | +| Release-commit CI | GitHub Actions quality run `30189147755` | workflow | `PASS` | +| Host refresh / model runtime | Agent host refresh 和模型介导 invocation | — | `NOT TESTED` | +| 独立 acceptance | 独立 evaluator 记录 | — | `BLOCKED` | + +证据只记录 destination 类别,不包含绝对私人路径、token、用户名或凭据。 diff --git a/scripts/sync-upstream.ps1 b/scripts/sync-upstream.ps1 index ae069c0..4b49d4e 100644 --- a/scripts/sync-upstream.ps1 +++ b/scripts/sync-upstream.ps1 @@ -27,7 +27,7 @@ function Write-Utf8 { function Read-JsonFile { param([string]$Path) if (-not (Test-Path -LiteralPath $Path -PathType Leaf)) { throw "JSON file is missing: $Path" } - return Get-Content -Raw -LiteralPath $Path | ConvertFrom-Json + return Get-Content -Raw -Encoding UTF8 -LiteralPath $Path | ConvertFrom-Json } function Get-FullPath { @@ -78,7 +78,7 @@ function Get-ManifestEntries { function Get-Frontmatter { param([string]$Path) - $text = Get-Content -Raw -LiteralPath $Path + $text = Get-Content -Raw -Encoding UTF8 -LiteralPath $Path $match = [regex]::Match($text, '(?ms)^---\r?\n(?.*?)\r?\n---') if (-not $match.Success) { throw "SKILL.md has no complete frontmatter: $Path" } $body = $match.Groups['body'].Value @@ -108,7 +108,7 @@ function Get-UnauthorizedLocalFiles { function Get-ReferencedResources { param([string]$PackagePath) - $body = Get-Content -Raw -LiteralPath (Join-Path $PackagePath 'SKILL.md') + $body = Get-Content -Raw -Encoding UTF8 -LiteralPath (Join-Path $PackagePath 'SKILL.md') $links = [regex]::Matches($body, '\]\(([^)]+)\)') | ForEach-Object { $_.Groups[1].Value.Split('#')[0].Split('?')[0] } | Where-Object { $_ -and $_ -notmatch '^(https?|mailto):' -and $_ -notmatch '^/' -and $_ -notmatch '^<.*>$' -and $_ -notmatch '^(link|path|url)$' } | @@ -185,8 +185,8 @@ function New-ProvenanceFiles { '', '## Installation and update', '', - '- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1', - "- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill $($Package.name)", + '- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex', + "- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill $($Package.name) --yes --copy --agent codex", "- **Manual fallback:** copy this complete skills/$($Package.name)/ directory", " into the host's recognized Skills root.", '- **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the', @@ -210,7 +210,7 @@ function New-ProvenanceFiles { '- **Local state:** metadata-adapter-only; no upstream behavior patch.', '- **Allowed local paths:** `agents/openai.yaml`, `UPSTREAM.md`, `PATCHES.md`, `LICENSE`', '', - '## P0001 — Collection host metadata adapter', + ("## P0001 " + [string][char]0x2014 + " Collection host metadata adapter"), '', '- **Status:** active', '- **Local file:** `agents/openai.yaml`', @@ -399,9 +399,10 @@ function Build-Manifest { collection_checksum = $collectionChecksum generated_utc = (Get-Date).ToUniversalTime().ToString('o') installation = [ordered]@{ - whole_collection = 'npx skills add LightDevCoder/skills-3rdParty#v0.1.1' - single_skill = 'npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ' + whole_collection = 'npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex' + single_skill = 'npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill --yes --copy --agent codex' revision_semantics = 'The #v0.1.1 fragment pins the local collection release; the mirrored package content is pinned to upstream v1.1.0 and its resolved commit.' + release_status = 'released-with-acceptance-limitation; tag, private release, fresh install, and CI verified; independent acceptance BLOCKED' } entries = @($entries) } @@ -460,12 +461,12 @@ function Test-Manifest { } $missing = Get-ReferencedResources $destination if ($missing.Count -gt 0) { $failures.Add("$($package.name) missing referenced resources: $($missing -join ', ')") } - $provenance = Get-Content -Raw -LiteralPath (Join-Path $destination 'UPSTREAM.md') + $provenance = Get-Content -Raw -Encoding UTF8 -LiteralPath (Join-Path $destination 'UPSTREAM.md') if ($provenance -notmatch [regex]::Escape("# Upstream Record: $($package.name)")) { $failures.Add("$($package.name) provenance package identity does not match the manifest") } if ($provenance -notmatch [regex]::Escape("- **Original package path:** $($package.upstream_path)")) { $failures.Add("$($package.name) provenance upstream path does not match the manifest") } if ($provenance -notmatch [regex]::Escape("UPSTREAM_LOCK.json entry $($package.name)")) { $failures.Add("$($package.name) provenance lock entry does not match the manifest") } $front = Get-Frontmatter (Join-Path $destination 'SKILL.md') - $metadata = Get-Content -Raw -LiteralPath (Join-Path $destination 'agents/openai.yaml') + $metadata = Get-Content -Raw -Encoding UTF8 -LiteralPath (Join-Path $destination 'agents/openai.yaml') foreach ($marker in @('display_name:', 'short_description:', 'default_prompt:', 'allow_implicit_invocation:')) { if ($metadata -notmatch [regex]::Escape($marker)) { $failures.Add("$($package.name) metadata missing $marker") } } diff --git a/skills/ask-matt/UPSTREAM.md b/skills/ask-matt/UPSTREAM.md index 7eb439a..63d4748 100644 --- a/skills/ask-matt/UPSTREAM.md +++ b/skills/ask-matt/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ask-matt +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ask-matt --yes --copy --agent codex - **Manual fallback:** copy this complete skills/ask-matt/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/code-review/UPSTREAM.md b/skills/code-review/UPSTREAM.md index 411de42..c73e146 100644 --- a/skills/code-review/UPSTREAM.md +++ b/skills/code-review/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill code-review +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill code-review --yes --copy --agent codex - **Manual fallback:** copy this complete skills/code-review/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/codebase-design/UPSTREAM.md b/skills/codebase-design/UPSTREAM.md index a07f1d8..da724c2 100644 --- a/skills/codebase-design/UPSTREAM.md +++ b/skills/codebase-design/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill codebase-design +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill codebase-design --yes --copy --agent codex - **Manual fallback:** copy this complete skills/codebase-design/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/design-an-interface/UPSTREAM.md b/skills/design-an-interface/UPSTREAM.md index ec37258..2b83184 100644 --- a/skills/design-an-interface/UPSTREAM.md +++ b/skills/design-an-interface/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill design-an-interface +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill design-an-interface --yes --copy --agent codex - **Manual fallback:** copy this complete skills/design-an-interface/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/diagnosing-bugs/UPSTREAM.md b/skills/diagnosing-bugs/UPSTREAM.md index 035ea97..6cf2cf4 100644 --- a/skills/diagnosing-bugs/UPSTREAM.md +++ b/skills/diagnosing-bugs/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill diagnosing-bugs +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill diagnosing-bugs --yes --copy --agent codex - **Manual fallback:** copy this complete skills/diagnosing-bugs/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/domain-modeling/UPSTREAM.md b/skills/domain-modeling/UPSTREAM.md index f5ae4cd..58b5cda 100644 --- a/skills/domain-modeling/UPSTREAM.md +++ b/skills/domain-modeling/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill domain-modeling +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill domain-modeling --yes --copy --agent codex - **Manual fallback:** copy this complete skills/domain-modeling/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/grill-me/UPSTREAM.md b/skills/grill-me/UPSTREAM.md index 03859ba..9c5d30d 100644 --- a/skills/grill-me/UPSTREAM.md +++ b/skills/grill-me/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-me --yes --copy --agent codex - **Manual fallback:** copy this complete skills/grill-me/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/grill-with-docs/UPSTREAM.md b/skills/grill-with-docs/UPSTREAM.md index d85af09..a6199b8 100644 --- a/skills/grill-with-docs/UPSTREAM.md +++ b/skills/grill-with-docs/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grill-with-docs --yes --copy --agent codex - **Manual fallback:** copy this complete skills/grill-with-docs/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/grilling/UPSTREAM.md b/skills/grilling/UPSTREAM.md index 6f8b736..89d1847 100644 --- a/skills/grilling/UPSTREAM.md +++ b/skills/grilling/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grilling +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill grilling --yes --copy --agent codex - **Manual fallback:** copy this complete skills/grilling/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/handoff/UPSTREAM.md b/skills/handoff/UPSTREAM.md index 358d3ae..23158cb 100644 --- a/skills/handoff/UPSTREAM.md +++ b/skills/handoff/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill handoff +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill handoff --yes --copy --agent codex - **Manual fallback:** copy this complete skills/handoff/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/implement/UPSTREAM.md b/skills/implement/UPSTREAM.md index 87380d2..dfa2ab7 100644 --- a/skills/implement/UPSTREAM.md +++ b/skills/implement/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill implement +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill implement --yes --copy --agent codex - **Manual fallback:** copy this complete skills/implement/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/improve-codebase-architecture/UPSTREAM.md b/skills/improve-codebase-architecture/UPSTREAM.md index 14318b5..340c254 100644 --- a/skills/improve-codebase-architecture/UPSTREAM.md +++ b/skills/improve-codebase-architecture/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill improve-codebase-architecture +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill improve-codebase-architecture --yes --copy --agent codex - **Manual fallback:** copy this complete skills/improve-codebase-architecture/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/loop-me/UPSTREAM.md b/skills/loop-me/UPSTREAM.md index 8b80a84..12f91b5 100644 --- a/skills/loop-me/UPSTREAM.md +++ b/skills/loop-me/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill loop-me +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill loop-me --yes --copy --agent codex - **Manual fallback:** copy this complete skills/loop-me/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/prototype/UPSTREAM.md b/skills/prototype/UPSTREAM.md index 97f1d15..8b14720 100644 --- a/skills/prototype/UPSTREAM.md +++ b/skills/prototype/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill prototype +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill prototype --yes --copy --agent codex - **Manual fallback:** copy this complete skills/prototype/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/qa/UPSTREAM.md b/skills/qa/UPSTREAM.md index af6be2f..19be204 100644 --- a/skills/qa/UPSTREAM.md +++ b/skills/qa/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill qa +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill qa --yes --copy --agent codex - **Manual fallback:** copy this complete skills/qa/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/research/UPSTREAM.md b/skills/research/UPSTREAM.md index 7799f74..52f33b9 100644 --- a/skills/research/UPSTREAM.md +++ b/skills/research/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill research +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill research --yes --copy --agent codex - **Manual fallback:** copy this complete skills/research/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/tdd/UPSTREAM.md b/skills/tdd/UPSTREAM.md index 4799a80..0dff459 100644 --- a/skills/tdd/UPSTREAM.md +++ b/skills/tdd/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill tdd +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill tdd --yes --copy --agent codex - **Manual fallback:** copy this complete skills/tdd/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/teach/UPSTREAM.md b/skills/teach/UPSTREAM.md index be9c2c2..a2221b1 100644 --- a/skills/teach/UPSTREAM.md +++ b/skills/teach/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill teach +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill teach --yes --copy --agent codex - **Manual fallback:** copy this complete skills/teach/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/to-spec/UPSTREAM.md b/skills/to-spec/UPSTREAM.md index 8f27a73..8ea6eb4 100644 --- a/skills/to-spec/UPSTREAM.md +++ b/skills/to-spec/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill to-spec +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill to-spec --yes --copy --agent codex - **Manual fallback:** copy this complete skills/to-spec/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/to-tickets/UPSTREAM.md b/skills/to-tickets/UPSTREAM.md index cb572c5..6ee02ff 100644 --- a/skills/to-tickets/UPSTREAM.md +++ b/skills/to-tickets/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill to-tickets +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill to-tickets --yes --copy --agent codex - **Manual fallback:** copy this complete skills/to-tickets/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/ubiquitous-language/UPSTREAM.md b/skills/ubiquitous-language/UPSTREAM.md index 0c5ca55..c956baf 100644 --- a/skills/ubiquitous-language/UPSTREAM.md +++ b/skills/ubiquitous-language/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ubiquitous-language +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill ubiquitous-language --yes --copy --agent codex - **Manual fallback:** copy this complete skills/ubiquitous-language/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/wayfinder/UPSTREAM.md b/skills/wayfinder/UPSTREAM.md index 7f945b2..fc0911f 100644 --- a/skills/wayfinder/UPSTREAM.md +++ b/skills/wayfinder/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill wayfinder +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill wayfinder --yes --copy --agent codex - **Manual fallback:** copy this complete skills/wayfinder/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/skills/writing-great-skills/UPSTREAM.md b/skills/writing-great-skills/UPSTREAM.md index 2033688..4171b20 100644 --- a/skills/writing-great-skills/UPSTREAM.md +++ b/skills/writing-great-skills/UPSTREAM.md @@ -31,8 +31,8 @@ The upstream Skill instructions and referenced resources are preserved. ## Installation and update -- **Whole collection (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 -- **Single package (target after the local v0.1.1 release gate):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill writing-great-skills +- **Whole collection (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --yes --copy --agent codex +- **Single package (published release):** npx skills add LightDevCoder/skills-3rdParty#v0.1.1 --skill writing-great-skills --yes --copy --agent codex - **Manual fallback:** copy this complete skills/writing-great-skills/ directory into the host's recognized Skills root. - **Update source:** run `scripts/sync-upstream.ps1 -Mode check` against the diff --git a/tests/governance-docs-tests.ps1 b/tests/governance-docs-tests.ps1 index ee3b4ea..7392b7d 100644 --- a/tests/governance-docs-tests.ps1 +++ b/tests/governance-docs-tests.ps1 @@ -56,7 +56,7 @@ Assert-Governance (($catalog -match "\| engineering \|") -and ($catalog -match " Assert-Governance ($catalog -match "23 selected Matt Pocock Skills") "Catalog must record the selected collection size." Assert-Governance ($installation -match "npx skills add LightDevCoder/skills-3rdParty#v0\.1\.1") "Installation guide must provide the pinned collection command." Assert-Governance ($installation -match "npx skills add LightDevCoder/skills-3rdParty#v0\.1\.1 --skill") "Installation guide must provide the pinned single-Skill command." -Assert-Governance ($installation -match "not published yet|targets, not installation evidence") "Unpublished release targets must remain explicitly labeled." +Assert-Governance ($installation -match "published" -and $installation -match "v0\.1\.1" -and $installation -notmatch "not published yet|release candidate|targets, not installation evidence") "Installation guidance must describe the published v0.1.1 release without stale target language." Assert-Governance ($catalog -match "v0\.1\.1") "Catalog must record the current release gate." Assert-Governance ($readme -match "v0\.1\.1") "README must record the current release gate." Assert-Governance ($installation -match "Manual fallback") "Installation guidance must retain a manual fallback." diff --git a/tests/third-party-collection-tests.ps1 b/tests/third-party-collection-tests.ps1 index 962ea1d..4f8912d 100644 --- a/tests/third-party-collection-tests.ps1 +++ b/tests/third-party-collection-tests.ps1 @@ -129,7 +129,7 @@ foreach ($package in @($allowlist.packages)) { Assert-ThirdParty ($provenance -match [regex]::Escape("UPSTREAM_LOCK.json entry $($package.name)")) "$($package.name) provenance lock entry matches the manifest" Assert-ThirdParty ($provenance -match [regex]::Escape([string]$manifest.upstream.resolved_commit)) "$($package.name) provenance records the resolved commit" Assert-ThirdParty ($provenance -match 'skills-3rdParty#v0\.1\.1' -and $provenance -notmatch 'skills-3rdParty#v1\.1\.0') "$($package.name) provenance distinguishes the local release pin from the upstream pin" - Assert-ThirdParty ($provenance -match 'target after the local v0\.1\.1 release gate') "$($package.name) unpublished local release command is labeled as a target" + Assert-ThirdParty ($provenance -match 'published release' -and $provenance -match '--yes --copy --agent codex') "$($package.name) published local release command is explicit and reproducible" Assert-ThirdParty ((Get-Content -Raw -LiteralPath (Join-Path $destination 'PATCHES.md')) -match 'P0001') "$($package.name) has a local patch ledger" Assert-ThirdParty ($entry.local_modification_state -eq 'metadata-adapter-only') "$($package.name) local modification state is explicit" Assert-ThirdParty ((@($entry.referenced_resource_check.missing).Count -eq 0)) "$($package.name) has no missing referenced resources"