mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-12 02:37:45 +08:00
- Convert all markdown files from Chinese to English - Remove all emoji/icon decorations (🔧📋⚙️✅🏁🔍📚⛔⭐) - Update all section headers, descriptions, and documentation - Keep all content logic, structure, code examples unchanged - Maintain template variables and file paths as-is Files converted (9 files total): - SKILL.md: Output structure comments - templates/skill-md.md: All Chinese descriptions and comments - specs/reference-docs-spec.md: All section headers and explanations - phases/01-requirements-discovery.md through 05-validation.md (5 files) - specs/execution-modes.md, skill-requirements.md, cli-integration.md, scripting-integration.md (4 files) - templates/sequential-phase.md, autonomous-orchestrator.md, autonomous-action.md, code-analysis-action.md, llm-action.md, script-template.md (6 files) All 16 files in skill-generator are now fully in English.
9.0 KiB
9.0 KiB
Sequential Phase Template
Template for Phase files in Sequential execution mode.
Purpose
Generate Phase files for Sequential execution mode, defining fixed-order execution steps.
Usage Context
| Phase | Usage |
|---|---|
| Phase 3 (Phase Generation) | Generated when config.execution_mode === 'sequential' |
| Generation Trigger | Generate one phase file for each config.sequential_config.phases |
| Output Location | .claude/skills/{skill-name}/phases/{phase-id}.md |
Important Notes
Phase 0 is mandatory prerequisite: Before implementing any Phase (1, 2, 3...), Phase 0 specification review must be completed first.
When generating Sequential Phase, ensure:
- Phase 0 specification review step is included in SKILL.md
- Each Phase file references related specification documents
- Execution flow clearly marks Phase 0 as non-skippable prerequisite
Template Structure
# Phase {{phase_number}}: {{phase_name}}
{{phase_description}}
## Objective
{{objectives}}
## Input
- Dependency: `{{input_dependency}}`
- Config: `{workDir}/skill-config.json`
## Scripts
\`\`\`yaml
# Declare scripts used in this phase (optional)
# - script-id # Corresponds to scripts/script-id.py or .sh
\`\`\`
## Execution Steps
### Step 1: {{step_1_name}}
\`\`\`javascript
{{step_1_code}}
\`\`\`
### Step 2: {{step_2_name}}
\`\`\`javascript
{{step_2_code}}
\`\`\`
### Step 3: Execute Script (Optional)
\`\`\`javascript
// Script execution example
// const result = await ExecuteScript('script-id', { input_path: `${workDir}/data.json` });
// if (!result.success) throw new Error(result.stderr);
// console.log(result.outputs.output_file);
\`\`\`
## Output
- **File**: `{{output_file}}`
- **Format**: {{output_format}}
## Quality Checklist
{{quality_checklist}}
## Next Phase
{{next_phase_link}}
Variable Descriptions
| Variable | Description |
|---|---|
{{phase_number}} |
Phase number (1, 2, 3...) |
{{phase_name}} |
Phase name |
{{phase_description}} |
One-line description |
{{objectives}} |
List of objectives |
{{input_dependency}} |
Input dependency file |
{{step_N_name}} |
Step name |
{{step_N_code}} |
Step code |
{{output_file}} |
Output filename |
{{output_format}} |
Output format |
{{quality_checklist}} |
Quality checklist items |
{{next_phase_link}} |
Next phase link |
Script Invocation Guide
Directory Convention
scripts/
├── process-data.py # id: process-data, runtime: python
├── validate.sh # id: validate, runtime: bash
└── transform.js # id: transform, runtime: node
- Name is ID: Filename (without extension) = script ID
- Extension is runtime:
.py→ python,.sh→ bash,.js→ node
Invocation Syntax
// Single-line invocation
const result = await ExecuteScript('script-id', { key: value });
// Check result
if (!result.success) throw new Error(result.stderr);
// Get output
const { output_file } = result.outputs;
Return Format
interface ScriptResult {
success: boolean; // exit code === 0
stdout: string; // Standard output
stderr: string; // Standard error
outputs: object; // JSON output parsed from stdout
}
Phase Type Templates
1. Collection Phase
# Phase 1: Requirements Collection
Collect user requirements and project configuration.
## Objective
- Collect user input
- Auto-detect project information
- Generate configuration file
## Execution Steps
### Step 1: User Interaction
\`\`\`javascript
const userInput = await AskUserQuestion({
questions: [
{
question: "Please select...",
header: "Option",
multiSelect: false,
options: [
{ label: "Option A", description: "..." },
{ label: "Option B", description: "..." }
]
}
]
});
\`\`\`
### Step 2: Auto-detection
\`\`\`javascript
// Detect project information
const packageJson = JSON.parse(Read('package.json'));
const projectName = packageJson.name;
\`\`\`
### Step 3: Generate Configuration
\`\`\`javascript
const config = {
name: projectName,
userChoice: userInput["Option"],
// ...
};
Write(\`${workDir}/config.json\`, JSON.stringify(config, null, 2));
\`\`\`
## Output
- **File**: \`config.json\`
- **Format**: JSON
2. Analysis Phase
# Phase 2: Deep Analysis
Analyze code structure in depth.
## Objective
- Scan code files
- Extract key information
- Generate analysis report
## Execution Steps
### Step 1: File Scanning
\`\`\`javascript
const files = Glob('src/**/*.ts');
\`\`\`
### Step 2: Content Analysis
\`\`\`javascript
const analysisResults = [];
for (const file of files) {
const content = Read(file);
// Analysis logic
analysisResults.push({ file, /* analysis results */ });
}
\`\`\`
### Step 3: Generate Report
\`\`\`javascript
Write(\`${workDir}/analysis.json\`, JSON.stringify(analysisResults, null, 2));
\`\`\`
## Output
- **File**: \`analysis.json\`
- **Format**: JSON
3. Parallel Phase
# Phase 3: Parallel Processing
Process multiple subtasks in parallel.
## Objective
- Launch multiple agents for parallel execution
- Collect results from each agent
- Merge outputs
## Execution Steps
### Step 1: Prepare Tasks
\`\`\`javascript
const tasks = [
{ id: 'task-a', prompt: '...' },
{ id: 'task-b', prompt: '...' },
{ id: 'task-c', prompt: '...' }
];
\`\`\`
### Step 2: Parallel Execution
\`\`\`javascript
const results = await Promise.all(
tasks.map(task =>
Task({
subagent_type: 'universal-executor',
run_in_background: false,
prompt: task.prompt
})
)
);
\`\`\`
### Step 3: Merge Results
\`\`\`javascript
const merged = results.map((r, i) => ({
task_id: tasks[i].id,
result: JSON.parse(r)
}));
Write(\`${workDir}/parallel-results.json\`, JSON.stringify(merged, null, 2));
\`\`\`
## Output
- **File**: \`parallel-results.json\`
- **Format**: JSON
4. Assembly Phase
# Phase 4: Document Assembly
Assemble final output documents.
## Objective
- Read outputs from each phase
- Merge content
- Generate final document
## Execution Steps
### Step 1: Read Outputs
\`\`\`javascript
const config = JSON.parse(Read(\`${workDir}/config.json\`));
const analysis = JSON.parse(Read(\`${workDir}/analysis.json\`));
const sections = Glob(\`${workDir}/sections/*.md\`).map(f => Read(f));
\`\`\`
### Step 2: Assemble Content
\`\`\`javascript
const document = \`
# \${config.name}
## Overview
\${config.description}
## Detailed Content
\${sections.join('\\n\\n')}
\`;
\`\`\`
### Step 3: Write File
\`\`\`javascript
Write(\`${workDir}/\${config.name}-output.md\`, document);
\`\`\`
## Output
- **File**: \`{name}-output.md\`
- **Format**: Markdown
5. Validation Phase
# Phase 5: Validation
Verify output quality.
## Objective
- Check output completeness
- Verify content quality
- Generate validation report
## Execution Steps
### Step 1: Completeness Check
\`\`\`javascript
const outputFile = \`${workDir}/\${config.name}-output.md\`;
const content = Read(outputFile);
const completeness = {
hasTitle: content.includes('# '),
hasSections: content.match(/## /g)?.length >= 3,
hasContent: content.length > 500
};
\`\`\`
### Step 2: Quality Assessment
\`\`\`javascript
const quality = {
completeness: Object.values(completeness).filter(v => v).length / 3 * 100,
// Other dimensions...
};
\`\`\`
### Step 3: Generate Report
\`\`\`javascript
const report = {
status: quality.completeness >= 80 ? 'PASS' : 'REVIEW',
scores: quality,
issues: []
};
Write(\`${workDir}/validation-report.json\`, JSON.stringify(report, null, 2));
\`\`\`
## Output
- **File**: \`validation-report.json\`
- **Format**: JSON
Generation Function
function generateSequentialPhase(phaseConfig, index, phases, skillConfig) {
const prevPhase = index > 0 ? phases[index - 1] : null;
const nextPhase = index < phases.length - 1 ? phases[index + 1] : null;
return `# Phase ${index + 1}: ${phaseConfig.name}
${phaseConfig.description || `Execute ${phaseConfig.name}`}
## Objective
- ${phaseConfig.objectives?.join('\n- ') || 'TODO: Define objectives'}
## Input
- Dependency: \`${prevPhase ? prevPhase.output : 'user input'}\`
- Config: \`{workDir}/skill-config.json\`
## Execution Steps
### Step 1: Preparation
\`\`\`javascript
${prevPhase ?
`const prevOutput = JSON.parse(Read(\`${workDir}/${prevPhase.output}\`));` :
'// First phase, start from configuration'}
\`\`\`
### Step 2: Processing
\`\`\`javascript
// TODO: Implement core logic
\`\`\`
### Step 3: Output
\`\`\`javascript
Write(\`${workDir}/${phaseConfig.output}\`, JSON.stringify(result, null, 2));
\`\`\`
## Output
- **File**: \`${phaseConfig.output}\`
- **Format**: ${phaseConfig.output.endsWith('.json') ? 'JSON' : 'Markdown'}
## Quality Checklist
- [ ] Input validation passed
- [ ] Core logic executed successfully
- [ ] Output format correct
${nextPhase ?
`## Next Phase\n\n→ [Phase ${index + 2}: ${nextPhase.name}](${nextPhase.id}.md)` :
'## Completion\n\nThis is the final phase.'}
`;
}