Files
AgentSkills/PROJECT_REPORT.md

23 KiB
Raw Permalink Blame History

AgentSkills 项目研究报告

项目名称 AgentSkills —— AI 智能体技能集
报告类型 项目研究报告(PROJECT_REPORT)
报告日期 2026-08-08
许可证 MIT License(Copyright © 2026 Shuery-Shuai)

摘要

本项目构建了一套面向 AI 编码智能体(Agent)的开源技能(Skills)集合——AgentSkills。项目以「提示词 + 接口策略」为核心组织单元,每个技能由一个 SKILL.md(定义角色、工作流、行为准则与输出格式的完整提示词)与一个 agents/openai.yaml(定义展示名、简介与调用策略)组成。技能按「开发与规范 → 测试与修复 → 交付与部署 → 全自动化」四层递进组织,共 18 个技能,覆盖从代码规范、质量保障到生产部署、监控告警的完整软件工程闭环。项目同时提供 skills_linker.sh 一键安装脚本,可将全部技能软链接至全局技能目录,实现开箱即用。本项目采用 MIT 许可证开源,不包含第三方运行时依赖,许可证合规状态为完全合规。

关键词:AI 智能体;技能(Skills);质量工程;自动化流水线;软件工程


第1章 绪论

1.1 项目背景

随着大语言模型(LLM)与 AI 编码智能体的快速发展,如何让智能体稳定、可复用地完成「代码审查、缺陷修复、性能测试、生产部署、监控告警」等工程化任务,已成为开发者社区关注的热点。传统上,这些任务依赖人工或碎片化的脚本,难以与 AI 智能体无缝衔接;而将领域知识封装为结构化的「技能」(Skills),则可以让智能体按既定流程执行高质量工程任务。

1.2 项目意义

本项目通过将多年软件工程实践沉淀为 18 个可复用、可组合的技能,实现以下价值:

  • 能力升级:将 AI 从「问答助手」升级为「质量工程团队」,使其具备端到端工程执行能力;
  • 质量闭环:形成「发现缺陷 → 自动修复 → 语法检查 → 性能验证 → 回归测试」的完整闭环;
  • 安全可控:内置生产环境保护、敏感信息脱敏、最小权限与人工确认点等安全规则;
  • 可观测可审计:每个技能输出带时间戳的结构化 Markdown 报告,全程留痕、便于追溯。

1.3 项目目标

  1. 提供一套开箱即用、跨平台的智能体技能定义;
  2. 通过技能互链形成可组合的自动化流水线(如 CI/CD 闭环);
  3. 保证工程任务执行的安全性与可审计性;
  4. 以 MIT 许可证开源,降低社区采用门槛。

1.4 报告结构

本报告共七章:第 2 章介绍开发技术与许可证合规分析;第 3 章进行需求分析;第 4 章阐述详细设计;第 5 章说明编码与实现;第 6 章给出系统测试方法与结果;第 7 章进行总结与展望。附录 A 提供许可证清单,附录 B 汇总文档质量检查(lint / prettier / 死链)执行摘要。


第2章 开发技术

2.1 技术栈概述

本项目为「文档 + 配置 + 脚本」型仓库,技术栈轻量且无运行时依赖:

层面 技术 / 格式 说明
技能提示词 Markdown(GFM) SKILL.md 定义角色、工作流、行为准则与输出格式
接口与策略 YAML agents/openai.yaml 定义展示信息与调用策略
安装与自动化 Bash(Shell) skills_linker.sh 实现一键软链接安装
图表与文档增强 Mermaid / shields.io 架构图、流程图与徽章
质量工具链 shellcheck / markdownlint-cli2 / prettier / js-yaml 语法检查与格式化

2.2 核心技术

  1. SKILL.md 提示词规范:采用统一的章节模板(角色与描述、支持格式、工作模式、行为准则、输出格式),使技能可被智能体稳定解析与执行;
  2. agents/openai.yaml 策略配置:以结构化字段(interface / policy)描述技能的展示信息、隐式调用许可、确认要求与重试次数;
  3. 技能互链机制:技能之间通过 /技能名 相互调用,形成可复用的自动化链路(如 ci-cd-pipeline 串联 13 个子技能);
  4. 一键安装脚本:skills_linker.sh 遍历分类目录,将各技能软链接至 ~/.agents/skills/,实现全局可用。

