Skip to content

AI Skills

Skills 是写给 AI 看的说明书——告诉它在什么场景该用哪个 MCP 工具。零代码、零安装,加一段配置 AI 就能用上 crt.sh 全部能力。

skills/7 个 SKILL.mdAI 说明书零安装

接入 Claude Code(零安装)

flowchart LR C["~/.claude/settings.json
加一段 mcpServers 配置"] --> R["Claude Code 启动时拉起 mcp-server"] R --> SK["加载 skills/ 目录"] SK --> RD["AI 读 SKILL.md description"] RD --> READY["AI 就绪:会用全部 20 工具"]
json
{
  "mcpServers": {
    "crt-sh-skills": {
      "command": "go",
      "args": ["run", "github.com/cyberspacesec/crt.sh-skills/cmd/mcp-server@latest", "--transport", "stdio"]
    }
  }
}

配好后直接对 AI 说:

自然语言 → 工具调用
用户› 帮我查 example.com 的证书,排除过期的
AI› 调用 search_certificates(query=example.com, exclude_expired=true)
AI› 找到 42 条未过期证书,最早签发于…

为什么需要 Skills

光有 MCP 工具,AI 不一定知道"何时用、怎么用"。Skills 补这一层:

flowchart TD Q["用户问题"] --> AI["AI 思考"] AI --> R1{"该用哪个工具?"} R1 -->|"匹配 SKILL.md description"| SK["激活 crtsh-search skill"] SK --> R2{"参数怎么填?"} R2 -->|"读 SKILL.md 用法 + allowed-tools"| T["正确调用 MCP 工具"] T --> SDK["SDK"] SDK --> CRT["crt.sh"] CRT --> ANS["AI 用自然语言总结"]

description 是触发器,allowed-tools 是边界

SKILL.md 的 description 是 AI 判断"现在该不该激活这个 skill"的依据;allowed-tools 限定它能调用哪些工具,防止越权。

7 个 Skill 各管一摊

🔎crtsh-search
搜 CT 日志、域名、子域、SSL 证书、SHA 指纹
📜crtsh-cert
取证书/CA 详情、按 ID 查、查吊销
🏛️crtsh-ca
调查 CA、issuer_ca_id、CA 披露、根属主
🔗crtsh-chain
证书结构、ASN.1、层级、关系图、CT 条目、路径校验、PEM、add-chain
crtsh-compliance
合规、lint、OCSP、PKI Meta、吊销信号、OneCRL
🛰️crtsh-intel
发现能力、高级搜索、信息页、CT 日志、OCSP 响应器、人口统计、Censys
📡crtsh-monitor
监控、Atom 订阅、原始导出、周期性观察、下游管道

Skill 的内部结构

flowchart TD SK["SKILL.md
精简入口 < 500 行"] -->|AI 默认只读这个| USE["name + description + allowed-tools + 用法"] SK -->|判断需要深入| REF["references/
按需加载重内容"] REF --> R1["选项表 / schema"] REF --> R2["示例 / 排错"] SK -.->|回归测试| EV["evals/evals.json
prompt + 期望输出"]
skills/crtsh-search/
├── SKILL.md              # 入口:name + description + allowed-tools + 用法
├── evals/evals.json      # 回归测试:prompt + 期望输出
└── references/           # 长内容(按需加载)
    ├── certificate-reference.md
    └── installation.md

canonical 与镜像

skills/ 是权威源,.claude/skills/ 是逐字节镜像(供 Claude Code 项目本地用)。改完跑:

一键校验与同步
$ ./scripts/check-skills.sh
✓ 重新生成 manifest/catalog
✓ 同步 .claude/skills/ 镜像
✓ 校验 frontmatter / eval / 行数 / 引用路径
✓ 校验 allowed-tools 与已注册 MCP 工具一致
✓ 严格 eval 覆盖审计

与代码的同步契约

加一个 crt.sh 能力后,Skills 的更新路径:

硬约束

audit-skills-coverage.sh --strict-evals 确保每个注册 MCP 工具都被某 eval 提及——能力真的暴露给了 AI,不是只在代码里注册了个名字。

其他 AI 工具

Skills 的 SKILL.md 是 Anthropic 风格的 Markdown,任何支持该格式的 AI 工具(Cursor、Windsurf 等)都可直接消费 skills/ 目录。MCP server 本身则对任何 MCP 兼容客户端通用。

接下来

部署