ソース情報
- リポジトリ
- justcyl/my-skills
- ソースの最終更新活動
- 2026年5月8日 07:26
- 検出された SKILL.md の言語
- 中国語
- スター
- 0
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SOC 職業分類に基づく
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/justcyl/my-skills --skill ph-paper-helperコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
使用 Kapibala 的 OpenAI 兼容图片接口生成/编辑位图图片,默认模型 gpt-image-2。当需要生成图片、编辑已有图片、或批量生成候选图供挑选时触发。触发词:"生成图片""画一张""image generation""edit this image""gpt-image-2""批量出图"。
Add, collect, design, audit, and integrate SVG elements into editable diagrams.net/draw.io scientific figures. Use when the user asks to supplement a draw.io diagram with SVG icons, mechanisms, biological objects, model components, pathway symbols, instruments, graphical abstract elements, or publication-style vector assets. Every execution must first ask the user to choose the SVG source mode: network search or self-designed SVG. For network mode, search for multiple relevant SVG candidates for later user selection, record sources and license notes, and fall back to self-designed SVG for concepts with no suitable result. For self-design mode, create restrained, editable, Nature-style SVGs from simple vector primitives. Use with .drawio, SVG, diagrams.net, 科研流程图, 论文示意图, SVG补图, 图标补充, and draw.io配图.
Two-stage workflow for publication-style scientific schematics: generate or use a raster reference with imagegen/PNG/JPG/WebP, then trace it into an editable diagrams.net/draw.io file using research-drawio-skill. Use for Nature-style scientific illustrations, graphical abstracts, model or mechanism schematics, biomedical workflows, AI architecture figures, and paper-style visual drafts that should become editable .drawio source. For complex recognizable elements, author or select dedicated SVG glyphs and compare rendered SVGs against reference crops before inserting them, instead of assembling those elements from draw.io primitives. Enforces a minimum three-round strict pixel-level export/compare/fix loop for close raster-to-draw.io tracing tasks. Use with imagegen, draw.io, diagrams.net, scientific illustration, graphical abstract, paper schematic, figure tracing, SVG glyph tracing, and drawio redraw requests.
| name | ph-paper-helper |
| description | 学术论文检索与管理的首选方案。当需要搜索论文、调研某个研究方向、导入指定论文、导出 BibTeX、或精读全文时使用。 |
使用 ph(paper-helper)CLI 进行学术论文检索、导入、BibTeX 导出与渐进式阅读。
alias ph='uv run --project ~/project/ph2 ph'
先判断用户意图属于哪一类,再进入对应流程:
ph import 或 ph add --bib,参考「快速导入」ph add --bib,参考「BibTeX 写入」ph enrich --bib,参考「BibTeX 补全」ph sql 查 plain_text 列,若为 null 先 ph import(默认自动抓取)ph fetch --include-content,参考「慢路径」ph sql,参考「本地查询」不确定时先问用户。不要同时走多条路径。
ph search 默认使用 Semantic Scholar API(需 API key),也可通过 --source arxiv 切换到 arXiv API(无需 key,仅覆盖 arXiv 论文)。查询质量直接决定结果质量,因此搜索前必须先理解用户需求,再构造精确查询。
收到搜索请求后,不要立刻执行。先从用户的话中提取以下信息:
| 维度 | 要搞清楚的 | 示例 |
|---|---|---|
| 主题 | 用户关心的核心概念是什么? | "diffusion model 用于图像编辑" |
| 目的 | 调研综述?找具体方法?对比方案? | "想了解最新进展" vs "找能用的baseline" |
| 范围 | 有没有偏好的子领域? | "只看 CV 方向的" |
| 作者 | 有没有特定作者? | "Kaiming He 的工作" |
| 数量 | 需要广泛调研还是快速找几篇? | 广泛 → --max-results 20;快速 → 5 |
| 搜索源 | 是否需要切换到 arXiv? | 仅 arXiv 论文 → --source arxiv |
判断规则:
默认使用 Semantic Scholar(--source s2):使用自然语言关键词组合,S2 会做语义匹配。
查询构造规则:
--source arxiv,可使用 arXiv 字段限定语法(ti:, au:, cat:, abs:,AND/OR 组合),详见 references/arxiv-query-syntax.md常见查询模板:
# 主题搜索(默认 S2)
ph search --query "diffusion model image editing" --max-results 15
# 作者 + 主题
ph search --query "Kaiming He knowledge distillation" --max-results 10
# 切换到 arXiv 搜索(支持字段限定语法)
ph search --source arxiv --query "ti:diffusion AND ti:editing AND cat:cs.CV" --max-results 15
ph search --query "<构造好的查询>" --max-results <数量> [--source arxiv]
搜索返回后:
--source arxiv 换源不要对所有搜索结果都调用 fetch。通常只对 1-3 篇核心论文走慢路径。
用户提供了明确的论文标识时,跳过搜索直接导入:
# 全局导入(仅入库,不写 .bib)
ph import --input arxiv://1706.03762
ph import --input arxiv://2301.00001 --input arxiv://2302.00002 # 批量
# 导入并写入 .bib(add 只记录,enrich 补全)
ph add --input arxiv://1706.03762 --bib refs.bib
ph enrich --bib refs.bib
# 直接走完整处理(自动 import + bib 补全 + 全文提取,不写 .bib)
ph fetch --paper-id arxiv://1706.03762
| 来源 | 格式 | 示例 |
|---|---|---|
| arXiv | arxiv://ID 或 arxiv://IDvN | arxiv://1706.03762、arxiv://2301.00001v5 |
| DOI | doi://DOI | doi://10.1145/3025453 |
| Semantic Scholar | s2://HASH | s2://649def34f8be52c8b66281... |
仅支持以上三种 scheme。裸 ID 会触发 E_UNKNOWN_REF_SCHEME。
DB 层支持任意 ID 反查。以 doi://10.xxx 入库的论文,用 arxiv://yyy 也能找到(只要它们是同一篇)。因此:
ph add --input arxiv://xxx --bib refs.bib 能识别已入库为 doi://yyy 的同一篇论文,不会重复调 APIph add 是将论文写入 .bib 文件的主要命令。它只做记录:导入 → 写入 .bib,不补全元数据(秒级完成)。
# 添加单篇
ph add --input arxiv://1706.03762 --bib refs.bib
# 批量添加
ph add --input arxiv://1706.03762 --input doi://10.1145/3025453 --bib refs.bib
要补全元数据,用 ph enrich:
# add 后补全
ph add --input arxiv://1706.03762 --bib refs.bib
ph enrich --bib refs.bib
enrich 和 fetch 执行三阶段补全:
add 不执行补全,只做记录。
输出中有两个状态字段,含义不同:
| 字段 | 含义 | 判定条件 |
|---|---|---|
bib_ready | 正式发表的完整 metadata | title + authors + venue + year + 非预印本 |
bib_usable | BibTeX 可用于引用 | title + authors + year(预印本也可为 true) |
对 arXiv 预印本:bib_ready=false(这是规则不是 bug)但 bib_usable=true(可以正常引用)。
当 bib_ready=false 时,incomplete_reason 字段区分原因:
| 值 | 含义 | 需要处理吗 |
|---|---|---|
preprint | 预印本,元数据实际已齐全 | 不需要,bib_usable=true 即可用 |
missing_fields:venue,year | 关键字段缺失 | 可能需要手动补或重试 fetch |
upstream_failure:s2,crossref | 上游 API 失败 | 稍后重试 |
arXiv 预印本自动使用规范格式渲染:
@article{chen2026skillcraft,
title = {SkillCraft: Can LLM Agents Learn to Use Tools Skillfully?},
author = {Shiqi Chen and Jingze Gai},
year = {2026},
month = {2},
journal = {arXiv preprint arXiv:2603.00718},
eprint = {2603.00718},
archiveprefix = {arXiv},
primaryclass = {cs.CL},
url = {https://arxiv.org/pdf/2603.00718},
}
已正式发表的论文(有 journal_ref)使用标准 @article/@inproceedings 格式。
每条 ph 管理的 entry 前有一行注释标记 paper_id,用于去重:
% paper_id: arxiv://2603.00718
@article{chen2026skillcraft,
...
}
% paper_id: 注释)会被原样保留ph enrich 扫描 .bib 文件,对不完整的 entry 跑三阶段 bib 补全并更新 .bib。
# 补全所有不完整的 entry
ph enrich --bib refs.bib
# 强制重新补全所有 entry(包括已 ready 的)
ph enrich --bib refs.bib --force
# 预检,不写入
ph enrich --bib refs.bib --dry-run
% paper_id: xxx 注释的 entrybib_ready=false 的 entry 跑三阶段补全(S2 + Crossref + arXiv)% paper_id: 注释的 entry(手写、外部来源)跳过并报 warning# 1. 快速添加多篇论文(秒级)
ph add --input arxiv://2310.06825 --input arxiv://2406.00001 --bib refs.bib
# 2. 一次性补全所有不完整的 entry
ph enrich --bib refs.bib
fetch 执行三阶段 bib 补全 + MinerU PDF 全文解析。MinerU 解析通常耗时数十秒到数分钟,重复相同命令轮询直到 fetch_state=done。
# 触发(自动先 import 再 fetch)
ph fetch --paper-id arxiv://1706.03762
# 仅补全 bib 元数据,跳过全文提取
ph fetch --paper-id arxiv://1706.03762 --metadata-only
# 完成后获取全文
## --include-content 返回 MinerU markdown(content 字段)
ph fetch --paper-id arxiv://1706.03762 --include-content
# 强制重新处理
ph fetch --paper-id arxiv://1706.03762 --force
状态机:fetch_state: none → pending → done | failed
ph fetch 输出字段说明:
| 字段 | 仅 --include-content | 含义 |
|---|---|---|
content | ✓ | MinerU markdown 内容(fetch_state=done 时有值) |
fetch_state | — | MinerU 状态:none/pending/done/failed |
ph fetch只负责 MinerU 流程。读取plain_text用ph sql。
需要论文文字内容
│
├── arXiv 论文 ──► 已有 plain_text? ──► 是 ──► ph sql --query "SELECT plain_text FROM papers ..."
│ │
│ └── 否 ──► ph import(默认自动抓取,秒级)
│
├── 只需文字 ────► 同上(plain_text 路径)
│
└── 需要图/公式/表格/非 arXiv ──► ph fetch(MinerU)
| 快速纯文本(默认) | MinerU(ph fetch) | |
|---|---|---|
| 触发方式 | 默认开启,无需任何 flag | 需要手动调用 |
| 速度 | 秒级 | 数分钟,异步 |
| 内容 | 正文纯文字,无数学公式/图片 | Markdown with 图/表/公式 LaTeX |
| Token | 无需 | 需要 PH_MINERU_TOKEN |
| 适用场景 | 论文理解、方法解读、内容摘要、关键词提取 | 需要具体公式、图表内容、算法伪代码 |
| 支持来源 | 仅 arXiv(非 arXiv 返回 unavailable) | 所有有 PDF 的论文 |
# 默认导入(自动抓取纯文本)
ph import --input arxiv://1706.03762
# plain_text_state: fetched
# 读取已存入的纯文本(ph fetch 不暴露 plain_text,直接用 sql)
ph sql --query "SELECT plain_text FROM papers WHERE paper_id = 'arxiv://1706.03762'"
# 仅当需要图/公式/表格/非 arXiv 时,才调用 MinerU
ph fetch --paper-id arxiv://1706.03762
ph fetch --paper-id arxiv://1706.03762 --include-content # 轮询到 fetch_state=done
plain_text_state 字段说明:
fetched — 新获取并存入 DBcached — DB 中已有,未重新获取unavailable — 非 arXiv 论文或 arXiv 无 HTML 版本skipped — (已移除,plain_text 现在无条件尝试)用 ph sql 查询已收录论文(只读 SQL):
# 最近入库
ph sql --query "SELECT paper_id, title, bib_ready, fetch_state FROM papers ORDER BY created_at DESC LIMIT 10"
# 按标题模糊搜索
ph sql --query "SELECT paper_id, title FROM papers WHERE title LIKE '%transformer%'"
# arXiv 预印本中 bib 可用的
ph sql --query "SELECT paper_id, title, primary_category FROM papers WHERE arxiv_id IS NOT NULL AND venue IS NOT NULL"
# bib 已补全的正式发表论文
ph sql --query "SELECT paper_id, title, venue, year FROM papers WHERE bib_ready = 1"
| 错误码 | 含义 | 处理 |
|---|---|---|
E_UNKNOWN_REF_SCHEME | URI scheme 不对 | 用 arxiv://、doi://、s2:// |
E_PARAM_REQUIRED | 缺少必填参数 | 补充 --input、--bib 等 |
E_DATA_NOT_FOUND | 论文不存在 | 先 import 或用 add(自动 import) |
E_UPSTREAM_FAILURE | 外部源失败 | 检查网络,稍后重试 |
E_MINERU_TASK_FAILED | MinerU 失败 | 检查 PDF 可访问性和 token |
退出码:0 成功 / 2 参数错误 / 3 数据不存在 / 4 上游失败 / 5 部分成功
| 变量 | 说明 |
|---|---|
PH_DATA_DIR | DB 根目录(默认 ~/.local/share/ph) |
PH_S2_API_KEY | Semantic Scholar API key(search 默认源需要) |
PH_MINERU_TOKEN | MinerU token(仅 fetch 全文时需要) |
PH_TIMEOUT_SECONDS | 默认超时秒数 |
| 参数 | 说明 | 默认值 |
|---|---|---|
--quiet | 抑制 stderr | false |
--verbose | 详细日志 | false |
--timeout-seconds | 超时秒数 | 30 |
--dry-run | 预检不写入 | false |