2.3 许可证合规分析

本项目采用 MIT License(Copyright © 2026 Shuery-Shuai)。经对项目根目录及子目录扫描,未发现 package.json、pyproject.toml、go.mod、requirements.txt、Cargo.toml、composer.json 等任何第三方依赖清单文件,即项目不包含第三方运行时依赖,因此不存在依赖许可证冲突风险。

检查项 结果
项目主许可证 ✅ MIT License(与 LICENSE 文件一致)
第三方依赖 ✅ 无(依赖文件数 = 0)
许可证冲突 ✅ 无
合规结论 完全合规

Note

文档中引用的 shields.io(徽章)与 Mermaid(图表)为在线服务或渲染库,不构成代码层面的许可证依赖;若未来引入第三方依赖,建议补充执行依赖许可证扫描。


第3章 需求分析

3.1 功能需求

按四大分类归纳的 18 个技能功能需求如下:

分类 技能 功能需求描述
开发与规范 readme-generator 遍历项目生成开源风格 README,含徽章、Mermaid、提示块与死链检查
开发与规范 academic-readme-writer 生成论文格式 PROJECT_REPORT.md,集成格式化、死链检查与许可证信息
开发与规范 google-style-formatter 将代码重构为严格 Google 风格,补全注释并调用权威格式化工具
开发与规范 syntax-checker 自动识别语言并调用编译器 / linter 做语法检查,输出结构化报告
开发与规范 dependency-security-scanner 扫描依赖已知漏洞(CVE),输出风险报告与修复优先级
开发与规范 doc-link-checker 检查 Markdown 文档外部链接可达性,标记死链并生成报告
测试与修复 blackbox-tester 黑盒测试:环境确认 → 用例生成 → 缺陷报告(仅限测试服务器)
测试与修复 unit-test-generator 分析源码自动生成缺失单元测试,覆盖正常 / 边界 / 异常场景
测试与修复 bug-fixer-from-tests 解析缺陷报告 → 定位根因 → 最小化修复 → 回归验证指引
测试与修复 performance-baseline-tester 对核心 API 做性能基准测试,与历史基线对比识别退化
测试与修复 auto-test-and-fix 端到端编排「测试→修复→语法检查→性能→回归」闭环
交付与部署 db-migration-checker 分析迁移脚本风险(危险操作 / 锁表),支持预发环境模拟执行
交付与部署 deploy-to-production 多重确认下部署生产,集成迁移审查、健康检查与监控规则生成
交付与部署 license-compliance-checker 扫描依赖开源许可证,检查与主许可证的兼容性与冲突
交付与部署 log-monitor-rule-generator 扫描日志输出,生成 ELK / Loki / Prometheus 监控与告警规则
全自动化 ci-cd-pipeline 串联 13 个子技能的全自动 CI/CD 闭环
全自动化 project-health-check 全量质量体检(安全 / 语法 / 测试 / 性能 / 文档 / 合规),输出 0-100 综合评分
全自动化 release-orchestrator 发布管理:决定版本号、生成变更日志、创建标签、触发 CI/CD、监控与回滚

3.2 非功能需求

类别 需求描述
安全性 生产环境保护、敏感信息脱敏、最小权限、人工确认点
可观测性 每个技能输出 *_<timestamp>.md 结构化报告,全程留痕
可复用性 技能可独立使用,也可通过 /技能名 互链组合
兼容性 覆盖 Python / Node / Java / Go / Shell / YAML / Markdown 等多语言工具链
可维护性 目录按分类组织,技能模板统一,便于新增与维护

3.3 需求用例概览

以「CI/CD 全流程」为例,系统需按阶段依次调用安全扫描、黑盒测试、缺陷修复、格式化、文档生成、迁移审查与生产部署,任一阶段失败即暂停并报告:

