Claude Code Plugins

Community-maintained marketplace

Feedback
209
0

智能软件著作权申请材料生成工具。自动分析项目源码,生成符合软著申请要求的软件说明书和源代码文档。支持关键词搜索、智能源码分析、格式化输出和PDF导出。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name softcopyright
description 智能软件著作权申请材料生成工具。自动分析项目源码,生成符合软著申请要求的软件说明书和源代码文档。支持关键词搜索、智能源码分析、格式化输出和PDF导出。
license MIT

SoftCopyright - 智能软件著作权申请材料生成工具

概述

当用户需要申请软件著作权时,此 skill 会自动完成以下流程:

  1. 读取用户输入,如果是关键词则先搜索相关内容
  2. 分析项目源码结构和内容
  3. 生成详细的软件说明书(约2000-3000字)
  4. 生成符合要求的源代码文档(60页,每页50行)
  5. 导出为PDF格式供软著申请使用

支持的触发指令

用户可以通过以下方式触发此 skill:

  • "帮我生成软著申请材料" - 处理当前目录项目
  • "生成软件说明书" - 仅生成软件说明书
  • "生成源代码文档" - 仅生成源代码文档
  • 任何关键词 - 首先搜索相关内容,然后询问是否生成软著材料

工作流程

步骤 1: 理解用户意图

首先判断用户输入的类型:

// 检查用户输入类型
if (用户输入包含 "软著" || "著作权") {
  生成类型 = "全部材料"
} else if (用户输入包含 "软件说明书") {
  生成类型 = "说明书"
} else if (用户输入包含 "源代码" || "源码") {
  生成类型 = "源代码文档"
} else if (用户输入是关键词) {
  先搜索相关内容
  询问用户是否生成软著材料
}

步骤 2: 项目路径确认

// 默认使用当前目录
let projectPath = process.cwd()

// 询问用户确认路径
await confirmProjectPath(projectPath)

步骤 3: 使用CLI生成软著材料

推荐使用CLI工具生成软著材料:

# 方式1: 使用关键词触发index.js(交互式)
cd ~/.claude/skills/softcopyright
node scripts/index.js 软著

# 方式2: 使用cli.js直接生成(推荐)
node scripts/cli.js generate --project <项目路径>

# 方式3: 使用快捷命令(最佳体验)
~/.claude/skills/softcopyright/softcopyright-generate --project . --auto-pdf

# 方式4: 技能系统自动调用
用户输入"帮我生成软著" → 自动执行: softcopyright-generate --project . --auto-pdf

该工具会:

  • 自动扫描项目源码
  • 识别源代码文件类型
  • 分析项目结构和技术栈
  • 生成HTML格式的软件说明书和源代码文档
  • 询问用户是否自动在浏览器中打开并打印为PDF

步骤 4: 生成选项

用户可以选择:

  1. 生成全部材料(软件说明书 + 源代码文档)
  2. 仅生成软件说明书
  3. 仅生成源代码文档
  4. 仅查看项目统计

步骤 5: 输出位置

默认输出路径: <项目目录>/softcopyright-output/

生成的文件:

  • 软件说明书_<项目名>_<时间戳>.html
  • 源代码文档_<项目名>_<时间戳>.html

步骤 6: 导出PDF

有两种方式将HTML转换为PDF:

方式1: 自动转换(推荐)

# 添加--auto-pdf选项
node scripts/cli.js generate --project <项目路径> --auto-pdf
  • 自动在浏览器中打开HTML
  • 3秒后自动弹出打印对话框
  • 选择"保存为PDF"即可

方式2: 手动转换

  1. 在浏览器中打开生成的HTML文件
  2. 按 Cmd+P (macOS) 或 Ctrl+P (Windows/Linux)
  3. 在打印设置中:
    • 展开"更多设置"
    • 勾选"页眉和页脚"
    • 选择"保存为PDF"
  4. 保存PDF文件

工具脚本使用说明

scanner.js - 源码扫描工具

扫描项目目录并分析结构:

node ~/.claude/skills/softcopyright/scripts/scanner.js <项目路径>

输出项目分析的JSON文件。

doc-generator.js - 软件说明书生成器

生成详细的软件说明书:

