jefflester/claude-skills-supercharged

GitHub: jefflester/claude-skills-supercharged

为 Claude Code 构建的 AI 驱动技能自动注入系统,通过 Haiku 模型分析提示词并智能加载相关技能上下文,消除手动调用技能的繁琐流程。

Stars: 37 | Forks: 3

# Claude 技能强化 [![Tests](https://img.shields.io/badge/tests-passing-brightgreen)](https://github.com/jeffleeter/claude-skills-supercharged) [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](https://www.typescriptlang.org/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Claude Code](https://img.shields.io/badge/Claude%20Code-Skills-purple)](https://code.claude.com/docs/en/skills) **面向 [Claude Code Skills](https://code.claude.com/docs/en/skills) 的 AI 驱动技能自动注入系统** **停止手动调用技能。** 让 AI 检测您的需求并以 95%+ 的准确率自动注入。该系统使用 Claude Haiku 4.5 分析您的提示词,分配置信度分数,并智能地加载正确的上下文——每次都是如此。 ## 📊 性能概览 | 指标 | 数值 | |--------|-------| | ✅ 测试覆盖率 | **所有测试通过** | | ⚡ 响应时间 | **<10ms** (已缓存) / ~200ms (首次调用) | | 💰 每月成本 | **$1-2** (按每天 100 次提示计算) | | 🎯 准确率 | **95%+** 技能检测率 | ## 🎯 为什么选择这个? **问题所在:** 手动加载技能既繁琐又容易出错,还会打断您的工作流。您会忘记存在哪些技能,浪费时间调用它们,并在对话之间丢失上下文。 **解决方案:** 该系统使用 AI 自动执行以下操作: - 🔍 使用 Claude Haiku 4.5 **分析**您的提示词意图 - 📊 为每个技能的相关性**评分**(0.0-1.0 置信度) - 🚀 自动将高置信度技能(>0.65)**注入**到上下文中 - 💾 **缓存**结果 1 小时以降低成本 - 🔗 **追踪**每个会话已加载的技能(无重复) **以前:** “让我手动加载 python-best-practices……等等,是 python-style 吗?让我查一下……” **现在:** 只需说“帮我写 Python 代码”,正确的技能就会自动加载。🎉 ## 📑 目录 - [功能特性](#-features) - [快速开始](#-quick-start) - [工作原理](#-how-it-works) - [内置技能](#-included-skills) - [架构](#-architecture) - [创建自定义技能](#%EF%B8%8F-creating-custom-skills) - [保持技能更新](#-keeping-skills-updated) - [配置](#%EF%B8%8F-configuration) - [测试](#-testing) - [故障排除](#-troubleshooting) - [文档](#-documentation) - [常见问题](#-faq) ## ✨ 功能特性 - 🤖 **AI 驱动的意图分析** — Claude Haiku 4.5 分析您的提示词,以 0.0-1.0 的置信度评分检测相关技能 - ⚡ **自动注入** — 高置信度技能(>0.65)自动加载到上下文中 - 💾 **智能缓存** — 1 小时 TTL 降低 API 成本(约 $1-2/月)并改善响应时间(缓存时 <10ms) - 🔄 **会话追踪** — 技能每次对话仅注入一次,无重复 - 🔗 **双向亲和性** — 相关技能自动一起加载 - 📚 **渐进式披露** — 主技能文件在 500 行以下,详细内容位于资源中 - 🛡️ **护栏技能** — 强制执行关键最佳实践(例如 API 安全、输入验证) - ✅ **全面测试** — 注入管道的全覆盖 ## 🚀 快速开始 ### 1. 克隆仓库 ``` git clone https://github.com/jefflester/claude-skills-supercharged.git cd claude-skills-supercharged ``` ### 2. 安装依赖 ``` cd .claude/hooks npm install ``` ### 3. 配置 API Key ``` cp .env.example .env # 编辑 .env 并添加: ANTHROPIC_API_KEY=sk-ant-your-key-here ``` 从以下地址获取您的 API Key:https://console.anthropic.com/ ### 4. 测试系统 ``` # 测试 skill 激活 echo '{"session_id":"test","prompt":"I need to write Python code"}' | \ npx tsx skill-activation-prompt.ts ``` ### 5. (可选) 设置 Pre-commit Hooks ``` # 安装 pre-commit pip install pre-commit # or: brew install pre-commit # 安装 git hooks pre-commit install # 在所有文件上运行 (可选) pre-commit run --all-files ``` ### 6. 配合 Claude Code 使用 当您在此项目中使用 Claude Code 时,系统会自动激活。尝试以下提示词: - "Help me write a Python function" → 加载 `python-best-practices` - "I need to add a REST API endpoint" → 加载 `api-security` - "How do I write a good commit message?" → 加载 `git-workflow` 您将看到一个横幅,显示已加载的技能: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📚 AUTO-LOADED SKILLS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [Skill content automatically injected...] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` ## 🔧 工作原理 技能系统使用 **7 阶段注入管道**: ``` ┌─────────────────────────────────────────────────────────────┐ │ 1. User Prompt │ │ "Help me write Python code" │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 2. Intent Analysis │ │ • AI Analysis (Claude Haiku 4.5) │ │ • Keyword Fallback (if API unavailable) │ │ • Cache Check (MD5 hash, 1-hour TTL) │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 3. Confidence Scoring │ │ python-best-practices: 0.92 Required (>0.65) │ │ git-workflow: 0.58 Suggested (0.50-0.65) │ │ api-security: 0.12 Ignored (<0.50) │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 4. Skill Filtration │ │ • Remove already-loaded skills │ │ • Apply 2-skill injection limit │ │ • Promote suggested skills if slots available │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 5. Affinity Injection │ │ • Load bidirectionally-related skills │ │ • Free of slot cost (bonus injections) │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 6. Dependency Resolution │ │ • Resolve requiredSkills dependencies │ │ • Sort by injectionOrder (0-100) │ │ • Detect circular dependencies │ └────────────────────┬────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 7. Skill Injection & State Management │ │ • Read SKILL.md files │ │ • Wrap in XML tags │ │ • Track loaded skills (prevent duplicates) │ │ • Output enriched context to Claude │ └─────────────────────────────────────────────────────────────┘ ``` ### 核心概念 **意图分析**:Claude Haiku 4.5 分析您的提示词以确定您想要做什么,并为每个技能分配置信度分数。 **置信度阈值**: - **>0.65** - 必需(自动注入) - **0.50-0.65** - 建议(显示为可选) - **<0.50** - 忽略 **技能类型**: - **领域技能**:提供全面指导(例如 `python-best-practices`) - **护栏技能**:强制执行关键实践(例如 `api-security`) **会话追踪**:技能按对话进行追踪。一旦加载,它们就不会在同一次对话中再次注入。 **缓存**:意图分析结果使用(提示词 + 技能配置)的 MD5 哈希缓存 1 小时。 ## 🎓 内置技能 ### 1. skill-developer 指导技能系统的创建和管理的领域技能。 **涵盖**:技能结构、触发器、钩子、500 行规则、渐进式披露 ### 2. python-best-practices (领域) Python 开发最佳实践。 **涵盖**:PEP 8、类型提示、NumPy 文档字符串、常见模式、测试 ### 3. git-workflow (领域) Git 工作流和版本控制最佳实践。 **涵盖**:约定式提交、分支、PR、常见操作、安全 ### 4. api-security (护栏) API 安全和漏洞防护。强制执行安全检查。 **涵盖**:身份验证、输入验证、SQL 注入、XSS、OWASP Top 10 ## 🏗️ 架构 该系统基于三个主要组件构建: 1. **Hook 系统** (`.claude/hooks/`) - 分析提示词的 `UserPromptSubmit` hook - 处理注入管道的 13 个 TypeScript 模块 - 全面的测试套件(11 个测试文件) 2. **技能** (`.claude/skills/`) - 带有 YAML frontmatter 的 `SKILL.md` 文件 - 用于详细内容的资源目录 - `skill-rules.json` 配置 3. **配置** - `skill-rules.json`:定义所有技能和触发器 - `intent-analysis-prompt.txt`:AI 分析模板 - `.env`:API Key 配置 有关详细的架构文档,请参阅 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 🛠️ 创建自定义技能 创建新技能很简单: ### 1. 创建技能目录 ``` mkdir -p .claude/skills/my-skill/resources ``` ### 2. 创建 SKILL.md ``` --- name: my-skill description: Brief description of what this skill does --- # 我的 Skill ## 目的 What this skill helps with... ## 何时使用此 Skill When it should activate... [Your content here - keep under 500 lines] ``` ### 3. 添加到 `skill-rules.json` ``` { "my-skill": { "type": "domain", "autoInject": true, "requiredSkills": [], "description": "Brief description", "promptTriggers": { "keywords": ["keyword1", "keyword2"] } } } ``` ### 4. 测试激活 ``` echo '{"session_id":"test","prompt":"mention keywords here"}' | \ npx tsx .claude/hooks/skill-activation-prompt.ts ``` 如需全面指导,请参阅 [docs/CREATING-SKILLS.md](docs/CREATING-SKILLS.md) 或加载 `skill-developer` 技能。 ## 🔄 保持技能更新 随着代码库的发展,您的技能需要保持同步。使用 **`/wrap` 命令** 来维护技能的准确性: ``` # 当你完成编码会话时 /wrap ``` **`/wrap` 的作用:** - 🔍 **分析**最近的代码更改和新模式 - 📝 **更新**技能文档以反映当前代码库状态 - 🎯 **根据**实际使用情况优化关键词和触发器 - ✅ **确保**测试覆盖新功能 - 📚 **将**示例和最佳实践与实现同步 **工作流示例:** 1. 构建新功能(例如,添加身份验证端点) 2. 完成后运行 `/wrap` 3. 系统使用您的身份验证模式更新 `api-security` 技能 4. 更新关键词以包含您特定的身份验证方法 5. 从您的实际实现中添加示例 这个**持续维护循环**使技能随着代码库的增长保持相关性和准确性。准确反映您当前代码的技能更有可能在正确的时间被触发。 ## ⚙️ 配置 ### 更改 AI 模型 通过环境变量设置用于意图分析的模型(默认为 `claude-haiku-4-5`): ``` # 在 .claude/hooks/.env 中 CLAUDE_SKILLS_MODEL=claude-sonnet-4-5 # Use Sonnet for more accurate analysis ``` 可用模型: - `claude-haiku-4-5`(推荐:快速、便宜、准确) - `claude-sonnet-4-5`(能力更强,成本更高) - `claude-opus-4`(能力最强,成本最高) ### 调整置信度阈值 所有阈值都可以通过环境变量配置(在 `.claude/hooks/.env` 中设置): ``` # 在 .claude/hooks/.env 中 SKILL_CONFIDENCE_THRESHOLD=0.65 # Auto-inject threshold (default: 0.65) SKILL_SUGGESTED_THRESHOLD=0.50 # Suggested threshold (default: 0.50) SKILL_SHORT_PROMPT_WORDS=6 # Skip AI for prompts under N words (default: 6) SKILL_CACHE_TTL_MS=3600000 # Cache TTL in ms (default: 1 hour) ``` 或在 `.claude/hooks/lib/constants.ts` 中编辑默认值: ``` export const CONFIDENCE_THRESHOLD = 0.65; // Auto-inject export const SUGGESTED_THRESHOLD = 0.50; // Suggest export const MAX_REQUIRED_SKILLS = 2; // Max required skills per prompt export const MAX_SUGGESTED_SKILLS = 2; // Max suggested skills per prompt ``` ### 调整缓存 TTL 通过环境变量(推荐): ``` SKILL_CACHE_TTL_MS=3600000 # 1 hour in milliseconds ``` 或编辑 `.claude/hooks/lib/constants.ts`: ``` export const CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour ``` ### 启用调试模式 ``` export CLAUDE_SKILLS_DEBUG=1 tail -f .claude/hooks/skill-injection-debug.log ``` ## 🧪 测试 运行全面的测试套件: ``` cd .claude/hooks npm test ``` 测试覆盖范围包括: - 带缓存的意图分析 - 技能过滤和亲和性注入 - 依赖解析 - 会话状态管理 - 输出格式化 - Schema 验证 ## 🔍 故障排除 ### 技能未激活 ``` # 检查配置 cat .claude/skills/skill-rules.json # 手动测试 echo '{"session_id":"test","prompt":"python"}' | \ npx tsx .claude/hooks/skill-activation-prompt.ts # 启用 debug 模式 export CLAUDE_SKILLS_DEBUG=1 # 检查 debug 日志 tail -f .claude/hooks/skill-injection-debug.log ``` ### API Key 问题 ``` # 验证 .env 文件 cat .claude/hooks/.env # 测试 API key curl -H "x-api-key: $ANTHROPIC_API_KEY" \ https://api.anthropic.com/v1/messages ``` ### 清除缓存 ``` # 清除 intent analysis 缓存 rm -rf .cache/intent-analysis/ # 清除 session state rm -rf .claude/hooks/state/ ``` ## 📚 文档 - [入门指南](docs/GETTING-STARTED.md) - 逐步设置 - [架构文档](docs/ARCHITECTURE.md) - 系统设计和 内部机制 - [创建技能指南](docs/CREATING-SKILLS.md) - 如何编写自定义技能 - [Hooks README](.claude/hooks/README.md) - Hook 系统文档 - [Skills README](.claude/skills/README.md) - 技能系统概述 ## 🤝 贡献 欢迎贡献!这是一个用于构建技能系统的模板/框架。 请随意: - 添加新的示例技能 - 改进文档 - 增强意图分析提示词 - 向 Hook 系统添加新功能 - 报告错误或提出改进建议 ## 📄 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE)。 ## 🙏 致谢 为 Claude Code 社区构建。灵感来自于在 AI 辅助开发工作流中对自动、智能上下文加载的需求。 特别感谢 [@diet103](https://github.com/diet103) 提供的基础参考 架构。 ## ❓ 常见问题 **问:这能与其他 AI 助手一起使用吗?** **答**:技能系统是 Claude Code Hook 系统专用的。但是,该 概念可以适配到其他工具。 **问:API 使用成本是多少?** **答**:使用 Claude Haiku 4.5,按每天 100 次提示计算,约为 $1-2/月。 缓存显著降低了成本。 **问:我可以在没有 AI 分析的情况下使用吗?** **答**:可以!将 `ANTHROPIC_API_KEY` 设置为空,系统将回退到 关键词匹配。 **问:如何禁用技能?** **答**:在 `skill-rules.json` 中设置 `autoInject: false` 或完全移除该 技能。 **问:什么是 500 行规则?** **答**:技能应保持在 500 行以下,以便 Agent 进行最佳处理。使用 渐进式披露(资源文件)来存放详细内容。 **问:技能可以依赖其他技能吗?** **答**:可以!在 `skill-rules.json` 中使用 `requiredSkills` 数组来指定 依赖关系。 **问:`requiredSkills` 和 `affinity` 有什么区别?** | 方面 | `requiredSkills` | `affinity` | |--------|---------------|----------| | **目的** | 硬性依赖 | 互补技能 | | **方向** | 仅单向 | 双向(双方) | | **槽位消耗** | 计入 2 个技能限制 | **免费** - 额外注入 | | **使用场景** | “技能 A 需要 B 才能工作” | “技能搭配使用效果更佳” | - 将 **`requiredSkills`** 用于强制性依赖(例如,高级技能 需要基础技能) - 将 **`affinity`** 用于互补的相关技能(使用 1-2 个槽位 加载 3 个以上技能) **问:如何查看加载了哪些技能?** **答**:查看 Claude 响应开头的 "📚 AUTO-LOADED SKILLS" 横幅。
标签:AI编程助手, Claude Code, Claude Haiku, DLL 劫持, MITM代理, Prompt分析, TypeScript, 上下文感知, 上下文管理, 大语言模型, 安全插件, 工作流自动化, 开发效率工具, 意图识别, 成本优化, 技能系统, 智能路由, 缓存机制, 自动化攻击, 自动注入, 评分系统