软著申请材料编写 Skill
使用场景
在以下场景中,应优先使用本 Skill:
- 用户说「帮我为这个项目写软著/软件著作权申请材料/说明书」;
- 用户提到「前1500行/后1500行源码」「源码行数/3000行/60页」「源码与说明书要求」;
- 用户提到「《计算机软件著作权登记申请表》」「新版软著申请所需资料模板」「审计意见没通过」;
- 用户需要对一个 SDK、平台类项目进行软著材料固化、复制已有做法到新项目。
参考模板目录(默认)
固定路径:/Users/liushangliang/github/phenix3443/idea/材料模板/新版软著申请所需资料模板
- 该目录下包含:
源码与说明书要求.txt、《计算机软件著作权登记申请表》新版.docx 等; - 若存在子目录「新版软著申请所需资料模板」,则在该子目录下查找
源码与说明书要求.txt; - Skill 执行时从此目录读取模板与要求;若用户未指定其他路径,一律使用此默认路径。
输入要求
在开始前,向用户或从上下文中获取:
- 目标项目路径:如一个 Python/其他语言项目的根目录;
- 软件全称:必须以「XX系统 / XX软件 / XX平台」结尾,不得有多余空格;
- 软件简称:一般为英文名或简短中文名;
- 版本号:如
V1.0; - 可选:项目中已有的审计意见文件(如
audit/round-1.md、audit/round-2.md)。
必须遵守的模板与审计要求
1. 模板要求(来自「源码与说明书要求.txt」)
从参考模板目录读取 源码与说明书要求.txt,并遵守以下要点:
源码
- 每页 50 行;总行数按「与说明书顺序一致」拼接后的非空行统计;
- 总行数 ≤ 3000 行:提供全部源码,行数与申请表「源码量」一致;
- 总行数 > 3000 行:提供《前1500行》与《后1500行》两个文件,各 30 页(每页 50 行),中间不提供;
- 《前1500行》:必须从某模块的开始代码起头(第 1 行为该模块首行有效代码);
- 《后1500行》:必须以某模块的结束代码收尾(最后一行为说明书最后一个功能对应的最末行代码);
- 代码中不得出现
Copyright + 其他公司/机构名称;若为本软件名称可保留。
说明书
- 截图须与申请软件全称或简称一致;
- 操作截图 + 文字说明不少于 10 页;
- 截图清晰,打印可辨;
- 截图所示软硬件环境须与申请表中填写的一致;
- 截图中不得出现权利人以外的单位名称(否则需授权或说明);
- 不得出现其他公司地址/域名(否则需 ICP 备案等说明)。
申请表
- 使用参考模板目录下《计算机软件著作权登记申请表》新版.docx;
- 软件全称/简称/版本号、源码量、开发目的、主要功能、技术特点、软硬件环境等须与说明书和源码一致。
2. 审计检查清单(必做)
执行时必须按以下清单自查并修正:
| 类别 | 要求 | 来源 |
|---|---|---|
| 敏感词与合规 | 避免或替换:虚拟货币、虚拟资产、数字收藏、数字藏品、数字代币、NFT、token、数字钱包等;必要时用「token」等中性技术表述,避免金融/投机语境 | round-1 |
| 软件全称 | 全称中无多余空格;须以「系统/软件/平台」结尾,如「国际区块链 Python SDK 软件」 | round-2 |
| 前1500行起止 | 第 1 行为某逻辑模块的开始代码(非注释/空行优先) | round-2 |
| 后1500行起止 | 最后一行须为说明书功能顺序中最后一个功能的最末行代码;即后半代码文件应「以最后一个功能的最末尾代码结束」 | round-2 |
| 说明书模块化 | 每个功能:流程图 + 文字说明;含数据、体系结构、接口和构件的清晰表示;框架细化为具体数据结构与算法说明 | round-2 |
标准输出物
在用户指定的输出目录(如项目下的 软著/ 或 申请资料/)生成或指导生成:
| 交付物 | 说明 |
|---|---|
plan.md | 交付物清单、源码顺序 FILE_ORDER、前/后 1500 行起止规则、说明书结构、申请表关键项、注意事项 |
代码_前1500行.txt | 按非空行统计的前 1500 行,从某模块开始代码起头 |
代码_后1500行.txt | 从说明书最后功能对应源码末尾向前取 1500 行,最后一行为该模块最后一行 |
软件著作权产品说明书_<软件简称>.md | 模块化说明书:每节含功能概述、流程图、体系结构、数据结构、接口表、算法说明、截图占位 |
申请表填写说明_<软件简称>.md | 为新版申请表逐项提供填写建议,并注明与说明书、源码量、环境一致 |
| (可选)检查表 | 模板条款 + 审计清单的逐项对照结果 |
工作流程(按顺序执行)
-
读取模板与审计
- 从参考模板目录读取
源码与说明书要求.txt; - 若项目内存在
audit/round-*.md,一并读取并纳入检查清单。
- 从参考模板目录读取
-
分析目标项目
- 识别主源码目录与文件;结合 README/文档确定「说明书功能章节顺序」;
- 按该顺序列出纳入统计的源码文件列表
FILE_ORDER; - 按
FILE_ORDER拼接非空行,统计总行数。
-
确定前/后 1500 行起止
- 前 1500:第 1 行 = 某模块开始代码;截取前 1500 行非空行;
- 后 1500:根据说明书最后功能定位对应源码文件及结束行(可表示为
(文件路径, 行号),如BACK_END_AT);构造后半段文件顺序(如BACK_FILE_ORDER),从结束位置向前累积非空行,取最后 1500 行。
-
敏感词与版权排查
- 对说明书与申请表文案扫描:敏感词替换建议、
Copyright + 他方名称检查; - 校验软件全称无多余空格且以「系统/软件/平台」结尾。
- 对说明书与申请表文案扫描:敏感词替换建议、
-
编写产品说明书
- 结构:1 软件介绍 → 2 特色与设计原理 → 3 系统需求 → 4 安装与运行 → 5 功能模块(每模块:概述、流程图、体系结构、数据结构、接口表、算法说明、截图占位)→ 6 示例与测试 → 7 常见问题(可选);
- 全称/简称与申请表一致;可嵌入 Mermaid 流程图。
-
编写申请表填写说明
- 软件全称/简称/版本、分类、开发目的、主要功能(≥100 字)、技术特点(≤100 字)、源码量、软硬件环境、权利范围等;
- 明确标注「与说明书、源码量一致」「环境与截图一致」。
-
生成前/后 1500 行
- 优先直接生成
代码_前1500行.txt、代码_后1500行.txt; - 若需脚本:可复用或改写
gen_code_front_back_1500.py的逻辑(见本 Skill 的scripts/或参考实现),参数为:项目根路径、FILE_ORDER、BACK_END_AT(或等价的后段结束规则)、输出目录。
- 优先直接生成
-
终审
- 输出对照检查表:是否满足「源码与说明书要求.txt」各条、是否满足审计 round-1/round-2 要点、申请表/说明书/源码量是否一致、截图名称与环境是否一致。
参考实现与范例路径
以下为可参考的已有案例(只读,不修改)。路径以 idea 仓库为根:
- 规划与交付物:
workspace/diox_sdk/软著/plan.md - 说明书范例:
workspace/diox_sdk/软著/docs/软件著作权产品说明书_Dioxide_Python_SDK.md - 申请表填写说明范例:
workspace/diox_sdk/软著/docs/申请表填写说明_Dioxide_Python_SDK.md - 前/后 1500 行生成脚本:
workspace/diox_sdk/软著/scripts/gen_code_front_back_1500.py - 审计意见:
workspace/diox_sdk/软著/audit/round-1.md、workspace/diox_sdk/软著/audit/round-2.md
本 Skill 的 reference/ 目录下提供:源码与说明书要求.txt 全文、audit-checklist.md(审计要点归纳),便于离线引用。
使用建议
- 新项目:先根据项目确定说明书章节与
FILE_ORDER,再按上述流程执行; - 多项目复用:可固定说明书框架与申请表通用段落,仅改业务相关描述;
- 模板或审计更新:若有新要求,应同步更新本 Skill 的「必须遵守的模板与审计要求」与检查清单。