src/skills/tao-software-copyright/SKILL.md
从真实项目源码生成中文软件著作权登记材料。当用户提到"软著""软件著作权""软著申请资料""程序鉴别材料""文档鉴别材料/设计说明书""软著用户手册""采集表/申请表"时使用。 按阶段引导用户提供软件信息与代码路径,用内置参数化脚本生成:采集表(docx,按官方模板+形式校验)、程序鉴别材料(docx,源代码前30+后30页)、软件设计说明书(docx)、用户手册(docx,截图占位)+截图清单;设计说明书与用户手册二者择一作「文档鉴别材料」槽提交,不合并;定稿前必跑 validate(形式)+review(实质)两环。 代码只来自真实项目、绝不编造;只描述已实现功能;关键节点停下让用户确认。
npx skillsauth add tao-hpu/tao-ai-toolkit tao-software-copyrightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
本 skill 把一套已成功下证的软著材料生产流程抽象为可复用工具。
软著只有两个上传槽位:①「程序鉴别材料」放源代码;②「文档鉴别材料」是一个槽位名,从 设计说明书 / 用户手册 / 操作手册 里三选一只放一份,绝不把多份拼接合并。「文档鉴别材料」不是某个文件的固定名字——本 skill 同时产出设计说明书与用户手册两份候选,交付前由用户指定哪一份进②号槽,另一份归档留痕不上传。
产出物:
gen_collection_form.py 按官方《新系统信息采集表》模板渲染(字段/选项/字符限制照搬官方),内置形式校验② 号槽选哪份的判据:默认用户手册;仅当手册截图过多、有效文字版面页不足(版权中心按版面页计,整页大图“不经看”)时,改投偏文字的设计说明书,或给手册补文字——始终一份,不合并。
脚本是稳定资产,只负责渲染与分页;行业判断、模块设计、手册措辞由你(模型)阅读真实项目后决定。
references/code-selection.md)。基于开源框架/脚手架(如 Spring Boot / Django / Express / Create React App 等)时,框架代码版权非著作权人,纳入会被以"非原创"挑刺;并在采集表/说明书声明"基于 XX 开源框架(协议)二次开发,核心业务逻辑自主研发"。软件设计说明书.docx、手册命名 用户手册.docx,不得把任一份直接命名为 文档鉴别材料.docx(冒充槽位会让下游误判该交哪份)。交付前必须执行槽位指定(见下方工作流末步与 workflow.md 定稿门禁)。assets/scripts/gate.py confirm 机器化记录门禁;定稿 validate 环节 gate.py check --require ... 门禁不齐即拒绝交付。停顿门禁见 references/workflow.md。★待确认,但定稿前必须 grep 清零——用 AskUserQuestion 逐项问实值替换,交付物中绝不残留 ★待确认。开发工具/运行支撑环境 ≤50 字符、技术特点 ≤100 字符、主要功能 500–1300 字、开发目的/面向领域 ≤50 字。写完软件说明节逐项数长度再定稿,详见 references/application-form.md 七节。软著/<项目名>/),不要写到 /tmp。启动第一步先判定入场模式并与用户对齐,记 gate.py confirm --stage intake:
collection_form.json 跑 gen_collection_form.py --strict,补齐字符/字数硬限与官方字段;③ ★待确认 grep 清零;④ 厘清「文档鉴别材料」槽位、指定用哪份且不合并;⑤ 去 AI 味与"只写已实现功能"复核;⑥ 名称/版本全程一致。铁律:无论哪种入场,最终都必须完整通过门禁 + validate(形式) + review(实质),并符合本 skill 当前叙事与规则。老材料"看起来能用"不等于合规——经过本 skill 的产物就要按新规则负责到底。
参考 references/workflow.md 第 1 节,向用户收集并确认:
信息不足时先停下让用户补,不要猜。
python3 -c "import docx" 校验 python-docx;soffice 可选(用于核对页数);python3 -c "import PIL" 可选(截图打码 redact_screenshot.py 用,缺则 pip install Pillow)。references/application-form.md 写 collection_form.json(示例 assets/scripts/example/collection_form.example.json,字段/选项措辞照搬官方模板),运行 assets/scripts/gen_collection_form.py --config ... --output 采集表.docx,看 stdout 形式校验报告,不确定项填 ★待确认,停下让用户核对。project.json(见 assets/scripts/example/project.example.json),运行 assets/scripts/gen_code_doc.py --config project.json,报告总行数/页数。生成后必须敏感排查:扫描 docx 文本,配 scrub 删框架署名头(@Author/@Email/@Copyright 等含框架专有标识的整行,保留本团队@author)、掩码密钥/内网IP/内部域名,复扫确认归零(详见 references/code-selection.md、accuracy-rules.md)。references/design-doc-outline.md 撰写 content_data.py(项目专属正文,基于真实代码/SQL/接口,类名表名不得编造),运行 assets/scripts/render_design_doc.py。推荐加第10章「开发历程与版本演进」:先用 gen_dev_history.py(只取用户确认的本团队 author,过滤开源框架/其他团队)提炼真实 git 时间线,再据此写入——作为创作时间与作者归属的举证。用 soffice 核对页数;不足时按 outline 补充真实章节,不靠注水。references/manual-outline.md 写 manual.json(章节+截图位),运行 assets/scripts/gen_user_manual.py,自动产出 docx 与 截图清单.md。按用户所选截图方式(模型自截/用户自截/跳过)采集;任何截图入册前必做合规复核(见 workflow.md 6.2 / accuracy-rules.md 6bis):剔除第三方主体名/LOGO/水印、个人隐私、内网IP/密钥/真实敏感数据,用 assets/scripts/redact_screenshot.py 按坐标打码(非破坏式),打码到不可辨认再嵌入。gen_collection_form.py --strict,ERROR 必须清零(字符/字数硬限、必填、★待确认);② 三轮自检:四份材料文件完整、名称/版本/页数全程一致、单一主体 grep 归零、截图合规(无三方主体/隐私/敏感数据,需打码已打码)、grep -rn "★待确认" <软著目录> 零命中;③ 指定「文档鉴别材料」槽:用 AskUserQuestion 让用户在 软件设计说明书.docx/用户手册.docx 二选一(默认用户手册),选中那份复制为 文档鉴别材料(提交用).docx,另一份标“归档不上传”,不合并不二传,记 gate.py confirm --stage doc-slot;④ 门禁齐全校验:gate.py check --workdir <软著目录> --require intake,business,collection-form,code-selection,screenshot-method,doc-slot,缺任一即停下补用户确认。任一项不过,不得进入 review。gate.py confirm --stage review-signoff 方可定稿。无论全新、半道续作还是老版本归一,门禁→validate→review 都是定稿前不可跳过、不可调换顺序的收尾。references/evidence-trail.md 用 inject_copyright_header.py(默认 dry-run,确认并切独立分支后 --apply 把版权头写进真实自研源码)+ gen_evidence_manifest.py 生成《原创性举证清单.md》。改动真实仓库前必须用户明确同意。SK=<本skill绝对路径>/assets/scripts
python3 "$SK/gate.py" confirm --workdir <软著目录> --stage <阶段> --note "用户确认内容"
python3 "$SK/gate.py" check --workdir <软著目录> --require intake,business,collection-form,code-selection,screenshot-method,doc-slot
python3 "$SK/gen_collection_form.py" --config <软著目录>/collection_form.json \
--output <软著目录>/采集表.docx [--strict] # --strict 供 validate 环节
python3 "$SK/gen_code_doc.py" --config <软著目录>/project.json
python3 "$SK/render_design_doc.py" --content <软著目录>/content_data.py \
--header "<软件全称> <版本>" --title "软件设计说明书" \
--unit "<著作权人>" --output <软著目录>/软件设计说明书.docx
python3 "$SK/gen_user_manual.py" --spec <软著目录>/manual.json \
--header "<软件全称> <版本> 用户手册" \
--screenshot-dir "<软著目录>/物料/screenshots" \
--output "<软著目录>/用户手册.docx" \
--manifest "<软著目录>/截图清单.md"
# 截图打码(隐私/三方主体脱敏,非破坏式,默认 dry-run)
python3 "$SK/redact_screenshot.py" --manifest <软著目录>/打码清单.json # 预演
python3 "$SK/redact_screenshot.py" --manifest <软著目录>/打码清单.json --apply # 执行
content_data.py 与 manual.json 由你按 references 为每个项目现写;project.json 按示例填路径。脚本不改。
★待确认 项与形式校验报告中的 ERROR详细阶段门禁、撰写规范与反"AI味"要求见 references/ 下各文件,开工前务必先读 references/workflow.md、references/accuracy-rules.md(含已验证下证基线,勿过度加码)与 references/code-selection.md;涉及维权/尽调时读 references/evidence-trail.md。
tools
对线上 Linux 服务器做只读例行安全巡检 (compromise assessment + 漏洞核对 + 健康基线)。当用户提到"服务器巡检""例行巡检""服务器安全检查""巡检脚本""服务器被入侵""中招/挖矿排查""CPU 暴涨查原因""矿池/木马/后门排查""服务器例行检查""周期巡检"时使用。 本地 SSH 驱动、多主机: 把只读采集器 inspect.sh 经 SSH stdin 送进每台服务器执行(不在服务器落地文件), 拉回报告并与历史基线 diff; 再由模型按 8 层方法论判读(进程/网络/持久化/账户/文件/日志/应用漏洞/健康基线), 对检出版本联网核对 CVE, 输出带严重度分级的报告 + 修复命令清单。 铁律: 只读, 绝不自动改服务器/杀进程/删文件; 任何处置命令都交用户执行或逐项确认; 先取证再清理; 例行巡检价值在"基线变化"。
development
用 Framer Motion (motion/react) 做精美的动画 SVG React 组件——概念图、流程图、产品插画、交互可视化。当用户提到"动画 SVG""Framer Motion 组件""动效插画""motion/react""给网站/dashboard 做动画插图""animated SVG"时使用。
tools
创建/编辑/格式化/重构 Markdown 文件,尤擅复杂表格。当用户提到"改 markdown""markdown 表格""CSV 转表格""表格排序/筛选/转换""整理文档格式/标题层级""合并多个 md 表格""批量处理 markdown"时使用。
data-ai
把工作流、系统架构、技术流程转成专业的 DrawIO XML 图(看板布局 + 学术配色矢量插画风)。当用户提到"画 drawio 图""生成 drawio""drawio 架构图/流程图""矢量示意图""draw.io XML""科研插画风图表"时使用。