Skip to content

Latest commit

 

History

209 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Skills 仓库

AI 编码代理技能和语言规范的文档仓库,为多个 AI 编码工具提供统一的技能定义。

重要前提

环境变量配置是必须的:在使用任何脚本前,必须设置 AI_SPEC_ROOT 环境变量指向本仓库的根目录。

为什么需要环境变量

  • 支持符号链接部署到任意目录
  • 允许仓库移动到不同位置
  • 简化脚本调用,无需指定完整路径
  • 统一资源文件定位方式

所有脚本和模板都使用 ${AI_SPEC_ROOT} 引用资源文件,不再使用硬编码路径。

可用技能

核心技能库

技能 描述
code-review 多语言代码审查(Java/Kotlin/Python/C++/Rust/JS/ANSI C)+ 数据库审查
code-deconstruct 源代码解构为设计文档、ER图、内存/网络分析
requirement-collect 源代码解构为需求文档
code-detect-problem 项目问题侦测、评分、重构/重建方案
code-detect-dup 代码重复度检测(Simian + JSCPD)
code-refactor 重构方法论
code-part-modification 局部代码修改:最小化修改完成功能,确保无蝴蝶效应,支持独立测试验证
lets-loop 循环调度组合技能的通用框架
long-term-task 长任务执行:理解、澄清、计划、连续执行
full-analysis 完整分析流程:设计解构→代码审查→重复检测→问题侦测→定性评估
qualitative-assessment 系统定性评估:基于全面分析输出,从设计、开发、运维、非功能等维度总结系统性质
md2pdf Markdown 转 PDF 工具,支持 Mermaid 和 PlantUML 图表自动渲染
merge-agents-md 合并语言模板到项目 AGENTS.md
sql-extract SQL抽取:从C++/Java/XML源代码中抽取内嵌SQL语句,识别SQL拼接点
memrec AI记忆持久化:跨会话记忆存储、检索、项目隔离、混合检索(KNN+BM25)

静态分析工具

技能 描述
cpp-check Cppcheck 静态分析:C/C++ 代码质量检测(缺陷、未定义行为、安全漏洞)
cpp-clang-tidy Clang-Tidy 静态分析:C/C++ 代码质量检测(基于 Clang AST,支持自动修复)
cpp-tscancode TscanCode 静态分析:腾讯开源 C/C++ 代码检测工具
shell-check ShellCheck 静态分析:Shell 脚本代码质量检测(语法错误、潜在缺陷、代码风格)
rust-clippy Clippy 静态分析:Rust 代码质量检测(错误、风格、性能、安全),支持 cargo fix 自动修复
java-check-spotbugs SpotBugs静态分析:Java代码缺陷和安全漏洞检测
java-check-pmd PMD静态分析:Java代码质量、编码规范和安全问题检测
ast-grep-block 基于 ast-grep 的代码审查门禁:code-checklist 规则集分级扫描 Java/C++/ANSI C

Java开发工具

技能 描述
java-env Java 环境信息
java-compile Java 编译指引
java-g2m Gradle 转 Maven
java-gen-unittest Java 单元测试生成
java-asprof Java 性能分析(async-profiler)
jmh-bench JMH 基准测试
java-coverage Java测试覆盖率提升策略:80%+行覆盖/60%+分支覆盖,支持增量/全量测试

性能分析工具

技能 描述
gdb-heap-analysis GDB堆内存分析:core dump中的glibc ptmalloc内存泄漏/arena分析
rust-flamegraph Rust火焰图:CPU热点分析、性能瓶颈定位(cargo flamegraph)

代理模板配置

语言特定的代理配置文件位于 agent-template/ 目录,用于配置 AI 工具的项目模板:

语言模板

  • AGENTS.java.md - Java 项目配置
  • AGENTS.ansi_c.md - ANSI C 项目配置
  • AGENTS.cpp.md - C++ 项目配置
  • AGENTS.rust.md - Rust 项目配置
  • AGENTS.kotlin.md - Kotlin 项目配置
  • AGENTS.python.md - Python 项目配置
  • AGENTS.js.md - JavaScript 项目配置
  • AGENTS.shell.md - Shell/Bash 项目配置
  • AGENTS.blank.md - 空白模板

使用方式

  1. 手动复制:将模板复制到项目根目录并重命名为 AGENTS.md
  2. 脚本复制:使用 bin/ 目录的启动脚本自动配置

快速启动脚本(辅助工具)

