@skill-graph/cli 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +247 -0
- package/LICENSE +200 -0
- package/NOTICE +62 -0
- package/README.md +398 -0
- package/SKILL_GRAPH.md +443 -0
- package/bin/skill-graph.js +374 -0
- package/docs/ADOPTION.md +117 -0
- package/docs/CONFORMANCE.md +66 -0
- package/docs/PRIMER.md +384 -0
- package/docs/QUICKSTART-30MIN.md +333 -0
- package/docs/ROUTING-METRICS.md +120 -0
- package/docs/SKILL-MD-FORMAT-COMPATIBILITY.md +127 -0
- package/docs/SKILL_AUDIT_CHECKLIST.md +199 -0
- package/docs/SKILL_AUDIT_LOOP.md +195 -0
- package/docs/SKILL_METADATA_PROTOCOL.md +609 -0
- package/docs/_archived/marketplace-publication-priority-2026-05-18.md +239 -0
- package/docs/adr/0001-predicate-set.md +69 -0
- package/docs/adr/0002-json-ld-context.md +82 -0
- package/docs/adr/0003-ontoclean-rigidity-tags.md +65 -0
- package/docs/adr/0004-persistent-identifiers.md +74 -0
- package/docs/adr/0005-freshness-consolidation.md +70 -0
- package/docs/adr/0006-revise-predicate-rename.md +105 -0
- package/docs/adr/0007-audit-loop-cadence.md +99 -0
- package/docs/adr/0008-skill-surface-split-and-curation-policy.md +93 -0
- package/docs/category-consumers.md +168 -0
- package/docs/concept-map.md +194 -0
- package/docs/diagrams/drift-states.mmd +21 -0
- package/docs/diagrams/manifest-pipeline.mmd +25 -0
- package/docs/diagrams/routing-harness.mmd +41 -0
- package/docs/diagrams/starter-graph.mmd +53 -0
- package/docs/field-decision-guide.md +315 -0
- package/docs/field-rationale.md +211 -0
- package/docs/field-reference.generated.md +624 -0
- package/docs/field-reference.md +1426 -0
- package/docs/glossary.md +190 -0
- package/docs/head-noun-glossary.md +63 -0
- package/docs/images/audit-phases.png +0 -0
- package/docs/images/drift-states.png +0 -0
- package/docs/images/graded-mode.png +0 -0
- package/docs/images/manifest-pipeline.png +0 -0
- package/docs/images/routing-harness.png +0 -0
- package/docs/images/skill-anatomy.png +0 -0
- package/docs/images/starter-graph.png +0 -0
- package/docs/images/system-model.png +0 -0
- package/docs/integrations/github-actions.md +155 -0
- package/docs/manifest-field-mapping.md +443 -0
- package/docs/marketplace-publication-queue.generated.md +240 -0
- package/docs/marketplace-release-agent-prompt.md +82 -0
- package/docs/marketplace-skill-candidate-list.md +272 -0
- package/docs/marketplace-syndication.md +222 -0
- package/docs/migration-sample-review.md +155 -0
- package/docs/migrations/v4-to-v5.md +168 -0
- package/docs/migrations/v5-to-v6.md +221 -0
- package/docs/name-exceptions.yaml +37 -0
- package/docs/plans/marketplace-p1-public-migration-plan.md +41 -0
- package/docs/plans/multi-root-workspace.md +148 -0
- package/docs/plans/scripts-roadmap.md +107 -0
- package/docs/plans/v4-schema-bump.md +160 -0
- package/docs/plans/wave-2-extraction.md +122 -0
- package/docs/positioning-vs-marketplaces.md +175 -0
- package/docs/proposals/skill-audit-loop-positioning.md +160 -0
- package/docs/quality-doctrine.md +138 -0
- package/docs/recommended-skills.md +150 -0
- package/docs/research/skill-comprehension-eval-research.md +1830 -0
- package/docs/research/skill-retrieval-evidence.md +66 -0
- package/docs/skill-metadata-protocol.md +471 -0
- package/docs/skills-sh-maintainer-cleanup-request.md +80 -0
- package/examples/audits/a11y/findings.md +52 -0
- package/examples/audits/a11y/scorecard.md +21 -0
- package/examples/audits/a11y/verdict.md +44 -0
- package/examples/audits/debugging/findings.md +59 -0
- package/examples/audits/debugging/scorecard.md +22 -0
- package/examples/audits/debugging/verdict.md +33 -0
- package/examples/audits/documentation/findings.md +59 -0
- package/examples/audits/documentation/scorecard.md +22 -0
- package/examples/audits/documentation/verdict.md +33 -0
- package/examples/evals/a11y.json +140 -0
- package/examples/evals/api-design.json +52 -0
- package/examples/evals/code-review.json +52 -0
- package/examples/evals/data-modeling.json +52 -0
- package/examples/evals/database-migration.json +52 -0
- package/examples/evals/debugging.json +118 -0
- package/examples/evals/dependency-architecture.json +52 -0
- package/examples/evals/design-system-architecture.json +52 -0
- package/examples/evals/error-tracking.json +52 -0
- package/examples/evals/event-contract-design.json +52 -0
- package/examples/evals/form-ux-architecture.json +52 -0
- package/examples/evals/framework-fit-analysis.json +52 -0
- package/examples/evals/graph-audit.json +139 -0
- package/examples/evals/information-architecture.json +52 -0
- package/examples/evals/interaction-feedback.json +52 -0
- package/examples/evals/interaction-patterns.json +52 -0
- package/examples/evals/layout-composition.json +52 -0
- package/examples/evals/lint-overlay.json +117 -0
- package/examples/evals/microcopy.json +52 -0
- package/examples/evals/observability-modeling.json +52 -0
- package/examples/evals/pattern-recognition.json +96 -0
- package/examples/evals/performance-engineering.json +52 -0
- package/examples/evals/refactor.json +128 -0
- package/examples/evals/semiotics.json +52 -0
- package/examples/evals/skill-infrastructure.json +96 -0
- package/examples/evals/skill-router.json +140 -0
- package/examples/evals/skill-router.routing.json +113 -0
- package/examples/evals/system-interface-contracts.json +52 -0
- package/examples/evals/task-analysis.json +52 -0
- package/examples/evals/testing-strategy.json +118 -0
- package/examples/evals/type-safety.json +249 -0
- package/examples/evals/visual-design-foundations.json +52 -0
- package/examples/evals/webhook-integration.json +52 -0
- package/examples/exports/a11y.skill-md.md +80 -0
- package/examples/exports/debugging.skill-md.md +80 -0
- package/examples/exports/refactor.skill-md.md +78 -0
- package/examples/exports/testing-strategy.skill-md.md +81 -0
- package/examples/projects/markdown-static-site/README.md +115 -0
- package/examples/projects/markdown-static-site/skills/content-source-router/SKILL.md +131 -0
- package/examples/projects/markdown-static-site/skills/image-optimization-pipeline-config/SKILL.md +132 -0
- package/examples/projects/markdown-static-site/skills/link-rot-detection/SKILL.md +103 -0
- package/examples/projects/markdown-static-site/skills/markdown-post-frontmatter-validation/SKILL.md +133 -0
- package/examples/projects/markdown-static-site/skills/migrate-posts-to-v2-frontmatter/SKILL.md +140 -0
- package/examples/projects/saas-stripe-postgres/README.md +208 -0
- package/examples/projects/saas-stripe-postgres/db/migrations/0004_canonicalize_orders.sql +37 -0
- package/examples/projects/saas-stripe-postgres/db/schema.sql +112 -0
- package/examples/projects/saas-stripe-postgres/skills/migrate-orders-to-canonical-schema/SKILL.md +149 -0
- package/examples/projects/saas-stripe-postgres/skills/nextjs-server-action-validation/SKILL.md +154 -0
- package/examples/projects/saas-stripe-postgres/skills/payment-provider-router/SKILL.md +153 -0
- package/examples/projects/saas-stripe-postgres/skills/postgres-rls-pattern/SKILL.md +163 -0
- package/examples/projects/saas-stripe-postgres/skills/stripe-webhook-signature-verification/SKILL.md +137 -0
- package/examples/protocol/skill-metadata-template.md +301 -0
- package/examples/protocol/skills.manifest.sample.json +13245 -0
- package/examples/skill-metadata-template.md +317 -0
- package/examples/skills.manifest.sample.json +13519 -0
- package/examples/tests/v3-1-skos-fixture/SKILL.md +93 -0
- package/marketplace/README.md +17 -0
- package/marketplace/skills/a11y/SKILL.md +66 -0
- package/marketplace/skills/acid-fundamentals/SKILL.md +106 -0
- package/marketplace/skills/agent-engineering/SKILL.md +386 -0
- package/marketplace/skills/agent-eval-design/SKILL.md +55 -0
- package/marketplace/skills/ai-native-development/SKILL.md +294 -0
- package/marketplace/skills/api-design/SKILL.md +60 -0
- package/marketplace/skills/architecture-decision-records/SKILL.md +55 -0
- package/marketplace/skills/background-jobs/SKILL.md +265 -0
- package/marketplace/skills/bounded-context-mapping/SKILL.md +55 -0
- package/marketplace/skills/cap-theorem-tradeoffs/SKILL.md +127 -0
- package/marketplace/skills/client-server-boundary/SKILL.md +187 -0
- package/marketplace/skills/code-review/SKILL.md +120 -0
- package/marketplace/skills/color-system-design/SKILL.md +43 -0
- package/marketplace/skills/component-architecture/SKILL.md +126 -0
- package/marketplace/skills/compression/SKILL.md +112 -0
- package/marketplace/skills/conceptual-modeling/SKILL.md +181 -0
- package/marketplace/skills/connection-pooling/SKILL.md +105 -0
- package/marketplace/skills/constraint-awareness/SKILL.md +287 -0
- package/marketplace/skills/content-monitor/SKILL.md +209 -0
- package/marketplace/skills/context-engineering/SKILL.md +320 -0
- package/marketplace/skills/context-graph/SKILL.md +174 -0
- package/marketplace/skills/context-management/SKILL.md +174 -0
- package/marketplace/skills/context-window/SKILL.md +239 -0
- package/marketplace/skills/contract-testing/SKILL.md +120 -0
- package/marketplace/skills/cron-scheduling/SKILL.md +223 -0
- package/marketplace/skills/dark-mode-implementation/SKILL.md +47 -0
- package/marketplace/skills/data-modeling/SKILL.md +59 -0
- package/marketplace/skills/data-modeling-fundamentals/SKILL.md +117 -0
- package/marketplace/skills/database-migration/SKILL.md +429 -0
- package/marketplace/skills/debugging/SKILL.md +67 -0
- package/marketplace/skills/dependency-architecture/SKILL.md +58 -0
- package/marketplace/skills/design-module-composition/SKILL.md +43 -0
- package/marketplace/skills/design-system-architecture/SKILL.md +61 -0
- package/marketplace/skills/design-thinking/SKILL.md +44 -0
- package/marketplace/skills/diagnosis/SKILL.md +296 -0
- package/marketplace/skills/diff-analysis/SKILL.md +188 -0
- package/marketplace/skills/e2e-test-design/SKILL.md +113 -0
- package/marketplace/skills/entity-relationship-modeling/SKILL.md +218 -0
- package/marketplace/skills/epistemic-grounding/SKILL.md +112 -0
- package/marketplace/skills/error-boundary/SKILL.md +235 -0
- package/marketplace/skills/error-tracking/SKILL.md +261 -0
- package/marketplace/skills/eval-driven-development/SKILL.md +147 -0
- package/marketplace/skills/evaluation/SKILL.md +113 -0
- package/marketplace/skills/event-contract-design/SKILL.md +60 -0
- package/marketplace/skills/event-storming/SKILL.md +56 -0
- package/marketplace/skills/form-ux-architecture/SKILL.md +60 -0
- package/marketplace/skills/framework-fit-analysis/SKILL.md +59 -0
- package/marketplace/skills/frontend-architecture/SKILL.md +43 -0
- package/marketplace/skills/generative-ui/SKILL.md +118 -0
- package/marketplace/skills/graph-audit/SKILL.md +81 -0
- package/marketplace/skills/guardrails/SKILL.md +118 -0
- package/marketplace/skills/hooks-patterns/SKILL.md +185 -0
- package/marketplace/skills/http-semantics/SKILL.md +136 -0
- package/marketplace/skills/ideation/SKILL.md +41 -0
- package/marketplace/skills/indexing-strategy/SKILL.md +108 -0
- package/marketplace/skills/information-architecture/SKILL.md +59 -0
- package/marketplace/skills/integration-test-design/SKILL.md +111 -0
- package/marketplace/skills/intent-recognition/SKILL.md +136 -0
- package/marketplace/skills/interaction-feedback/SKILL.md +59 -0
- package/marketplace/skills/interaction-patterns/SKILL.md +59 -0
- package/marketplace/skills/journey-mapping/SKILL.md +41 -0
- package/marketplace/skills/keywords/SKILL.md +213 -0
- package/marketplace/skills/knowledge-modeling/SKILL.md +232 -0
- package/marketplace/skills/layout-composition/SKILL.md +59 -0
- package/marketplace/skills/linguistics/SKILL.md +429 -0
- package/marketplace/skills/lint-overlay/SKILL.md +76 -0
- package/marketplace/skills/mental-models/SKILL.md +126 -0
- package/marketplace/skills/merge-queue/SKILL.md +94 -0
- package/marketplace/skills/methodology/SKILL.md +317 -0
- package/marketplace/skills/microcopy/SKILL.md +232 -0
- package/marketplace/skills/middleware-patterns/SKILL.md +363 -0
- package/marketplace/skills/mobile-responsive-ux/SKILL.md +287 -0
- package/marketplace/skills/mutation-testing/SKILL.md +112 -0
- package/marketplace/skills/naming-conventions/SKILL.md +112 -0
- package/marketplace/skills/observability-modeling/SKILL.md +59 -0
- package/marketplace/skills/ontology-modeling/SKILL.md +67 -0
- package/marketplace/skills/owasp-security/SKILL.md +153 -0
- package/marketplace/skills/pattern-recognition/SKILL.md +472 -0
- package/marketplace/skills/performance-budgets/SKILL.md +185 -0
- package/marketplace/skills/performance-engineering/SKILL.md +58 -0
- package/marketplace/skills/performance-testing/SKILL.md +125 -0
- package/marketplace/skills/printify/SKILL.md +42 -0
- package/marketplace/skills/prioritization/SKILL.md +118 -0
- package/marketplace/skills/problem-framing/SKILL.md +41 -0
- package/marketplace/skills/problem-locating-solving/SKILL.md +203 -0
- package/marketplace/skills/project-knowledge-extraction/SKILL.md +54 -0
- package/marketplace/skills/prompt-craft/SKILL.md +134 -0
- package/marketplace/skills/prompt-injection-defense/SKILL.md +132 -0
- package/marketplace/skills/property-based-testing/SKILL.md +100 -0
- package/marketplace/skills/prototyping/SKILL.md +43 -0
- package/marketplace/skills/query-optimization/SKILL.md +144 -0
- package/marketplace/skills/real-time-updates/SKILL.md +324 -0
- package/marketplace/skills/ref-patterns/SKILL.md +284 -0
- package/marketplace/skills/refactor/SKILL.md +65 -0
- package/marketplace/skills/rendering-models/SKILL.md +142 -0
- package/marketplace/skills/replication-patterns/SKILL.md +110 -0
- package/marketplace/skills/research-synthesis/SKILL.md +41 -0
- package/marketplace/skills/route-handler-design/SKILL.md +347 -0
- package/marketplace/skills/schema-evolution/SKILL.md +140 -0
- package/marketplace/skills/security-fundamentals/SKILL.md +139 -0
- package/marketplace/skills/semantic-center/SKILL.md +194 -0
- package/marketplace/skills/semantic-relations/SKILL.md +250 -0
- package/marketplace/skills/semantics/SKILL.md +366 -0
- package/marketplace/skills/semiotics/SKILL.md +230 -0
- package/marketplace/skills/seo-strategy/SKILL.md +260 -0
- package/marketplace/skills/server-actions-design/SKILL.md +243 -0
- package/marketplace/skills/server-components-design/SKILL.md +190 -0
- package/marketplace/skills/sharding-strategy/SKILL.md +123 -0
- package/marketplace/skills/shopify/SKILL.md +42 -0
- package/marketplace/skills/skill-infrastructure/SKILL.md +320 -0
- package/marketplace/skills/skill-router/SKILL.md +71 -0
- package/marketplace/skills/skill-scaffold/SKILL.md +105 -0
- package/marketplace/skills/snapshot-testing/SKILL.md +120 -0
- package/marketplace/skills/spec-driven-development/SKILL.md +148 -0
- package/marketplace/skills/state-machine-modeling/SKILL.md +56 -0
- package/marketplace/skills/state-management/SKILL.md +134 -0
- package/marketplace/skills/streaming-architecture/SKILL.md +194 -0
- package/marketplace/skills/summarization/SKILL.md +156 -0
- package/marketplace/skills/suspense-patterns/SKILL.md +265 -0
- package/marketplace/skills/system-interface-contracts/SKILL.md +59 -0
- package/marketplace/skills/task-analysis/SKILL.md +201 -0
- package/marketplace/skills/taxonomy-design/SKILL.md +66 -0
- package/marketplace/skills/test-coverage-strategy/SKILL.md +108 -0
- package/marketplace/skills/test-doubles-design/SKILL.md +98 -0
- package/marketplace/skills/test-driven-development/SKILL.md +96 -0
- package/marketplace/skills/testing-strategy/SKILL.md +67 -0
- package/marketplace/skills/theme-system-design/SKILL.md +43 -0
- package/marketplace/skills/tool-call-flow/SKILL.md +229 -0
- package/marketplace/skills/tool-call-strategy/SKILL.md +292 -0
- package/marketplace/skills/transaction-isolation/SKILL.md +98 -0
- package/marketplace/skills/type-safety/SKILL.md +177 -0
- package/marketplace/skills/typography-system/SKILL.md +43 -0
- package/marketplace/skills/usability-testing/SKILL.md +43 -0
- package/marketplace/skills/user-research/SKILL.md +43 -0
- package/marketplace/skills/vercel-composition-patterns/SKILL.md +157 -0
- package/marketplace/skills/version-control/SKILL.md +233 -0
- package/marketplace/skills/visual-design-foundations/SKILL.md +59 -0
- package/marketplace/skills/visual-hierarchy/SKILL.md +43 -0
- package/marketplace/skills/webhook-integration/SKILL.md +331 -0
- package/marketplace/skills/writing-humanizer/SKILL.md +380 -0
- package/package.json +67 -0
- package/schemas/manifest.schema.json +811 -0
- package/schemas/manifest.v2.schema.json +164 -0
- package/schemas/manifest.v3.schema.json +758 -0
- package/schemas/manifest.v4.schema.json +755 -0
- package/schemas/manifest.v5.schema.json +755 -0
- package/schemas/manifest.v6.schema.json +811 -0
- package/schemas/skill.context.jsonld +279 -0
- package/schemas/skill.schema.json +919 -0
- package/schemas/skill.v2.schema.json +201 -0
- package/schemas/skill.v3.schema.json +827 -0
- package/schemas/skill.v4.schema.json +822 -0
- package/schemas/skill.v5.schema.json +830 -0
- package/schemas/skill.v6.schema.json +946 -0
- package/schemas/vocabulary/keywords.json +180 -0
- package/schemas/vocabulary/workspace_tags.json +23 -0
- package/scripts/__tests__/migrate-skill-v2-to-v3.test.js +161 -0
- package/scripts/__tests__/migrate-skill-v3-to-v4.test.js +158 -0
- package/scripts/__tests__/test-export-parser-drift.js +149 -0
- package/scripts/__tests__/test-marketplace-export.js +114 -0
- package/scripts/__tests__/test-router-paths.js +82 -0
- package/scripts/__tests__/test-stability-promotion.js +244 -0
- package/scripts/__tests__/test-v3-1-alias-contract.js +109 -0
- package/scripts/__tests__/test-v3-1-skos-runtime.js +116 -0
- package/scripts/backfill-schema-version.js +198 -0
- package/scripts/build-field-reference.js +160 -0
- package/scripts/build-retrieval-baseline.js +511 -0
- package/scripts/check-markdown-links.js +211 -0
- package/scripts/check-protocol-consistency.js +979 -0
- package/scripts/export-marketplace-skills.js +610 -0
- package/scripts/export-skill.js +374 -0
- package/scripts/generate-manifest.js +787 -0
- package/scripts/lib/alias-contract.js +83 -0
- package/scripts/lib/audit-prompt-builder.js +771 -0
- package/scripts/lib/mock-grader.js +134 -0
- package/scripts/lib/parse-frontmatter.js +429 -0
- package/scripts/lib/roots.js +119 -0
- package/scripts/lint/check-archetype-sections.js +185 -0
- package/scripts/lint/check-category-enum.js +83 -0
- package/scripts/lint/check-routing-eval.js +146 -0
- package/scripts/lint/check-routing-quality.js +211 -0
- package/scripts/lint/check-stability-promotion.js +220 -0
- package/scripts/lint/format-code-frame.js +206 -0
- package/scripts/marketplace-install.js +125 -0
- package/scripts/migrate-category-to-enum.js +169 -0
- package/scripts/migrate-skill-v2-to-v3.js +424 -0
- package/scripts/migrate-skill-v3-to-v4.js +200 -0
- package/scripts/migrate-skill-v5-to-v6.js +304 -0
- package/scripts/restructure-by-category.js +85 -0
- package/scripts/seed-publication-classification.js +282 -0
- package/scripts/skill-audit.js +893 -0
- package/scripts/skill-graph-drift.js +483 -0
- package/scripts/skill-graph-route.js +766 -0
- package/scripts/skill-graph-routing-eval.js +393 -0
- package/scripts/skill-lint.js +1317 -0
- package/scripts/skill-overlap.js +213 -0
- package/scripts/verify-skill-md-export.js +201 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
---
|
|
2
|
+
# yaml-language-server: $schema=https://skillgraph.dev/schemas/skill.v6.schema.json
|
|
3
|
+
#
|
|
4
|
+
# ============================================================================
|
|
5
|
+
# SCAFFOLD — this file is a skill template, not a production skill.
|
|
6
|
+
# ============================================================================
|
|
7
|
+
#
|
|
8
|
+
# Adopters COPY this file to `skills/<new-name>/SKILL.md` and then edit it to
|
|
9
|
+
# author a new skill. Every `# TEMPLATE NOTE:` YAML comment and every
|
|
10
|
+
# `> **TEMPLATE NOTE:**` body blockquote is authoring scaffolding that MUST be
|
|
11
|
+
# stripped from the derived copy before shipping.
|
|
12
|
+
#
|
|
13
|
+
# Field values here are deliberate authoring-time defaults, not aspirational
|
|
14
|
+
# targets. In particular `eval_artifacts: planned`, `eval_state: unverified`,
|
|
15
|
+
# and `routing_eval: absent` (see comment on the routing_eval line below)
|
|
16
|
+
# encode the correct starting state for a brand-new un-verified skill —
|
|
17
|
+
# flipping them to `present` on this scaffold would make every derived skill
|
|
18
|
+
# inherit a false attestation until the author noticed.
|
|
19
|
+
#
|
|
20
|
+
# Build automation treats this file specially: the sample manifest
|
|
21
|
+
# generator ingests it only under `--include-template`, and the library-wide
|
|
22
|
+
# harness counts it as the 9th "skill" only when the flag is set. It is NOT
|
|
23
|
+
# routable in day-to-day skill dispatch — `scope: reference` keeps it out of
|
|
24
|
+
# the normal routing pool.
|
|
25
|
+
# ============================================================================
|
|
26
|
+
schema_version: 6
|
|
27
|
+
name: skill-metadata-template
|
|
28
|
+
# TEMPLATE NOTE: Be pushy in your description — Claude tends to under-trigger
|
|
29
|
+
# skills, so descriptions should read as commands ("Use when X", "Activate
|
|
30
|
+
# this skill whenever Y") not as polite suggestions ("This skill provides Z").
|
|
31
|
+
# State both WHAT the skill does AND WHEN to use it, and include an explicit
|
|
32
|
+
# negative boundary ("Do NOT use for ..." with a pointer to the right
|
|
33
|
+
# alternative skill). The 3-test quality gate for descriptions is:
|
|
34
|
+
# (1) names a real domain object (file path, function name, route),
|
|
35
|
+
# (2) has an explicit "Do NOT use for X (use Y)" exclusion clause,
|
|
36
|
+
# (3) names a concrete trigger (code pattern, file path, command).
|
|
37
|
+
# Keep the description concise enough to route well, but do not treat runtime
|
|
38
|
+
# wording guidelines as protocol limits.
|
|
39
|
+
# for Anthropic's own guidance on pushy descriptions.
|
|
40
|
+
description: "Use when creating a new SKILL.md, adapting an existing skill to a different archetype, or teaching an author the canonical frontmatter and body structure. Covers schema-conformant frontmatter, archetype-aware body layout, semantic-layer discipline (description vs Coverage), teaching-layer mechanics (TEMPLATE NOTE blockquotes and YAML comments), and the authoring gate. Do NOT use when modifying an already-written skill (edit that skill directly) or when writing general technical documentation (use the documentation skill)."
|
|
41
|
+
version: 1.0.0
|
|
42
|
+
type: capability
|
|
43
|
+
# TEMPLATE NOTE: category is the closed v5 enum — exactly one of:
|
|
44
|
+
# foundations / engineering / design / quality / agent / product. See
|
|
45
|
+
# docs/skill-metadata-protocol.md § Category and docs/migrations/v4-to-v5.md
|
|
46
|
+
# for the migration mapping. The scaffold itself is an agent-system authoring
|
|
47
|
+
# tool, hence `agent`; replace with the correct value for your subject when
|
|
48
|
+
# adapting.
|
|
49
|
+
category: agent
|
|
50
|
+
# TEMPLATE NOTE: domain is the OPTIONAL hierarchical domain path (slash-
|
|
51
|
+
# delimited, lowercase kebab-case segments). Use it only when the skill library
|
|
52
|
+
# is large enough that a tree structure helps readers find related skills.
|
|
53
|
+
# Remove this line entirely when the flat `category` above is sufficient.
|
|
54
|
+
domain: agent/skill-system
|
|
55
|
+
scope: reference
|
|
56
|
+
owner: skill-graph-maintainer
|
|
57
|
+
freshness: "2026-04-17"
|
|
58
|
+
# TEMPLATE NOTE: drift_check is an object. `last_verified` is required.
|
|
59
|
+
# `truth_source_hashes` is optional — record it with `node scripts/skill-graph-drift.js
|
|
60
|
+
# --record --apply <skill-dir>`.
|
|
61
|
+
drift_check:
|
|
62
|
+
last_verified: "2026-04-17"
|
|
63
|
+
# TEMPLATE NOTE: eval_artifacts, eval_state, and routing_eval are the three
|
|
64
|
+
# orthogonal eval-health axes introduced in schema_version 2. Set eval_artifacts
|
|
65
|
+
# to `planned` only as a temporary state — move to `present` once the artifact
|
|
66
|
+
# ships. Set eval_state to `unverified` when no run has been recorded yet.
|
|
67
|
+
#
|
|
68
|
+
# routing_eval: `present` is LINT-ENFORCED since [Unreleased]. Setting `present`
|
|
69
|
+
# requires (1) populated `examples` + `anti_examples` below, AND (2) a passing
|
|
70
|
+
# run of `node scripts/skill-graph-routing-eval.js --skill <name>`. Lint check
|
|
71
|
+
# 12 surfaces each failing prompt. Default to `absent` when authoring; flip
|
|
72
|
+
# to `present` only after the harness agrees. See docs/field-reference.md §
|
|
73
|
+
# routing_eval for the full enforcement contract.
|
|
74
|
+
#
|
|
75
|
+
# SCAFFOLD NOTE — on this specific file (`examples/skill-metadata-template.md`),
|
|
76
|
+
# routing_eval MUST stay `absent` even though the harness happens to report
|
|
77
|
+
# every case passing. The scaffold's job is to model the correct authoring-
|
|
78
|
+
# time default for a brand-new un-verified skill. If this line were flipped
|
|
79
|
+
# to `present`, every skill copy-pasted from the scaffold would inherit a
|
|
80
|
+
# false attestation until the author noticed and downgraded. In your
|
|
81
|
+
# derived copy, leave this line `absent` at first commit; flip it to
|
|
82
|
+
# `present` only after `node scripts/skill-graph-routing-eval.js --skill
|
|
83
|
+
# <your-skill-name>` exits 0 on YOUR skill's own examples + anti_examples.
|
|
84
|
+
eval_artifacts: planned
|
|
85
|
+
eval_state: unverified
|
|
86
|
+
routing_eval: absent
|
|
87
|
+
# TEMPLATE NOTE: Optional. Populate eval_last_run only after the skill has a
|
|
88
|
+
# real eval receipt (scorecard, grader history, CI run). Leave it absent for a
|
|
89
|
+
# brand-new skill with eval_state: unverified.
|
|
90
|
+
# eval_last_run:
|
|
91
|
+
# at: "2026-05-12T09:30:00Z"
|
|
92
|
+
# status: pass
|
|
93
|
+
# runner: "node scripts/skill-audit.js --graded"
|
|
94
|
+
# receipt: "examples/audits/<skill>/scorecard.md"
|
|
95
|
+
# TEMPLATE NOTE: stability values are `experimental` / `stable` / `frozen` /
|
|
96
|
+
# `deprecated`. When you move a skill to `deprecated`, the schema's `allOf`
|
|
97
|
+
# rule REQUIRES you to also add `superseded_by: <replacement-skill-name>` —
|
|
98
|
+
# without it the skill fails validation. A deprecated + superseded skill looks
|
|
99
|
+
# like:
|
|
100
|
+
#
|
|
101
|
+
# stability: deprecated
|
|
102
|
+
# superseded_by: new-skill-name
|
|
103
|
+
#
|
|
104
|
+
# The replacement must be a real skill in the same library. Omit `superseded_by`
|
|
105
|
+
# for any stability other than `deprecated`. See `docs/field-reference.md §
|
|
106
|
+
# superseded_by` for the full rules and the schema's `allOf` enforcement.
|
|
107
|
+
stability: stable
|
|
108
|
+
license: MIT
|
|
109
|
+
# TEMPLATE NOTE: compatibility is an object. Prefer structured fields
|
|
110
|
+
# (`runtimes`, `node`) over free-text `notes`.
|
|
111
|
+
compatibility:
|
|
112
|
+
notes: "Markdown, YAML, JSON Schema"
|
|
113
|
+
allowed-tools: Read Grep
|
|
114
|
+
# TEMPLATE NOTE: keywords are the pushy activation surface for authoring tasks.
|
|
115
|
+
# Keep terms that a human would type when starting a new skill.
|
|
116
|
+
keywords:
|
|
117
|
+
- how to write a SKILL.md file
|
|
118
|
+
- SKILL.md frontmatter YAML
|
|
119
|
+
- Skill Metadata Protocol v4
|
|
120
|
+
- Skill Graph schema fields
|
|
121
|
+
- skill archetype capability vs workflow
|
|
122
|
+
- skill description routing contract
|
|
123
|
+
- drift_check eval_artifacts routing_eval
|
|
124
|
+
- new skill scaffold template
|
|
125
|
+
- SKILL.md authoring gate
|
|
126
|
+
# TEMPLATE NOTE: triggers is present because this skill is routable by explicit label.
|
|
127
|
+
# Remove this block if your skill activates only by keyword or path matching.
|
|
128
|
+
triggers:
|
|
129
|
+
- skill-metadata-template
|
|
130
|
+
# TEMPLATE NOTE: paths is present because this template is the entry point whenever
|
|
131
|
+
# examples/skill-metadata-template.md itself is touched. the protocol supports gitignore-style negation —
|
|
132
|
+
# e.g. `- "!skills/experimental/**"` excludes a subdirectory from an otherwise broad
|
|
133
|
+
# glob. Remove this block if your skill is purely conceptual and has no file surface.
|
|
134
|
+
#
|
|
135
|
+
# Previous versions of this block also listed `skills/**/SKILL.md` but that glob is
|
|
136
|
+
# owned by `graph-audit` (the audit tooling that verifies every SKILL.md against the
|
|
137
|
+
# schema). Two skills claiming the same glob produces router ambiguity — the scope
|
|
138
|
+
# tiebreaker (`codebase` > `reference`) picks graph-audit anyway, and reference-scope
|
|
139
|
+
# skills are looked-up rather than path-routed. Lesson: each path glob should map to
|
|
140
|
+
# ONE canonical skill; `scripts/skill-overlap.js` surfaces duplicates as warnings.
|
|
141
|
+
paths:
|
|
142
|
+
- examples/skill-metadata-template.md
|
|
143
|
+
# TEMPLATE NOTE: examples is new in v0.5.0. 2–5 realistic user prompts the skill
|
|
144
|
+
# SHOULD activate for. Improves retrieval recall over keywords alone. Write in
|
|
145
|
+
# the user's voice, not imperative abstract form. See docs/field-reference.md §
|
|
146
|
+
# examples for full guidance. Omit this block for purely label-routed skills.
|
|
147
|
+
examples:
|
|
148
|
+
- "I'm writing a new skill from scratch — where do I start?"
|
|
149
|
+
- "how do I pick between capability and workflow for my skill type?"
|
|
150
|
+
- "what's the difference between description and the ## Coverage section?"
|
|
151
|
+
# TEMPLATE NOTE: anti_examples names near-miss prompts that should route ELSEWHERE.
|
|
152
|
+
# Pair with relations.boundary to tell the router which skill owns the confusable
|
|
153
|
+
# territory. Leave this block absent until you have seen the router misfire —
|
|
154
|
+
# speculative anti_examples rarely match reality. See docs/field-reference.md §
|
|
155
|
+
# anti_examples.
|
|
156
|
+
anti_examples:
|
|
157
|
+
- "refactor this skill to be more concise" # → refactor, not authoring
|
|
158
|
+
- "my skill's routing isn't activating — why?" # → skill-router, not template
|
|
159
|
+
# TEMPLATE NOTE: workspace_tags replaces v3 project_tags. Omit it for ambient / cross-project
|
|
160
|
+
# skills (the common case). Add literal project handles or semantic tags when
|
|
161
|
+
# the skill is relevant to a subset of projects in a multi-project workspace.
|
|
162
|
+
# See docs/field-decision-guide.md § 4 for the full decision tree.
|
|
163
|
+
#
|
|
164
|
+
# Example — this template is useful across every skill-authoring project, but
|
|
165
|
+
# the semantic tag scopes it to the Skill Graph authoring workflow rather than
|
|
166
|
+
# arbitrary project docs. A workspace config at `.skill-graph/config.json` can
|
|
167
|
+
# map your literal project handles to tag sets that include `skill-authoring`,
|
|
168
|
+
# so one tag reaches many projects.
|
|
169
|
+
workspace_tags:
|
|
170
|
+
- skill-authoring
|
|
171
|
+
relations:
|
|
172
|
+
# TEMPLATE NOTE: boundary items may be bare skill names OR `{skill, reason}`
|
|
173
|
+
# objects (v3). Reasons are strongly recommended — they make the boundary
|
|
174
|
+
# self-documenting.
|
|
175
|
+
#
|
|
176
|
+
# This scaffold ships with empty `boundary` and `verify_with` arrays because
|
|
177
|
+
# the skill-graph tooling repo has no peer skill library — lint resolves
|
|
178
|
+
# relation targets against `<workspace>/skills/`, which is intentionally
|
|
179
|
+
# empty here. In a real library, populate the arrays as shown in the
|
|
180
|
+
# commented example below (uncomment and replace with skills that exist in
|
|
181
|
+
# YOUR workspace):
|
|
182
|
+
#
|
|
183
|
+
# boundary:
|
|
184
|
+
# - skill: refactor
|
|
185
|
+
# reason: "refactor is behavior-preserving code modification, not skill authoring"
|
|
186
|
+
# - skill: skill-router
|
|
187
|
+
# reason: "skill-router dispatches between existing skills at request time; this template creates a NEW skill"
|
|
188
|
+
# - skill: graph-audit
|
|
189
|
+
# reason: "graph-audit verifies the authored metadata of an existing skill; this template is the authoring-time guide"
|
|
190
|
+
# verify_with:
|
|
191
|
+
# - documentation
|
|
192
|
+
boundary: []
|
|
193
|
+
verify_with: []
|
|
194
|
+
# TEMPLATE NOTE: grounding is REQUIRED for grounded skills that make concrete
|
|
195
|
+
# repo claims. Remove this entire block if your skill has grounding_mode: universal
|
|
196
|
+
# and does not anchor to truth sources in the repo.
|
|
197
|
+
grounding:
|
|
198
|
+
domain_object: Skill authoring for the Skill Metadata Protocol frontmatter
|
|
199
|
+
grounding_mode: repo_specific
|
|
200
|
+
truth_sources:
|
|
201
|
+
- path: docs/skill-metadata-protocol.md
|
|
202
|
+
anchor: the-52-authored-fields-grouped-by-purpose
|
|
203
|
+
note: "Protocol anatomy and field requiredness"
|
|
204
|
+
- path: schemas/skill.schema.json
|
|
205
|
+
line_range:
|
|
206
|
+
start: 480
|
|
207
|
+
end: 590
|
|
208
|
+
note: "Grounding schema shape"
|
|
209
|
+
# TEMPLATE NOTE: The canonical SKILL_AUDIT_CHECKLIST.md lives in the
|
|
210
|
+
# `skill-audit-loop` repo as of the 2026-05-16 monorepo split. The scaffold
|
|
211
|
+
# cannot anchor across repos, so the previous `SKILL_AUDIT_CHECKLIST.md`
|
|
212
|
+
# entry has been removed. See the `skill-audit-loop` README for the
|
|
213
|
+
# canonical authoring-gate checklist.
|
|
214
|
+
failure_modes:
|
|
215
|
+
- placeholder_sludge
|
|
216
|
+
- cargo_cult_meta_sections
|
|
217
|
+
- description_coverage_collapse
|
|
218
|
+
- authoring_gate_skipped
|
|
219
|
+
evidence_priority: repo_code_first
|
|
220
|
+
# TEMPLATE NOTE: portability declares which external agent runtimes this skill is
|
|
221
|
+
# known to work on. `readiness` is the operational rating: `declared` (claim only),
|
|
222
|
+
# `scripted` (export tooling exists), or `verified` (proven with a receipt). `targets`
|
|
223
|
+
# is the list of destination runtimes. Today the supported portable target is `skill-md`
|
|
224
|
+
# (see `schemas/skill.schema.json`). Other runtimes (cursor, windsurf, copilot, agents-md)
|
|
225
|
+
# were removed from the enum in 0.3.0 pending working transforms — re-add via RFC if
|
|
226
|
+
# adoption pressure appears. Remove this block if the skill is internal-only.
|
|
227
|
+
portability:
|
|
228
|
+
readiness: scripted
|
|
229
|
+
targets:
|
|
230
|
+
- skill-md
|
|
231
|
+
# TEMPLATE NOTE: lifecycle declares maintenance policy for the drift sentinel.
|
|
232
|
+
# `stale_after_days` flags the skill as STALE when more than N days have passed
|
|
233
|
+
# since `drift_check.last_verified`. Integration skills (third-party APIs) want
|
|
234
|
+
# shorter values; pure-concept skills want longer. Omit if staleness is not
|
|
235
|
+
# meaningful for your skill.
|
|
236
|
+
lifecycle:
|
|
237
|
+
stale_after_days: 180
|
|
238
|
+
review_cadence: quarterly
|
|
239
|
+
# TEMPLATE NOTE: runtime_telemetry is optional. It points at a JSONL feed of
|
|
240
|
+
# real-world success/failure receipts so consumers can corroborate or override
|
|
241
|
+
# `eval_state`. Omit the entire block when no feedback pipeline exists — the
|
|
242
|
+
# skill is still graded on authored `eval_state` and `eval_artifacts`.
|
|
243
|
+
# Each run receipt should carry at minimum `{ timestamp, skill, outcome }`.
|
|
244
|
+
# `metrics.sample_size` and `metrics.success_rate` are the aggregate summary;
|
|
245
|
+
# consumers may compute their own from the raw feed.
|
|
246
|
+
runtime_telemetry:
|
|
247
|
+
feedback_source: .skill-graph/telemetry/skill-metadata-template.jsonl
|
|
248
|
+
last_updated: "2026-04-17"
|
|
249
|
+
metrics:
|
|
250
|
+
sample_size: 0
|
|
251
|
+
success_rate: 0
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
# Skill Template — Scaffold
|
|
255
|
+
|
|
256
|
+
> **SCAFFOLD — NOT A PRODUCTION SKILL.** This file is the starting point authors copy when creating a new skill. It lives at `examples/skill-metadata-template.md` deliberately; production skills live at `skills/<name>/SKILL.md`. The authoring flow is: copy → rename → adapt → strip teaching annotations → verify → commit. Until you have completed those steps, the file you are editing is a *scaffold*, not a skill.
|
|
257
|
+
|
|
258
|
+
> **TEMPLATE NOTE — HOW TO READ THIS FILE:** This file is a real, valid, schema-conformant Skill Metadata Protocol skill whose *subject* is skill authoring itself. Read it as a finished specimen of the contract, then adapt it by (1) renaming the identity, (2) rewriting `description`, `## Coverage`, `## Philosophy`, and `## Key Files` for your subject, (3) rewriting `## Verification` to be your skill's self-check, (4) removing any section or field that does not apply to your archetype, and (5) stripping the `> **TEMPLATE NOTE:**` blockquotes and `# TEMPLATE NOTE:` YAML comments — they are authoring scaffolding, never skill content. Never ship placeholder sludge (`your-skill-name`, `path/to/file`, `todo`). If a section does not apply, remove it — do not keep it and fill it with fake content.
|
|
259
|
+
|
|
260
|
+
> **TEMPLATE NOTE — CONDITIONAL FIELDS:** `extends` is valid only when `type: overlay`. `routing_bundles` only applies when routing-group ownership is part of the skill contract. `triggers` and `paths` are shown because this template is both label-routable and file-activated; most skills need only one. `grounding` is REQUIRED for `scope: codebase` skills; remove the block entirely for `scope: portable` or `scope: reference`. `workspace_tags` is optional — omit for ambient / cross-project skills. `lifecycle` is optional — omit when staleness is not meaningful. `runtime_telemetry` is optional — omit when no feedback pipeline exists. Generated manifest health fields belong in `skills.manifest.json`, not in the authored `SKILL.md`.
|
|
261
|
+
|
|
262
|
+
## Coverage
|
|
263
|
+
|
|
264
|
+
- Frontmatter identity: `name`, `description`, `version`, `type`, `category`, `scope`, `owner`, and the governance fields required by every Skill Metadata Protocol skill
|
|
265
|
+
- Semantic layer discipline: how `description:` (routing contract, ≤ 3 sentences) differs from `## Coverage` (scope map, bulleted topic list) and why each must stay in its own layer
|
|
266
|
+
- Teaching-layer delivery: how to use `> **TEMPLATE NOTE:**` blockquotes and `# TEMPLATE NOTE:` YAML comments to teach authors without cargo-culting meta sections into every new skill
|
|
267
|
+
- Archetype-driven body structure: which `## H2` sections each of the four archetypes (`capability`, `workflow`, `router`, `overlay`) must contain
|
|
268
|
+
- Grounding via `grounding`: when a skill should declare truth sources and failure modes, and when it should stay `grounding_mode: universal`
|
|
269
|
+
- drift evidence: when to record `drift_check.truth_source_hashes` and how the drift sentinel consumes them
|
|
270
|
+
- v4 workspace tagging: when to add `workspace_tags`, when to leave a skill ambient, and how workspace semantic-tag mapping composes
|
|
271
|
+
- Adapter workflow: how to strip a template down, how to detect and remove cargo-culted meta, and how to verify a new skill against `schemas/skill.schema.json` before committing
|
|
272
|
+
|
|
273
|
+
## Philosophy
|
|
274
|
+
|
|
275
|
+
A template teaches by example, not by placeholder. A concrete, internally consistent specimen of a finished skill is a more reliable authoring reference than any amount of abstract scaffolding. The teaching layer — meta-commentary about how to read and adapt the template — must live in structurally distinct slots that disappear when the author tightens a new skill, never in the `## H2` section slots that AI agents copy verbatim when adapting the file.
|
|
276
|
+
|
|
277
|
+
## Key Files
|
|
278
|
+
|
|
279
|
+
| File | Purpose |
|
|
280
|
+
|---|---|
|
|
281
|
+
| `docs/skill-metadata-protocol.md` | Authoritative field semantics: required vs optional, conditional requiredness, relationship to the plain `SKILL.md` format, archetype section map |
|
|
282
|
+
| `schemas/skill.schema.json` | Enforceable JSON Schema for the frontmatter protocol |
|
|
283
|
+
| `../skill-audit-loop/SKILL_AUDIT_CHECKLIST.md` | The audit checklist every new skill should pass before commit (lives in the `skill-audit-loop` repo post-2026-05-16 monorepo split) |
|
|
284
|
+
|
|
285
|
+
## Verification
|
|
286
|
+
|
|
287
|
+
Use this checklist as the authoring gate before committing a skill adapted from this template. Every item must pass.
|
|
288
|
+
|
|
289
|
+
- [ ] Every retained field has a real reason to exist in the new skill
|
|
290
|
+
- [ ] Every removed field was removed because of archetype or grounding mismatch, not laziness
|
|
291
|
+
- [ ] Body sections match the skill's declared archetype per `docs/skill-metadata-protocol.md § Archetype section map`
|
|
292
|
+
- [ ] `description:` is ≤ 3 sentences, contains pushy trigger phrases, and names an explicit negative boundary
|
|
293
|
+
- [ ] `## Coverage` is a scope map of distinct topics, not a one-line restate of the description
|
|
294
|
+
- [ ] `drift_check` is an object with `last_verified`; `truth_source_hashes` has been recorded when truth sources exist
|
|
295
|
+
- [ ] `compatibility` is an object (not a free-text string) when present
|
|
296
|
+
- [ ] `eval_artifacts` matches actual artifact presence (if `present`, an eval file exists under `examples/evals/` or alongside the skill); `eval_state` reflects whether a real passing run has been recorded; `routing_eval` reflects whether trigger/routing coverage is explicitly checked
|
|
297
|
+
- [ ] All `relations` entries point to skills that exist in the target repo; `boundary` entries with unclear rationale use the `{skill, reason}` form
|
|
298
|
+
- [ ] `workspace_tags` is present when the skill is project-specific OR absent when the skill is ambient — not left at a stale value
|
|
299
|
+
- [ ] No placeholder sludge (`your-skill-name`, `path/to/file`, `todo`) remains
|
|
300
|
+
- [ ] No `> **TEMPLATE NOTE:**` blockquotes or `# TEMPLATE NOTE:` YAML comments remain in the adapted skill
|
|
301
|
+
- [ ] The adapted skill validates against `schemas/skill.schema.json` as a real skill
|
|
302
|
+
|
|
303
|
+
## Do NOT Use When
|
|
304
|
+
|
|
305
|
+
| Instead of this template | Use | Why |
|
|
306
|
+
|---|---|---|
|
|
307
|
+
| `skill-metadata-template` | the target skill directly | Editing an existing skill is refactor-in-place, not authoring from a template |
|
|
308
|
+
| `skill-metadata-template` | `documentation` | General technical writing is not skill authoring; use `documentation` for docs, guides, and specs |
|
|
309
|
+
| `skill-metadata-template` | `docs/skill-metadata-protocol.md` | When you need the full field reference, read the contract document directly |
|
|
310
|
+
|
|
311
|
+
## References
|
|
312
|
+
|
|
313
|
+
- `docs/skill-metadata-protocol.md § Relationship to the SKILL.md format` - how Skill Metadata Protocol extends the base format
|
|
314
|
+
- `docs/skill-metadata-protocol.md § Example Template Rule` — the no-placeholder-sludge rule this template enforces
|
|
315
|
+
- `docs/skill-metadata-protocol.md § Archetype section map` — required H2 sections per archetype
|
|
316
|
+
- `docs/manifest-field-mapping.md § Migration Note — v2 → v3` — the field-name cleanup the v4 bump introduced
|
|
317
|
+
- `../skill-audit-loop/SKILL_AUDIT_CHECKLIST.md` — the checklist this template's Verification section is derived from (lives in the `skill-audit-loop` repo post-2026-05-16 monorepo split)
|