soia-pkm-clip-wechat-articlelisted
Install: claude install-skill soia-team/soia-open-skills
# soia-pkm-clip-wechat-article
`clip` 家族的**公众号成员**:把公众号文章沉淀进 vault。
## 客户可读说明
### 这个技能可以做什么
归档单篇微信公众号文章到 Obsidian vault:抓取静态 HTML,提取标题、作者、正文、发布时间和配图,按 clip 家族规范落地;需要 PDF 时优先用 Obsidian 导出
| 客户想要 | 技能会做 | 客户能看到 |
|---|---|---|
| 完成本技能覆盖的工作 | 读取用户请求、必要上下文和本技能正文流程,执行最小可靠步骤 | 客户会看到 Obsidian/vault 文件变更、终端日志、生成产物路径和最终回执。 |
| 缺少依赖、权限、配置或 key | 停止需要外部状态的动作,明确指出缺什么 | 安装命令、申请地址、配置路径或需要客户确认的问题 |
| 执行完成 | 汇总成功、跳过、失败、文件变更和验证结果 | 一段可复制进工单/日志的完成回执 |
### 客户如何使用
1. 用自然语言说明目标,并提供必要输入:文件、URL、repo、workspace、proposal、vault 或平台账号状态。
2. Agent 先判断是否命中本技能,再检查依赖、配置、权限和风险动作。
3. 能 dry-run 或预览的动作先给预览;涉及删除、覆盖、发送、发布、写远端状态时先征求客户确认。
4. 执行后验证真实输出,不用“看起来成功”代替证据。
5. 最终回复必须给客户可见总结:做了什么、日志摘要、文件变化、问题和下一步。
### 依赖与安装
安装本技能(单个技能):
```bash
npx skills add soia-team/soia-open-skills -g -a '*' -s soia-pkm-clip-wechat-article -y
```
当前脚本的配置入口:
```text
OBSIDIAN_VAULT=<vault-path>
OBSIDIAN_ARTICLES=<vault-relative-articles-dir>
```
- CLI `--vault` / `--articles-dir` 优先于环境变量;都未提供时,仅从当前目录向上寻找真实 `.obsidian/` 标志。
- 若 `--articles-dir`、`OBSIDIAN_ARTICLES` 都缺失,脚本仍保留 `Articles/` 兜底以兼容既有流程,但会向 stderr 打印明确警告;回执必须包含实际落盘目录,并在走兜底时建议配置正式 articles 目录后归位。
- 当前 stdlib 脚本不解析 YAML `config.yml`,也不需要 API key、cookie 或其他凭据;不要创建一个不会生效的配置文件。
- 强依赖、可选依赖和第三方 skill 关系必须以本 `SKILL.md` 后续的“依赖 / 前置 / 资源 / 边界”说明为准;没有写清楚时,先补说明或询问客户,不要猜。
- 第三方 skill 只能声明依赖和安装方式,不直接修改第三方 skill 文件。
### 日志与完成回执
每次执行都要让客户看见过程和结果。最低回执格式:
```markdown
完成:<一句话说明本次完成了什么>。
日志摘要:
- started: <检查到的输入/配置/依赖,不打印秘密值>
- processed: <数量或范围>
- created/updated: <数量或路径>
- skipped/