mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-09-05 18:43:51 +08:00
feat: 迁移统一目录元数据契约 (#102)
## 中文 - 为 System Agent、34 个 Builtin Skill、28 个 Pointer/Collection 条目增加 catalog sidecar - 覆盖 147 个 collection child,并固定可证明的来源;无法证明的内容保持 listing-only/unknown - 增加 strict Schema、validator、collection check 与 CI 完整性门禁 ## English - Add catalog metadata sidecars for the System Agent, 34 built-in Skills, and 28 pointer/collection entries - Cover 147 collection children while keeping unverifiable facts listing-only or unknown - Add strict schemas, validators, deterministic collection checks, and CI completeness gates ## 验证 / Verification - Catalog validator 17/17 - Collection generator 4/4 - 63 sidecars, 147 children, zero errors
This commit is contained in:
954
skills/mattpocock-skills/catalog-metadata.v1.json
Normal file
954
skills/mattpocock-skills/catalog-metadata.v1.json
Normal file
@@ -0,0 +1,954 @@
|
||||
{
|
||||
"$schema": "../../schemas/catalog-metadata.v1.schema.json",
|
||||
"schemaVersion": 1,
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "mattpocock-skills"
|
||||
},
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "Matt Pocock Skills",
|
||||
"summary": "Matt Pocock's collection of small, composable engineering skills for real application development across any model"
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "Matt Pocock Skills",
|
||||
"summary": "Matt Pocock 的真实工程 AI Skill 合集,小巧、易改、可组合,适配任意模型做实际开发而非 vibe coding"
|
||||
}
|
||||
},
|
||||
"category": "development",
|
||||
"tags": [
|
||||
"engineering",
|
||||
"tdd",
|
||||
"mattpocock"
|
||||
]
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
},
|
||||
"timestamps": {
|
||||
"catalogUpdatedAt": {
|
||||
"state": "known",
|
||||
"value": "2026-08-09T08:25:20Z",
|
||||
"precision": "second"
|
||||
},
|
||||
"releasePublishedAt": {
|
||||
"state": "unknown"
|
||||
},
|
||||
"reviewedAt": {
|
||||
"state": "unknown"
|
||||
},
|
||||
"upstreamObservedAt": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
"provenance": {
|
||||
"content": {
|
||||
"kind": "git",
|
||||
"url": "https://github.com/mattpocock/skills.git"
|
||||
}
|
||||
},
|
||||
"governance": {
|
||||
"stewardship": "community",
|
||||
"availability": "listing-only",
|
||||
"license": {
|
||||
"state": "unknown"
|
||||
},
|
||||
"redistribution": "allowed",
|
||||
"upstreamMaintainer": {
|
||||
"name": "Matt Pocock",
|
||||
"url": "https://github.com/mattpocock/skills",
|
||||
"verified": false
|
||||
}
|
||||
},
|
||||
"compatibility": {
|
||||
"platforms": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"kind": "skill",
|
||||
"collection": {
|
||||
"role": "parent",
|
||||
"childCount": 35,
|
||||
"children": [
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "ask-matt",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/ask-matt",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "ask-matt",
|
||||
"summary": "Ask which skill or flow fits your situation."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "ask-matt",
|
||||
"summary": "Ask which skill or flow fits your situation."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "code-review",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/code-review",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "code-review",
|
||||
"summary": "Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding stand…"
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "code-review",
|
||||
"summary": "Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding stand…"
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "codebase-design",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/codebase-design",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "codebase-design",
|
||||
"summary": "Shared vocabulary for designing deep modules."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "codebase-design",
|
||||
"summary": "Shared vocabulary for designing deep modules."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "diagnosing-bugs",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/diagnosing-bugs",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "diagnosing-bugs",
|
||||
"summary": "Diagnosis loop for hard bugs and performance regressions."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "diagnosing-bugs",
|
||||
"summary": "Diagnosis loop for hard bugs and performance regressions."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "domain-modeling",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/domain-modeling",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "domain-modeling",
|
||||
"summary": "Build and sharpen a project's domain model."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "domain-modeling",
|
||||
"summary": "Build and sharpen a project's domain model."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "grill-with-docs",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/grill-with-docs",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "grill-with-docs",
|
||||
"summary": "A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "grill-with-docs",
|
||||
"summary": "A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "implement",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/implement",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "implement",
|
||||
"summary": "Implement a piece of work based on a spec or set of tickets."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "implement",
|
||||
"summary": "Implement a piece of work based on a spec or set of tickets."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "improve-codebase-architecture",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/improve-codebase-architecture",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "improve-codebase-architecture",
|
||||
"summary": "Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "improve-codebase-architecture",
|
||||
"summary": "Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "prototype",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/prototype",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "prototype",
|
||||
"summary": "Build a throwaway prototype to answer a design question."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "prototype",
|
||||
"summary": "Build a throwaway prototype to answer a design question."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "research",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/research",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "research",
|
||||
"summary": "Investigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "research",
|
||||
"summary": "Investigate a question against high-trust primary sources and capture the findings as a Markdown file in the repo."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "resolving-merge-conflicts",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/resolving-merge-conflicts",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "resolving-merge-conflicts",
|
||||
"summary": "Use when you need to resolve an in-progress git merge/rebase conflict."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "resolving-merge-conflicts",
|
||||
"summary": "Use when you need to resolve an in-progress git merge/rebase conflict."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "setup-matt-pocock-skills",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/setup-matt-pocock-skills",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "setup-matt-pocock-skills",
|
||||
"summary": "Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "setup-matt-pocock-skills",
|
||||
"summary": "Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "tdd",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/tdd",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "tdd",
|
||||
"summary": "Test-driven development."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "tdd",
|
||||
"summary": "Test-driven development."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "to-spec",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/to-spec",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "to-spec",
|
||||
"summary": "Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "to-spec",
|
||||
"summary": "Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "to-tickets",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/to-tickets",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "to-tickets",
|
||||
"summary": "Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — ed…"
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "to-tickets",
|
||||
"summary": "Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker — ed…"
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "triage",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/triage",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "triage",
|
||||
"summary": "Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "triage",
|
||||
"summary": "Move issues and external PRs through a state machine of triage roles — categorise, verify, grill if needed, and write agent-ready briefs."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "wayfinder",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/wayfinder",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "wayfinder",
|
||||
"summary": "Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time unt…"
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "wayfinder",
|
||||
"summary": "Plan a huge chunk of work — more than one agent session can hold — as a shared map of decision tickets on your issue tracker, and resolve them one at a time unt…"
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "wizard",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/engineering/wizard",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "wizard",
|
||||
"summary": "Generate an interactive bash wizard that walks a human through steps only they can perform."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "wizard",
|
||||
"summary": "Generate an interactive bash wizard that walks a human through steps only they can perform."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "claude-handoff",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/claude-handoff",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "claude-handoff",
|
||||
"summary": "Hand the current conversation off to a fresh background agent that picks up the work immediately."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "claude-handoff",
|
||||
"summary": "Hand the current conversation off to a fresh background agent that picks up the work immediately."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "loop-me",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/loop-me",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "loop-me",
|
||||
"summary": "Grill me about specs for the workflows I want to build, within this workspace."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "loop-me",
|
||||
"summary": "Grill me about specs for the workflows I want to build, within this workspace."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "setup-ts-deep-modules",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/setup-ts-deep-modules",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "setup-ts-deep-modules",
|
||||
"summary": "Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point fi…"
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "setup-ts-deep-modules",
|
||||
"summary": "Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point fi…"
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "writing-beats",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/writing-beats",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "writing-beats",
|
||||
"summary": "Writing, exploit — assemble raw material into a journey of beats, grounding each term before a beat leans on it."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "writing-beats",
|
||||
"summary": "Writing, exploit — assemble raw material into a journey of beats, grounding each term before a beat leans on it."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "writing-fragments",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/writing-fragments",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "writing-fragments",
|
||||
"summary": "Writing, explore — mine raw fragments, no structure yet."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "writing-fragments",
|
||||
"summary": "Writing, explore — mine raw fragments, no structure yet."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "writing-shape",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/in-progress/writing-shape",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "writing-shape",
|
||||
"summary": "Writing, exploit — shape raw material into an article, paragraph by paragraph."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "writing-shape",
|
||||
"summary": "Writing, exploit — shape raw material into an article, paragraph by paragraph."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "git-guardrails-claude-code",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/misc/git-guardrails-claude-code",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "git-guardrails-claude-code",
|
||||
"summary": "Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "git-guardrails-claude-code",
|
||||
"summary": "Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "migrate-to-shoehorn",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/misc/migrate-to-shoehorn",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "migrate-to-shoehorn",
|
||||
"summary": "Migrate test files from `as` type assertions to @total-typescript/shoehorn."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "migrate-to-shoehorn",
|
||||
"summary": "Migrate test files from `as` type assertions to @total-typescript/shoehorn."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "scaffold-exercises",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/misc/scaffold-exercises",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "scaffold-exercises",
|
||||
"summary": "Create exercise directory structures with sections, problems, solutions, and explainers that pass linting."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "scaffold-exercises",
|
||||
"summary": "Create exercise directory structures with sections, problems, solutions, and explainers that pass linting."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "setup-pre-commit",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/misc/setup-pre-commit",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "setup-pre-commit",
|
||||
"summary": "Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "setup-pre-commit",
|
||||
"summary": "Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "grill-me",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/grill-me",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "grill-me",
|
||||
"summary": "A relentless interview to sharpen a plan or design."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "grill-me",
|
||||
"summary": "A relentless interview to sharpen a plan or design."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "grilling",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/grilling",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "grilling",
|
||||
"summary": "Grill the user relentlessly about a plan, decision, or idea."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "grilling",
|
||||
"summary": "Grill the user relentlessly about a plan, decision, or idea."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "handoff",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/handoff",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "handoff",
|
||||
"summary": "Compact the current conversation into a handoff document for another agent to pick up."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "handoff",
|
||||
"summary": "Compact the current conversation into a handoff document for another agent to pick up."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "teach",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/teach",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "teach",
|
||||
"summary": "Teach the user a new skill or concept, within this workspace."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "teach",
|
||||
"summary": "Teach the user a new skill or concept, within this workspace."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "to-questionnaire",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/to-questionnaire",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "to-questionnaire",
|
||||
"summary": "Turn a decision you can't fully answer into a questionnaire for someone else to fill in."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "to-questionnaire",
|
||||
"summary": "Turn a decision you can't fully answer into a questionnaire for someone else to fill in."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "wait-what",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/wait-what",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "wait-what",
|
||||
"summary": "Stop."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "wait-what",
|
||||
"summary": "Stop."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity": {
|
||||
"kind": "skill",
|
||||
"id": "writing-for-agents",
|
||||
"parentId": "mattpocock-skills"
|
||||
},
|
||||
"path": "skills/productivity/writing-for-agents",
|
||||
"presentation": {
|
||||
"defaultLocale": "en-US",
|
||||
"i18n": {
|
||||
"en-US": {
|
||||
"name": "writing-for-agents",
|
||||
"summary": "Writing documents for agents."
|
||||
},
|
||||
"zh-CN": {
|
||||
"name": "writing-for-agents",
|
||||
"summary": "Writing documents for agents."
|
||||
}
|
||||
},
|
||||
"tags": []
|
||||
},
|
||||
"release": {
|
||||
"state": "unknown"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user