softcopyright

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "softcopyright" with this command: npx skills add peterfei/ai-agent-team/peterfei-ai-agent-team-softcopyright

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

概述

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

  • 读取用户输入,如果是关键词则先搜索相关内容

  • 分析项目源码结构和内容

  • 生成详细的软件说明书(约2000-3000字)

  • 生成符合要求的源代码文档(60页,每页50行)

  • 导出为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: 生成选项

用户可以选择:

  • 生成全部材料(软件说明书 + 源代码文档)

  • 仅生成软件说明书

  • 仅生成源代码文档

  • 仅查看项目统计

步骤 5: 输出位置

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

生成的文件:

  • 软件说明书_<项目名>_<时间戳>.html

  • 源代码文档_<项目名>_<时间戳>.html

步骤 6: 导出PDF

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

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

添加--auto-pdf选项

node scripts/cli.js generate --project <项目路径> --auto-pdf

  • 自动在浏览器中打开HTML

  • 3秒后自动弹出打印对话框

  • 选择"保存为PDF"即可

方式2: 手动转换

  • 在浏览器中打开生成的HTML文件

  • 按 Cmd+P (macOS) 或 Ctrl+P (Windows/Linux)

  • 在打印设置中:

  • 展开"更多设置"

  • 勾选"页眉和页脚"

  • 选择"保存为PDF"

  • 保存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 执行流程:

  • 确认项目路径:当前目录

  • 运行源码扫描工具

  • 分析项目结构和技术栈

  • 生成软件说明书

  • 生成源代码文档

  • 导出PDF文件

  • 向用户展示生成结果

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

用户: "React电商系统"

Claude 执行流程:

  • 搜索"React电商系统"相关信息

  • 展示搜索结果

  • 询问:"是否需要为React电商系统生成软著申请材料?"

  • 用户确认后执行完整生成流程

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

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

Claude 执行流程:

  • 扫描项目源码

  • 分析项目功能

  • 生成软件说明书

  • 导出PDF文件

输出文件规范

软件说明书PDF

  • 文件名:软件说明书_项目名称_YYYYMMDD.pdf

  • 字数要求:2000-3000字

  • 包含所有必需章节

  • 专业排版和格式

源代码文档PDF

  • 文件名:源代码文档_项目名称_YYYYMMDD.pdf

  • 页数要求:60页(或处理全部代码)

  • 每页行数:不少于50行

  • 无注释和无版权信息

  • 代码连续性保证

软件著作权申请要求

源代码文档要求

  • 页数要求:通常需要20-60页

  • 格式要求:每页不超过50行代码

  • 注释要求:需要移除所有注释,只保留纯代码

  • 页眉页脚:需要包含软件名称和版本号

  • 代码连续性:需要保证代码的连续性和完整性

软件说明书要求

  • 内容详实:约2000-3000字

  • 结构完整:包含所有必需章节

  • 重点突出:突出软件的独创性

  • 专业描述:使用专业的技术描述

技术栈

  • Node.js: 主要运行环境

  • PDFKit: PDF文档生成

  • glob: 文件模式匹配

  • commander: CLI参数解析

  • chalk: 终端颜色输出

  • inquirer: 交互式命令行界面

依赖安装

使用 nvm 管理 Node.js 版本:

确保使用合适的 Node 版本

nvm use 18

安装依赖

cd ~/.claude/skills/softcopyright npm install

最佳实践

  • 项目分析准确: 确保正确识别项目类型和技术栈

  • 内容详实专业: 生成专业的技术描述和功能说明

  • 格式规范合规: 严格按照软著申请要求格式化

  • 用户交互友好: 提供清晰的进度提示和确认流程

  • 文档完整性: 确保生成材料的完整性和准确性

安全注意事项

  • 源码安全: 不修改原始源码,只读取和分析

  • 隐私保护: 不上传源码到外部服务

  • 本地处理: 所有处理都在本地完成

  • 用户确认: 重要操作前需要用户确认

故障排除

扫描失败

检查项目路径

ls -la <项目路径>

检查权限

chmod -R 755 <项目路径>

PDF生成失败

检查依赖安装

cd ~/.claude/skills/softcopyright npm list

重新安装依赖

npm install

内存不足

对于大型项目,可以:

  • 排除不必要的目录(node_modules, .git等)

  • 分批处理源码文件

  • 增加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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

tidymydesktop

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

drawnote-skill

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

changelog-generator

No summary provided by upstream source.

Repository SourceNeeds Review