/ 目录 / 演练场 / mattpocock/skills
● 社区 mattpocock ⚡ 即开即用

mattpocock/skills

作者 mattpocock · mattpocock/skills

Matt Pocock 的个人 .claude 目录——来自 TypeScript 大佬的有主见的 TS、测试和工作流 skills。

TypeScript 教育者、Total TypeScript 创始人 Matt Pocock 公开了自己的 Claude Code skills 目录。包含 TS 特定模式、测试哲学、重构模式和工作流见解。这不是一个通用合集——而是一位工程师真实使用的配置。

为什么要用

核心特性

实时演示

实际使用效果

就绪

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mattpocock-skills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/mattpocock/skills",
        "~/.claude/skills/skills"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mattpocock-skills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/mattpocock/skills",
        "~/.claude/skills/skills"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mattpocock-skills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/mattpocock/skills",
        "~/.claude/skills/skills"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mattpocock-skills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/mattpocock/skills",
        "~/.claude/skills/skills"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mattpocock-skills-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/mattpocock/skills",
        "~/.claude/skills/skills"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "mattpocock-skills-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/mattpocock/skills",
          "~/.claude/skills/skills"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add mattpocock-skills-skill -- git clone https://github.com/mattpocock/skills ~/.claude/skills/skills

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: mattpocock/skills

将 Matt 的 TS 模式应用于现有项目

👤 希望提升代码质量的 TypeScript 开发者 ⏱ ~90 min intermediate

何时使用: 你的项目里满是 any 和将就的类型,你想做一次有原则的清理。

前置条件
  • Skills 已安装 — git clone https://github.com/mattpocock/skills ~/.claude/skills/mattpocock
步骤
  1. 扫描
    使用 mattpocock/ts-review。扫描 /src,列出每一个 any、每一个不安全的类型断言、每一个类型漏洞。按文件分组。✓ 已复制
    → 逐条列出的发现,不是摘要
  2. 按原则修复
    修复前 20 个,每处采用最小改动。遵守 Matt 的「优先推断」原则——TypeScript 能推断的,不要显式标注。✓ 已复制
    → 最小化 diff,类型安全性提升
  3. 检查
    运行 tsc --noEmit。有没有回归?✓ 已复制
    → 编译通过,或精确范围内的剩余问题

结果: 一个可量化的更类型安全的代码库,遵循有原则的方法论。

注意事项
  • Skill 应用了 Matt 的某些观点,但你的团队不认同(如 interface vs type) — 用 prompt 覆盖:「跳过 interface-vs-type 转换,保持现有风格」
搭配使用: filesystem

用 Matt 的方式,测试先行地开发一个功能

👤 希望采用更多测试先行工作流的开发者 ⏱ ~60 min intermediate

何时使用: 你有一个新功能要开发,想用现代 TS 工具尝试测试先行的方式。

步骤
  1. 写测试
    使用 mattpocock/test-first。我要添加一个 parseInvoice 函数。在任何实现之前先写测试(vitest,偏集成测试)。✓ 已复制
    → 使用真实 fixture 的失败测试
  2. 实现
    现在最小实现。类型安全,不用 any✓ 已复制
    → 测试通过,类型干净
  3. 重构
    应用 skill 中的重构模式——值得提取的才提取 helper,不做提前抽象。✓ 已复制
    → 只在满足 skill 标准的地方进行重构

结果: 一套测试行为的测试集、一个满足测试的实现,以及对重构的克制。

注意事项
  • 观点与团队现有 Jest 配置冲突 — 让 skill 适配——它有主见,但可以被重新定向
搭配使用: filesystem

组合

与其他 MCP 搭配,撬动十倍杠杆

mattpocock-skills-skill + filesystem

应用于整个仓库

对整个 /src 目录树运行 ts_review 并报告。✓ 已复制
mattpocock-skills-skill + github

每次审查开一个 PR

对前 3 个清理项,各开一个 PR 并附清晰描述。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
ts_review path TS 专项审计 0
test_first feature_spec 开始一个新功能 0
refactor_with_types path, goal 保持类型安全的重构 0

成本与限制

运行它的成本

API 配额
N/A
每次调用 Token 数
审查是读取密集型的——大型代码库需要预留足够的 token 预算
费用
免费
提示
先按目录限定范围;不要一次扫描全部

安全

权限、密钥、影响范围

最小权限: filesystem-read
凭据存储:
数据出站:

故障排查

常见错误与修复

Skill feels too opinionated

这就是它的设计初衷——在 prompt 中覆盖特定观点,或 fork 后自行编辑

Recommendations conflict with team style

把输出分享给团队;把它作为讨论的起点,而非强制命令

Doesn't know my niche library

Skills 是 TS 通用的——把你的库文档放到上下文开头

替代方案

mattpocock/skills 对比其他方案

替代方案何时用它替代权衡
Your team's linter config你需要 CI 级别的强制规则,而非交互式审查没有 LLM 推理,没有重构帮助
Biome / ESLint with typescript-eslint你想要基于规则、确定性的方案不像 Matt 的 skills 那样解释推理

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills