Files
Claude-Code-Workflow/.claude/skills/skill-generator/phases/01-requirements-discovery.md
catlog22 3998d24e32 Enhance skill generator documentation and templates
- Updated Phase 1 and Phase 2 documentation to include next phase links and data flow details.
- Expanded Phase 5 documentation to include comprehensive validation and README generation steps, along with validation report structure.
- Added purpose and usage context sections to various action and script templates (e.g., autonomous-action, llm-action, script-bash).
- Improved commands management by simplifying the command scanning logic and enabling/disabling commands through renaming files.
- Enhanced dashboard command manager to format group names and display nested groups with appropriate icons and colors.
- Updated LiteLLM executor to allow model overrides during execution.
- Added action reference guide and template reference sections to the skill-tuning SKILL.md for better navigation and understanding.
2026-01-28 20:34:03 +08:00

229 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Step 1: 基本信息收集
```javascript
const basicInfo = await AskUserQuestion({
questions: [
{
question: "新 Skill 的名称是什么?(英文,小写-连字符格式,如 'api-docs'",
header: "Skill 名称",
multiSelect: false,
options: [
{ label: "自动生成", description: "根据后续描述自动生成名称" },
{ label: "手动输入", description: "现在输入自定义名称" }
]
},
{
question: "Skill 的主要用途是什么?",
header: "用途类型",
multiSelect: false,
options: [
{ label: "文档生成", description: "生成 Markdown/HTML 文档(如手册、报告)" },
{ label: "代码分析", description: "分析代码结构、质量、安全性" },
{ label: "交互管理", description: "管理 Issue、任务、工作流CRUD 操作)" },
{ label: "数据处理", description: "ETL、格式转换、报告生成" }
]
}
]
});
// 如果选择手动输入,进一步询问
if (basicInfo["Skill 名称"] === "手动输入") {
// 用户会在 "Other" 中输入
}
// 根据用途类型推断描述模板
const purposeTemplates = {
"文档生成": "Generate {type} documents from {source}",
"代码分析": "Analyze {target} for {purpose}",
"交互管理": "Manage {entity} with interactive operations",
"数据处理": "Process {data} and generate {output}"
};
```
### Step 2: 执行模式选择
```javascript
const modeInfo = await AskUserQuestion({
questions: [
{
question: "选择执行模式:",
header: "执行模式",
multiSelect: false,
options: [
{
label: "Sequential (顺序模式)",
description: "阶段按固定顺序执行(收集→分析→生成),适合流水线任务(推荐)"
},
{
label: "Autonomous (自主模式)",
description: "动态选择执行路径,适合交互式任务(如 Issue 管理)"
},
{
label: "Hybrid (混合模式)",
description: "初始化和收尾固定,中间交互灵活"
}
]
}
]
});
const executionMode = modeInfo["执行模式"].includes("Sequential") ? "sequential" :
modeInfo["执行模式"].includes("Autonomous") ? "autonomous" : "hybrid";
```
### Step 3: 阶段/动作定义
#### Sequential 模式
```javascript
if (executionMode === "sequential") {
const phaseInfo = await AskUserQuestion({
questions: [
{
question: "需要多少个执行阶段?",
header: "阶段数量",
multiSelect: false,
options: [
{ label: "3 阶段(简单)", description: "收集 → 处理 → 输出" },
{ label: "5 阶段(标准)", description: "收集 → 探索 → 分析 → 组装 → 验证" },
{ label: "7 阶段(完整)", description: "含并行处理、汇总、迭代优化" }
]
}
]
});
// 根据选择生成阶段定义
const phaseTemplates = {
"3 阶段": [
{ id: "01-collection", name: "Data Collection" },
{ id: "02-processing", name: "Processing" },
{ id: "03-output", name: "Output Generation" }
],
"5 阶段": [
{ id: "01-collection", name: "Requirements Collection" },
{ id: "02-exploration", name: "Project Exploration" },
{ id: "03-analysis", name: "Deep Analysis" },
{ id: "04-assembly", name: "Document Assembly" },
{ id: "05-validation", name: "Validation" }
],
"7 阶段": [
{ id: "01-collection", name: "Requirements Collection" },
{ id: "02-exploration", name: "Project Exploration" },
{ id: "03-parallel", name: "Parallel Analysis" },
{ id: "03.5-consolidation", name: "Consolidation" },
{ id: "04-assembly", name: "Document Assembly" },
{ id: "05-refinement", name: "Iterative Refinement" },
{ id: "06-output", name: "Final Output" }
]
};
}
```
#### Autonomous 模式
```javascript
if (executionMode === "autonomous") {
const actionInfo = await AskUserQuestion({
questions: [
{
question: "核心动作有哪些?(可多选)",
header: "动作定义",
multiSelect: true,
options: [
{ label: "初始化 (init)", description: "设置初始状态" },
{ label: "列表 (list)", description: "显示当前项目列表" },
{ label: "创建 (create)", description: "创建新项目" },
{ label: "编辑 (edit)", description: "修改现有项目" },
{ label: "删除 (delete)", description: "删除项目" },
{ label: "搜索 (search)", description: "搜索/过滤项目" }
]
}
]
});
}
```
### Step 4: 工具和输出配置
```javascript
const toolsInfo = await AskUserQuestion({
questions: [
{
question: "需要哪些特殊工具?(基础工具已默认包含)",
header: "工具选择",
multiSelect: true,
options: [
{ label: "用户交互 (AskUserQuestion)", description: "需要与用户对话" },
{ label: "Chrome 截图 (mcp__chrome__*)", description: "需要网页截图" },
{ label: "外部搜索 (mcp__exa__search)", description: "需要搜索外部信息" },
{ label: "无特殊需求", description: "仅使用基础工具" }
]
},
{
question: "输出格式是什么?",
header: "输出格式",
multiSelect: false,
options: [
{ label: "Markdown", description: "适合文档和报告" },
{ label: "HTML", description: "适合交互式文档" },
{ label: "JSON", description: "适合数据和配置" }
]
}
]
});
```
### Step 5: 生成配置文件
```javascript
const config = {
skill_name: skillName,
display_name: displayName,
description: description,
triggers: triggers,
execution_mode: executionMode,
// 模式特定配置
...(executionMode === "sequential" ? {
sequential_config: { phases: phases }
} : {
autonomous_config: {
state_schema: stateSchema,
actions: actions,
termination_conditions: ["user_exit", "error_limit", "task_completed"]
}
}),
allowed_tools: [
"Task", "Read", "Write", "Glob", "Grep", "Bash",
...selectedTools
],
output: {
format: outputFormat.toLowerCase(),
location: `.workflow/.scratchpad/${skillName}-{timestamp}`,
filename_pattern: `{name}-output.${outputFormat === "HTML" ? "html" : outputFormat === "JSON" ? "json" : "md"}`
},
created_at: new Date().toISOString(),
version: "1.0.0"
};
// 写入配置文件
const workDir = `.workflow/.scratchpad/skill-gen-${timestamp}`;
Bash(`mkdir -p "${workDir}"`);
Write(`${workDir}/skill-config.json`, JSON.stringify(config, null, 2));
```
## Next Phase
→ [Phase 2: Structure Generation](02-structure-generation.md)
**Data Flow to Phase 2**:
- skill-config.json with all configuration parameters
- Execution mode decision drives directory structure creation