node ~/.claude/skills/softcopyright/scripts/doc-generator.js \
  --type manual \
  --input <项目分析JSON> \
  --template <模板文件> \
  --output <输出PDF路径>

source-exporter.js - 源代码文档生成器

生成符合软著要求的源代码文档:

node ~/.claude/skills/softcopyright/scripts/source-exporter.js \
  --input <源码目录> \
  --output <输出PDF路径> \
  --pages 60 \
  --lines-per-page 50

使用示例

示例 1: 完整软著材料生成

用户: "帮我生成软著申请材料"

Claude 执行流程:

  1. 确认项目路径:当前目录
  2. 运行源码扫描工具
  3. 分析项目结构和技术栈
  4. 生成软件说明书
  5. 生成源代码文档
  6. 导出PDF文件
  7. 向用户展示生成结果

示例 2: 关键词搜索后生成

用户: "React电商系统"

Claude 执行流程:

  1. 搜索"React电商系统"相关信息
  2. 展示搜索结果
  3. 询问:"是否需要为React电商系统生成软著申请材料?"
  4. 用户确认后执行完整生成流程

示例 3: 仅生成软件说明书

用户: "帮我生成软件说明书"

Claude 执行流程:

  1. 扫描项目源码
  2. 分析项目功能
  3. 生成软件说明书
  4. 导出PDF文件

输出文件规范

软件说明书PDF

  • 文件名:软件说明书_项目名称_YYYYMMDD.pdf
  • 字数要求:2000-3000字
  • 包含所有必需章节
  • 专业排版和格式

源代码文档PDF

  • 文件名:源代码文档_项目名称_YYYYMMDD.pdf
  • 页数要求:60页(或处理全部代码)
  • 每页行数:不少于50行
  • 无注释和无版权信息
  • 代码连续性保证

软件著作权申请要求

源代码文档要求

  1. 页数要求:通常需要20-60页
  2. 格式要求:每页不超过50行代码
  3. 注释要求:需要移除所有注释,只保留纯代码
  4. 页眉页脚:需要包含软件名称和版本号
  5. 代码连续性:需要保证代码的连续性和完整性

软件说明书要求

  1. 内容详实:约2000-3000字
  2. 结构完整:包含所有必需章节
  3. 重点突出:突出软件的独创性
  4. 专业描述:使用专业的技术描述

技术栈

  • Node.js: 主要运行环境
  • PDFKit: PDF文档生成
  • glob: 文件模式匹配
  • commander: CLI参数解析
  • chalk: 终端颜色输出
  • inquirer: 交互式命令行界面

依赖安装

使用 nvm 管理 Node.js 版本:

# 确保使用合适的 Node 版本
nvm use 18

# 安装依赖
cd ~/.claude/skills/softcopyright
npm install

最佳实践

  1. 项目分析准确: 确保正确识别项目类型和技术栈
  2. 内容详实专业: 生成专业的技术描述和功能说明
  3. 格式规范合规: 严格按照软著申请要求格式化
  4. 用户交互友好: 提供清晰的进度提示和确认流程
  5. 文档完整性: 确保生成材料的完整性和准确性

安全注意事项

  1. 源码安全: 不修改原始源码,只读取和分析
  2. 隐私保护: 不上传源码到外部服务
  3. 本地处理: 所有处理都在本地完成
  4. 用户确认: 重要操作前需要用户确认

故障排除

扫描失败

# 检查项目路径
ls -la <项目路径>

# 检查权限
chmod -R 755 <项目路径>

PDF生成失败

# 检查依赖安装
cd ~/.claude/skills/softcopyright
npm list

# 重新安装依赖
npm install

内存不足

对于大型项目,可以:

  1. 排除不必要的目录(node_modules, .git等)
  2. 分批处理源码文件
  3. 增加Node.js内存限制

开发和扩展

要添加新的文件类型支持,编辑 scripts/scanner.js

const SUPPORTED_EXTENSIONS = {
  '.rs': {
    'single_line': '//',
    'multi_line': ['/*', '*/'],
    'language': 'rust'
  },
  '.go': {
    'single_line': '//',
    'multi_line': ['/*', '*/'],
    'language': 'go'
  }
}

版本: 1.0.0 作者: peterfei 许可: MIT