software-copyright skill
Generate guided Chinese software copyright application materials from a real project. Use this skill when the user asks for 软件著作权, 软著申请资料, 软著代码材料, 操作手册, 申请表信息, or wants Word/TXT materials for software copyright registration. The workflow analyzes the imported project, extracts real source code, creates Markdown drafts for user confirmation, then uses bundled DOCX tooling to produce final Word documents and TXT.
Is the software-copyright skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the software-copyright skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/ThomasMoreAI/legal-skills-open.git /tmp/legal-skills-open mkdir -p ~/.claude/skills cp -r /tmp/legal-skills-open/cn/ip/skills/software-copyright ~/.claude/skills/software-copyright
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
软著申请资料生成
这个 skill 生成可审阅、可追溯的软著申请资料。核心原则:
- 固定输出目录:当前工作目录下的 软件著作权申请资料/。不要默认写到 /tmp、/private/tmp 或其他临时目录。
- 只有测试 skill 自身时才允许显式指定临时目录;面向用户生成材料时必须写入当前目录。
- 先生成 Markdown 草稿,用户确认后再生成正式 Word/TXT。
- 正式 Word/TXT 只能写入 软件著作权申请资料/正式资料/,不要散落在输出目录根部。
- 正式 Word/TXT 的文字一律使用默认黑色字体,不生成蓝色超链接、主题色标题或其他彩色文字;Markdown 链接写入 Word 时必须转成普通文本。
- 正式资料中的软件名称必须与 草稿/申请表信息.md 的“软件全称”字段一致;正式生成时以已确认的申请表软件全称为准。
- 正式代码 Word 页眉中的版本号必须与 草稿/申请表信息.md 的“版本号”字段一致;正式生成时以已确认的申请表版本号为准。
- 代码材料必须来自真实项目源码,禁止 AI 编造代码。
- 写申请表和操作手册前,必须先形成模型研判后的 草稿/业务理解.md/json,理解软件业务、行业、目标用户、核心价值和操作流程。
- 脚本只能收集项目证据、校验字段和生成文件;行业判断、功能抽取、代码抽取选择、操作手册结构必须由模型阅读项目后决定,不得依赖脚本关键字表或固定范本。
- 优先抽取前端代码:入口、路由、页面、核心组件、接口封装、状态管理、工具函数。
- 生成代码材料前,必须先生成代码文件候选清单;模型理解项目后填写抽取文件、行段和选择理由,再让用户确认或修改。
强制人工门禁
凡是涉及用户选择、确认或补充信息的阶段,必须先停止当前执行,不得继续调用下一步脚本。即使处于自动审核、自动继续或无人值守模式,也必须把 STOPFORUSER 和 NEXT_ACTION 原样告知用户,并等待用户输入后再继续。
禁止使用“用户未选择则默认继续”的逻辑。用户回复确认后,先用确认脚本记录对应门禁,再进入下一阶段:
python3 scripts/confirm_stage.py --workdir 软件著作权申请资料 --stage <阶段名> --note "<用户确认内容>"必须停住的门禁:
- environment:完整 DOCX 环境缺失时,用户必须选择“安装完整环境”或“使用基础 DOCX 兜底继续”。
- project:存在多个项目候选目录时,用户必须指定项目目录。
- business:草稿/业务理解.md 生成后,用户必须确认行业、目标用户、核心功能和申请口径。
- application-fields:草稿/申请表信息.md 生成后,用户必须补全并确认硬件、系统环境、著作权人、日期等字段。
- code-selection:草稿/代码文件选择.json 生成后,用户必须确认或修改抽取文件和行段。
- screenshot-method:操作手册截图前,用户必须在 Chrome DevTools MCP、Codex Computer Use、用户自行截图三种方式中选择一种;如果用户明确说“现在不截图/先跳过截图”,记录为 skip。
- markdown:全部 Markdown 草稿完成后,用户必须确认可以进入 Word/TXT 生成。
工作流
1. 启动环境检查
一开始先在当前工作目录创建输出目录并检查运行能力:
python3 scripts/check_environment.py \
--out-dir 软件著作权申请资料输出:
- 软件著作权申请资料/环境检查.md
- 软件著作权申请资料/环境检查.json
环境检查必须告诉用户:
- 当前会在“当前目录/软件著作权申请资料”下生成材料。
- Markdown 草稿、TXT、基础 DOCX 是否可用。
- 内置 vendor/docx-toolkit 的完整 OpenXML 环境是否可用。
- 如 .NET SDK 缺失,询问用户是否安装完整环境。
用户选择:
- 如果用户愿意安装完整环境,按 vendor/docx-toolkit/scripts/setup.sh 的要求安装依赖,再继续。完整环境生成和校验更规范。
- 如果用户不安装,继续使用兜底方案生成 Markdown、TXT 和基础 DOCX。
- 如果完整 DOCX 环境缺失,必须停止并等待用户选择;不得自动继续。
用户回复后记录门禁:
python3 scripts/confirm_stage.py \
--workdir 软件著作权申请资料 \
--stage environment \
--note "<用户选择>"不要等到最后验证阶段才发现完整 DOCX 环境不可用;这个信息必须在流程开始时给出。
2. 定位项目
用户通常会把项目放在当前文件夹下。先扫描当前目录,避开本 skill、自身输出目录、node_modules、构建产物和隐藏目录,找到最可能的项目根目录。
如果有多个候选项目,必须停止并询问用户选择;如果只有一个明显候选项目,可以直接使用。
3. 分析项目
运行:
python3 scripts/analyze_project.py \
--project <项目目录> \
--out 软件著作权申请资料/analysis/project.json分析内容包括:
- package.json、README、脚本命令、依赖
- 前端框架和主要编程语言
- 入口文件、路由、页面、组件、接口、状态管理
- 源码文件数量和源程序行数
- 软件名称候选、主要功能候选、运行命令候选
4. 形成业务理解
在写申请表和操作手册前,先让脚本收集项目证据:
python3 scripts/generate_business_context.py \
--project <项目目录> \
--analysis 软件著作权申请资料/analysis/project.json \
--software-name "<软件全称>" \
--out-dir 软件著作权申请资料/草稿输出:
- 草稿/业务理解证据.md
- 草稿/业务理解证据.json
- 草稿/业务理解模型稿模板.json
这一步只收集证据,不决定最终业务口径。接下来必须由模型阅读 业务理解证据.md/json、README、PRD/BRD、页面文案、路由、接口、必要源码和用户补充资料,自行判断:
- 应该重点读取哪些文档和源码
- 软件属于什么行业 / 领域
- 目标用户是谁
- 核心价值是什么
- 哪些功能应写入软著申请资料
- 典型操作流程如何组织
- 操作手册适合采用什么章节结构
- 申请表建议口径如何表达
模型不得用脚本关键字表决定行业、功能和结构;不得把用户给的范本文案、测试项目名称、测试项目流程写成通用规则。
模型完成研判后,生成一个业务理解模型稿 JSON,字段至少包含:
- product_positioning
- industry
- target_users
- core_value
- business_features
- businessfeaturedetails
- operation_flow
- application_purpose
- main_functions
- technical_characteristics
- manual_sections
然后运行:
python3 scripts/generate_business_context.py \
--project <项目目录> \
--analysis 软件著作权申请资料/analysis/project.json \
--software-name "<软件全称>" \
--out-dir 软件著作权申请资料/草稿 \
--model-context <模型生成的业务理解JSON>输出:
- 草稿/业务理解.md
- 草稿/业务理解.json
最终业务理解必须覆盖:
- 产品定位
- 面向领域 / 行业
- 目标用户
- 核心价值
- 主要业务功能
- 典型操作流程
- 申请表建议口径
- 证据来源
- 操作手册结构建议
如果项目材料不足、业务类型较新,或用户明确希望参考竞品,可联网搜索相近产品和行业资料;外部调研只用于理解行业表达,不能编造项目不存在的功能。调研摘要应写入业务理解草稿,并区分“项目证据”和“行业参考”。
生成 业务理解.md/json 后必须停止,等待用户确认或修改。业务理解确认前,不得生成申请表和操作手册。如果业务理解仍不充分,先请用户补充产品说明。用户确认后运行:
python3 scripts/confirm_stage.py \
--workdir 软件著作权申请资料 \
--stage business \
--note "<用户确认内容>"5. 引导用户确认字段
根据分析结果,向用户确认:
- 软件全称
- 版本号
- 著作权人
- 开发完成日期
- 首次发表日期或未发表
- 开发硬件环境
- 运行硬件环境
- 开发操作系统
- 运行平台/操作系统
- 开发工具(IDE 或编辑器名称)
- 运行支撑环境/支持软件(项目运行所需 Node.js、Python、Docker、数据库、浏览器、中间件或外部服务)
- 软件分类
项目可推断字段可以先给建议值;硬件/系统环境必须允许用户选择建议值或手动填写。字段口径必须区分清楚:
- 软件全称:必须由用户确认。最终正式资料文件名、代码 Word 页眉、操作手册标题和正文中的软件名称,都必须与 申请表信息.md 的“软件全称”字段一致。
- 版本号:必须由用户确认。优先读取项目配置中的版本号作为证据;如果项目版本号小于 V1.0(例如 V0.1.0、V0.9.0),必须明确询问用户“软著首次提交通常写 V1.0,本次填写 V1.0 还是项目当前版本号”。最终 申请表信息.md 的“版本号”字段就是正式资料版本号。
- 软件开发环境 / 开发工具:填写 IDE 或编辑器名称,例如 Visual Studio Code、WebStorm、IntelliJ IDEA、Cursor;不要把 React、Next.js、Vite、TypeScript 等技术栈写到此字段。
- 开发该软件的操作系统:填写实际开发电脑的操作系统版本,例如 Windows 10、Windows 11、macOS 14、macOS 15。
- 该软件的运行平台 / 操作系统:填写软件运行所在的操作系统版本,例如 Windows 10/11 或 macOS 13及以上版本。
- 软件运行支撑环境 / 支持软件:填写项目运行依赖的软件环境,例如 Node.js、Python、Docker、PostgreSQL、Redis、浏览器、中间件、外部模型或云服务。
- 开发的硬件环境:优先读取当前电脑 CPU、内存、硬盘、架构等配置作为建议值;读取不到时让用户填写。
- 运行的硬件环境:默认可沿用开发硬件环境建议值,也可以按实际部署或运行设备修改。
此阶段需要先停止等待用户输入;收到用户回复后,可整理为 answers JSON 传入申请表草稿生成。申请表字段的最终门禁在 草稿/申请表信息.md 生成后记录。
6. 确认代码文件选择
生成代码材料前,先运行候选文件分析:
python3 scripts/propose_code_selection.py \
--project <项目目录> \
--analysis 软件著作权申请资料/analysis/project.json \
--out-dir 软件著作权申请资料/草稿输出:
- 草稿/代码文件候选清单.md:给用户看的候选说明。
- 草稿/代码文件选择.json:可编辑的选择文件。
More skills from ThomasMoreAI/legal-skills-open
- A02民事诉讼案件的诉讼文书制备阶段。承接阶段一(战略把脉)的分析成果,将策略方案转化为可直接提交法院的正式法律文书,同时建立对方来文和法院来文的管理机制。当用户已完成阶段一、需要起草起诉状/答辩状、制作证据目录、或收到对方/法院文书需要处理时触发。适用于原告准备起诉材料,或被告准备应诉材料。
- A02-lyronlee二审程序的诉讼文书制备阶段。承接阶段一(战略分析)的分析成果,将上诉策略转化为可直接提交二审法院的正式法律文书。当用户已完成阶段一、需要起草上诉状或二审答辩状、制作新证据目录、或收到法院来文需要处理时触发。适用于上诉人准备上诉材料,或被上诉人准备应诉材料。
- Aad-compliance-review广告合规审核技能,用于审核广告素材是否符合中国广告法及相关法规。适用场景:(1) 用户提交广告文案、广告素材要求合规审核时;(2) 用户提到"广告审核""广告合规""广告法审查"等关键词时;(3) 用户要求检查广告内容是否存在违法违规风险时;(4) 用户提交房地产、食品、医疗、药品、互联网等行业广告要求专项审核时。审核依据涵盖《广告法》《反不正当竞争法》及行业专项法规。
- Aadmin-reviewReviews administrative case documents for procedural compliance across 38 checkpoints, covering filing, summons, handling outcomes, evidence, and rights protection. Use when auditing public security administrative case files in txt format for legal procedure violations.
- Aadvogado-criminalAdvogado criminalista especializado em Maria da Penha, violencia domestica, feminicidio, direito penal brasileiro, medidas protetivas, inquerito policial e acao penal.
- Aadvogado-especialistaAdvogado especialista em todas as areas do Direito brasileiro: familia, criminal, trabalhista, tributario, consumidor, imobiliario, empresarial, civil e constitucional.
- Aage-verification-methodsEvaluates and implements age estimation and verification technologies for online services. Covers facial age estimation, digital ID verification, self-declaration with risk assessment, AI-based age estimation, and the accuracy versus privacy tradeoff. Includes ICO guidance and euCONSENT framework. Keywords: age verification, age estimation, facial analysis, digital ID, children, online safety.
- Aai-privacy-assessmentGuides the combined DPIA and AI Act conformity assessment for AI systems processing personal data. Covers EDPB-EDPS Joint Opinion 5/2021, training data lawfulness under Art. 6 and Art. 9, Art. 22 automated decision-making, algorithmic bias detection, and NIST AI RMF MAP function. Keywords: AI privacy, DPIA, AI Act, algorithmic bias, automated decision-making, Art. 22, training data, NIST AI RMF.
- Aanalise-processo-penalAssessoria judicial completa para processos penais. Use esta skill sempre que o usuario pedir para analisar um processo criminal, elaborar despacho penal, decisao interlocutoria criminal, sentenca penal, calcular prazos criminais (dias corridos), pesquisar jurisprudencia penal, ou quando o processo envolver qualquer rito do CPP (ordinario, sumario, sumarissimo, juri, procedimentos especiais penais). Tambem use quando o usuario mencionar termos como "criminal", "penal", "CPP", "crime", "denuncia", "inquerito", "prisao", "liberdade provisoria", "habeas corpus", "tribunal do juri", "acao penal", "execucao penal", "LEP", "suspensao condicional", "sursis", "livramento condicional", "medida de seguranca", "transacao penal", "suspensao condicional do processo", "audiencia de custodia", "colaboracao premiada", "acordo de nao persecucao penal", ou qualquer procedimento regulado pelo Codigo de Processo Penal brasileiro.
- Aapac-transfersGuides management of cross-border data transfers under Asia-Pacific regulatory frameworks including APEC CBPR, ASEAN Model Contractual Clauses, Japan APPI supplementary rules, South Korea PIPA provisions, and Thailand/Singapore PDPA mechanisms. Keywords: APEC CBPR, ASEAN MCCs, APPI, PIPA, PDPA, APAC transfers.
- Aapec-cbpr-certGuides APEC Cross-Border Privacy Rules system certification process including self-assessment against the APEC Privacy Framework principles, accountability agent selection, intake questionnaire completion, certification decision, annual recertification, and Global CBPR Forum transition. Keywords: APEC, CBPR, cross-border privacy, accountability agent, certification, Global CBPR.
- Aarckit-at-bvergg[COMMUNITY] Generate Austrian public procurement documentation aligned with Bundesvergabegesetz 2018 — Oberschwellen/Unterschwellen determination, ANKÖ publication, BVergGVS secondary rules, and BVwG review pathway