skill-distribution-audit
Audit a skill collection before release or investigate installer omissions, archived/template leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 4.1w
- Forks
- 5.3k
01 前言 Front Matter
- name
- skill-distribution-audit
- description
- Audit a skill collection before release or investigate installer omissions, archived/template leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.
02 资源文件 37
- 资产文件assets/copilot-validation/followup.txt1.2 KB
- 资产文件assets/copilot-validation/inputs/after-capture.json761 B
- 资产文件assets/copilot-validation/inputs/after-discovery-stderr.txt—
- 资产文件assets/copilot-validation/inputs/after-discovery.json30.6 KB
- 资产文件assets/copilot-validation/inputs/after-marketplace.json54.4 KB
- 资产文件assets/copilot-validation/inputs/after-source-index.json142.4 KB
- 资产文件assets/copilot-validation/inputs/before-capture.json592 B
- 资产文件assets/copilot-validation/inputs/before-discovery-stderr.txt11.4 KB
- 资产文件assets/copilot-validation/inputs/before-discovery.json30.3 KB
- 资产文件assets/copilot-validation/inputs/before-marketplace.json54.4 KB
- 资产文件assets/copilot-validation/inputs/before-source-index.json142.4 KB
- 资产文件assets/copilot-validation/inputs/consumer-package.json363 B
- 资产文件assets/copilot-validation/inputs/consumer-policy-source.json2.4 KB
- 资产文件assets/copilot-validation/inputs/release-context.json1.2 KB
- 资产文件assets/copilot-validation/inputs/release-policy-source.json2.4 KB
- 资产文件assets/copilot-validation/outputs/after-discovery-comparison.exitcode.txt2 B
- 资产文件assets/copilot-validation/outputs/after-discovery-comparison.json237 B
- 资产文件assets/copilot-validation/outputs/after-manifest-comparison.exitcode.txt2 B
- 资产文件assets/copilot-validation/outputs/after-manifest-comparison.json237 B
- 脚本assets/copilot-validation/outputs/annotate-findings.mjs1.1 KB
- 资产文件assets/copilot-validation/outputs/audit-report.md8.3 KB
- 资产文件assets/copilot-validation/outputs/before-discovery-comparison.exitcode.txt2 B
- 资产文件assets/copilot-validation/outputs/before-discovery-comparison.json2.0 KB
- 资产文件assets/copilot-validation/outputs/before-manifest-comparison.exitcode.txt2 B
- 资产文件assets/copilot-validation/outputs/before-manifest-comparison.json237 B
- 脚本assets/copilot-validation/outputs/derive-audit-inputs.mjs2.5 KB
- 资产文件assets/copilot-validation/outputs/derived-counts-and-ambiguities.json538 B
- 资产文件assets/copilot-validation/outputs/discovery-finding-paths.json10.8 KB
- 脚本assets/copilot-validation/outputs/run-comparisons.mjs1.2 KB
- 资产文件assets/copilot-validation/prompt.txt1.7 KB
- 资产文件assets/copilot-validation/provenance.json12.2 KB
- 脚本assets/copilot-validation/reproduce.mjs1.8 KB
- 资产文件assets/copilot-validation/session-evidence.json40.1 KB
- 参考文档references/copilot-real-data-validation.md6.1 KB
- 参考文档references/worked-example.md1.5 KB
- 脚本scripts/compare-discovery.mjs2.3 KB
- 脚本scripts/compare-discovery.test.mjs5.1 KB
03 SKILL.md 正文
Skill Distribution Audit
Give a collection maintainer a release-correctness report: which intended skills are missing, which unintended entries are exposed, and which identities are ambiguous. Start from the source revision and target consumer, rather than assuming that a readable SKILL.md will be distributed correctly.
Establish the distribution contract
Record the source revision, consumer/client and version, distribution layout, and requested scope. If a client-specific rule affects the result, consult that consumer's documentation or implementation; otherwise leave the conclusion unverified.
Build the intended public set from the repository's actual release policy and source files. Distinguish active skills from archives, templates, test fixtures, generated copies, and internal maintenance content. A source collection can contain SKILL.md files that it deliberately does not publish. An existing manifest may itself be stale, so do not use it as the only source of truth.
Keep a mapping from each identity to its source path. Prefer repository-relative paths when both sides expose them; use names only when unique and comparable. If discovery returns names that map to multiple source paths, report the ambiguity rather than silently choosing or deduplicating an entry.
Collect comparable evidence
- Parse frontmatter with a standard YAML parser compatible with the target consumer, then validate its supported field types. Separate malformed YAML from valid YAML that fails the consumer's schema. A repository's custom parser passing is not proof of consumer compatibility.
- Inspect the actual release/manifest rules, including path bases, explicit entries, globs, and exclusion or internal flags. Apply only the target version's semantics: a repository's deprecated status field does not necessarily hide an entry from an installer.
- Obtain the consumer's discovery/list output for the same source revision when an appropriate command is available and authorized. Inspect its behavior first; a command named list is not automatically free of downloads or writes. Prefer an isolated checkout and retain stderr, exit status, version, source revision, and completeness/pagination limits.
- Use existing captured output when a fresh consumer run is unavailable. Mark it as historical. If no comparable consumer output is available, complete the static checks and state that discovery coverage remains unverified.
Do not execute skill bodies or their helpers while collecting distribution evidence. Installation and end-to-end task execution are separate validation scopes; do not repeat installations to manufacture usage counts.
Reconcile identities, not just totals
Compare the intended public set against the manifest and against observed discovery separately, when those layers exist. Report missing identities, unexpected identities, duplicates, and parse failures independently. Also compare the manifest to discovery when it is the actual consumer input. Do not assume that a manifest for a different installer controls a direct repository scan.
Equal totals can conceal different identities. For example, an intended set of two active skills and an observed set containing one active skill plus one template both have length two, yet contain one omission and one leak.
For deterministic comparisons, use the bundled compare-discovery.mjs with Node.js 20 or later; it needs no third-party packages. It accepts two JSON arrays of exact identity strings. Create those inputs from the evidence above; it does not discover skills or infer release policy.
node <skill-directory>/scripts/compare-discovery.mjs <expected.json> <observed.json>
The JSON report includes raw/unique counts, missing and unexpected identities, and duplicate counts on both sides. Exit codes: 0 for an exact unique match, 1 for mismatches or duplicates, 2 for invalid input or an I/O error. It reads the supplied files and writes only its report; it never invokes an installer.
See the worked example for sample inputs and an auditable report. The helper's regression tests run with:
node --test <skill-directory>/scripts/compare-discovery.test.mjs
For a recorded Copilot run on real historical captures, including exact inputs, helper output, and a local replay command, see the Copilot validation report. Read it when validating or reproducing this skill; it is not required for an ordinary audit.
Report and repair
For each finding, give the affected identities, source/configuration paths and line numbers, observed behavior, likely cause, and smallest repair. Distinguish direct observations from inferences. Avoid changing skill bodies when a metadata or manifest correction is sufficient; preserve unrelated metadata and licensing.
Include the source revision, consumer version, expected/manifest/discovered counts, exact differences, checks actually run, and verification limits. Allow zero findings. Do not turn unavailable or truncated discovery into a successful match by comparing only a convenient subset.
An exact discovery match establishes distribution coverage within the audited scope. It does not establish that skills are loaded by a live Copilot session, that packaged helpers work, or that credentials and external services are usable. After an authorized repair, repeat the relevant parsing and reconciliation checks on the repaired revision and report what changed.
04 同仓库更多 Skills
supabase-rls-policies
Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.
logicapps-custom-code-net10-migration
Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project/package configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.
winmd-api-search
Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI/ML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).
resemble-detect
Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI
quality-playbook
Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.
azure-resource-visualizer
Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other.