跳到主要内容
知仓学习社ZHICANG

patent-disclosure-skill

中国专利技能:挖掘专利点与编写交底书(发明/实用/外观),把已有交底改写成申请文件四件套,也可按材料交底申请一起做,按著录字段检索公布公告,通俗解读专利,基于已读库打开专利地图,对照审查口径出政策简报,辅助审查答复。| China patents skill: mine patent point…

读凭据执行命令联网读文件写文件严重 0 · 高危 116handsomestWei/patent-disclosure-skill

它会碰到什么

扫了多少407 个文本文件,2068 KB
它会碰到什么读凭据执行命令联网读文件写文件
命中总数285 处
命中统计严重 0 · 高 116 · 中 80 · 低 89

这个仓库里自带 2 个测试样本文件(有些技能仓会放故意的恶意样本做演示),它们不计入上面的能力与命中。

逐条看命中(30 条严重或高危)
  • scripts/generate-star-history.py:30cred-envread
    default=os.environ.get("GITHUB_REPOSITORY", "handsomestWei/patent-disclosure-skill"),
  • scripts/generate-star-history.py:50cred-envread
    default=os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN") or local_gh_token(),
  • scripts/generate-star-history.py:50cred-envread
    default=os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN") or local_gh_token(),
  • scripts/generate-star-history.py:101exec-spawn
    token = subprocess.check_output(
  • skills/patent-application/tools/stdio_utf8.py:34exec-spawn
    """``subprocess.run``:强制 UTF-8 文本,子进程带 PYTHONUTF8。"""
  • skills/patent-application/tools/stdio_utf8.py:39exec-spawn
    return subprocess.run(cmd, **kwargs)
  • skills/patent-disclosure/tests/test_cnipa_epub_wait.py:42cred-envread
    os.environ["EPUB_WAIT_YAML"] = str(missing)
  • skills/patent-disclosure/tests/test_cnipa_epub_wait.py:54cred-envread
    os.environ["EPUB_WAIT_YAML"] = path
  • skills/patent-disclosure/tests/test_cnipa_epub_wait.py:63cred-envread
    os.environ["EPUB_WAF_MAX_WAIT_SEC"] = "12"
  • skills/patent-disclosure/tests/test_mermaid_browser.py:27cred-envread
    os.environ["PATENT_BROWSER_CHANNEL"] = self._old
  • skills/patent-disclosure/tests/test_mermaid_browser.py:48cred-envread
    os.environ["PATENT_BROWSER_CHANNEL"] = "msedge"
  • skills/patent-disclosure/tests/test_stdio_utf8.py:23cred-envread
    self.assertEqual(stdio_utf8.os.environ.get("PYTHONUTF8"), "1")
  • skills/patent-disclosure/tests/test_stdio_utf8.py:24cred-envread
    self.assertEqual(stdio_utf8.os.environ.get("PYTHONIOENCODING"), "utf-8")
  • skills/patent-disclosure/tools/bootstrap_cad_venv.py:55cred-envread
    env_url = os.environ.get(INDEX_ENV, "").strip()
  • skills/patent-disclosure/tools/bootstrap_cad_venv.py:69exec-spawn
    return subprocess.run(
  • skills/patent-disclosure/tools/browser.py:33cred-envread
    return os.environ.get("PLAYWRIGHT_HEADED", "").strip().lower() in (
  • skills/patent-disclosure/tools/browser.py:54cred-envread
    raw = os.environ.get("PATENT_BROWSER_CHANNEL", "").strip().lower()
  • skills/patent-disclosure/tools/cad_venv.py:36cred-envread
    env["PYTHONNOUSERSITE"] = "1"
  • skills/patent-disclosure/tools/cad_venv.py:38cred-envread
    env["PYTHONIOENCODING"] = "utf-8"
  • skills/patent-disclosure/tools/cad_venv.py:72exec-spawn
    out = subprocess.check_output(
  • skills/patent-disclosure/tools/cad_venv.py:113exec-spawn
    out = subprocess.check_output(
  • skills/patent-disclosure/tools/cad_venv.py:132cred-envread
    env_py = os.environ.get(HOST_PYTHON_ENV, "").strip()
  • skills/patent-disclosure/tools/cad_venv.py:144exec-spawn
    out = subprocess.check_output(
  • skills/patent-disclosure/tools/crawl/cnipa_epub_crawler.py:285cred-envread
    raw = os.environ.get("EPUB_FAST_FETCH", "").strip().lower()
  • skills/patent-disclosure/tools/crawl/cnipa_epub_crawler.py:756cred-envread
    os.environ.get("EPUB_RESULT_HTML", "").strip() or default_result_html_path()
  • skills/patent-disclosure/tools/crawl/cnipa_epub_nav.py:161cred-envread
    return os.environ.get("PLAYWRIGHT_HEADED", "").strip() in ("1", "true", "yes")
  • skills/patent-disclosure/tools/crawl/cnipa_epub_wait.py:73cred-envread
    raw = (os.environ.get("EPUB_WAIT_YAML") or "").strip()
  • skills/patent-disclosure/tools/crawl/cnipa_epub_wait.py:134cred-envread
    env_gate = (os.environ.get("EPUB_WAF_MAX_WAIT_SEC") or "").strip()
  • skills/patent-disclosure/tools/design_lineart_gate.py:25cred-envread
    if os.environ.get(SKIP_ENV, "").strip().lower() in {"1", "true", "yes", "on"}:
  • skills/patent-disclosure/tools/design_lineart_gate.py:27cred-envread
    if os.environ.get("PATENT_SKILL_SKIP_DESIGN_LINEART", "").strip().lower() in {

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

中国专利技能

按用户意图 Read 对应入口的 SKILL.md,再按该流程执行。

| 能力 | 做什么 | 何时进入 | 入口 |

|------|--------|----------|------|

| 交底 | 挖专利点 → 查新 → 成稿 → 迭代;首篇定稿后可做保护型 1+N 专利布局 | 专利挖掘、交底书、查新、实用新型、外观设计、专利布局、专利围栏、族树、保护型1+N;/patent-disclosure/交底书 | skills/patent-disclosure/SKILL.md |

| 申请文件 | 已有交底 → 权要 / 说明书 / 摘要 / 附图 | 须显式指定交底目录:申请文件、申请底稿、申报材料、/申请底稿/patent-apply。仅缺材料则终止;内容争议写入问题清单;交付后请确认须摘要清单;改已有产出则另存 | skills/patent-application/SKILL.md |

| 案卷 | 按发明人/工程师给的材料一趟写出交底书和申请文件;清单缺口最多来回三轮,缺事实问人、不编 | 须显式:交底申请一起做、从零出交底和申请、一条龙、帮写交底再出申请、按清单改、会稿、案卷、/patent-docket。只写交底或已有交底只出四件套 → 不要进本案。状态 outputs/docket/ | skills/patent-docket/SKILL.md |

| 检索 | 公布站高级查询(发明人/申请人/分类号/名称/摘要等);单图或权要可先抽关键字再查 | 按著录字段查公布公告、个人公开清单、以图/权要生成检索式;/patent-search。普通多条件不要默认翻完全部分页 | skills/patent-search/SKILL.md |

| 解读 | 公开号 / PDF / 全文 → 通俗笔记 + 图谱 | 读专利、公开号或 PDF 且目标为理解;/patent-read/读专利 | skills/patent-reader/SKILL.md |

| 专利地图 | 已解读入库的案例摊成五种图(语义地形) | 须显式:专利地图、案例地图、/专利地图/patent-map。不因读专利自动进入 | skills/patent-map/SKILL.md |

| 审查答复 | 审查意见问答与草稿;库薄时引导入库/蒸馏 | 须显式:审查意见、OA、案例入库、实务书、/oa | skills/patent-oa/SKILL.md |

| 政策简报 | 对照国知局口径,说明对交底写法/本稿的影响;改技能仅为旁路 | 须显式:政策简报、政策雷达、/政策简报/patent-brief/patent-exam-policy。「技能进化 / /patent-evolve」同一入口,仍先出简报 | skills/patent-exam-policy/SKILL.md |

路由

  • 填表、线稿、CAD、公式、Word 出图在交底包 prompts/tools/;解读填表用解读包 prompts/fill_*;过 WAF 的 browser.py、Markdown 转 Word 的 md_to_docx.py 各包自带副本
  • 禁止跨包调用其他子技能的 tools/。需要同一能力就用本包副本。
  • 专利号或 PDF 且意图为「读懂」→ 优先解读,不跑交底 Step 1–8。
  • 禁止因写交底或读专利自动进入政策简报、审查答复、申请文件、案卷或专利地图。申请文件必须用户点名并给出交底目录;缺 schema / 线稿 / 交底书则停,引导先补交底。内容争议不阻塞主文件。
  • 案卷必须用户点名(交底申请一起做 / 从零出交底和申请 / 一条龙 / 帮写交底再出申请 / 按清单改 / 会稿 / /patent-docket)。点名后 Read skills/patent-docket/SKILL.md;由案卷再 Read 交底或申请入口。调度申请视为已点名申请文件,仍须有交底目录。只写交底、或已有交底只出四件套 → 不要进案卷。
  • 用户说「专利布局 / 专利围栏 / 族树 / 保护型1+N / 做围栏」→ 交底包旁路 prompts/fence/,不要进专利地图。须分解→突围→矩阵再立项;立项校验写入 专利布局.md;未确认立项说明不得分件写多篇交底。
  • 交底 Step 5 查新只用交底包轻量检索(一词一页);按发明人/申请人等做著录检索时只用检索包,两者不要混用。
  • 各子技能交付回复末块标题统一为 交付后请确认;跨包口令以本表为准,交底不得在此节把申请、案卷、专利地图列为下一步。检索与专利地图可不设此节。

目录

SKILL.md                         # 本文件:子技能路由入口
skills/patent-disclosure/        # 交底(含填表/线稿/CAD/公式/docx;围栏旁路)
skills/patent-application/       # 申请文件四件套(须显式;须指定交底目录)
skills/patent-docket/            # 案卷:交底到申请一趟串起来(须显式)
skills/patent-search/            # 著录检索
skills/patent-reader/            # 解读
skills/patent-map/               # 专利地图(须显式;读 vault,本机页面)
skills/patent-oa/                # 审查答复
skills/patent-exam-policy/        # 政策简报(技能进化为旁路)

环境与约定

  • 默认语言:面向用户的检索清单、交底书、申请文件、案卷 TRACKER、解读和审查答复用简体中文;脚本机读前缀与 JSON 字段名保持稳定。
  • 专利类型:未显式指定时交底默认发明
  • 脚本路径:相对本技能仓库根(本文件所在目录)。整仓:python skills/patent-disclosure/tools/…。当前工作区不是本仓库时,把技能安装目录接到命令前面。单独拷走某一子包时,该包内用 python tools/…。不要写厂商环境变量。
  • 用户产出:写在当前工作区 outputs/(解读 outputs/patent_reader/,检索 outputs/patent-search/,政策 outputs/exam-policy/,审查答复 outputs/oa/,申请文件 outputs/patent-application/,案卷 outputs/docket/,交底围栏 outputs/{案件}/fence/),不要写到技能安装目录或 tmp/。调用脚本时 cwd 用工作区根;-o / -w 用上述相对路径。

执行前核对

□ 已 Read 对应 skills/*/SKILL.md,未把本文件当交底/申请底稿/案卷/检索/解读/专利地图正文
□ 交底查新未调用 patent-search
□ 著录检索未用交底一词一页结果冒充清单
□ 政策简报 / 审查答复 / 申请文件 / 案卷 / 专利地图仅在显式触发时进入
□ 申请文件已指定交底目录;门禁未过未开写
□ 案卷未写交底/申请正文;派工只 Read 对方 SKILL.md
□ 未跨包调用其他子技能的 tools/
□ 围栏未确认立项说明未批量写多篇;未把布局说明当成专利地图
□ 未把政策简报当成改技能;无点名未改交底包以外的目录
□ 交付回复末块标题为「交付后请确认」;交底该节未把申请、案卷、地图列为下一步

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 9,667
本站分层T1
该仓技能数9
原文件路径SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 9 个技能