作者总结了5个自定义skill(tdd-workflow、合同校验等),让Claude Code在生产工程中更可控,减少幻觉和破坏性变更。
当使用 Claude Code 和自主 Agent 架构构建软件时,仅依赖通用对话式提示词很快就会遇到瓶颈。随着代码库规模扩大,缺乏结构化指令的 Agent 容易做出破坏性修改、跳过边界情况测试,或者虚构出不存在的 API 参数。为了将 Claude Code 打造成可用于生产环境的工程搭档,我开发了一套模块化的自定义 Agent Skills 架构。每项 Skill 都像一份聚焦的操作手册,包含严格的约束条件、Schema 校验和验证循环。
以下这 5 项基础 Skills 每周为我的生产工程节省超过 10 小时——附带真实的架构蓝图和实现代码。
自主 Agent 往往急于先写业务逻辑,导致隐蔽的回归问题和未被追踪的边界情况。tdd-workflow Skill 强制 Agent 遵循严格的 Red-Green-Refactor 三阶段循环。
工作流程运作方式:
Red 阶段:Claude 在 tests/ 下创建测试文件,执行测试运行器(vitest、pytest 或 bun test),确认测试失败后再编写任何业务逻辑。
Green 阶段:Agent 编写最少的实现代码,使所有测试变绿。
Refactor 阶段:执行 AST 级别的清理,消除重复抽象,确保分支覆盖率达到 80% 以上。
// Example: Test-first contract generated by the tdd-workflow skill
import { describe, it, expect, vi } from 'vitest';
import { executeAgentTask } from '../src/agentRunner';
describe('executeAgentTask', () => {
it('should enforce idempotency and reject duplicate task IDs', async () => {
const taskId = 'task-uuid-1234';
const payload = { type: 'RAG_QUERY', query: 'PostgreSQL HNSW tuning' };
const firstRun = await executeAgentTask(taskId, payload);
expect(firstRun.status).toBe('SUCCESS');
// Duplicate execution with same idempotency key must be rejected
await expect(executeAgentTask(taskId, payload)).rejects.toThrow('DuplicateTaskIdError');
});
});
在引入 REST 端点、tRPC 路由或 MCP 远程工具之前,该 Skill 会先解析现有的类型定义和 Zod/Pydantic Schema。它能防止公开接口契约被破坏,并强制执行严格的运行时校验。
严格的 Schema 定义:
import { z } from 'zod';
export const AgentExecutionRequestSchema = z.object({
executionId: z.string().uuid(),
tenantId: z.string().min(3),
actionType: z.enum(['HYBRID_SEARCH', 'DATA_EXTRACT', 'DOCUMENT_OCR']),
parameters: z.record(z.unknown()),
idempotencyKey: z.string().min(16),
maxBudgetUsd: z.number().positive().max(5.0),
});
export type AgentExecutionRequest = z.infer<typeof AgentExecutionRequestSchema>;
在将任何任务标记为完成或创建 Pull Request 之前,该 Skill 会触发一次内部对抗性审查。它会对代码进行压力测试,检查以下静默失败模式:
资源泄漏:数据库连接、文件句柄和流读取器是否在 finally 块中正确释放?
并发危险:状态更新期间是否存在竞态条件?
安全边界:用户输入在到达 SQL 查询或 Shell 执行之前是否经过严格净化?
标准向量搜索经常在精确关键词查询(SKU、UUID、错误代码、领域术语)上失效。该 Skill 提供了在 PostgreSQL(pgvector)内部将稠密语义嵌入与稀疏 BM25 全文搜索相结合的蓝图,使用 Reciprocal Rank Fusion(RRF)进行结果融合。
-- Hybrid Vector Search with Reciprocal Rank Fusion (RRF)
WITH dense_search AS (
SELECT id, rank() OVER (ORDER BY embedding <=> $1) as r_rank
FROM enterprise_documents
LIMIT 50
),
sparse_search AS (
SELECT id, rank() OVER (ORDER BY ts_rank_cd(search_vector, plainto_tsquery($2)) DESC) as k_rank
FROM enterprise_documents
WHERE search_vector @@ plainto_tsquery($2)
LIMIT 50
)
SELECT
COALESCE(d.id, s.id) as id,
COALESCE(1.0 / (60 + d.r_rank), 0.0) + COALESCE(1.0 / (60 + s.k_rank), 0.0) as fusion_score
FROM dense_search d
FULL OUTER JOIN sparse_search s ON d.id = s.id
ORDER BY fusion_score DESC
LIMIT 10;
该 Skill 自动为每一次 LLM 执行步骤注入结构化 JSON 日志、Token 成本计量和延迟追踪。
结构化日志输出示例:
{
"timestamp": "2026-08-29T16:15:30.120Z",
"level": "INFO",
"agent_id": "langgraph-lead-qualifier",
"step": "TOOL_EXECUTION",
"tool_name": "pgvector_hybrid_search",
"latency_ms": 42,
"tokens_in": 1240,
"tokens_out": 380,
"cost_usd": 0.0048,
"status": "SUCCESS"
}
⭐️ Open-Source Starter Kit(5 项基础 Skills):在 GitHub 上获取开源仓库 github.com/yevhens-hue/claude-skills-starter-kit
📦 Complete 84-Skill Production Engineering Pack:在 Gumroad 上访问完整集合 shaforostov5.gumroad.com/l/njzfuo(使用折扣码 LAUNCH20 可享 8 折优惠)。
你在日常 Agent 工作流中使用哪些自定义 Skills 或架构护栏?请在评论区分享你的设置!