flowchart LR
    R1["用户发起 CI/CD"] --> S0["静态分析<br/>(安全/许可证/语法)"]
    S0 --> S1["黑盒测试"]
    S1 -->|有缺陷| S2["缺陷修复 + 回归(≤3次)"]
    S2 --> S1
    S1 -->|通过| S3["测试增强 + 性能验证"]
    S3 --> S4["代码规范化 + 语法复查"]
    S4 --> S5["文档生成 + 死链检查"]
    S5 --> S6["数据库迁移审查"]
    S6 --> S7["生产部署"]
    S7 --> S8["监控规则生成"]
    S8 --> R2["生成 cicd_report"]

第4章 详细设计

4.1 系统总体架构

系统按「开发与规范 → 测试与修复 → 交付与部署 → 全自动化」四层递进组织,形成完整质量闭环:

flowchart TB
    subgraph SK["🧩 AgentSkills(18 技能)"]
        A["🛠️ 开发与规范<br/>readme-generator · syntax-checker<br/>google-style-formatter · doc-link-checker<br/>dependency-security-scanner · academic-readme-writer"]
        B["🧪 测试与修复<br/>blackbox-tester · unit-test-generator<br/>bug-fixer-from-tests · performance-baseline-tester<br/>auto-test-and-fix"]
        C["🚀 交付与部署<br/>db-migration-checker · deploy-to-production<br/>license-compliance-checker · log-monitor-rule-generator"]
        D["🤖 全自动化<br/>ci-cd-pipeline · project-health-check<br/>release-orchestrator"]
    end
    A --> B --> C
    B -.->|"auto-test-and-fix 闭环"| B
    D -->|"编排调用"| A
    D -->|"编排调用"| B
    D -->|"编排调用"| C

4.2 模块设计

4.2.1 仓库目录结构

AgentSkills/
├── skills_linker.sh                  # 一键安装脚本(软链接到 ~/.agents/skills/)
├── README.md                         # 项目说明
├── PROJECT_REPORT.md                 # 项目研究报告(本文件)
├── LICENSE                           # MIT 许可证
├── .markdownlint.json                # Markdown 规范配置
├── development-and-standards/        # ① 开发与规范(6 个技能)
├── testing-and-fixing/               # ② 测试与修复(5 个技能)
├── delivery-and-deployment/          # ③ 交付与部署(4 个技能)
└── full-automation/                  # ④ 全自动化(3 个技能)

4.2.2 单个技能的内部结构

<skill-name>/
├── SKILL.md              # 技能提示词(角色、工作流、行为准则、输出格式)
└── agents/
    └── openai.yaml       # 接口与策略配置(display_name / policy)

4.3 配置数据结构设计

agents/openai.yaml 采用两层结构,字段说明如下:

字段 类型 说明
interface.display_name string 技能展示名称
interface.short_description string 技能简介(用于调用方理解用途)
policy.allow_implicit_invocation boolean 是否允许隐式调用
policy.require_confirmation boolean 执行副作用操作前是否需人工确认
policy.max_retries int 最大重试次数(避免死循环)

4.4 交互流程设计

「测试→修复→回归」闭环由 auto-test-and-fix 编排,核心循环如下:

flowchart TB
    P1["blackbox-tester<br/>初始测试"] --> P2{有致命/严重缺陷?}
    P2 -->|是| P3["bug-fixer-from-tests<br/>修复"]
    P3 --> P4["syntax-checker<br/>语法复查"]
    P4 -->|有语法错误| P4
    P4 -->|通过| P5["performance-baseline-tester<br/>性能验证"]
    P5 --> P6["blackbox-tester<br/>回归测试"]
    P6 -->|回归通过率<95% 且循环≤5次| P2
    P6 -->|收敛| P7["final_report"]
    P2 -->|否| P7

第5章 编码与实现

5.1 总体实现情况

项目共实现 18 个技能(每个含 SKILL.md 与 agents/openai.yaml)、1 个安装脚本(skills_linker.sh)与 1 份 Markdown 规范配置(.markdownlint.json)。所有技能提示词均遵循统一的「角色描述 → 支持格式 → 工作模式 / 工作流程 → 行为准则 → 输出格式」结构,确保可被智能体稳定解析。

5.2 安装脚本 skills_linker.sh 的实现

安装脚本遍历分类目录,将各技能软链接至 ~/.agents/skills/,并对已存在链接、同名冲突等情况进行安全处理。该脚本已通过 shellcheck 检查(0 告警):

#!/bin/bash
# 技能链接脚本 - 将当前目录下分类中的技能链接到 ~/.agents/skills/
TARGET_DIR="$HOME/.agents/skills"

# 创建目标目录(如果不存在)
mkdir -p "$TARGET_DIR"

# 遍历所有一级子目录(分类目录)
for category_dir in */; do
    # 排除非目录项
    [ -d "$category_dir" ] || continue
    # 遍历分类目录下的技能子目录
    for skill_dir in "$category_dir"/*/; do
        [ -d "$skill_dir" ] || continue
        skill_name="${skill_dir%/}"
        skill_name="${skill_name##*/}"

        # 源技能目录的绝对路径
        src="$(realpath "$skill_dir")"

        # 目标链接路径
        link="$TARGET_DIR/$skill_name"

        # 目标已存在且不是指向当前源时,区分符号链接与普通目录处理
        if [ -L "$link" ]; then
            current_target="$(readlink "$link")"
            if [ "$current_target" = "$src" ]; then
                echo "跳过: $link 已指向 $src"
                continue
            else
                echo "警告: $link 存在但指向不同目标 ($current_target),将替换"
                rm "$link"
            fi
        elif [ -e "$link" ]; then
            echo "警告: $link 存在且不是符号链接,跳过 (手动处理)"
            continue
        fi

        # 创建符号链接
        ln -s "$src" "$link"
        echo "已链接: $src -> $link"
    done
done

echo "完成。所有技能已链接到 $TARGET_DIR"

5.3 接口策略配置 agents/openai.yaml

以 blackbox-tester 为例,接口策略配置定义了展示信息与调用策略:

interface:
  display_name: "黑盒测试专家"
  short_description: "从 README 提取信息并执行全面的黑盒测试(仅限测试环境),输出缺陷报告。"
policy:
  allow_implicit_invocation: false # 需用户明确要求测试
  require_confirmation: true # 在执行任何可能产生副作用的测试动作前需确认
  max_retries: 2 # 网络或环境问题可重试,但避免死循环

5.4 技能提示词 SKILL.md 的结构

以 syntax-checker 为例,SKILL.md 采用「角色描述 → 支持语言与工具 → 误报处理 → 执行步骤 → 报告格式」的结构化写法,并集成误报处理(忽略标签)规范:

---
name: syntax-checker
description: 自动识别代码语言并调用对应的语法检查工具(如编译器、解释器或专用 linter),检测语法错误,输出结构化检查报告。
---

你是一名代码语法验证专家,专注于检测代码中的语法错误(Syntax Errors)...

5.5 Markdown 规范配置 .markdownlint.json

为抑制 Markdown 文档中系统性出现的纯风格规则噪音(行长、标题与围栏空行、首行标题),项目建立了统一规范配置:

{
  "MD013": false,
  "MD022": false,
  "MD031": false,
  "MD041": false
}

第6章 系统测试

6.1 测试环境与工具

工具 版本 用途
shellcheck 0.11.0 Shell 语法与静态检查
js-yaml 4.x YAML 语法解析校验
markdownlint-cli2 0.23.2(markdownlint 0.41.1) Markdown 结构与规范检查
prettier 3.3.3 Markdown 格式化
jq / python3 — JSON / 辅助校验

6.2 语法检查

检查对象 工具 文件数 结果
Shell 脚本 shellcheck 1 ✅ 0 问题
Shell 语法基线 bash -n 1 ✅ 通过
YAML 配置 js-yaml 18 ✅ 全部通过
Markdown markdownlint-cli2 19 ✅ 0 issues
Markdown 格式 prettier --check 19 ✅ 全部合规

