martinholovsky/SOTA-skills

GitHub: martinholovsky/SOTA-skills

一套包含 30 个领域技能的 Claude Code 技能库,将最先进的软件构建与审计实践编码为可按需路由加载的规则,让 AI 编程助手按照工程规范进行开发与代码审查。

Stars: 0 | Forks: 1

# SOTA 工程技能

Latest release CI status 30 skills BUILD + AUDIT License: CC BY 4.0

SOTA Engineering Skills — 30 Claude Code skills to build and audit software at state-of-the-art practices

**让你的 AI 编程助手像你最资深的工程师一样进行构建和审计。** 你的助手很聪明——它只是不知道你的标准。SOTA-skills 会教导它:这是一个 Claude Code 技能库,编码了用于构建**和**审计软件的最先进(2026年)实践,并且能验证其自身 主张。包含 30 个技能,216 个文件,约 46k 行代码——每个文件都在 500 行以内,因此 只有在你的任务需要时才会精准加载正确的规则,绝不会使 context 窗口变得臃肿。快速变动的声明(版本、规范、法规)会通过网络与原始来源进行核对;最后更新:2026-06-14。 两个全局性的部分存在于领域技能之外: - `skills/sota/rules/01-audit-methodology.md` —— 如何进行审计:范围界定与 参与规则、带有分流纪律的已验证静态分析工具矩阵、证据标准(每项发现都包含严重程度、工作量、 标准映射以及具体的修复建议),以及报告模板(执行摘要 → 发现 → 按单位努力的降低风险程度排序的修复路线图 → 正面观察)。 - `profiles/` —— 用户级别的技术栈配置(首选存储、身份验证、许可证 策略、项目触发器)。路由器将配置视为 BUILD 模式下的默认设置,以及 AUDIT 模式下的预期基线,从而使该库本身保持通用且可共享。 ## 结构 ``` skills/ sota/ # master router — start here SKILL.md # routing, operating principles, workflows rules/ 01-audit-methodology.md # how to audit: tooling, evidence, reporting sota-/ SKILL.md # when to use, BUILD/AUDIT workflows, # severity conventions, rules index, top-10 rules/ 01-.md # 150–320 lines each, ends with an 02-.md # executable Audit checklist ... profiles/ .md # personal stack defaults consulted by router ``` 每个技能都在两种模式下工作: - **BUILD** —— 在设计/编写代码时应用规则。 - **AUDIT** —— 审查现有代码;发现结果将输出为 `file:line | 违反的规则 | 严重程度 (Critical/High/Medium/Low/Info) | 工作量 (trivial/small/medium/large) | 修复建议`。 ## 技能 | 技能 | 涵盖范围 | |---|---| | `sota` | 主路由器:运行原则、任务→技能路由、全量审计工作流 + 审计方法(工具矩阵、证据标准、报告模板) | | `sota-architecture` | 架构风格与 ADR、DDD、分布式系统、弹性、可扩展性、云原生、反模式 | | `sota-code-security` | 注入、authn/authz、加密、Web 安全、资源安全、数据泄露、LLM 应用安全 | | `sota-threat-modeling` | STRIDE/LINDDUN、DFD 与信任边界、威胁目录、风险评估、模型重构 | | `sota-secrets-management` | 生命周期与工作负载身份、存储后端、应用模式、泄露检测、凭证类型 | | `sota-sandboxing` | 隔离边界、seccomp/Landlock/capabilities、容器/microVMs、解析器、AI-agent 沙箱化 | | `sota-performance` | 测量优先方法论、算法、内存、I/O 与网络、缓存、Web Vitals | | `sota-async-concurrency` | 并发模型、竞态/死锁、原语、event-loop 卫生、取消操作、背压 | | `sota-api-design` | REST/HTTP、版本控制、GraphQL、gRPC、websockets/SSE/realtime、webhooks、API 安全与运维 | | `sota-devsecops` | 流水线加固、SLSA/Sigstore 溯源、依赖项/SBOM、容器构建、IaC、准入控制 | | `sota-databases` | 建模与引擎选择、零停机迁移、索引、事务、可靠性、安全性、pgvector/Qdrant、SurrealDB | | `sota-frontend-design` | 排版/颜色、布局、设计系统、UX 模式、WCAG 2.2 无障碍设计、动效设计、视觉工艺 | | `sota-observability` | 结构化日志、指标、OpenTelemetry 链路追踪、SLOs 与告警、运维就绪 | | `sota-testing` | 测试策略与设计、测试替身/测试数据、契约测试、e2e、property/fuzzing/mutation、套件健康度 | | `sota-llm-engineering` | Evals、prompt/context 工程、RAG、agents 与工具、LLM 生产工程、数据生命周期 | | `sota-cloud-infrastructure` | 账户/landing zones、云 IAM、VPC/DNS/CDN 设置、计算选择、存储、FinOps、弹性与灾难恢复 | | `sota-kubernetes` | 集群平台安全:RBAC 与提权、准入控制、GitOps 控制器、operators/CRDs、etcd、Helm 供应链、多租户、Talos/k3s | | `sota-identity-access` | IdP 运维 (OIDC/SAML/SCIM)、RBAC/ABAC/ReBAC 设计、入职-调岗-离职流程、特权访问与破窗应急、SPIFFE、防钓鱼 MFA | | `sota-network-security` | 零信任与微隔离、NetworkPolicy 深度解析、service mesh/mTLS、egress 控制、WAF/边缘网络、DNS/TLS/PKI 与证书生命周期 | | `sota-detection-engineering` | 检测即代码 (Sigma/YARA/Falco)、SIEM 与遥测覆盖、告警调优/SOAR、威胁狩猎与情报、欺骗技术、事件响应 | | `sota-data-engineering` | 流水线与编排、流处理/CDC、lakehouse 与 Parquet、数据质量/契约、治理 | | `sota-privacy-compliance` | 数据清单、隐私保护设计、同意与用户权利、GDPR/CCPA/HIPAA/PCI/AI Act、SOC 2/ISO 27001、违规响应准备 | | `sota-mobile` | 平台/技术栈选择、离线优先与推送、移动端安全、性能预算、应用商店发布 | | `sota-cli-ux` | 命令/flag 设计、输出与 exit-code 契约、生命周期行为、分发 | | `sota-shell-scripting` | Bash 安全基线、健壮性、脚本安全、CI/entrypoint/Makefile 脚本 | | `sota-docs-workflow` | 文档架构、API 文档与变更日志、代码审查/PR 工作流、提交与发布 | | `sota-rust` | 所有权/API 设计、错误与 panic、unsafe 规范、tokio、供应链、性能、CI | | `sota-golang` | 错误处理、包设计、goroutine 安全、net/http 加固、安全性、pprof、CI | | `sota-python` | uv/ruff/typing、惯用法、asyncio、安全性、性能、FastAPI/Django/pytest | | `sota-javascript-typescript` | 严格 TS、惯用法、异步、Node 加固、安全性、打包/React 性能、测试 | ## 安装 **最简单的方式 —— 作为 Claude Code 插件**(安装所有技能,通过 `/plugin` 更新): ``` /plugin marketplace add martinholovsky/SOTA-skills /plugin install sota-skills@sota-skills ``` **或者 clone + link**(如果你想在本地检出代码以便阅读、修改或固定版本,这是最佳选择)。 技能会从 `.claude/skills/`(特定项目)或 `~/.claude/skills/` (个人,所有项目)中被发现。Clone 该仓库,然后运行安装程序——它会为 每个技能(以及你的 profile,如果有的话)建立软链接: ``` git clone https://github.com/martinholovsky/SOTA-skills && cd SOTA-skills ./scripts/install.sh # personal: ~/.claude/skills (all projects) ./scripts/install.sh --project DIR # one project: DIR/.claude/skills ./scripts/install.sh --copy # copy instead of symlink (pin a snapshot) ``` 不想用脚本?个人安装仅需: ``` mkdir -p ~/.claude/skills for d in skills/*/; do ln -sfn "$(pwd)/$d" ~/.claude/skills/"$(basename "$d")"; done ``` ### 更新 **插件安装:** 版本更新时会发布新版 —— `/plugin update sota-skills@sota-skills`(或 `/plugin marketplace update sota-skills`)。Git 托管的 marketplaces 也会在会话开始时进行检查。 **Clone 安装:** 因为链接是基于 symlink 的,**现有技能在你 pull 后就会立即更新** —— symlinks 已经指向了活跃文件,无需重新安装: ``` git -C /path/to/SOTA-skills pull ``` 想要同时获取**新增的**技能(仅靠 pull 无法链接到一个全新的 技能目录)并清理已移除技能的链接,请重新运行安装程序——或者一步到位: ``` ./scripts/install.sh --update # git pull --ff-only, then re-link ``` 它是幂等的:重新运行只会链接新内容并清理已移除的内容, 绝不会触碰它未创建的 symlinks。(使用 `--copy` 完成的快照安装 无法自动更新——重新运行安装程序即可刷新它们。) ### 常驻路由(推荐) 技能描述会根据每个 prompt 进行匹配,因此路由是按需启用的,并且取决于 你如何表述请求。要使技能应用于**每一个**会话, 无论措辞如何,请在 Claude Code 总能看到的地方固定路由指令。分为三个层级,最后一种最强: **1. 技术栈 profile。** 复制模板,填写你的技术栈,并将其 symlink 到 `~/.claude/`,这样路由器在每个项目中都能找到它(不仅仅是这个仓库): ``` cp profiles/example.md.template profiles/.md # edit it — profiles/*.md is git-ignored mkdir -p ~/.claude/profiles ln -sfn "$(pwd)/profiles/.md" ~/.claude/profiles/.md ``` **2. 全局指令。** `~/.claude/CLAUDE.md` 会被加载到每一个 会话、每一个项目中。添加一个路由强制规则,这样无需触发词就能应用技能: ``` # Global engineering 指令 For any task that builds, designs, refactors, debugs, reviews, or audits code — in any language or repo — consult the `sota` router skill first, load the matching `sota-*` skills, and apply their rules before acting. This holds even when I never say "SOTA" or "audit". Treat `~/.claude/profiles/.md` as the BUILD default and AUDIT baseline. Validate claims against primary sources and stop-and-ask on security-relevant choices. ``` **3.(可选)每次 prompt 的提醒。** 在长会话中,很多轮之前读取的指令可能会从 context 中消退。在 `~/.claude/settings.json` 中设置一个 `UserPromptSubmit` hook,即可在每次 prompt 时重新注入它: ``` { "hooks": { "UserPromptSubmit": [ { "hooks": [ { "type": "command", "command": "echo 'Route code tasks through the sota router and apply the matching sota-* skills; the profile is the stack baseline.'" } ] } ] } } ``` 没有任何机制能*强迫*模型运行技能——这三个层级都只是向其提供指令,由它 自行选择是否遵循。但结合起来,它们能让路由变得可靠, 而不再依赖于措辞。 ### 强制执行关卡 路由让模型去*应用*规则;为了无论谁(或什么)提交代码都能让规则生效,请将它们配置为 git hooks。`scripts/init-gates.sh` 会根据在目标仓库中找到的任何语言,生成一个符合 SOTA 标准的 `.pre-commit-config.yaml`: ``` cd /path/to/your/project /path/to/SOTA-skills/scripts/init-gates.sh # add --dry-run to preview first ``` 它会根据 manifest 和扩展名检测 Python / Go / Rust / JS-TS / shell,然后 写入每个技能所规定的精确工具 —— ruff·mypy·pytest·pip-audit, gofumpt·golangci-lint·govulncheck,clippy·cargo-audit,eslint·tsc·` audit`, shellcheck·shfmt,外加无处不在的 gitleaks。快速检查(lint、格式化、密钥扫描) 在 **commit** 时运行;繁重的检查(类型检查、测试、漏洞扫描)在 **push** 时运行 —— 这正是 `sota-python` 的 rules/01 §6 和 `sota-devsecops` 的 rules/05 所要求的,从而保持提交的 快速。 它是**幂等的**:在添加新语言后重新运行它,它只会重写 其 `# >>> sota-gates >>>` 标记之间的代码块,保留你自己添加的任何 hooks 不变。这些 hooks 会调用你项目自带的工具链,因此请安装 它在退出时列出的各语言特定工具(如果脚本无法运行,则执行 `pre-commit install`)。 ## 工作原理 Claude Code 会将你的 prompt 与每个技能的 frontmatter 描述进行匹配, 并自动加载相关内容——你不必指定技能名称。 显式指定(或使用 `sota` 路由器)只会让路由更明确。接下来: 1. 技能的 `SKILL.md` 会优先加载(工作流、严重程度约定, 及其 `rules/` 文件的索引)。只会读取与你任务匹配的 rules 文件—— 绝不会加载整个库。 2. **BUILD 模式** 会在编写代码时应用规则,并在展示之前根据每个已加载 rules 文件的 Audit checklist 对 diff 进行自我检查。 3. **AUDIT 模式** 会搜寻违规行为,并将发现结果报告为 `file:line | 规则 | 严重程度 | 工作量 | 修复建议`。全量审计遵循 `sota/rules/01-audit-methodology.md`(范围界定 → 资产盘点 → 工具配置 → 逐个领域扫描 → 生成包含优先级路线图的报告)。 4. 如果 `profiles/.md` 存在,其技术栈选择即为 BUILD 的默认设置和 AUDIT 的基线(任何偏差都会被标记)。 ## Prompt 示例 **构建:** **审计:** **限定范围与跨领域:** **维护该库:** ## 使用技巧 - **如果模棱两可,请说明模式** —— “audit”、“review”、“harden” 还是 “build”、 “add”、“design”。技能会根据这些动词进行触发。 - **明确界定审计范围**:针对哪个 commit/branch,仅静态检查还是 可以运行工具,时间预算(“仅限核心资产”)。否则,方法学文件会停下来向你询问。 - **提出你想要的报告格式** —— 默认情况下,全量审计会生成 执行摘要 → 按严重程度出的发现 → 按单位努力的降低风险程度排序的路线图 → 正面观察。 - **自由组合技术栈技能**:语言 + 领域(“sota-rust + sota-api-design 用于这个 axum 服务”)。当你只描述任务时,路由器会自动执行此操作。 - **重新验证任何对版本敏感的内容**:库中固定的数据截止于 上述最后更新日期;新鲜度优先原则要求 模型在固定版本之前进行网络核对——请坚持这一点。 ## 约定 - 每个 rules 文件都以一个 **Audit checklist**(是/否问题结束,通常 附带用于搜寻违规行为的 grep/lint 模式)。 - 随处可见的严重程度划分:**Critical**(可利用/数据丢失)· **High** (本迭代修复)· **Medium**(有限影响)· **Low**(日常规范)· **Info**(观察结果,无直接风险)。每项发现还附带一份**工作量**预估(trivial/small/medium/large),以便按单位努力的降低风险程度来安排修复顺序。 - 每个 SKILL.md 都包含一个 **top-10 不可妥协项** 列表 —— 无条件应用这些项;仅根据任务需要加载详细的 rules 文件。 - 处于边界的严重程度会说明判定时的假设;未确认的发现结果 被标记为“需要验证”,绝不作断定。 ## 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。简短版本是:保持技能的通用性, 对照原始来源验证快速变动的声明,确保每个文件 ≤ 500 行, 并在每个 rules 文件末尾附上审计 checklist。这些由 `scripts/check-invariants.sh`(pre-commit + CI)以及 gitleaks 强制执行。安全问题和行为准则: [SECURITY.md](SECURITY.md),[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。 ## 许可证 © 2026 Martin Holovsky。采用 [CC BY 4.0](LICENSE) —— 知识共享 署名 4.0 国际许可协议授权。可自由使用、改编和分享(包括 商业用途);只需注明出处:*“SOTA Engineering Skills by Martin Holovsky, CC BY 4.0.”* `profiles/` 存放个人技术栈配置,除了 `profiles/example.md.template` 外均被 git-ignored —— 将其复制到 `profiles/.md` 并进行编辑; 你的真实 profile 会保留在本地,永远不会被提交。
标签:AI编程助手, Claude Code, CLI应用, Cutter, SOC Prime, 云安全监控, 开发工具, 开发规范, 数据管道, 网络安全研究, 软件工程, 防御加固, 静态分析