Skip to content
Legal
Skill

/piclist-upload

通过 PicList HTTP Server 将 Markdown 文件中的本地图片上传到图床,并替换为云端链接。本技能应在用户需要上传 Markdown 中的图片、处理包含本地图片引用的 Markdown、批量处理多个 Markdown 文件或目录、或替换本地路径为云端链接以实现跨设备访问时使用。

BOOST
From plugin
legal-skills
73766 skills
Install
$ npx -y skills add cat-xierluo/legal-skills --skill piclist-upload --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/piclist-upload

Context preview

The summary Claude sees to decide when to auto-load this skill.

通过 PicList HTTP Server 将 Markdown 文件中的本地图片上传到图床,并替换为云端链接。本技能应在用户需要上传 Markdown 中的图片、处理包含本地图片引用的 Markdown、批量处理多个 Markdown 文件或目录、或替换本地路径为云端链接以实现跨设备访问时使用。

SKILL.md

piclist-upload.SKILL.md
name: piclist-upload
homepage: https://github.com/cat-xierluo/legal-skills
author: 杨卫薪律师(微信ywxlaw)
version: "1.5.0"
description: 通过 PicList HTTP Server 将 Markdown 文件中的本地图片上传到图床,并替换为云端链接。本技能应在用户需要上传 Markdown 中的图片、处理包含本地图片引用的 Markdown、批量处理多个 Markdown 文件或目录、或替换本地路径为云端链接以实现跨设备访问时使用。
license: Complete terms in LICENSE.txt

PicList 图片上传

将 Markdown 文件中的本地图片上传到配置的图床,并将本地路径替换为云端链接。

前置条件

  • 已安装 PicList 并启用 HTTP Server
  • 已在 PicList 中配置图床
  • 已安装 `jq`
  • 已安装 `curl`

**系统兼容性**: 脚本兼容 bash 3.2+(macOS 自带 `/bin/bash` 直接可用,无需安装新版 bash)、Linux 各发行版、Git Bash(Windows)。`lsof` 缺失时自动回退 `/dev/tcp` 端口探测,无需 `bc`。

**首次配置**: 请参阅 [references/setup.md](references/setup.md) 安装和配置指南。

⚠️ 强制规则:必须通过脚本执行

**禁止手动 curl 上传。所有操作必须通过 `scripts/process.sh` 脚本执行。** 脚本已内置上传、URL 替换和本地文件删除的完整逻辑,手动操作容易遗漏步骤。

**默认行为是上传成功后删除本地图片。** 只有当用户明确要求保留时,才可添加 `--keep-local`。不得擅自保留本地图片。

使用方法

处理文件或目录(默认删除本地图片)

bash scripts/process.sh --in-place <file.md|directory...>

保留本地图片(仅在用户明确要求时使用)

bash scripts/process.sh --in-place --keep-local <file.md|directory...>

预览模式(不修改文件)

bash scripts/process.sh --dry-run <file.md|directory...>

命令选项

| 选项 | 说明 | |------|------| | `--in-place` | 直接修改原文件(必须指定,否则仅输出到终端) | | `--keep-local` | 保留本地图片文件。**仅在用户明确要求时使用** | | `--dry-run` | 预览模式,不上传、不修改文件 |

响应格式

解析上传返回的 JSON:

{"success":true,"result":["https://example.com/image.png"]}

统计报告

处理完成后显示:

📊 Summary:
  Total uploaded: 5
  Total skipped: 3
  Total failed: 0
  • **Uploaded**: 成功上传并替换(已删除本地图片)
  • **Skipped**: 已是云端 URL(无需操作)
  • **Failed**: 上传错误(保留原始路径)

断点续传

`--in-place` 模式下每张图片上传成功后、删除本地文件之前,脚本都会立即把已替换的 md 内容原子写回磁盘。因此中途被打断(超时、崩溃、Ctrl-C)不会丢失已上传的 URL:已完成的部分在 md 中已是云端链接,未完成的部分保持本地引用,**直接重跑同一命令即可续传**(幂等)。

错误处理

  • **PicList 进程未运行**: 脚本会先做端口级探测,缺失则自动尝试 `open -a PicList.app`(仅 macOS)并等待最多 15 秒(`PICLIST_START_WAIT`);仍无响应才退出。
  • **PicList 在监听但业务端点 503/000**: 通常是 PicList 应用卡死或图床后端未配置。脚本会报错并提示用户在 PicList 应用里检查默认图床/token,必要时重启应用。
  • **文件不存在**: 跳过并显示 ⚠️ 警告,继续处理
  • **单张上传失败**: 自动重试一次(`MAX_RETRIES=1`,间隔 `RETRY_DELAY=2s`),仍失败则保留原始路径,标记 ❌,继续
  • **无效 JSON**: 视为上传失败

配置

PicList Server 默认地址为 `http://127.0.0.1:36677/upload`。可通过环境变量覆盖:

export PICLIST_SERVER=http://127.0.0.1:PORT
# 以下为可选调优(一般无需改动)
export PICLIST_START_WAIT=15   # 启动 PicList 后等待端口就绪的秒数
export MAX_RETRIES=1           # 单图上传失败时的额外重试次数
export RETRY_DELAY=2           # 重试间隔秒数

支持格式

png, jpg, jpeg, gif, webp, svg, bmp

支持的引用写法

| 写法 | 示例 | 处理 | |------|------|------| | 普通路径 | `![alt](/abs/pic.png)`、`![alt](rel/pic.png)` | 原样解析(v1.0.0 起) | | 尖括号路径 | `![alt](</abs/pic (1).png>)` | 剥离尖括号后解析 | | Obsidian file:// | `![alt](<file:///abs/pic.jpg>)` | 剥离尖括号与 `file://`,`file://<host>/` 形式去掉主机名;URL 内百分号编码(`%20` 等)解码为真实路径(v1.5.0 起) |

普通路径中的字面 `%`(如 `50%.png`)不会被解码,保持原样。

Read more
Ships withlegal-skills

面向法律人的 Skills 集合。

Get the whole plugin

Other skills on legal-skills.

agent-email
Skill

agent-email

Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…

apple-smart-schedule
Skill

apple-smart-schedule

把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票…

case-dashboard
Skill

case-dashboard

律师案件看板。本地零依赖看板服务(案件总览、任务三态看板、期限预警、进度写回)+周研判分析。当用户说"打开看板/dashboard/案件面板/看下案件进度/给我案件周报研判"时使用。案件状态写入与上下文管理用 case-progress(/progress…

case-progress
Skill

case-progress

案件进度与状态台账管理。案件 case.yaml 的唯一写入引擎(新增任务、推进任务、登记期限、更新案件阶段、校验、存量迁移),Agent 会话的进度加载与写回契约,以及案件进度监控对账。当用户或 Agent…

code2patent
Skill

code2patent

从已开发代码项目中提取技术实现证据,围绕候选专利方案生成算法/软件类说明书式技术交底书,并以“权利要求布局卡 →…