Files
Claude-Code-Workflow/.claude/skills/skill-generator/templates/sequential-phase.md
catlog22 9762445876 refactor: Convert skill-generator from Chinese to English and remove emoji icons
- 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.
2026-01-29 15:42:46 +08:00

465 lines
9.0 KiB
Markdown

# 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:
> 1. Phase 0 specification review step is included in SKILL.md
> 2. Each Phase file references related specification documents
> 3. Execution flow clearly marks Phase 0 as non-skippable prerequisite
## Template Structure
```markdown
# 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
```javascript
// 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
```typescript
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
```markdown
# 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
```markdown
# 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
```markdown
# 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
```markdown
# 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
```markdown
# 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
```javascript
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.'}
`;
}
```