bin/ 目录包含 AI 编码工具的快速启动脚本,支持会话恢复和语言模板自动配置:

主要工具启动脚本

# 新会话:需要指定语言参数
./bin/oc java          # 启动 opencode 处理 Java 项目
./bin/cdbd java        # 启动 codebuddy 处理 Java 项目
./bin/clc java         # 启动 claudecode 处理 Java 项目

# 恢复会话:无需参数,自动恢复
./bin/oc              # 自动恢复 opencode 会话
./bin/cdbd            # 自动恢复 codebuddy 会话  
./bin/clc             # 自动恢复 claudecode 会话

# qodercli 不支持会话恢复
./bin/qcc <language>  # 启动 qodercli

支持的语言参数

  • java - Java 项目
  • ansi_c - ANSI C 项目
  • cpp - C++ 项目
  • rust - Rust 项目
  • kotlin - Kotlin 项目
  • python - Python 项目
  • js - JavaScript 项目
  • shell - Shell/Bash 项目
  • blank - 空白模板

会话ID更新脚本

# 更新 opencode 会话ID(从剪贴板)
./bin/updocid

# 更新 codebuddy 会话ID(从剪贴板)
./bin/updcbid

# 更新 claudecode 会话ID(从剪贴板)
./bin/updccid

环境变量配置

重要:所有脚本都需要 AI_SPEC_ROOT 环境变量来定位资源文件,这是必须配置的环境变量:

# 设置 AI_SPEC_ROOT 指向本仓库目录
export AI_SPEC_ROOT="/path/to/your/self-ai-spec-directory"

# 永久设置(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export AI_SPEC_ROOT="/path/to/your/self-ai-spec-directory"' >> ~/.bashrc
source ~/.bashrc

验证配置

echo $AI_SPEC_ROOT                    # 应该显示正确的路径
ls $AI_SPEC_ROOT/bin/                 # 应该能看到脚本文件
ls $AI_SPEC_ROOT/agent-template/      # 应该能看到模板文件

脚本符号链接部署(推荐)

为了方便使用,可以将脚本符号链接到个人bin目录:

# 确保 ~/bin 在 PATH 中
export PATH="$HOME/bin:$PATH"
mkdir -p ~/bin

# 创建符号链接
ln -sf $AI_SPEC_ROOT/bin/oc ~/bin/oc
ln -sf $AI_SPEC_ROOT/bin/cdbd ~/bin/cdbd
ln -sf $AI_SPEC_ROOT/bin/clc ~/bin/clc
ln -sf $AI_SPEC_ROOT/bin/qcc ~/bin/qcc
ln -sf $AI_SPEC_ROOT/bin/updocid ~/bin/updocid
ln -sf $AI_SPEC_ROOT/bin/updcbid ~/bin/updcbid
ln -sf $AI_SPEC_ROOT/bin/updccid ~/bin/updccid

# 验证链接
ls -la ~/bin/ | grep -E 'oc|cdbd|clc|qcc|upd'

# 现在可以在任何目录使用:
oc java
cdbd python
updocid

使用流程

  1. 首次启动(需要语言参数):

    ./bin/oc java          # 启动 opencode 处理 Java 项目
    # 项目完成后会显示: Session ID: ses_xxx...
  2. 保存会话ID

    # 复制 Session ID 到剪贴板
    ./bin/updocid          # 更新本地会话ID记录
  3. 恢复会话(无需参数):

    ./bin/oc              # 自动使用保存的会话ID恢复
  4. 跨工具工作

    ./bin/oc java          # 开始 Java 项目
    ./bin/updocid          # 保存 opencode 会话ID
    ./bin/clc java         # 切换到 claudecode 继续
    ./bin/updccid          # 保存 claudecode 会话ID

智能恢复逻辑

  • 检测到会话ID文件存在 → 直接恢复会话,跳过模板复制
  • 无会话ID → 需要语言参数来设置项目模板
  • 各工具独立:opencode、codebuddy、claudecode 各自管理会话状态

安全审查原则

重要:敏感数据审查是所有代码审查的必须项,无论使用何种编程语言:

  • 密码、密钥、令牌、API Key等是否硬编码
  • 敏感信息是否被记录到日志/调试输出
  • 内存中的敏感数据是否被安全清除
  • 是否使用安全日志宏过滤敏感字段

详细文档

详细技能文档和交互规则请参阅 AGENTS.md

完整更新历史请查看 CHANGELOG.md

About

自用AI相关工具汇集: skills/agent_templates

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages