feat: Add templates for autonomous actions, orchestrators, sequential phases, and skill documentation

- Introduced a comprehensive template for autonomous actions, detailing structure, execution, and error handling.
- Added an orchestrator template to manage state and decision logic for autonomous actions.
- Created a sequential phase template to outline execution steps and objectives for structured workflows.
- Developed a skill documentation template to standardize the generation of skill entry files.
- Implemented a Python script to compare search results between hybrid and cascade methods, analyzing ranking changes.
This commit is contained in:
catlog22
2026-01-03 15:58:31 +08:00
parent ac23fe5b5a
commit 9922d455da
17 changed files with 4625 additions and 14 deletions

View File

@@ -0,0 +1,693 @@
# Skill 设计规范 v1.0
> 基于 `software-manual` 和 `copyright-docs` 两个成熟 Skill 的设计模式提炼
---
## 目录
1. [设计理念](#1-设计理念)
2. [目录结构规范](#2-目录结构规范)
3. [核心组件定义](#3-核心组件定义)
4. [SKILL.md 入口规范](#4-skillmd-入口规范)
5. [Phase 阶段设计规范](#5-phase-阶段设计规范)
6. [Specs 规范文件设计](#6-specs-规范文件设计)
7. [Templates 模板设计](#7-templates-模板设计)
8. [Scripts 脚本规范](#8-scripts-脚本规范)
9. [Prompt 工程规范](#9-prompt-工程规范)
10. [质量控制规范](#10-质量控制规范)
11. [最佳实践清单](#11-最佳实践清单)
12. [示例模板](#12-示例模板)
---
## 1. 设计理念
### 1.1 核心原则
| 原则 | 说明 | 实践 |
|------|------|------|
| **阶段化执行** | 复杂任务分解为有序阶段 | 使用 `phases/` 目录,数字前缀控制顺序 |
| **关注点分离** | 逻辑、配置、视图分离 | `phases/`(逻辑) + `specs/`(配置) + `templates/`(视图) |
| **简要返回** | Agent 返回路径+摘要,避免上下文溢出 | 返回 JSON 简要信息,文件存储完整内容 |
| **配置驱动** | 规范作为"配置文件",易于调整行为 | 修改 `specs/` 无需触及 `phases/` |
| **模板复用** | 提取通用片段,确保一致性 | `templates/` 存放可复用内容 |
### 1.2 架构模式
```
┌─────────────────────────────────────────────────────────────────┐
│ Context-Optimized Architecture │
├─────────────────────────────────────────────────────────────────┤
│ │
│ SKILL.md (入口) → 描述目标、定义阶段、链接资源 │
│ ↓ │
│ Phase 1: 收集 → 用户输入 + 自动检测 → config.json │
│ ↓ │
│ Phase 2: 分析 → 并行 Agent → sections/*.md │
│ ↓ │
│ Phase N: 汇总 → 交叉检查 → summary.md │
│ ↓ │
│ Phase N+1: 组装 → 合并文件 → 最终产物 │
│ ↓ │
│ Phase N+2: 迭代 → 用户反馈 → 优化 │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 2. 目录结构规范
### 2.1 标准目录结构
```
[skill-name]/
├── SKILL.md # 【必需】技能入口:元数据 + 架构 + 执行流程
├── phases/ # 【必需】执行阶段 Prompt
│ ├── 01-{first-step}.md # 数字前缀定义顺序
│ ├── 02-{second-step}.md
│ ├── 02.5-{sub-step}.md # 小数点用于插入子步骤
│ └── ...
├── specs/ # 【必需】规范与约束
│ ├── {domain}-requirements.md # 领域特定要求
│ ├── quality-standards.md # 质量标准
│ └── writing-style.md # 写作风格(如适用)
├── templates/ # 【推荐】可复用模板
│ ├── agent-base.md # Agent 基础 Prompt 模板
│ ├── output-shell.{ext} # 输出外壳模板html/md
│ └── css/ # 样式文件(如适用)
├── scripts/ # 【可选】辅助脚本
│ ├── {tool}.py # Python 脚本
│ └── {tool}-runner.md # 脚本使用说明
└── outputs/ # 【运行时】执行产物(不纳入版本控制)
```
### 2.2 命名约定
| 类型 | 规则 | 示例 |
|------|------|------|
| Skill 目录 | 小写-连字符 | `software-manual`, `copyright-docs` |
| Phase 文件 | `NN-{动作}.md` | `01-metadata-collection.md` |
| Spec 文件 | `{领域}-{类型}.md` | `cpcc-requirements.md` |
| Template 文件 | `{用途}-{类型}.{ext}` | `agent-base.md`, `tiddlywiki-shell.html` |
| 输出文件 | `section-{N}-{名称}.md` | `section-2-architecture.md` |
---
## 3. 核心组件定义
### 3.1 组件职责矩阵
| 组件 | 职责 | 内容类型 | 修改频率 |
|------|------|----------|----------|
| `SKILL.md` | 入口 + 编排 | 元数据、架构图、执行流程 | 低(结构稳定) |
| `phases/*.md` | 执行逻辑 | 步骤说明、Prompt、代码示例 | 中(优化迭代) |
| `specs/*.md` | 约束配置 | 规则、标准、检查清单 | 中(需求变更) |
| `templates/*` | 可复用片段 | Prompt 模板、输出格式 | 低(通用稳定) |
| `scripts/*` | 自动化 | Python/JS 脚本 | 高(功能增强) |
### 3.2 组件依赖关系
```mermaid
graph TD
SKILL[SKILL.md] --> P1[phases/01-*]
P1 --> P2[phases/02-*]
P2 --> PN[phases/N-*]
P1 -.->|引用| SPEC[specs/*]
P2 -.->|引用| SPEC
PN -.->|引用| SPEC
P1 -.->|使用| TPL[templates/*]
PN -.->|使用| TPL
P2 -->|调用| SCR[scripts/*]
style SKILL fill:#e1f5fe
style SPEC fill:#fff3e0
style TPL fill:#e8f5e9
style SCR fill:#fce4ec
```
---
## 4. SKILL.md 入口规范
### 4.1 必需结构
```markdown
---
name: {skill-name}
description: {一句话描述}. {触发关键词}. Triggers on "{关键词1}", "{关键词2}".
allowed-tools: Task, AskUserQuestion, Read, Bash, Glob, Grep, Write, {其他MCP工具}
---
# {Skill 标题}
{一段话描述 Skill 的用途和产出}
## Architecture Overview
{ASCII 或 Mermaid 架构图}
## Key Design Principles
1. **原则1**: 说明
2. **原则2**: 说明
...
## Execution Flow
{阶段执行流程图}
## Agent Configuration (如适用)
| Agent | Role | Output File | Focus Areas |
|-------|------|-------------|-------------|
| ... | ... | ... | ... |
## Directory Setup
{工作目录创建代码}
## Output Structure
{输出目录结构}
## Reference Documents
| Document | Purpose |
|----------|---------|
| [phases/01-xxx.md](phases/01-xxx.md) | ... |
| ... | ... |
```
### 4.2 Front Matter 规范
```yaml
---
name: skill-name # 必需Skill 唯一标识
description: | # 必需:描述 + 触发词
Generate XXX documents.
Triggers on "keyword1", "keyword2".
allowed-tools: | # 必需:允许使用的工具
Task, AskUserQuestion, Read, Bash,
Glob, Grep, Write, mcp__chrome__*
---
```
---
## 5. Phase 阶段设计规范
### 5.1 Phase 文件结构
```markdown
# Phase N: {阶段名称}
{一句话描述此阶段目标}
## Objective
{详细目标说明}
- 目标1
- 目标2
## Execution Steps
### Step 1: {步骤名称}
{代码或说明}
### Step 2: {步骤名称}
{代码或说明}
## Output
- **File**: `{输出文件名}`
- **Location**: `{输出路径}`
- **Format**: {JSON/Markdown/HTML}
## Next Phase
Proceed to [Phase N+1: xxx](0N+1-xxx.md) with the generated {产出}.
```
### 5.2 Phase 类型
| 类型 | 特点 | 示例 |
|------|------|------|
| **收集型** | 用户交互 + 自动检测 | `01-requirements-discovery.md` |
| **探索型** | 代码分析 + 结构识别 | `02-project-exploration.md` |
| **并行型** | 多 Agent 并行执行 | `03-parallel-analysis.md` |
| **汇总型** | 交叉检查 + 质量验证 | `03.5-consolidation.md` |
| **组装型** | 合并产出 + 格式化 | `04-document-assembly.md` |
| **迭代型** | 用户反馈 + 优化 | `05-iterative-refinement.md` |
### 5.3 Phase 编号规则
```
01-xxx.md # 主阶段
02-xxx.md # 主阶段
02.5-xxx.md # 子阶段(插入 02 和 03 之间)
03-xxx.md # 主阶段
```
---
## 6. Specs 规范文件设计
### 6.1 Specs 类型
| 类型 | 用途 | 示例 |
|------|------|------|
| **领域要求** | 领域特定合规性 | `cpcc-requirements.md` |
| **质量标准** | 输出质量评估 | `quality-standards.md` |
| **写作风格** | 内容风格指南 | `writing-style.md` |
| **模板规范** | 输出格式定义 | `html-template.md` |
### 6.2 Specs 结构模板
```markdown
# {规范名称}
{规范用途说明}
## When to Use
| Phase | Usage | Section |
|-------|-------|---------|
| Phase N | {使用场景} | {引用章节} |
| ... | ... | ... |
---
## Requirements
### Category 1
- [ ] 检查项1
- [ ] 检查项2
### Category 2
| 项目 | 要求 | 检查方式 |
|------|------|----------|
| ... | ... | ... |
## Validation Function
{验证函数代码}
## Error Handling
| Error | Recovery |
|-------|----------|
| ... | ... |
```
### 6.3 质量标准示例结构
```markdown
# Quality Standards
## Quality Dimensions
### 1. Completeness (25%)
{评分标准}
### 2. Consistency (25%)
{评分标准}
### 3. Depth (25%)
{评分标准}
### 4. Readability (25%)
{评分标准}
## Quality Gates
| Gate | Threshold | Action |
|------|-----------|--------|
| Pass | ≥ 80% | 继续执行 |
| Review | 60-79% | 处理警告后继续 |
| Fail | < 60% | 必须修复 |
## Issue Classification
### Errors (Must Fix)
- ...
### Warnings (Should Fix)
- ...
### Info (Nice to Have)
- ...
```
---
## 7. Templates 模板设计
### 7.1 Agent 基础模板
```markdown
# Agent Base Template
## 通用提示词结构
[ROLE] 你是{角色},专注于{职责}。
[TASK]
{任务描述}
- 输出: {output_path}
- 格式: {format}
- 范围: {scope}
[CONSTRAINTS]
- 约束1
- 约束2
[OUTPUT_FORMAT]
1. 直接写入文件
2. 返回 JSON 简要信息
[QUALITY_CHECKLIST]
- [ ] 检查项1
- [ ] 检查项2
## 变量说明
| 变量 | 来源 | 示例 |
|------|------|------|
| {output_dir} | Phase 1 | .workflow/.scratchpad/xxx |
| ... | ... | ... |
## Agent 配置映射
{AGENT_ROLES, AGENT_SECTIONS, AGENT_FILES, AGENT_FOCUS}
```
### 7.2 输出模板规范
```html
<!-- output-shell.html 示例 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
<style>
/* 内嵌 CSS */
{{styles}}
</style>
</head>
<body>
<div id="app">
{{content}}
</div>
<script>
/* 内嵌 JS */
{{scripts}}
</script>
</body>
</html>
```
### 7.3 占位符规范
| 占位符格式 | 用途 | 示例 |
|------------|------|------|
| `{{variable}}` | 简单变量替换 | `{{title}}` |
| `${variable}` | JavaScript 模板字符串 | `${workDir}` |
| `{placeholder}` | Prompt 占位 | `{intro}`, `{diagram}` |
---
## 8. Scripts 脚本规范
### 8.1 脚本类型
| 类型 | 用途 | 命名 |
|------|------|------|
| **提取器** | 从代码提取信息 | `extract_*.py` |
| **组装器** | 合并/转换文件 | `assemble_*.py` |
| **验证器** | 检查合规性 | `validate_*.py` |
| **辅助器** | 工具函数 | `*_helper.py` |
### 8.2 脚本使用说明文件
每个脚本应有对应的 `.md` 说明文件:
```markdown
# {Script Name} Runner
## Purpose
{脚本用途}
## Usage
{命令行使用方式}
## Parameters
| 参数 | 说明 | 默认值 |
|------|------|--------|
| ... | ... | ... |
## Output
{输出说明}
## Example
{使用示例}
```
---
## 9. Prompt 工程规范
### 9.1 Prompt 结构标准
```
[ROLE] {角色定义}
[PROJECT CONTEXT]
项目类型: {type}
语言: {language}
名称: {name}
[TASK]
{任务描述}
输出: {output_path}
[INPUT]
- 配置: {config_path}
- 扫描路径: {scan_paths}
[CONTENT REQUIREMENTS]
- 标题层级: # ## ### (最多3级)
- 代码块: ```language ... ``` (必须标注语言)
- 表格: | col1 | col2 | 格式
- 列表: 有序 1. 2. 3. / 无序 - - -
[FOCUS]
{重点关注项}
[OUTPUT FORMAT]
{输出格式说明}
[RETURN JSON]
{返回结构}
```
### 9.2 效率优化原则
| 原则 | Before (冗余) | After (精简) |
|------|---------------|--------------|
| **角色简化** | "你是一个专业的系统架构师,具有丰富的软件设计经验..." | `[ROLE] 系统架构师,专注于分层设计和模块依赖` |
| **模板驱动** | "请按照以下格式输出: 首先写一个二级标题..." | `[TEMPLATE] ## 2. 标题 {content}` |
| **焦点明确** | "分析项目的各个方面,包括架构、模块、依赖等" | `[FOCUS] 1. 分层 2. 模块 3. 依赖 4. 数据流` |
| **返回简洁** | "请返回详细的分析结果,包括所有发现的问题..." | `[RETURN] {"status":"completed","output_file":"xxx.md","summary":"<50字"}` |
### 9.3 Agent 返回格式标准
```typescript
interface AgentReturn {
status: "completed" | "partial" | "failed";
output_file: string; // 输出文件路径
summary: string; // 最多 50 字摘要
cross_module_notes?: string[]; // 跨模块备注
stats?: { // 统计信息
diagrams?: number;
words?: number;
};
screenshots_needed?: Array<{ // 截图需求(如适用)
id: string;
url: string;
description: string;
}>;
}
```
---
## 10. 质量控制规范
### 10.1 质量维度
| 维度 | 权重 | 检查项 |
|------|------|--------|
| **完整性** | 25% | 所有必需章节存在且有实质内容 |
| **一致性** | 25% | 术语、格式、风格统一 |
| **深度** | 25% | 内容详尽、示例充分 |
| **可读性** | 25% | 结构清晰、语言简洁 |
### 10.2 质量门控
```javascript
const QUALITY_GATES = {
pass: { threshold: 80, action: "继续执行" },
review: { threshold: 60, action: "处理警告后继续" },
fail: { threshold: 0, action: "必须修复后重试" }
};
```
### 10.3 问题分类
| 级别 | 前缀 | 含义 | 处理方式 |
|------|------|------|----------|
| **Error** | E | 阻塞性问题 | 必须修复 |
| **Warning** | W | 影响质量 | 建议修复 |
| **Info** | I | 可改进项 | 可选修复 |
### 10.4 自动化检查函数模板
```javascript
function runQualityChecks(workDir) {
const results = {
completeness: checkCompleteness(workDir),
consistency: checkConsistency(workDir),
depth: checkDepth(workDir),
readability: checkReadability(workDir)
};
results.overall = Object.values(results).reduce((a, b) => a + b) / 4;
return {
score: results.overall,
gate: results.overall >= 80 ? 'pass' :
results.overall >= 60 ? 'review' : 'fail',
details: results
};
}
```
---
## 11. 最佳实践清单
### 11.1 Skill 设计
- [ ] **单一职责**: 每个 Skill 专注一个领域
- [ ] **清晰入口**: SKILL.md 完整描述目标和流程
- [ ] **阶段分解**: 复杂任务拆分为 3-7 个阶段
- [ ] **顺序命名**: 使用数字前缀控制执行顺序
### 11.2 Phase 设计
- [ ] **明确目标**: 每个 Phase 有清晰的输入输出
- [ ] **独立可测**: 每个 Phase 可单独调试
- [ ] **链接下一步**: 明确说明后续阶段
### 11.3 Prompt 设计
- [ ] **角色明确**: 使用 `[ROLE]` 定义 Agent 身份
- [ ] **任务具体**: 使用 `[TASK]` 明确执行目标
- [ ] **约束清晰**: 使用 `[CONSTRAINTS]` 定义边界
- [ ] **返回简洁**: Agent 返回路径+摘要,非完整内容
### 11.4 质量控制
- [ ] **规范驱动**: 使用 `specs/` 定义可验证的标准
- [ ] **汇总检查**: 设置 Consolidation 阶段交叉验证
- [ ] **问题分级**: 区分 Error/Warning/Info
- [ ] **迭代优化**: 支持用户反馈循环
---
## 12. 示例模板
### 12.1 新 Skill 快速启动模板
```bash
# 创建 Skill 目录结构
mkdir -p my-skill/{phases,specs,templates,scripts}
# 创建核心文件
touch my-skill/SKILL.md
touch my-skill/phases/{01-collection,02-analysis,03-assembly}.md
touch my-skill/specs/{requirements,quality-standards}.md
touch my-skill/templates/agent-base.md
```
### 12.2 SKILL.md 最小模板
```markdown
---
name: my-skill
description: Generate XXX. Triggers on "keyword1", "keyword2".
allowed-tools: Task, AskUserQuestion, Read, Bash, Glob, Grep, Write
---
# My Skill
Generate XXX through multi-phase analysis.
## Execution Flow
1. Phase 1: Collection → config.json
2. Phase 2: Analysis → sections/*.md
3. Phase 3: Assembly → output.md
## Reference Documents
| Document | Purpose |
|----------|---------|
| [phases/01-collection.md](phases/01-collection.md) | 信息收集 |
| [phases/02-analysis.md](phases/02-analysis.md) | 代码分析 |
| [phases/03-assembly.md](phases/03-assembly.md) | 文档组装 |
```
---
## 附录 A: 设计对比
| 设计点 | software-manual | copyright-docs |
|--------|-----------------|----------------|
| 阶段数 | 6 | 5 |
| 并行 Agent | 6 | 6 |
| 输出格式 | HTML | Markdown |
| 质量检查 | 4 维度评分 | CPCC 合规检查 |
| 截图支持 | Chrome MCP | 无 |
| 迭代优化 | 用户反馈循环 | 合规验证循环 |
## 附录 B: 工具依赖
| 工具 | 用途 | 适用 Skill |
|------|------|------------|
| `Task` | 启动子 Agent | 所有 |
| `AskUserQuestion` | 用户交互 | 所有 |
| `Read/Write/Glob/Grep` | 文件操作 | 所有 |
| `Bash` | 脚本执行 | 需要自动化 |
| `mcp__chrome__*` | 浏览器截图 | UI 相关 |
---
*规范版本: 1.0*
*基于: software-manual, copyright-docs*
*最后更新: 2026-01-03*