Not in the top 1,000 by GitHub stars
devcxl/mattpocock-skills-zh
Matt Pocock 技能集的中文翻译版 — 地道中文,原汁原味的技术术语。基于 mattpocock/skills 复刻。每日中午12点钟同步
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/engineering/ask-matt/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/code-review/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/codebase-design/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/diagnosing-bugs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/domain-modeling/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/grill-with-docs/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/implement/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/implement-spec/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/improve-codebase-architecture/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/pr/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/prototype/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/research/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/retro/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/setup-matt-pocock-skills/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/tdd/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/to-spec/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/to-tickets/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/triage/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/wayfinder/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/engineering/wizard/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/chief-of-staff/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/claude-handoff/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/loop-me/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/setup-ts-deep-modules/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/software-factory/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 30fc5dbf9380
No earlier version was observed for comparison.
skills/in-progress/writing-beats/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/writing-fragments/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/in-progress/writing-shape/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/misc/git-guardrails-claude-code/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/misc/migrate-to-shoehorn/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/misc/scaffold-exercises/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/misc/setup-pre-commit/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/grill-me/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/grilling/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/handoff/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/teach/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/to-questionnaire/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/wait-what/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
skills/productivity/writing-for-agents/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
c76290b4cdfc → 30fc5dbf9380
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → c76290b4cdfc
No earlier version was observed for comparison.
Verified commit 30fc5dbf9380144598f3593e6c1e22c713a52c2a
git clone --filter=blob:none --no-checkout https://github.com/devcxl/mattpocock-skills-zh.git .hotskills/devcxl-mattpocock-skills-zh && git -C .hotskills/devcxl-mattpocock-skills-zh checkout --detach 30fc5dbf9380144598f3593e6c1e22c713a52c2a
# Copy each selected skill directory from .hotskills/devcxl-mattpocock-skills-zh into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/devcxl/mattpocock-skills-zh.git .hotskills/devcxl-mattpocock-skills-zh && git -C .hotskills/devcxl-mattpocock-skills-zh checkout --detach 30fc5dbf9380144598f3593e6c1e22c713a52c2a
# Copy each selected skill directory from .hotskills/devcxl-mattpocock-skills-zh into .agents/skills/<skill-name>/Heat
5.0- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- ask-matt
skills/engineering/ask-matt - code-review
skills/engineering/code-review - codebase-design
skills/engineering/codebase-design - diagnosing-bugs
skills/engineering/diagnosing-bugs - domain-modeling
skills/engineering/domain-modeling - grill-with-docs
skills/engineering/grill-with-docs - implement
skills/engineering/implement - implement-spec
skills/engineering/implement-spec - improve-codebase-architecture
skills/engineering/improve-codebase-architecture - pr
skills/engineering/pr - prototype
skills/engineering/prototype - research
skills/engineering/research - retro
skills/engineering/retro - setup-matt-pocock-skills
skills/engineering/setup-matt-pocock-skills - tdd
skills/engineering/tdd - to-spec
skills/engineering/to-spec - to-tickets
skills/engineering/to-tickets - triage
skills/engineering/triage - wayfinder
skills/engineering/wayfinder - wizard
skills/engineering/wizard - chief-of-staff
skills/in-progress/chief-of-staff - claude-handoff
skills/in-progress/claude-handoff - loop-me
skills/in-progress/loop-me - setup-ts-deep-modules
skills/in-progress/setup-ts-deep-modules - software-factory
skills/in-progress/software-factory - writing-beats
skills/in-progress/writing-beats - writing-fragments
skills/in-progress/writing-fragments - writing-shape
skills/in-progress/writing-shape - git-guardrails-claude-code
skills/misc/git-guardrails-claude-code - migrate-to-shoehorn
skills/misc/migrate-to-shoehorn - scaffold-exercises
skills/misc/scaffold-exercises - setup-pre-commit
skills/misc/setup-pre-commit - grill-me
skills/productivity/grill-me - grilling
skills/productivity/grilling - handoff
skills/productivity/handoff - teach
skills/productivity/teach - to-questionnaire
skills/productivity/to-questionnaire - wait-what
skills/productivity/wait-what - writing-for-agents
skills/productivity/writing-for-agents
How it works
ask-matt
When your agent uses it
询问哪个技能或流程适合你的情况。本仓库内技能的路由器。
What it loads into context
Frontmatter
36 tokensAlways available to the agent
SKILL.md
3,459 tokensWhen the skill is activated
Reference documents
51,297 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 主干流程:想法 → 交付
- 入口匝道
- 代码库健康
- 底层词汇
- 阶段边界
- 独立技能
- 前置条件
Scripts executed separately
../diagnosing-bugs/scripts/hitl-loop.template.sh../wizard/template.sh
Files
../../../.claude-plugin/marketplace.jsonasset614 bytes../../../.claude-plugin/plugin.jsonasset1,690 bytesPHASE-BOUNDARIES.mddoc3,984 bytesSKILL.mdcore12,188 bytesSKILL.mdcore12,188 bytesagents/openai.yamlasset141 bytes../code-review/SKILL.mddoc7,142 bytes../code-review/agents/openai.yamlasset110 bytes../codebase-design/DEEPENING.mddoc2,388 bytes../codebase-design/DESIGN-IT-TWICE.mddoc2,615 bytes../codebase-design/SKILL.mddoc6,596 bytes../codebase-design/agents/openai.yamlasset108 bytes../diagnosing-bugs/SKILL.mddoc8,811 bytes../diagnosing-bugs/agents/openai.yamlasset102 bytes../diagnosing-bugs/scripts/hitl-loop.template.shruns1,352 bytes../domain-modeling/ADR-FORMAT.mddoc2,723 bytes../domain-modeling/GLOSSARY-FORMAT.mddoc2,291 bytes../domain-modeling/SKILL.mddoc3,150 bytes../domain-modeling/agents/openai.yamlasset105 bytes../grill-with-docs/SKILL.mddoc256 bytes../grill-with-docs/agents/openai.yamlasset151 bytes../implement-spec/SKILL.mddoc2,773 bytes../implement-spec/agents/openai.yamlasset167 bytes../implement/SKILL.mddoc617 bytes../implement/agents/openai.yamlasset145 bytes../improve-codebase-architecture/HTML-REPORT.mddoc6,779 bytes../improve-codebase-architecture/SKILL.mddoc6,066 bytes../improve-codebase-architecture/agents/openai.yamlasset165 bytes../pr/CREDITS.mddoc535 bytes../pr/SKILL.mddoc4,059 bytes../pr/agents/openai.yamlasset93 bytes../prototype/LOGIC.mddoc5,774 bytes../prototype/SKILL.mddoc2,809 bytes../prototype/UI.mddoc6,686 bytes../prototype/agents/openai.yamlasset93 bytes../research/SKILL.mddoc783 bytes../research/agents/openai.yamlasset98 bytes../retro/SKILL.mddoc4,105 bytes../retro/agents/openai.yamlasset126 bytes../setup-matt-pocock-skills/SKILL.mddoc7,449 bytes../setup-matt-pocock-skills/agents/openai.yamlasset148 bytes../setup-matt-pocock-skills/domain.mddoc2,065 bytes../setup-matt-pocock-skills/issue-tracker-github.mddoc5,309 bytes../setup-matt-pocock-skills/issue-tracker-gitlab.mddoc4,005 bytes../setup-matt-pocock-skills/issue-tracker-local.mddoc1,772 bytes../setup-matt-pocock-skills/triage-labels.mddoc973 bytes../tdd/SKILL.mddoc3,561 bytes../tdd/agents/openai.yamlasset114 bytes../tdd/mocking.mddoc1,526 bytes../tdd/tests.mddoc2,350 bytes../to-spec/SKILL.mddoc2,616 bytes../to-spec/agents/openai.yamlasset134 bytes../to-tickets/SKILL.mddoc5,648 bytes../to-tickets/agents/openai.yamlasset146 bytes../triage/AGENT-BRIEF.mddoc7,499 bytes../triage/OUT-OF-SCOPE.mddoc4,386 bytes../triage/SKILL.mddoc6,401 bytes../triage/agents/openai.yamlasset136 bytes../wayfinder/SKILL.mddoc12,679 bytes../wayfinder/agents/openai.yamlasset154 bytes../wizard/SKILL.mddoc4,196 bytes../wizard/agents/openai.yamlasset87 bytes../wizard/template.shruns9,498 bytes../../productivity/grill-me/SKILL.mddoc175 bytes../../productivity/grill-me/agents/openai.yamlasset129 bytes../../productivity/grilling/SKILL.mddoc1,956 bytes../../productivity/grilling/agents/openai.yamlasset92 bytes../../productivity/handoff/SKILL.mddoc866 bytes../../productivity/handoff/agents/openai.yamlasset149 bytes../../productivity/teach/GLOSSARY-FORMAT.mddoc2,035 bytes../../productivity/teach/LEARNING-RECORD-FORMAT.mddoc2,607 bytes../../productivity/teach/MISSION-FORMAT.mddoc1,487 bytes../../productivity/teach/RESOURCES-FORMAT.mddoc1,867 bytes../../productivity/teach/SKILL.mddoc8,623 bytes../../productivity/teach/agents/openai.yamlasset138 bytes../../productivity/to-questionnaire/SKILL.mddoc2,869 bytes../../productivity/to-questionnaire/agents/openai.yamlasset161 bytes../../productivity/wait-what/SKILL.mddoc372 bytes../../productivity/wait-what/agents/openai.yamlasset160 bytes../../productivity/writing-for-agents/SKILL-MECHANICS.mddoc3,079 bytes../../productivity/writing-for-agents/SKILL.mddoc12,001 bytes../../productivity/writing-for-agents/agents/openai.yamlasset105 bytes
Read SKILL.md
# Ask Matt
你不必记住每一个技能,所以来问。
在说明某个技能的作用或建议跳过某一步之前,先阅读该技能的 `SKILL.md`:这里的摘要仅用于定位。
**流程(flow)**是穿过技能的一条路径。大多数路径沿一条**主干流程**行进,两条**入口匝道**汇入其中。其余的都是独立技能,或者是在底层运行的词汇层。
## 主干流程:想法 → 交付
大多数工作走的路线。你有一个想法,想把它建出来。
1. **`/grill-with-docs`**:通过盘问打磨想法。只要你在**工作目录**里就从这里开始:它是有状态的,会把学到的东西保存在 `GLOSSARY.md` 和 ADR 中。(没有工作目录?用 `/grill-me`,见"独立技能"。两者跑的是同一个 `/grilling` 原语;`grill-with-docs` 是会留下书面痕迹的那个,所以只要有仓库可以留痕迹,它就是更好的选择。)
2. **分支:所有问题都能在对话中解决吗?** 如果某个问题需要一个可运行的答案(状态、业务逻辑、必须亲眼看到的 UI),就绕道原型,由 **`/handoff`** 双向桥接(原型住在自己的目录里,这正是 `/handoff` 的用武之地,见"阶段边界"):View the complete source on GitHubcode-review
When your agent uses it
从固定点(commit、branch、tag 或 merge-base)开始,沿两条轴线审查变更——规范(代码是否遵循仓库文档化的编码规范?)和规格(代码是否与原始 issue/PRD 的要求一致?)。两条审查线在并行子 agent 中运行,并以并排方式报告结果。当用户想审查一个分支、PR、进行中的变更,或要求"从 X 开始审查"时使用。
What it loads into context
Frontmatter
113 tokensAlways available to the agent
SKILL.md
1,917 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
- 为什么要分两条轴线
Files
SKILL.mdcore7,142 bytesagents/openai.yamlasset110 bytes
Read SKILL.md
# 审查
对 `HEAD` 与用户指定的固定点之间的 diff 进行双轴审查:
- **规范**——代码是否符合本仓库文档化的编码规范?
- **规格**——代码是否忠实地实现了原始 issue / PRD / 规格?
两条轴线作为**并行子 agent** 运行,互不污染彼此的上下文,然后由本技能汇总双方的发现。启动每个子 agent 时,都使用全新的上下文窗口。
Issue 跟踪器应该已经提供给你了。如果没有,请告诉用户运行 `/setup-matt-pocock-skills`。
## 流程
### 1. 确定固定点View the complete source on GitHubcodebase-design
When your agent uses it
设计深度模块的共享词汇。当用户想要设计或改进模块的接口、寻找深化机会、决定 seam 的位置、让代码更可测试或更易被 AI 导航,或者其他 skill 需要深度模块词汇时使用。
What it loads into context
Frontmatter
64 tokensAlways available to the agent
SKILL.md
1,608 tokensWhen the skill is activated
Reference documents
1,347 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 词汇表
- 深 vs 浅
- 原则
- 设计可测试性
- 关系
- 被否定的框架
- 深入阅读
Files
DEEPENING.mddoc2,388 bytesDESIGN-IT-TWICE.mddoc2,615 bytesSKILL.mdcore6,596 bytesagents/openai.yamlasset108 bytes
Read SKILL.md
# Codebase Design
设计 **深度模块(deep modules)**:一个小接口背后承载大量行为,放置在干净的 seam 处,通过该接口可测试。在设计和重构代码的任何地方,都使用这套语言和原则。目标是:对调用者而言是杠杆效应(leverage),对维护者而言是局部性(locality),对所有人而言是可测试性。
## 词汇表
精确使用以下术语 —— 不要替换为"组件"、"服务"、"API"或"边界"。使用一致的语言正是关键所在。
**Module(模块)** —— 任何具有接口和实现的东西。特意与规模无关:一个函数、类、包或跨层级切片。_避免使用_:单元、组件、服务。
**Interface(接口)** —— 调用者正确使用该模块所需知道的一切:类型签名,还包括不变性约束、顺序约束、错误模式、所需配置和性能特征。_避免使用_:API、签名(过于狭隘 —— 它们仅指类型层面的表面)。
**Implementation(实现)** —— 模块内部的内容,它的代码主体。与 **Adapter(适配器)** 不同:某个东西可以是一个小型适配器配大型实现(如 Postgres 仓库),也可以是一个大型适配器配小型实现(如内存中的假实现)。当讨论重点是 seam 时使用"adapter";否则使用"implementation"。
View the complete source on GitHubdiagnosing-bugs
When your agent uses it
针对棘手 bug 和性能回归的诊断循环。当用户说"诊断"/"调试这个",或报告某处崩溃/报错/不正常/缓慢时使用。
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
2,467 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 脱敏
- Phase 1:构建反馈循环
- Phase 2:复现 + 最小化
- Phase 3:列假设
- Phase 4:插桩
- Phase 5:修复 + 回归测试
- Phase 6:清理
Scripts executed separately
scripts/hitl-loop.template.sh
Files
SKILL.mdcore8,811 bytesSKILL.mdcore8,811 bytesagents/openai.yamlasset102 bytesscripts/hitl-loop.template.shruns1,352 bytes
Read SKILL.md
# 诊断 Bug
针对棘手 bug 的一条纪律:只有显式说明正当理由时才能跳过某个阶段。
在探索代码库时,读取 `GLOSSARY.md`(如果存在)以获得相关模块的清晰心智模型,并查看你所触及区域的 ADR。
## 脱敏
本技能会让你展示命令、输出和捕获的产物。**先脱敏所有秘密**:用 `<REDACTED>` 替换。针对环境变量构建循环,这样凭证留在环境中而不是出现在你展示的内容里。捕获的产物可能携带认证头:只引用携带信号的若干行。
如果脱敏后的输出不足以诊断 bug,要明确说明,并请用户提供更多材料。
## Phase 1:构建反馈循环
View the complete source on GitHubdomain-modeling
When your agent uses it
构建和完善项目的领域模型。当讨论代码库术语、编写或编辑 GLOSSARY.md,或记录或编辑 ADR 时使用。
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
842 tokensWhen the skill is activated
Reference documents
1,345 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 文件结构
- 在会话期间
Files
ADR-FORMAT.mddoc2,723 bytesGLOSSARY-FORMAT.mddoc2,291 bytesSKILL.mdcore3,150 bytesagents/openai.yamlasset105 bytes
Read SKILL.md
# Domain Modeling(领域建模)
在设计过程中主动构建和完善项目的领域模型。这是一门**主动**的学科——质疑术语、创造边界场景、在术语和决策形成的瞬间将其记录在案。(仅仅*阅读* `GLOSSARY.md` 来获取词汇不是此 skill 的用途——那是任何 skill 都能做的单行习惯。此 skill 用于你在*修改*模型,而非仅仅消费它。)
## 文件结构
大多数 repo 只有一个 context:
```
/
├── GLOSSARY.md
├── docs/
│ └── adr/
│ ├── 0001-event-sourced-orders.mdView the complete source on GitHubgrill-with-docs
When your agent uses it
一场用于打磨计划或设计的严格盘问,并在过程中生成文档(ADR 和术语表)。
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
65 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore256 bytesagents/openai.yamlasset151 bytes
implement
When your agent uses it
基于 spec 或一组 tickets 实现工作内容。
What it loads into context
Frontmatter
27 tokensAlways available to the agent
SKILL.md
150 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore617 bytesagents/openai.yamlasset145 bytes
Read SKILL.md
根据用户在 spec 或 tickets 中描述的内容实现工作。
如果用户传入 ticket 引用,先从 issue 跟踪器获取该 ticket,并在开始前说明标题。引用含糊时先询问。
尽可能在预先约定的 seam 处调用 Skill 工具并传入 "tdd"。
定期运行类型检查,定期运行单个测试文件,最后运行一次完整测试套件。
完成后,调用 Skill 工具并传入 "code-review" 来审查工作。
将你的工作提交到当前分支。View the complete source on GitHubimplement-spec
When your agent uses it
在代码中实现 /to-spec 与 /to-tickets 的产物。
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
699 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 步骤
Files
SKILL.mdcore2,773 bytesagents/openai.yamlasset167 bytes
Read SKILL.md
你已被提供一份 spec。该 spec 应关联若干 ticket,用以描述如何实现该 spec。
应该已经为你提供了 issue 跟踪器。如果没有,请告诉用户运行 `/setup-matt-pocock-skills`。
目标是整份 spec 在一条**集成分支**上实现完成,每张 ticket 都按 issue 跟踪器关闭工作的方式解决。
这些 ticket 不是一份步骤清单。它们是一张**任务图**,彼此之间存在阻塞关系。这意味着始终存在一个**前沿(frontier)**:可立即被领走的 ticket。
每个子智能体都应从一个全新的上下文窗口开始。
与子智能体之间的通信应保持精简。通信主要通过**上下文指针**:指向 spec、ticket、研究笔记与历史 commit。无需重复指针已经能触达的信息。
**实施者子智能体**应尽可能在后台运行,以获得最大并发。
View the complete source on GitHubimprove-codebase-architecture
When your agent uses it
扫描代码库寻找深化机会,以可视化的 HTML 报告呈现,然后对你选中的方案进行盘问。
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
1,608 tokensWhen the skill is activated
Reference documents
1,867 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
Files
HTML-REPORT.mddoc6,779 bytesSKILL.mdcore6,066 bytesagents/openai.yamlasset165 bytes
Read SKILL.md
# 改进代码库架构
揭示架构摩擦点并提出**深化机会**——将浅层 module 转变为深层 module 的重构。目标是可测试性和 AI 可导航性。
本命令**参考**项目的领域模型,并基于共享的设计词汇:
- 调用 Skill 工具并传入 "codebase-design" 获取架构词汇(**module**、**interface**、**depth**、**seam**、**adapter**、**leverage**、**locality**)及其原则(deletion test、"interface 就是 test surface"、"一个 adapter = 假设性 seam,两个 = 真实的")。在每个建议中严格使用这些术语——不要偏离到 "component"、"service"、"API" 或 "boundary"。
- `GLOSSARY.md` 中的领域语言为好的 seam 提供了命名;`docs/adr/` 中的 ADR 记录了本命令不应重新讨论的决策。
## 流程
### 1. 探索
**先确定范围再扫描——YAGNI。** 加深一个模块的回报在于使未来对该模块的修改更容易,因此对最近变更的代码区域给予额外权重。在查看之前先决定*看哪里*:View the complete source on GitHubpr
When your agent uses it
在撰写 PR body 时使用。
What it loads into context
Frontmatter
68 tokensAlways available to the agent
SKILL.md
1,096 tokensWhen the skill is activated
Reference documents
155 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 各章节
Files
CREDITS.mddoc535 bytesSKILL.mdcore4,059 bytesagents/openai.yamlasset93 bytes
Read SKILL.md
写 PR body 时用这个模板:
```markdown
## Summary(摘要)
<图表、diff 草图,或树>
## Evidence(证据)
- **Before:** <截图 / 输出 / 失败中的测试运行>
**After:** <截图 / 输出 / 通过了的测试运行>
## Merge Danger(合并风险)
View the complete source on GitHubprototype
When your agent uses it
构建一个可抛弃的原型来回答设计问题。当用户想验证状态模型或逻辑是否合理,或探索 UI 应该长什么样时使用。
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
756 tokensWhen the skill is activated
Reference documents
3,317 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 选择分支
- 两者都适用的规则
Files
LOGIC.mddoc5,774 bytesSKILL.mdcore2,809 bytesUI.mddoc6,686 bytesagents/openai.yamlasset93 bytes
Read SKILL.md
# 原型(Prototype)
原型是**回答某个问题的一次性代码**。问题决定了它的形态。
## 选择分支
判断要回答的是哪个问题——从用户的提示、周围的代码判断,或者如果用户在场就直接问:
- **"这套逻辑 / 状态模型感觉对吗?"** → [LOGIC.md](LOGIC.md)。构建一个可分享的 HTML 文件——自由试玩按钮加上带标签页的引导式演练——把状态机推过那些在纸面上难以推理的用例,而且非开发者也能上手操作。
- **"它应该长什么样?"** → [UI.md](UI.md)。在单一路由上生成几个截然不同的 UI 变体,通过 URL 查询参数和一个底部悬浮栏切换。
两个分支产出截然不同的产物——选错了分支,整个原型就白做了。如果问题确实模棱两可、用户又联系不上,就默认选择更贴合周围代码的分支(后端模块 → 逻辑;页面或组件 → UI),并在原型顶部注明这个假设。
## 两者都适用的规则View the complete source on GitHubresearch
When your agent uses it
对照高可信度一手来源调查问题,并将发现以 Markdown 文件落库。当用户希望研究某个主题、收集文档或 API 事实、或把阅读跑腿交给后台 agent 时使用。
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
193 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore783 bytesagents/openai.yamlasset98 bytes
Read SKILL.md
启动一个**后台 agent** 来做研究,这样它阅读时你可以继续干活。在启动它时使用全新的上下文窗口。
它的任务:
1. 对照**一手来源**(官方文档、源码、规范、第一方 API)调查问题,而不是它们的二手转述。把每一条声明追溯回拥有它的那份来源。
2. 把发现写入单个 Markdown 文件,每条声明都标注来源。
3. 文件保存到仓库中已有的同类笔记位置——遵循既有约定;若没有,放到一个合理位置并说明在哪里。View the complete source on GitHubretro
When your agent uses it
对一次编码会话做回顾。
What it loads into context
Frontmatter
24 tokensAlways available to the agent
SKILL.md
1,057 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 步骤
- 参考
Files
SKILL.mdcore4,105 bytesagents/openai.yamlasset126 bytes
Read SKILL.md
用户请求了**回顾**。你正在为编码 agent 的**环境**提出改进建议,以提升后续运行的体验。
## 步骤
1. 调用 Skill 工具并传入 `writing-for-agents`,获取写作风格指南。
2. 读取用户指定的会话的主源资料。这可能意味着在本机上的会话日志中检索。如果用户没有指定会话,则默认为当前这个。
3. 在以下类别中寻找可改进的候选:
- **导航**:agent 找到正确文件的难易程度如何?文件之间是否存在隐藏依赖?一个**导航指针**会让事情更简单吗?当会话花很长时间才找到某条信息时使用。
- **自动化检查**:是否存在能捕捉 agent 所犯错误的自动化检查?linting、类型检查、测试、文件系统 linter?先读仓库自己的检查命令(它的 `package.json`/构建工具的 `lint`/`check` 脚本、它的 CI workflow),这样发现就落在"已经存在、但没接线或悄悄坏掉"的检查上,而不是重新发明一个。没有任何**护栏**(没有 pre-commit hook,也没有跑 lint/typecheck/test 的 CI job)的仓库本身就是一条发现:未 lint 的仓库是一个长期错失的机会,而不是中性的默认状态。当 agent 犯了一个本可被自动化检查捕获的错误,或仓库完全没有护栏时使用。
- **编码规范**:是否应给**评审 agent** 一条新规则去执行?是否应删除或澄清已有规则?先给违规分类:**机械性**违规(固定的语法模式、被禁用的 API、某种 import 形态、文件位置规则)一律走确定性检查:在仓库自己的 linter 里加自定义规则、加一个新的 pre-commit hook、或加一个新的 CI job,哪个在仓库的语言和现有护栏下最便宜就用哪个。默认优先构建检查,而不是写规则。把 `CODING_STANDARDS.md` 留给真正的**判断题**(跨文件一致性、"与周围风格一致"、任何护栏永远无法替代的东西)。当评审 agent 没抓住错误时使用。
- **全局 AGENTS.md**:是否有些引导指令应当改为编码规范(或自动化检查)?当 AGENTS.md 文件特别庞大时:无论是在仓库还是用户的全局作用域:使用。View the complete source on GitHubsetup-matt-pocock-skills
When your agent uses it
为本仓库配置工程技能——设置其 issue tracker、分诊标签词汇表和领域文档布局。首次使用其他工程技能前运行一次。
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
2,065 tokensWhen the skill is activated
Reference documents
4,010 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
Files
SKILL.mdcore7,449 bytesagents/openai.yamlasset148 bytesdomain.mddoc2,065 bytesissue-tracker-github.mddoc5,309 bytesissue-tracker-gitlab.mddoc4,005 bytesissue-tracker-local.mddoc1,772 bytestriage-labels.mddoc973 bytes
Read SKILL.md
# 设置 Matt Pocock 技能
搭建工程技能所依赖的逐仓库配置:
- **Issue 跟踪器** — issue 放在哪里(默认 GitHub;本地 markdown 也开箱即用)
- **分类标签** — 五个规范分类角色所用的标签字符串
- **领域文档** — `GLOSSARY.md` 和 ADR 放在哪里,以及读取它们的消费规则
这是一个提示驱动的技能,不是确定性的脚本。探索、呈现你的发现、与用户确认,然后写入。
## 流程
### 1. 探索
View the complete source on GitHubtdd
When your agent uses it
测试驱动开发。当用户想以测试先行构建功能或修复 bug、提到 "red-green-refactor",或想要集成测试时使用。
What it loads into context
Frontmatter
45 tokensAlways available to the agent
SKILL.md
923 tokensWhen the skill is activated
Reference documents
1,002 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 好测试是什么
- 接缝——测试放在哪里
- 反模式
- 循环的规则
Files
SKILL.mdcore3,561 bytesagents/openai.yamlasset114 bytesmocking.mddoc1,526 bytestests.mddoc2,350 bytes
Read SKILL.md
# 测试驱动开发(Test-Driven Development)
TDD 是红 → 绿的循环。本技能是让这个循环产出值得保留的测试的参考:好测试是什么、测试放在哪里、反模式有哪些、循环的规则是什么。每一节在每一个循环中都适用——在循环之前和之中查阅它们,而不是之后。
探索代码库时,读 `GLOSSARY.md`(如果存在),让测试名称和接口词汇与项目的领域语言一致,并尊重你正在触碰的区域的 ADR。
## 好测试是什么
测试通过公共接口验证行为,而不是实现细节。代码可以彻底改变;测试不应该。好测试读起来像一份规格——"用户可以用有效购物车结账"精确地告诉你存在什么能力——而且因为它不关心内部结构,能在重构中存活。
示例见 [tests.md](tests.md),mocking 指南见 [mocking.md](mocking.md)。
## 接缝——测试放在哪里
View the complete source on GitHubto-spec
When your agent uses it
将当前对话转化为 spec 并发布到项目的 issue tracker——不访谈,只综合你们已经讨论过的内容。
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
691 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
- 问题陈述
- 解决方案
- 用户故事
- 实现决策
- 测试决策
- 范围外
- 补充说明
Files
SKILL.mdcore2,616 bytesagents/openai.yamlasset134 bytes
Read SKILL.md
本技能获取当前的对话上下文和对代码库的理解,产出一份 spec。不要盘问用户——只综合你已经知道的内容。
issue 跟踪器和分类标签词汇应该已经提供给你了——如果没有,告诉用户运行 `/setup-matt-pocock-skills`。
## 流程
1. 如果还没探索过,先探索仓库,了解代码库的当前状态。整个 spec 都使用项目的领域词汇表术语,并尊重你正在触碰的区域的任何 ADR。
2. 勾勒出你将测试该功能的接缝。已有接缝应优先于新接缝。用尽可能高的接缝。如果需要新接缝,在你能达到的最高点提出。代码库中的接缝越少越好——理想数量是一个。
与用户确认这些接缝符合他们的预期。
3. 用下面的模板写 spec,然后发布到项目的 issue 跟踪器。打上 `ready-for-agent` 分类标签——不需要再做分类。
View the complete source on GitHubto-tickets
When your agent uses it
将计划、规范或当前对话拆分为一组 tracer-bullet ticket,每个 ticket 声明其阻塞边(blocking edges),发布到已配置的跟踪器——本地文件中每个 ticket 一个文件以文本表示边,真实跟踪器上以原生阻塞链接表示。
What it loads into context
Frontmatter
82 tokensAlways available to the agent
SKILL.md
1,489 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
- Parent
- What to build
- Acceptance criteria
- Blocked by
Files
SKILL.mdcore5,648 bytesagents/openai.yamlasset146 bytes
Read SKILL.md
# 拆分为 Ticket
将计划、规范或对话拆分为一组 **ticket**——tracer-bullet 垂直切片,每个都声明阻塞它的其他 ticket。
Issue 跟踪器和分类标签词汇表应已提供给你——如果没有,请告诉用户运行 `/setup-matt-pocock-skills`。
## 流程
### 1. 收集上下文
从对话上下文中已有的内容开始。如果用户传入引用(规范路径、Issue 编号或 URL)作为参数,获取它并读取其完整正文和评论。
### 2. 探索代码库(可选)
View the complete source on GitHubtriage
When your agent uses it
将 issue 和外部 PR 推过一组分诊角色的状态机——分类、验证、必要时盘问,并写出 agent 就绪的任务简报。
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
1,740 tokensWhen the skill is activated
Reference documents
3,269 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 参考文档
- 角色
- 调用
- 展示需要关注的内容
- 分类某个具体的 issue 或 PR
- 快速状态覆盖
- Needs-info 模板
- 恢复之前的会话
Files
AGENT-BRIEF.mddoc7,499 bytesOUT-OF-SCOPE.mddoc4,386 bytesSKILL.mdcore6,401 bytesagents/openai.yamlasset136 bytes
Read SKILL.md
# 分类(Triage)
让项目问题跟踪器上的 issue 走一遍由分类角色组成的小型状态机。
如果本仓库把外部拉取请求(PR)也当作请求入口(见 issue-tracker 配置),分类也覆盖它们:**PR 就是带着代码的 issue**——同样的角色、同样的状态、同样的状态机,只有少数几处下面标注了"仅限 PR"的差异。根据跟踪器配置,把裸的 `#42` 解析为 issue 或 PR。
分类期间发布到问题跟踪器的每条评论或 issue **必须**以这段免责声明开头:
```
> *This was generated by AI during triage.*
```
## 参考文档
View the complete source on GitHubwayfinder
When your agent uses it
规划一大块工作——超过一次 agent 会话能容纳的体量——在你的 Issue 跟踪器上以共享的决策 ticket 地图形式呈现,逐个解决,直到通往目的地的道路变得清晰。
What it loads into context
Frontmatter
69 tokensAlways available to the agent
SKILL.md
3,314 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 规划,而非动手
- 用名称来引用
- 地图
- Ticket 类型
- 战争迷雾
- 范围外
- 调用方式
Files
SKILL.mdcore12,679 bytesagents/openai.yamlasset154 bytes
Read SKILL.md
一个模糊的想法来了——大到一个 agent 会话装不下,而且笼罩在迷雾之中:从当前位置到**目的地**的路线还不 visible。Wayfinding 就是寻找那条路线,而不是冲向目的地。本技能将其绘制为 Issue 跟踪器上的**共享地图**,然后逐个处理其**决策 ticket**——问题本身,其答案是一个决策,而非构建中的可交付物切片——直到路线清晰。
每个项目的目标各不相同,命名目标是绘图的第一个行为——它塑造了每一个 ticket。它可能是一份要交付并迭代的规格说明、一个在规划开始前要锁定的决策、或者一个原地进行的变更(如数据结构迁移)。地图是领域无关的——工程工作、课程内容,无论什么形态都适用。
## 规划,而非动手
Wayfinder 默认是**规划**工具:每个 ticket 解决一个决策,地图在路线清晰时完成——不再有任何需要决定的事情,就可以交给别人去动手了。想要直接动手做的冲动,通常是你已经抵达地图边缘的信号,是时候交接了。项目可以在其**笔记**中覆盖这一设定——将执行任务也纳入地图——但默认情况下,产出的是决策,而非可交付物。
## 用名称来引用
每个地图和 ticket 都是一个 issue,因此它有一个**名称**——它的标题。在人读取的一切内容中——叙述、地图的"已有决策"部分——都通过名称来引用,绝不使用原始 ID、编号或短横线标识。一堵 `#42, #43, #44` 组成的墙难以阅读;名称则一目了然。ID 和 URL 不会消失——但名称包裹着链接——它们只是活在名称*内部*,而不是替代它。
## 地图
View the complete source on GitHubwizard
When your agent uses it
生成一个交互式 bash 向导,引导人类完成只有他们能执行的步骤。适用于配置基础设施、设置凭证或 CI 密钥、操作不熟悉的第三方面板、或执行一次性迁移或切换。不要让代理替自己执行本应由人类完成的步骤。
What it loads into context
Frontmatter
76 tokensAlways available to the agent
SKILL.md
1,130 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 流程
Scripts executed separately
template.sh
Files
SKILL.mdcore4,196 bytesSKILL.mdcore4,196 bytesSKILL.mdcore4,196 bytesagents/openai.yamlasset87 bytestemplate.shruns9,498 bytes
Read SKILL.md
# 向导
**向导(Wizard)** 是一个 bash 脚本,逐步引导人类完成手动流程——这些流程手动做很繁琐,每次重新向 AI 解释也很麻烦。它会打开每个 URL,精确说明要点击什么和复制什么,捕获值,将其写入正确的位置(`.env`、GitHub secrets),在每个阶段确认,并显示剩余阶段数。它可能配置第三方服务、运行一次性迁移、或把项目从一个状态迁移到另一个状态。
便捷的 UX 已经由 [template.sh](template.sh) 解决——分阶段显示进度、确认关卡、跨平台 URL 打开(含 WSL)、隐藏密文输入、幂等的 `.env` 写入、`gh secret`/`gh variable` 写入,以及一个结束汇总。**你的工作只是界定流程范围并编写其阶段。** 每个向导中 `STAGES` 标记上方的库代码都是相同的——这种一致性正是关键所在,永远不要手动编辑它。
向导默认是临时的——为一次运行而创建,保存在 scratch 或 `scripts/` 路径下,任务完成后删除。仅当用户希望创建一个可重复的设置路径(应留在仓库中)时才提交它。
## 流程
### 1. 界定流程范围
找出人类必须执行的每一个手动步骤以及沿途捕获的每一个值。先阅读仓库——不要凭空提问:
View the complete source on GitHubchief-of-staff
When your agent uses it
在单次长会话中协调子智能体并安排日程,持续推进一项长期目标。
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
1,264 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 日程安排
- 子智能体
- Wiki
- 流程
- 战略视角
Files
SKILL.mdcore5,020 bytesagents/openai.yamlasset168 bytes
Read SKILL.md
你是一名 chief of staff,通过协调子智能体和日程安排来推进一项长期目标。本次会话将持续很长时间,逐步积累团队内部的隐性知识(tribal knowledge),并帮助你做出长期战略决策。
你是这个目标的 Directly Responsible Individual(直接责任人)。你被赋予了比以往更长远地思考的权限。你必须同时沿两条轨道思考:
- Tactical(战术):如何完成眼前的任务?
- Strategic(战略):如何改进环境,让_下一项_任务取得更好的结果?
## 日程安排
在 harness 允许的情况下,你会提出有助于实现目标的周期性日程安排。
## 子智能体
所有工作都应交由子智能体完成。保护好你的上下文窗口。View the complete source on GitHubclaude-handoff
When your agent uses it
把当前对话交接给一个全新的后台 agent,让它立刻接手工作。
What it loads into context
Frontmatter
53 tokensAlways available to the agent
SKILL.md
329 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,309 bytesagents/openai.yamlasset141 bytes
Read SKILL.md
为当前对话撰写一份交接摘要,让一个全新的 agent 能够继续工作。先将摘要保存到用户操作系统的临时目录,再以该文件内容作为提示启动后台 agent:`claude --bg --name "<描述性名称>" -- "$(cat <summary file>)"`。通过文件传入摘要可避免 shell 执行其中的反引号或展开 `$`。它会在当前工作目录启动并立刻返回;用户通过 `claude agents` 来管理它。
务必传 `-n`/`--name` 并配以描述性名称(例如 `--name "修复登录 bug"`):它会被设置为任务列表、会话选择器以及终端标题中所显示的标签。
在摘要里加一个 "suggested skills" 部分,建议下一个 agent 调用哪些技能。
不要重复已经被记录在其他产物(规格、计划、ADR、issue、commit、diff)中的内容。引用时用路径或 URL。
抹去任何敏感信息,例如 API 密钥、密码或可识别个人身份的信息:摘要会成为 agent 的提示词。
如果用户传入了参数,把它们当作对下一个会话关注点的描述,并据此裁剪摘要。View the complete source on GitHubloop-me
When your agent uses it
在此 workspace 内就我想构建的工作流规格对我进行盘问。
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
679 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 循环透镜
- 词汇表
- 完成定义
- Workspace
Files
SKILL.mdcore2,693 bytesagents/openai.yamlasset152 bytes
Read SKILL.md
运行一个有状态的 `/grilling` 会话,其唯一输出是**工作流**规格。沿用 grilling 纪律:无休无止、一轮接一轮的问题、每题配一个推荐答案:对准下面的词汇表和目标。在 grilling 解决事情的过程中,规格会被创建、编辑、删除。
## 循环透镜
一个**循环(loop)**是用户生活中反复出现的模式:他们的职业、他们的一周、他们的早晨、一个反复出现的活动。把生活看成循环套循环,能揭示这些活动实际上有多么可预测:而这正是它们值得**委托**的原因。用这个透镜去发现值得规格化的循环,并提出用户还没注意到的循环。
一个**工作流(workflow)**是一个循环的规格,使之落地。你在一个循环上运行工作流:循环是它的运行实例。工作流存放在 `workflows/*.md`,是事实的来源。
## 词汇表
一套共享语言,只在工作流需要时才拿出来:绝不是清单。**不要强加任何结构性内容**:一个工作流不需要 AI、检查点或时间表,除非 grilling 表明它确实需要。
- **Trigger(触发器)**:每次运行的触发条件:一个**事件**(新邮件、新 issue)或一个**时间表**(每天早上)。事件触发通常更高效。
- **Checkpoint(检查点)**:一个人工介入点,在此处要求用户验证或决策。有些工作流没有检查点,完全自主;有些根本不用 AI。View the complete source on GitHubsetup-ts-deep-modules
When your agent uses it
将 dependency-cruiser 接入 TypeScript 仓库,使每个 package 都是一个深度模块:实现隐藏在子文件夹中,只能通过入口点文件访问。由用户调用。
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
2,140 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 它强制形成的结构
- 流程
- 备注
Scripts executed separately
dependency-cruiser.config.cjs
Files
SKILL.mdcore8,017 bytesagents/openai.yamlasset184 bytesdependency-cruiser.config.cjsruns4,035 bytes
Read SKILL.md
# 设置 TS 深度模块
让此仓库中的每个 package 都成为一个**深度模块**:小接口背后隐藏大量行为。一个 package 的公开表面是其**入口点**:package 根目录下的文件:而其子文件夹中的所有内容都是隐藏的。本技能安装 [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) 与让入口点成为唯一通路的规则,然后验证规则确实起作用。
关于相关词汇(深度模块、接口、接缝、depth),请调用 Skill 工具并传入 "codebase-design":在后续内容中使用它的术语。
## 它强制形成的结构
```
src/packages/
<name>/
index.ts ← 一个入口点(公开)。外部从这里导入。
client.ts ← 另一个入口点。Package 可以暴露多个。
lib/ ← 实现:对外部隐藏,内部可以自由相互导入。View the complete source on GitHubsoftware-factory
When your agent uses it
Shared language for designing a software factory: the tasks it runs and the services it plugs into.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
1,500 tokensWhen the skill is activated
Reference documents
10,065 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Tasks and runs
- Services
- 设计 factory
Files
EXAMPLE-TASKS.mddoc4,216 bytesGIT-HOSTS.mddoc8,349 bytesOBSERVABILITY-PLATFORMS.mddoc8,359 bytesRUNNERS.mddoc9,507 bytesSKILL.mdcore6,430 bytesSKILL.mdcore6,430 bytesTICKET-TRACKERS.mddoc9,132 bytes
Read SKILL.md
**software factory** 是一种由 agents 组成的系统,它会把 tickets、PRs 和日程安排转化为已合并的代码,并部署到用户选择的远程基础设施上。本技能为设计 factory 提供一套语言。讨论或白板梳理 factory 时,只使用以下术语;如果用户用了 _Avoid_ 下的词,就指出对应的规范术语。
## Tasks and runs
**Task**:
一种由 factory 执行的工作,只需定义一次,就可以反复运行:review、explore、implement、ratchet。Task 可以处理一个 ticket、一个 PR,或整个 codebase。
_Avoid_:job、workflow、action
**Trigger**:
启动一个 run 的事件:ticket tracker 或 git host 中的变更、orchestrator 上的时钟,或另一个 run。
**Run**:
一个 task 在一个 runner 上从触发到结束的一次执行,作为黑盒处理。一个 run 可以直接触发后续 runs、通过 orchestrator 中的逻辑触发,也可以通过更改 ticket tracker 或 git host 触发。run 绝不会等待人类:它会结束,而人类之后对 ticket tracker 或 git host 所做的更改会触发一个新的 run。
_Avoid_:sessionView the complete source on GitHubwriting-beats
When your agent uses it
Writing, exploit : 将原始素材组装成一段节拍之旅,在节拍使用每个术语之前先将其夯实。
What it loads into context
Frontmatter
48 tokensAlways available to the agent
SKILL.md
1,411 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 夯实(Grounding)
- 什么是节拍
- 从素材堆中提取
- 结束旅程
- 写作节奏
Files
SKILL.mdcore5,063 bytesagents/openai.yamlasset152 bytes
Read SKILL.md
<what-to-do>
用户已经传入(或即将传入)一份 markdown 格式的原始素材文件。这是 **exploit(利用)**:探索已经完成,素材堆已经固定:承诺一条路径穿行其中,然后开采素材堆来填充每个节拍。
如果用户没有说明文章保存到哪里,询问一次并记住路径。
然后进行逐拍推进的自选冒险式旅程:
1. **设定先决条件。** 在任何节拍之前,先与用户确定读者进入时已经知道什么:那些从一开始就被**夯实(grounded)**的概念。其他所有概念必须被某个节拍夯实后,后续节拍才能使用它。参见[夯实(Grounding)](#夯实grounding)。
2. 从原始素材中提炼 2–3 个候选**起始节拍**。每个节拍是文章的一个不同入口。每个节拍只能依赖于已夯实的概念;注意每个节拍夯实了什么新概念。在写入文章文件之前先将节拍展示给用户看。用户选取一个。预览该节拍解锁了哪些后续节拍:让用户仿佛能看得到前方的一小段路。
3. 用户选定起始节拍后,将**仅这一拍**写入文章文件。一个节拍可以是一句话,也可以是若干段:取决于该节拍自然需要多少篇幅。到此为止。
4. 从磁盘重新读取文章文件。然后提供 2–3 个候选**下一节拍**:从文章当前所在位置可以转向的不同方向。每个候选节拍必须能从当前已夯实的集合中触及;注意每个节拍夯实了什么。
5. 循环步骤 3–5,直到文章自然收尾。
View the complete source on GitHubwriting-fragments
When your agent uses it
Writing, explore : 挖掘原始碎片,不施加结构。
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
921 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 什么是碎片
- 文件格式
- 写作节奏
Files
SKILL.mdcore3,493 bytesagents/openai.yamlasset138 bytes
Read SKILL.md
<what-to-do>
这是纯粹的 **explore(探索)**:拓宽可被写作的空间,不承诺任何结构:承诺结构是 _exploit(利用)_ 的任务,由另一个技能负责。进行一次产生碎片的盘问,就用户想写的任何话题不断追问。强加阶段、大纲或文章结构在此不在范围内。
当对话双方的碎片浮现时,将它们追加到一份 markdown 文件中。
如果用户没有传入保存路径,询问一次文档保存到哪里,然后在整个对话中记住它。
从用户说的第一件事(包括初始 prompt)开始就捕捉碎片。
首次写入时,在顶部放一个 H1 的工作标题(以后可以改),除此之外什么都不放:没有元数据、没有目录、没有日期。
</what-to-do>
View the complete source on GitHubwriting-shape
When your agent uses it
Writing, exploit : 将原始素材逐段塑形为一篇文章。
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
1,658 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 循环流程
- 夯实(Grounding)
- 对话感
- 从材料堆中提取
- 真正要进行的格式争论
- 写作节奏
- 范围之外
Files
SKILL.mdcore5,950 bytesagents/openai.yamlasset140 bytes
Read SKILL.md
<what-to-do>
用户已经传入(或即将传入)一份 markdown 格式的原始素材文件。将其视为输入材料堆:可以是从整洁的碎片列表到一团无结构的文字墙再到一份转录稿的任何形式。格式不重要。在做任何其他事情之前从头读到尾。
然后进行一次塑造环节,生成一份独立的文章文档。这是 **exploit(利用)**:探索已经完成,素材堆已经固定:承诺一个结构,然后开采素材堆来填充它。不要编辑原始素材文件:它对本技能而言是只读的。
如果用户没有说明文章保存到哪里,询问一次并记住路径。
</what-to-do>
<supporting-info>
## 循环流程
View the complete source on GitHubgit-guardrails-claude-code
When your agent uses it
设置 Claude Code 钩子,在危险 Git 命令(push、reset --hard、clean、branch -D 等)执行前将其拦截。当用户想要防止破坏性 Git 操作、添加 Git 安全钩子或在 Claude Code 中阻止 git push/reset 时使用。
What it loads into context
Frontmatter
79 tokensAlways available to the agent
SKILL.md
671 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 会被阻止的命令
- 步骤
Scripts executed separately
scripts/block-dangerous-git.sh
Files
SKILL.mdcore2,372 bytesSKILL.mdcore2,372 bytesagents/openai.yamlasset110 bytesscripts/block-dangerous-git.shruns507 bytes
Read SKILL.md
# 设置 Git 护栏
设置一个 PreToolUse 钩子,在 Claude 执行危险 Git 命令之前拦截并阻止它们。
## 会被阻止的命令
- `git push`(包括 `--force` 在内的所有变体)
- `git reset --hard`
- `git clean -f` / `git clean -fd`
- `git branch -D`
- `git checkout .` / `git restore .`
当命令被阻止时,Claude 会看到一条消息,告知它没有权限访问这些命令。
View the complete source on GitHubmigrate-to-shoehorn
When your agent uses it
将测试文件从 `as` 类型断言迁移到 @total-typescript/shoehorn。当用户提到 shoehorn、想要在测试中替换 `as`、或需要部分测试数据时使用。
What it loads into context
Frontmatter
56 tokensAlways available to the agent
SKILL.md
831 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 为什么使用 shoehorn?
- 安装
- 迁移模式
- 各函数的适用场景
- 工作流程
Files
SKILL.mdcore2,884 bytesSKILL.mdcore2,884 bytesagents/openai.yamlasset104 bytes
Read SKILL.md
# 迁移到 Shoehorn
## 为什么使用 shoehorn?
`shoehorn` 让你在测试中传递部分数据,同时保持 TypeScript 类型正确。它用类型安全的替代方案取代了 `as` 断言。
**仅限测试代码。** 切勿在生产代码中使用 shoehorn。
`as` 在测试中的问题:
- 习惯上被训练不要使用它
- 必须手动指定目标类型
- 双重 `as`(`as unknown as Type`)用于传递故意错误的数据
View the complete source on GitHubscaffold-exercises
When your agent uses it
创建包含 section、problem、solution 和 explainer 的练习目录结构,且能通过 lint 检查。当用户想要搭建练习框架、创建练习模板或设置新的课程章节时使用。
What it loads into context
Frontmatter
54 tokensAlways available to the agent
SKILL.md
1,079 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 目录命名规则
- 练习变体
- 必需文件
- 工作流程
- Lint 规则摘要
- 移动/重命名练习
- 示例:根据计划创建模板
Files
SKILL.mdcore3,806 bytesSKILL.mdcore3,806 bytesSKILL.mdcore3,806 bytesagents/openai.yamlasset117 bytes
Read SKILL.md
# 搭建练习框架
创建能通过 `pnpm ai-hero-cli internal lint` 检查的练习目录结构,然后使用 `git commit` 提交。
## 目录命名规则
- **章节(Sections)**:位于 `exercises/` 下的 `XX-section-name/` 格式(例如 `01-retrieval-skill-building`)
- **练习(Exercises)**:位于章节内的 `XX.YY-exercise-name/` 格式(例如 `01.03-retrieval-with-bm25`)
- 章节编号 = `XX`,练习编号 = `XX.YY`
- 名称使用短横线命名法(小写字母、连字符)
## 练习变体
每个练习至少需要以下子文件夹之一:View the complete source on GitHubsetup-pre-commit
When your agent uses it
在当前仓库中设置 Husky pre-commit 钩子,集成 lint-staged(Prettier)、类型检查和测试。当用户想要添加 pre-commit 钩子、设置 Husky、配置 lint-staged、或添加提交时的格式化/类型检查/测试时使用。
What it loads into context
Frontmatter
74 tokensAlways available to the agent
SKILL.md
744 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 将要设置的内容
- 步骤
- 注意事项
Files
SKILL.mdcore2,418 bytesSKILL.mdcore2,418 bytesagents/openai.yamlasset97 bytes
Read SKILL.md
# 设置 Pre-Commit 钩子
## 将要设置的内容
- **Husky** pre-commit 钩子
- **lint-staged** 对所有暂存文件运行 Prettier
- **Prettier** 配置(如果缺失)
- **typecheck** 和 **test** 脚本在 pre-commit 钩子中运行
## 步骤
### 1. 检测包管理器
检查 `package-lock.json`(npm)、`pnpm-lock.yaml`(pnpm)、`yarn.lock`(yarn)、`bun.lockb`(bun)。使用已存在的那个。如果不确定,默认使用 npm。View the complete source on GitHubgrill-me
When your agent uses it
一场无休止的盘问,用来打磨你的计划或设计。
What it loads into context
Frontmatter
31 tokensAlways available to the agent
SKILL.md
46 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore175 bytesagents/openai.yamlasset129 bytes
grilling
When your agent uses it
对用户的计划、决策或想法进行层层盘问。当用户想要压力测试自己的思考,或使用任何 'grill' 触发短语时使用。
What it loads into context
Frontmatter
46 tokensAlways available to the agent
SKILL.md
510 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,956 bytesagents/openai.yamlasset92 bytes
Read SKILL.md
持续盘问用户,直到你们达成共识。将讨论映射为一棵**设计树(design tree)**:每个决策都会分支出一系列依赖它的子决策。
以**轮次(rounds)**推进这棵树。**前沿(frontier)**是所有前提已确定的决策:即你现在*可以*问的问题,无需猜测尚未听到的答案。每一轮问完整个前沿:为每个问题编号,并给出你的推荐答案。然后等待用户的回答,再进行下一轮。
每个问题格式如下:
```
❓ **Q1** - **<问题标题>**:<问题正文,可以是多段,包括多个选项>
➡<U+FE0F> <你的推荐答案>
---
❓ **Q2** - **<问题标题>**:<问题正文,可以是多段,包括多个选项>View the complete source on GitHubhandoff
When your agent uses it
将当前对话压缩为一份交接文档,供另一个智能体继续工作。
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
215 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore866 bytesagents/openai.yamlasset149 bytes
Read SKILL.md
将当前对话总结为一份交接文档,方便一个全新的智能体继续工作。保存到用户操作系统的临时目录(`$TMPDIR`,否则为 `/tmp`;Windows 上为 `%TEMP%`),而不是当前工作区。
文档中需要包含"建议技能"部分,指明下一个 agent 应该为哪些技能调用 Skill 工具。
不要重复复制已经记录在其他产物中的内容(spec、计划、ADR、Issue、commit、diff)。用路径或 URL 引用它们。
隐去所有敏感信息,如 API 密钥、密码或个人身份信息。
如果用户传入了参数,将其视为对下一个会话关注点的描述,据此调整文档内容。View the complete source on GitHubteach
When your agent uses it
在当前工作区中教会用户一项新技能或概念。
What it loads into context
Frontmatter
41 tokensAlways available to the agent
SKILL.md
2,190 tokensWhen the skill is activated
Reference documents
2,184 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 教学工作区
- 哲学
- 课程
- Assets(资源)
- 使命
- 最近发展区
- 知识
- 技能
- 获取智慧
- 参考文档
- `NOTES.md`
Files
GLOSSARY-FORMAT.mddoc2,035 bytesLEARNING-RECORD-FORMAT.mddoc2,607 bytesMISSION-FORMAT.mddoc1,487 bytesRESOURCES-FORMAT.mddoc1,867 bytesSKILL.mdcore8,623 bytesagents/openai.yamlasset138 bytes
Read SKILL.md
用户让你教他们一些东西。这是一个有状态的请求:他们打算通过多个会话来学习这个主题。
## 教学工作区
将当前目录视为教学工作区。`./lessons/` 等工作区路径相对于运行 `/teach` 的目录解析;只有 `*-FORMAT.md` 链接相对于此技能文件夹解析。他们的学习状态通过以下几个文件记录在此目录中:
- `MISSION.md`:记录用户对这个主题**感兴趣的原因**的文档。所有教学都应以此为基准。使用 [MISSION-FORMAT.md](./MISSION-FORMAT.md) 中的格式。
- `./reference/*.html`:参考资料目录。这些是课程的压缩学习成果:速查表、参考算法、语法、瑜伽体式、词汇表。它们是学习的原始单元。应该是排版精美的文档,适合打印,并且为快速查阅而设计。
- `RESOURCES.md`:一份资源列表,可以探索以将你的教学建立在情境化知识上,或获取知识和智慧。使用 [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md) 中的格式。
- `./learning-records/*.md`:学习记录目录,记录用户已经学会了什么。这大致相当于软件开发中的架构决策记录:它们捕获那些非显而易见的教训和关键见解,后续可能需要修正,或用于驱动未来的课程。这些应用于计算最近发展区。文件命名格式为 `0001-<dash-case-name>.md`,编号每次递增。使用 [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md) 中的格式。
- `./lessons/*.html`:课程目录。**课程**是一个独立、自包含的 HTML 输出,教授一个与使命紧密相关的、范围狭窄的内容。这是本工作区教学的主要单元。
- `./assets/*`:跨课程共享的可复用**组件**。参见 [Assets(资源)](#assets)。
- `NOTES.md`:供你记录用户偏好或工作笔记的草稿本。
View the complete source on GitHubto-questionnaire
When your agent uses it
将你无法完全回答的决策转化为供他人填写的问卷。
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
738 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 文档结构
- 背景
- 如何回答
- <主题标题>
- 还有其他问题吗?
Files
SKILL.mdcore2,869 bytesagents/openai.yamlasset161 bytes
Read SKILL.md
# 转化为问卷
将用户无法独自回答的问题转化为一份**问卷**:一份 Markdown 文档,交给某个人异步填写,或在会议中共同填写。接收者拥有用户缺乏的知识;问卷负责把这些知识挖掘出来。
**审问"发送"而非"主题"。** 只询问用户关于"发送"的问题:这是他们总能回答的:发给谁,以及需要什么回来。文档中的问题则针对**接收者所知与用户所需之间的差距**。
1. **发给谁?** 用一个来回问清楚接收者的角色、专长,以及和用户的关系。这决定了问卷的语气和需要携带多少上下文。完成条件:你知道了接收者是谁,以及他们知道什么用户不知道的东西。
2. **你需要什么回来?** 用一个来回问清楚用户无法独自解决、需要从这个人那里获得的具体决策或事实。完成条件:你有了一个具体的清单,列出用户必须能据此做出或决定的事情。
3. **撰写问卷。** 针对步骤 1-2 中确定的差距起草问题,遵循下面的文档结构。将问卷写入当前目录下的 `to-questionnaire-<slug>.md` 文件(slug 来自主题),并报告文件路径。完成条件:文件存在,且用户在步骤 2 中提到的每一个项目都有对应的问题覆盖。
## 文档结构
View the complete source on GitHubwait-what
When your agent uses it
等等。上一条消息我没理解:重新解释一下。
What it loads into context
Frontmatter
29 tokensAlways available to the agent
SKILL.md
99 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore372 bytesagents/openai.yamlasset160 bytes
Read SKILL.md
等等:我不太明白你讲到哪了。重新解释一下:给我一点上下文,使用 ASD-STE100 简化技术英语,并用 `GLOSSARY.md` 中的通用语言(如果仓库有多个,按 `GLOSSARY-MAP.md` 找到正确的那个)。View the complete source on GitHubwriting-for-agents
When your agent uses it
为智能体编写文档。当你正在创建或编辑技能,或者修改 AGENTS.md / CLAUDE.md 时使用。
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
3,287 tokensWhen the skill is activated
Reference documents
779 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 上下文指针
- 两种负载
- 信息层次
- 步骤与完成标准
- 何时拆分
- 引导词
- 修剪
Files
SKILL-MECHANICS.mddoc3,079 bytesSKILL.mdcore12,001 bytesagents/openai.yamlasset105 bytes
Read SKILL.md
一份用于编写智能体所阅读的任何文档的参考:一个技能、一份 `AGENTS.md` / `CLAUDE.md`、一份通过指针触达的文档。包装方式各异,但写作规则是一致的:同样的杠杆让每份文档都变得可预测,因为智能体每次运行采取的是同一个*流程*,而不是产出同一个输出。
当你正在编写的文档是一个技能时,请阅读 [`SKILL-MECHANICS.md`](SKILL-MECHANICS.md),了解前置元数据、调用方式的选择,以及路由技能。
## 上下文指针
**上下文指针(context pointer)** 是智能体上下文中持有的一条引用,它指向一份"上下文之外"的资料,并编码了触达该资料的条件。技能的 `description` 就是一条;`AGENTS.md` 中指向某份文档的一行也是同一回事。决定智能体何时、以多高的可靠性触达这份资料的,是这条指针的*措辞*,不是它的指向。一个本应被触达的指向目标,却藏在一段措辞含糊的指针背后:这是一个方差 bug:先打磨措辞;只有当打磨失败时,才把资料直接内联进去。
一条指针承担两件事:说明这份资料是什么,以及列出应当触发触达它的**分支**(branch 是这份文档所处理的一种独立情形,所以不同次运行会走不同的路径)。每一条始终加载的指针里的每一个词,在每一次轮次中都在付代价,所以它需要比正文更严格的精简:
- **把"引导词"前移**:指针是触发工作真正发生的地方。
- **一个分支对应一个触发词。** 同义词把同一个分支换了个说法写两遍,本质上是一个分支;把它们合并,只保留真正不同的分支。
- **去掉正文已经承载的身份信息。**
View the complete source on GitHubSkills included
- ask-matt
- code-review
- codebase-design
- diagnosing-bugs
- domain-modeling
- grill-with-docs
- implement
- implement-spec
- improve-codebase-architecture
- pr
- prototype
- research
- retro
- setup-matt-pocock-skills
- tdd
- to-spec
- to-tickets
- triage
- wayfinder
- wizard
- chief-of-staff
- claude-handoff
- loop-me
- setup-ts-deep-modules
- software-factory
- writing-beats
- writing-fragments
- writing-shape
- git-guardrails-claude-code
- migrate-to-shoehorn
- scaffold-exercises
- setup-pre-commit
- grill-me
- grilling
- handoff
- teach
- to-questionnaire
- wait-what
- writing-for-agents
Repository facts
- License
- MIT
- Created
- Jun 12, 2026
- Last pushed
- Nov 3, 2026
- Forks
- 47
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 10 notes
skills/engineering/ask-matt/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/engineering/diagnosing-bugs/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/engineering/wizard/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/engineering/wizard/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/in-progress/software-factory/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/misc/git-guardrails-claude-code/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/misc/migrate-to-shoehorn/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/misc/scaffold-exercises/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/misc/scaffold-exercises/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/misc/setup-pre-commit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 2 dangerous shell commandsin 1 file: skills/engineering/wizard/template.sh:147
- 123 network referencesin 19 files: software-factory/TICKET-TRACKERS.md:13 skills/engineering/tdd/mocking.md:42 software-factory/GIT-HOSTS.md:13 and 16 more
- No hidden or obfuscated text
- No instruction overrides
- 6 executable scriptsin 4 files: skills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh:1 skills/engineering/wizard/template.sh:1 setup-ts-deep-modules/dependency-cruiser.config.cjs:1 and 1 more
- 12 references to secretsin 2 files: skills/engineering/wizard/template.sh:106 skills/engineering/tdd/mocking.md:32
- No requests to vote in Hot
Show all 143 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Matt Pocock", "url": "https://www.aihero.dev" - Network accessline 6
"name": "Matt Pocock", "url": "https://www.aihero.dev" }, - Network accessline 7
"url": "https://www.aihero.dev" - Network accessline 8
}, "homepage": "https://www.aihero.dev/s/skills-newsletter", "repository": "https://github.com/mattpocock/skills", - Network accessline 9
"homepage": "https://www.aihero.dev/s/skills-newsletter", - Network accessline 10
"repository": "https://github.com/mattpocock/skills",
skills/engineering/ask-matt/PHASE-BOUNDARIES.md
- Network accessline 21
**1. 你能在当前会话继续吗?** 两种情况答案是"是":下一阶段把这一阶段作为**主要来源**(primary source)来用,或者你还有足够 [smart zone](https://www.aihero.dev/ai-coding-dictionary/smart-zone)(约 150k tokens)留给下一阶段。盘问 → 实现是标准的"是":实现要的是逐字逐句的推理,而不是它的摘要。继续不花钱也不损失任何东西,所以先把它排除掉。
skills/engineering/ask-matt/SKILL.md
- Network accessline 40
这里的上限是**[智能区](https://www.aihero.dev/ai-coding-dictionary/smart-zone)**:模型仍能敏锐推理的窗口(最先进模型约 150k token)。如果会话在 `/to-tickets` 之前就逼近它,不要在劣化的状态下硬撑:在最近的阶段边界 **`/compact`** 然后继续(见"阶段边界")。
skills/engineering/diagnosing-bugs/SKILL.md
- Network accessline 26
1. **失败测试**:在能触及 bug 的任何 seam 上写——unit、integration、e2e。 2. **Curl / HTTP 脚本**:针对正在运行的 dev server。 - Network accessline 26
1. **失败测试**:在能触及 bug 的任何 seam 上写——unit、integration、e2e。 2. **Curl / HTTP 脚本**:针对正在运行的 dev server。 - Network accessline 27
2. **Curl / HTTP 脚本**:针对正在运行的 dev server。 - Network accessline 27
2. **Curl / HTTP 脚本**:针对正在运行的 dev server。
skills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh
skills/engineering/improve-codebase-architecture/HTML-REPORT.md
- Network accessline 11
<meta charset="utf-8" /> <title>架构审查 — {{仓库名称}}</title> <script src="https://cdn.tailwindcss.com"></script> - Network accessline 11
<meta charset="utf-8" /> <title>架构审查 — {{仓库名称}}</title> <script src="https://cdn.tailwindcss.com"></script> - Network accessline 12
<title>架构审查 — {{仓库名称}}</title> <script src="https://cdn.tailwindcss.com"></script> <script type="module"> - Network accessline 12
<title>架构审查 — {{仓库名称}}</title> <script src="https://cdn.tailwindcss.com"></script> <script type="module"> - Network accessline 13
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 13
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 14
<script type="module"> import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"; mermaid.initialize({ startOnLoad: true, theme: "neutral", securityLevel: "loose" }); - Network accessline 14
<script type="module"> import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"; mermaid.initialize({ startOnLoad: true, theme: "neutral", securityLevel: "loose" }); - Network accessline 15
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs"; - Network accessline 15
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";
skills/engineering/pr/CREDITS.md
- Network accessline 3
**Summary** 一节的视图菜单(伪代码、调用树、组件树、文件树、Mermaid、diff)及其放置指引来自 [Dex Horthy](https://github.com/dexhorthy) 的 [`show-me`](https://github.com/humanlayer/humanlayer) 技能,几乎逐字复刻,只是把目标从实时对话换成了 diff。`pr` 并不把 `show-me` 当作技能依赖(它不属于本仓库,硬依赖会破坏独立安装),所以内容是被复制 - Network accessline 3
**Summary** 一节的视图菜单(伪代码、调用树、组件树、文件树、Mermaid、diff)及其放置指引来自 [Dex Horthy](https://github.com/dexhorthy) 的 [`show-me`](https://github.com/humanlayer/humanlayer) 技能,几乎逐字复刻,只是把目标从实时对话换成了 diff。`pr` 并不把 `show-me` 当作技能依赖(它不属于本仓库,硬依赖会破坏独立安装),所以内容是被复制
skills/engineering/pr/SKILL.md
- Network accessline 7
author: Dex Horthy organisation: Humanlayer url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md" - Network accessline 7
author: Dex Horthy organisation: Humanlayer url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md" - Network accessline 8
organisation: Humanlayer url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md" --- - Network accessline 8
organisation: Humanlayer url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md" --- - Network accessline 9
url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md" - Network accessline 9
url: "https://github.com/humanlayer/skills/blob/main/plugins/show-me/skills/show-me/SKILL.md"
skills/engineering/setup-matt-pocock-skills/SKILL.md
- Network accessline 44
- **GitHub** — issue 存在仓库的 GitHub Issues 里(使用 `gh` CLI) - **GitLab** — issue 存在仓库的 GitLab Issues 里(使用 [`glab`](https://gitlab.com/gitlab-org/cli) CLI) - Network accessline 44
- **GitHub** — issue 存在仓库的 GitHub Issues 里(使用 `gh` CLI) - **GitLab** — issue 存在仓库的 GitLab Issues 里(使用 [`glab`](https://gitlab.com/gitlab-org/cli) CLI) - Network accessline 45
- **GitLab** — issue 存在仓库的 GitLab Issues 里(使用 [`glab`](https://gitlab.com/gitlab-org/cli) CLI) - Network accessline 45
- **GitLab** — issue 存在仓库的 GitLab Issues 里(使用 [`glab`](https://gitlab.com/gitlab-org/cli) CLI)
skills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md
skills/engineering/tdd/mocking.md
- Access to secretsline 32
[Credential-related source omitted] - Access to secretsline 32
[Credential-related source omitted] - Network accessline 42
// GOOD:每个函数可独立 mock const api = { getUser: (id) => fetch(`/users/${id}`), - Network accessline 42
// GOOD:每个函数可独立 mock const api = { getUser: (id) => fetch(`/users/${id}`), - Network accessline 43
const api = { getUser: (id) => fetch(`/users/${id}`), getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 43
const api = { getUser: (id) => fetch(`/users/${id}`), getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 44
getUser: (id) => fetch(`/users/${id}`), - Network accessline 44
getUser: (id) => fetch(`/users/${id}`), - Network accessline 45
getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 45
getOrders: (userId) => fetch(`/users/${userId}/orders`), - Network accessline 46
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), - Network accessline 46
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }), - Network accessline 49
// BAD:Mock 需要在内部编写条件逻辑 const api = { fetch: (endpoint, options) => fetch(endpoint, options), - Network accessline 49
// BAD:Mock 需要在内部编写条件逻辑 const api = { fetch: (endpoint, options) => fetch(endpoint, options), - Network accessline 50
const api = { fetch: (endpoint, options) => fetch(endpoint, options), }; - Network accessline 50
const api = { fetch: (endpoint, options) => fetch(endpoint, options), }; - Network accessline 51
fetch: (endpoint, options) => fetch(endpoint, options), - Network accessline 51
fetch: (endpoint, options) => fetch(endpoint, options),
skills/engineering/wizard/template.sh
- Executable scriptline 1
#!/usr/bin/env bash - Executable scriptline 1
#!/usr/bin/env bash - Access to secretsline 106
[Credential-related source omitted] - Access to secretsline 106
[Credential-related source omitted] - Dangerous shell operationline 147
rm -f "$tmp" - Dangerous shell operationline 147
rm -f "$tmp" - Access to secretsline 186
[Credential-related source omitted] - Access to secretsline 186
[Credential-related source omitted] - Network accessline 208
stage "Stripe: API keys" say "We'll grab your Stripe test keys and store them for local dev + CI." open_url "https://dashboard.stripe.com/test/apikeys" - Network accessline 208
stage "Stripe: API keys" say "We'll grab your Stripe test keys and store them for local dev + CI." open_url "https://dashboard.stripe.com/test/apikeys" - Network accessline 209
say "We'll grab your Stripe test keys and store them for local dev + CI." open_url "https://dashboard.stripe.com/test/apikeys" step "On the API keys page, copy the Publishable key (starts pk_test_)." - Network accessline 209
say "We'll grab your Stripe test keys and store them for local dev + CI." open_url "https://dashboard.stripe.com/test/apikeys" step "On the API keys page, copy the Publishable key (starts pk_test_)." - Network accessline 210
open_url "https://dashboard.stripe.com/test/apikeys" - Network accessline 210
open_url "https://dashboard.stripe.com/test/apikeys" - Access to secretsline 215
[Credential-related source omitted] - Access to secretsline 215
[Credential-related source omitted] - Access to secretsline 216
[Credential-related source omitted] - Access to secretsline 216
[Credential-related source omitted] - Access to secretsline 217
[Credential-related source omitted] - Access to secretsline 217
[Credential-related source omitted]
skills/in-progress/setup-ts-deep-modules/SKILL.md
- Network accessline 9
让此仓库中的每个 package 都成为一个**深度模块**:小接口背后隐藏大量行为。一个 package 的公开表面是其**入口点**:package 根目录下的文件:而其子文件夹中的所有内容都是隐藏的。本技能安装 [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) 与让入口点成为唯一通路的规则,然后验证规则确实起作用。
skills/in-progress/setup-ts-deep-modules/dependency-cruiser.config.cjs
- Executable scriptline 1
Executable file
skills/in-progress/software-factory/GIT-HOSTS.md
- Network accessline 13
- [GitHub](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api):默认选择;提供 Issues、Actions、Apps 和规模最大的集成生态。 - [GitLab](https://about.gitlab.com/pricing/):在一个产品中提供 issues、merge requests、CI/CD 和 runners,可选 SaaS 或自托管。 - Network accessline 14
- [GitLab](https://about.gitlab.com/pricing/):在一个产品中提供 issues、merge requests、CI/CD 和 runners,可选 SaaS 或自托管。 - Network accessline 22
- [Bitbucket Cloud](https://support.atlassian.com/bitbucket-cloud/docs/api-request-limits/):Atlassian 的 Git 托管平台,与 Jira 和 Bitbucket Pipelines 配套。 - Network accessline 23
- [Azure DevOps (Azure Repos)](https://learn.microsoft.com/en-us/azure/devops/integrate/concepts/rate-limits):在同一个组织中提供 Repos、Boards、Pipelines 和 Entra 身份,因此可覆盖全部四个槽位。 - Network accessline 24
- [AWS CodeCommit](https://aws.amazon.com/blogs/devops/aws-codecommit-returns-to-general-availability/):基础的 Git 托管平台,使用 IAM 身份;需搭配外部跟踪器和 CI。 - Network accessline 32
- [Forgejo](https://forgejo.org/2026-10-release-v17-0/):由社区治理的轻量平台,提供 Forgejo Actions。 - Network accessline 33
- [Gitea](https://about.gitea.com/):轻量平台,提供 Gitea Actions;也提供托管版本。 - Network accessline 34
- [GitLab self-managed](https://about.gitlab.com/install/) 和 [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@latest):部署在用户自有基础设施上的完整平台。 - Network accessline 42
- [Gerrit](https://www.gerritcodereview.com/):采用带标签投票的 patchset review;Android 和 Chromium 使用的模式。 - Network accessline 43
- [Tangled](https://blog.tangled.org/ci/):基于 AT Protocol 的 Git 托管平台,支持堆叠 PR 和自有 CI runner。 - Network accessline 51
- [Cursor Origin](https://cursor.com/origin):由 Graphite 团队推出,支持 GitHub 同步,以及带签名的 PR、review 和 push webhooks。 - Network accessline 52
- [GitLab next-gen SCM](https://about.gitlab.com/blog/gitlab-next-gen-scm/):重建后的 GitLab 后端,提供无需克隆的 agent API。 - Network accessline 60
- [Cloudflare Artifacts](https://www.cloudflare.com/product/artifacts/):Workers 上兼容 Git 的存储;可为每项任务 fork 一个基线。 - Network accessline 61
- [Pierre code.storage](https://code.storage/docs):白标 Git API,提供临时分支。
skills/in-progress/software-factory/OBSERVABILITY-PLATFORMS.md
- Network accessline 11
- **Harness OTel**:Agent harness 自行导出 OpenTelemetry。Claude Code 和 Claude Agent SDK 需要设置 `CLAUDE_CODE_ENABLE_TELEMETRY=1` 以及 `OTEL_*` 变量,提示词和工具输出则需选择启用;Codex CLI 需要在 `[otel]` 区块(位于 `config.toml`)中配置。([Claude Agent SDK](https://code.claude.co - Network accessline 12
- **平台推送**:模型平台替你发送追踪数据,例如 Claude Managed Agents 会将数据发送到在 Claude Console 中设置的 OTLP 目标地址。([Claude 文档](https://platform.claude.com/docs/en/manage-claude/opentelemetry/api)) - Network accessline 17
OpenTelemetry 是通用传输协议:Harness OTel 和平台推送都可以接入任何 OTLP 后端。GenAI 语义约定(`invoke_agent`、`chat`、`execute_tool` span)仍在逐步完善,因此 span 名称可能会变化。([OTel GenAI agent spans](https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-agent-spans)) - Network accessline 25
**入门选项**:[GitHub Actions 运行日志](https://docs.github.com/en/organizations/managing-organization-settings/configuring-the-retention-period-for-github-actions-artifacts-and-logs-in-your-organization)、[E2B 沙箱日志和指标](https://e2b.dev/docs)、[Daytona - Network accessline 37
**入门选项**:[Langfuse](https://langfuse.com/pricing) 和 [Arize Phoenix](https://phoenix.arize.com)(开源,可自托管)、[LangSmith](https://www.langchain.com/pricing-langsmith)、[Braintrust](https://www.braintrust.dev/pricing)。 - Network accessline 49
**入门选项**:[Datadog Agent Observability](https://www.datadoghq.com/product/llm-observability/)、[Grafana Cloud](https://grafana.com/pricing/)、[Honeycomb](https://www.honeycomb.io/pricing)、[SigNoz](https://signoz.io/pricing/)(开源)。 - Network accessline 59
**入门选项**:[LiteLLM Proxy](https://docs.litellm.ai/docs/proxy/logging)(开源,可将日志转发到 Langfuse 或 OTel)、[Portkey](https://portkey.ai/pricing)。
skills/in-progress/software-factory/RUNNERS.md
- Network accessline 23
入门选项: - [GitHub Actions](https://docs.github.com/en/actions/reference/limits):全 GitHub 工厂的默认选择;[定价](https://docs.github.com/en/billing/reference/actions-runner-pricing)。 - Network accessline 24
- [GitHub Actions](https://docs.github.com/en/actions/reference/limits):全 GitHub 工厂的默认选择;[定价](https://docs.github.com/en/billing/reference/actions-runner-pricing)。 - Network accessline 25
- [Claude Code GitHub Action](https://code.claude.com/docs/en/github-actions):将 Claude Code 作为 workflow 步骤运行。 - Network accessline 26
- [GitLab hosted runners](https://docs.gitlab.com/ci/runners/hosted_runners/linux/):每个作业使用一台一次性 VM。 - Network accessline 27
- [Actions Runner Controller](https://docs.github.com/en/actions/concepts/runners/actions-runner-controller):自托管方案,在用户自己的 Kubernetes 上为每个作业运行一个一次性 pod。 - Network accessline 35
入门选项:[E2B](https://e2b.dev/pricing)、[Daytona](https://www.daytona.io/pricing)、[Modal Sandboxes](https://modal.com/docs/guide/sandboxes)、[Vercel Sandbox](https://vercel.com/docs/vercel-sandbox/pricing)。 - Network accessline 43
入门选项: - [Claude Code cloud](https://code.claude.com/docs/en/claude-code-on-the-web),可通过 [scheduled tasks](https://code.claude.com/docs/en/routines) 支持 cron、API 和 GitHub 事件触发。 - Network accessline 44
- [Claude Code cloud](https://code.claude.com/docs/en/claude-code-on-the-web),可通过 [scheduled tasks](https://code.claude.com/docs/en/routines) 支持 cron、API 和 GitHub 事件触发。 - Network accessline 45
- [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview):以 API 为先;针对某个环境创建运行并接收事件流。 - Network accessline 46
- [Codex cloud](https://developers.openai.com/codex/cloud):每个任务使用一个容器。 - Network accessline 47
- [Copilot coding agent](https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent):将 issue 分派给 Copilot;其 runner 是 GitHub Actions runner。 - Network accessline 55
入门选项:[Claude Code self-hosted environments](https://code.claude.com/docs/en/self-hosted-environments)、[Cursor self-hosted pool](https://cursor.com/docs/cloud-agent/self-hosted-pool)、[Copilot coding agent on ARC](https://docs.github.com/en/c - Network accessline 63
入门选项:[Fly Machines](https://docs.fly.io/machines/overview)([定价](https://docs.fly.io/about/pricing))、[Hetzner Cloud](https://www.hetzner.com/cloud/) 加 Docker、[Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/)。
skills/in-progress/software-factory/TICKET-TRACKERS.md
- Network accessline 13
- [GitHub Issues](https://docs.github.com/en/copilot/concepts/agents/about-third-party-agents):默认选项;可通过 assign-to-agent 分配给 Copilot、Claude 和 Codex。 - Network accessline 14
- [GitLab Issues](https://about.gitlab.com/blog/how-to-use-a-work-item-created-trigger/):由 work item 触发的 Duo Agent Platform 流程。 - Network accessline 15
- [Forgejo](https://forgejo.org/2026-10-release-v17-0/):可自托管,兼容 Actions。 - Network accessline 23
- [Linear](https://linear.app/developers/agents):最贴合 agent 工作方式的工单跟踪器。 - Network accessline 24
- [Jira](https://support.atlassian.com/jira-software-cloud/docs/collaborate-on-work-items-with-ai-agents/):由状态触发的 agent;适合已使用 Atlassian 的组织。 - Network accessline 25
- [Shortcut](https://www.shortcut.com/help/integrations/using-ai-agents):指派一个 story,或在评论中提及 agent。 - Network accessline 26
- [YouTrack](https://www.jetbrains.com/youtrack/):workflows-as-code;支持自托管。 - Network accessline 34
- [Plane](https://developers.plane.so/dev-tools/agents/overview):类似 Linear;每个应用可创建 bot 用户;agent 会在评论中回复。 - Network accessline 35
- [Huly](https://github.com/hcengineering/huly-selfhost):集成式工作区,支持双向 GitHub 同步;运行维护所需的技术栈较重。 - Network accessline 36
- [OpenProject](https://www.openproject.org/):成熟的传统项目管理工具。 - Network accessline 44
- [Notion](https://www.notion.com/help/custom-agents):数据库兼作工单跟踪器;数据库变更可触发 agent。 - Network accessline 45
- [Asana](https://asana.com/product/ai/ai-teammates):AI Teammates 可接手已指派的任务。 - Network accessline 46
- [ClickUp](https://clickup.com/brain/cloud-agents):Cloud Agents 会在任务讨论串中返回 PR。 - Network accessline 47
- [Trello](https://developer.atlassian.com/cloud/trello/guides/rest-api/webhooks/):采用看板和列表;可通过 webhook 和 Butler 自动化。 - Network accessline 55
- [Beads](https://github.com/steveyegge/beads):JSONL 格式,支持依赖关系跟踪,因此一次运行可以选取下一个未受阻的工单。 - Network accessline 56
- [Backlog.md](https://github.com/MrLesk/Backlog.md):Markdown 任务,带有 Kanban 视图和 MCP server。 - Network accessline 60
工厂自有应用在自己的数据库中保存工单,通常与 orchestrator 并列。“Own tracker”设计。工厂会在工单跟踪器本身就是产品(内部平台、面向客户的支持工厂),或没有现成方案适用时选择它。触发器会变成函数调用;下面问题中提到的每项特性都需要编写和维护代码,这也是该 skill 倾向于购买现成产品的原因。带有 webhook 的 [Airtable](https://airtable.com/developers/web/api/webhooks-overview
skills/misc/git-guardrails-claude-code/scripts/block-dangerous-git.sh
- Executable scriptline 1
#!/bin/bash
skills/productivity/teach/RESOURCES-FORMAT.md
- Network accessline 12
- [书籍:《力量训练的科学与实践》: Zatsiorsky & Kraemer](https://example.com) - Network accessline 12
- [书籍:《力量训练的科学与实践》: Zatsiorsky & Kraemer](https://example.com) - Network accessline 13
编程与适应的基础文本。适用于:任何与周期化、恢复、强度区间相关的内容。 - [文章:"我应该训练多少?": Greg Nuckols (Stronger By Science)](https://example.com) 基于证据的容量基准综述。适用于:每周每个肌肉群的组数目标。 - Network accessline 13
编程与适应的基础文本。适用于:任何与周期化、恢复、强度区间相关的内容。 - [文章:"我应该训练多少?": Greg Nuckols (Stronger By Science)](https://example.com) 基于证据的容量基准综述。适用于:每周每个肌肉群的组数目标。 - Network accessline 14
- [文章:"我应该训练多少?": Greg Nuckols (Stronger By Science)](https://example.com) - Network accessline 14
- [文章:"我应该训练多少?": Greg Nuckols (Stronger By Science)](https://example.com) - Network accessline 19
- [r/weightroom](https://reddit.com/r/weightroom) - Network accessline 19
- [r/weightroom](https://reddit.com/r/weightroom)
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 1 fact
- Contacts dashboard.stripe.com, which SKILL.md, the README and the plugin manifest do not mentionwizard/template.sh:210High confidence
Signal confidence: 134 facts
- Network access in prose of documentationask-matt/PHASE-BOUNDARIES.md:21Low confidence
- Network access in prose of the SKILL.mdask-matt/SKILL.md:40Low confidence
- Network access in prose of the SKILL.mdskills/engineering/diagnosing-bugs/SKILL.md:26Low confidence
- Network access in prose of the SKILL.mddiagnosing-bugs/SKILL.md:26Low confidence
- Network access in prose of the SKILL.mdskills/engineering/diagnosing-bugs/SKILL.md:27Low confidence
- Network access in prose of the SKILL.mddiagnosing-bugs/SKILL.md:27Low confidence
- Executable script in code of a file that runsskills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh:1High confidence
- Executable script in code of a file that runsdiagnosing-bugs/scripts/hitl-loop.template.sh:1High confidence
- Network access in code of a file that runsskills/engineering/diagnosing-bugs/scripts/hitl-loop.template.sh:34High confidence
- Network access in code of a file that runsdiagnosing-bugs/scripts/hitl-loop.template.sh:34High confidence
- Network access in code of documentationskills/engineering/improve-codebase-architecture/HTML-REPORT.md:11Low confidence
- Network access in code of documentationimprove-codebase-architecture/HTML-REPORT.md:11Low confidence
- Network access in code of documentationskills/engineering/improve-codebase-architecture/HTML-REPORT.md:12Low confidence
- Network access in code of documentationimprove-codebase-architecture/HTML-REPORT.md:12Low confidence
- Network access in code of documentationskills/engineering/improve-codebase-architecture/HTML-REPORT.md:13Low confidence
- Network access in code of documentationimprove-codebase-architecture/HTML-REPORT.md:13Low confidence
- Network access in code of documentationskills/engineering/improve-codebase-architecture/HTML-REPORT.md:14Low confidence
- Network access in code of documentationimprove-codebase-architecture/HTML-REPORT.md:14Low confidence
- Network access in code of documentationskills/engineering/improve-codebase-architecture/HTML-REPORT.md:15Low confidence
- Network access in code of documentationimprove-codebase-architecture/HTML-REPORT.md:15Low confidence
- Network access in prose of documentationskills/engineering/pr/CREDITS.md:3Low confidence
- Network access in prose of documentationpr/CREDITS.md:3Low confidence
- Network access in the frontmatter of the SKILL.mdskills/engineering/pr/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdpr/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdskills/engineering/pr/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdpr/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdskills/engineering/pr/SKILL.md:9Low confidence
- Network access in the frontmatter of the SKILL.mdpr/SKILL.md:9Low confidence
- Network access in prose of the SKILL.mdskills/engineering/setup-matt-pocock-skills/SKILL.md:44Low confidence
- Network access in prose of the SKILL.mdsetup-matt-pocock-skills/SKILL.md:44Low confidence
- Network access in prose of the SKILL.mdskills/engineering/setup-matt-pocock-skills/SKILL.md:45Low confidence
- Network access in prose of the SKILL.mdsetup-matt-pocock-skills/SKILL.md:45Low confidence
- Network access in prose of documentationskills/engineering/setup-matt-pocock-skills/issue-tracker-gitlab.md:3Low confidence
- Network access in prose of documentationsetup-matt-pocock-skills/issue-tracker-gitlab.md:3Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valueskills/engineering/tdd/mocking.md:32Low confidence
- Access to secrets in code of documentation: a variable, placeholder or call, not a stored valuetdd/mocking.md:32Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:42Low confidence
- Network access in code of documentationtdd/mocking.md:42Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:43Low confidence
- Network access in code of documentationtdd/mocking.md:43Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:44Low confidence
- Network access in code of documentationtdd/mocking.md:44Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:45Low confidence
- Network access in code of documentationtdd/mocking.md:45Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:46Low confidence
- Network access in code of documentationtdd/mocking.md:46Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:49Low confidence
- Network access in code of documentationtdd/mocking.md:49Low confidence
- Network access in code of documentationskills/engineering/tdd/mocking.md:50Low confidence
- Network access in code of documentationtdd/mocking.md:50Low confidence
and 84 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/engineering/ask-matt/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/engineering/ask-matt/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/engineering/ask-matt/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/engineering/ask-matt/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.