6.3 链接检查

对 README.md、PROJECT_REPORT.md 等文档中的外部链接进行可达性检查(HEAD 请求,405 时回退 GET,超时 5 秒,同域间隔 0.5 秒),结果如下:

链接 状态码 结果
img.shields.io/*(徽章) 200 ✅ 可达
shields.io 200 ✅ 可达
mermaid.js.org 200 ✅ 可达
github.com/Shuery-Shuai/AgentSkills.git(代码块内) 301 → 404 ⚠️ 仓库尚未公开(已在 README 标注 TODO)

6.4 测试结论

系统测试全部通过:Shell 与 YAML 无语法错误,Markdown 无规范问题且格式合规;文档外部链接除「未公开仓库的克隆地址」外均可达。测试过程全程只读,未对生产环境执行任何操作。


第7章 总结与展望

7.1 工作总结

本项目设计并实现了一套结构化的 AI 智能体技能集合 AgentSkills:

  1. 体系化分类:将 18 个技能按「开发与规范 → 测试与修复 → 交付与部署 → 全自动化」四层组织,形成完整质量闭环;
  2. 统一规范:每个技能由 SKILL.md(提示词)与 agents/openai.yaml(策略)组成,模板统一、易于扩展;
  3. 可组合可编排:通过技能互链与 ci-cd-pipeline / auto-test-and-fix 编排器,实现端到端自动化;
  4. 安全可审计:内置生产环境保护、脱敏、人工确认点等安全规则,并输出时间戳报告;
  5. 质量保障:经 shellcheck / js-yaml / markdownlint-cli2 / prettier / 死链检查全面验证,全部通过。

7.2 不足

  1. 部分技能依赖第三方工具(如 shellcheck、yamllint、markdownlint-cli2),需要目标环境预先安装;
  2. release-orchestrator 等技能仍在完善中,其与版本控制系统的深度集成有待增强;
  3. 仓库尚未发布至 GitHub(克隆地址暂不可用),动态徽章(构建状态、覆盖率)有待接入 CI 后补充。

7.3 展望

未来可进一步:完善 release-orchestrator 的发布与回滚流程;补充 GitHub Actions 工作流以自动执行全量质量检查;增加更多语言与框架的技能模板;探索与主流 AI 编码工具(Claude Code、VS Code Copilot 等)的深度集成。


参考文献

  1. GitHub Flavored Markdown Spec. https://github.github.com/gfm/
  2. shields.io 徽章服务. https://shields.io/
  3. Mermaid 图表. https://mermaid.js.org/
  4. ShellCheck —— Shell 脚本静态分析工具. https://www.shellcheck.net/
  5. markdownlint-cli2 —— Markdown 规范检查工具. https://github.com/DavidAnson/markdownlint-cli2
  6. Prettier —— 代码格式化工具. https://prettier.io/

致谢

感谢所有为本技能集贡献思路、反馈与代码的开发者;感谢 shields.io、Mermaid、ShellCheck、markdownlint-cli2 与 Prettier 等优秀开源工具,为本项目的实现与质量保障提供了坚实支撑。


附录A 许可证清单

组件 许可证 说明
AgentSkills(本项目) MIT 见 LICENSE 文件
第三方运行时依赖 无 依赖文件数 = 0

Warning

本清单基于项目当前状态生成,仅供参考,不构成法律意见。若后续引入第三方依赖,请重新执行许可证合规检查。

附录B 检查执行摘要

检查项 工具 结果
语法检查(Shell) shellcheck 0.11.0 ✅ 0 问题
语法基线(Shell) bash -n ✅ 通过
YAML 解析 js-yaml@4 ✅ 18/18 通过
Markdown 规范 markdownlint-cli2 0.23.2 ✅ 0 issues
Markdown 格式 prettier 3.3.3 ✅ 合规
死链检查 HEAD/GET 请求 ✅ 无死链(1 处待公开仓库地址已标注)
许可证合规 静态扫描 ✅ 完全合规(MIT,无依赖)