Software Copyright Documentation Skill
Generate CPCC-compliant software design specification documents (软件设计说明书) through multi-phase code analysis.
Architecture Overview
┌─────────────────────────────────────────────────────────────────┐ │ Context-Optimized Architecture │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Phase 1: Metadata → project-metadata.json │ │ ↓ │ │ Phase 2: 6 Parallel → sections/section-N.md (直接写MD) │ │ Agents ↓ 返回简要JSON │ │ ↓ │ │ Phase 2.5: Consolidation → cross-module-summary.md │ │ Agent ↓ 返回问题列表 │ │ ↓ │ │ Phase 4: Assembly → 合并MD + 跨模块总结 │ │ ↓ │ │ Phase 5: Refinement → 最终文档 │ │ │ └─────────────────────────────────────────────────────────────────┘
Key Design Principles
-
Agent 直接输出 MD: 避免 JSON → MD 转换的上下文开销
-
简要返回: Agent 只返回路径+摘要,不返回完整内容
-
汇总 Agent: 独立 Agent 负责跨模块问题检测
-
引用合并: Phase 4 读取文件合并,不在上下文中传递
Execution Flow
┌─────────────────────────────────────────────────────────────────┐ │ Phase 1: Metadata Collection │ │ → Read: phases/01-metadata-collection.md │ │ → Collect: software name, version, category, scope │ │ → Output: project-metadata.json │ ├─────────────────────────────────────────────────────────────────┤ │ Phase 2: Deep Code Analysis (6 Parallel Agents) │ │ → Read: phases/02-deep-analysis.md │ │ → Reference: specs/cpcc-requirements.md │ │ → Each Agent: 分析代码 → 直接写 sections/section-N.md │ │ → Return: {"status", "output_file", "summary", "cross_notes"} │ ├─────────────────────────────────────────────────────────────────┤ │ Phase 2.5: Consolidation (New!) │ │ → Read: phases/02.5-consolidation.md │ │ → Input: Agent 返回的简要信息 + cross_module_notes │ │ → Analyze: 一致性/完整性/关联性/质量检查 │ │ → Output: cross-module-summary.md │ │ → Return: {"issues": {errors, warnings, info}, "stats"} │ ├─────────────────────────────────────────────────────────────────┤ │ Phase 4: Document Assembly │ │ → Read: phases/04-document-assembly.md │ │ → Check: 如有 errors,提示用户处理 │ │ → Merge: Section 1 + sections/*.md + 跨模块附录 │ │ → Output: {软件名称}-软件设计说明书.md │ ├─────────────────────────────────────────────────────────────────┤ │ Phase 5: Compliance Review & Refinement │ │ → Read: phases/05-compliance-refinement.md │ │ → Reference: specs/cpcc-requirements.md │ │ → Loop: 发现问题 → 提问 → 修复 → 重新检查 │ └─────────────────────────────────────────────────────────────────┘
Document Sections (7 Required)
Section Title Diagram Agent
1 软件概述
Phase 4 生成
2 系统架构图 graph TD architecture
3 功能模块设计 flowchart TD functions
4 核心算法与流程 flowchart TD algorithms
5 数据结构设计 classDiagram data_structures
6 接口设计 sequenceDiagram interfaces
7 异常处理设计 flowchart TD exceptions
Directory Setup
// 生成时间戳目录名
const timestamp = new Date().toISOString().slice(0,19).replace(/[-:T]/g, '');
const dir = .workflow/.scratchpad/copyright-${timestamp};
// Windows (cmd)
Bash(mkdir "${dir}\\sections");
Bash(mkdir "${dir}\\iterations");
// Unix/macOS
// Bash(mkdir -p "${dir}/sections" "${dir}/iterations");
Output Structure
.workflow/.scratchpad/copyright-{timestamp}/ ├── project-metadata.json # Phase 1 ├── sections/ # Phase 2 (Agent 直接写入) │ ├── section-2-architecture.md │ ├── section-3-functions.md │ ├── section-4-algorithms.md │ ├── section-5-data-structures.md │ ├── section-6-interfaces.md │ └── section-7-exceptions.md ├── cross-module-summary.md # Phase 2.5 ├── iterations/ # Phase 5 │ ├── v1.md │ └── v2.md └── {软件名称}-软件设计说明书.md # Final Output
Reference Documents
Document Purpose
phases/01-metadata-collection.md Software info collection
phases/02-deep-analysis.md 6-agent parallel analysis
phases/02.5-consolidation.md Cross-module consolidation
phases/04-document-assembly.md Document merge & assembly
phases/05-compliance-refinement.md Iterative refinement loop
specs/cpcc-requirements.md CPCC compliance checklist
templates/agent-base.md Agent prompt templates
../_shared/mermaid-utils.md Shared Mermaid utilities