refactor: 通用技能按类别拆分为独立目录

skills/ → skills-dev(9), skills-req(10), skills-ops(4),
skills-integration(8), skills-biz(4), skills-workflow(7)

generate-marketplace.py 改为自动扫描所有 skills-* 目录。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 11:31:58 +10:30
parent ea266e9cce
commit 712063071c
170 changed files with 341 additions and 346 deletions

View File

@@ -0,0 +1,8 @@
{
"name": "siyuan-to-feishu-plugin",
"description": "将思源笔记导出为 PDF 并发送到飞书群。当用户提到发送笔记、导出PDF发飞书、/siyuan send、分享到飞书相关任务时自动激活。",
"version": "1.0.0",
"author": {
"name": "qiudl"
}
}

View File

@@ -0,0 +1,81 @@
---
name: siyuan-to-feishu
description: 将思源笔记导出为 PDF 并发送到飞书群。当用户提到"发送笔记"、"导出PDF发飞书"、"/siyuan send"、"分享到飞书"相关任务时自动激活。
---
# siyuan-to-feishu Skill
将思源笔记导出为 PDF 文件,并通过飞书文件消息发送到指定群组。
## 触发条件
- 用户说"把思源笔记发到飞书"
- 用户说"/siyuan send <doc-id>"
- 用户说"导出笔记 PDF 并分享"
- 用户提到"发送笔记到龙虾群"
## 使用方式
```bash
# 基础用法(发送到默认群:龙虾大神群)
~/.claude/skills/siyuan-to-feishu/send.sh <doc-id>
# 指定目标群
~/.claude/skills/siyuan-to-feishu/send.sh <doc-id> --group <chat-id>
# 指定 PDF 文件名
~/.claude/skills/siyuan-to-feishu/send.sh <doc-id> --name "技术文档.pdf"
# 示例
~/.claude/skills/siyuan-to-feishu/send.sh 20260312053926-w0m0fnc
~/.claude/skills/siyuan-to-feishu/send.sh 20260312053926-w0m0fnc --group oc_06889f55d62add6c484a8caea38d8e6c
~/.claude/skills/siyuan-to-feishu/send.sh 20260312053926-w0m0fnc --name "会议纪要.pdf"
```
## 执行流程
```
/siyuan send <doc-id>
├─── 1. 思源 Export API ──► 获取 HTML 内容
│ (siyuan.pipexerp.com)
├─── 2. wkhtmltopdf/Python ► 渲染为 PDF 文件
│ (/tmp/siyuan-export-<doc-id>.pdf)
├─── 3. 飞书 Files API ─────► 上传获取 file_key
│ (open.feishu.cn)
└─── 4. 飞书 IM API ─────────► 群消息 ✅
(open.feishu.cn)
```
## 配置参数
| 参数 | 值 |
|------|-----|
| 思源服务地址 | `https://siyuan.pipexerp.com` |
| 思源 API Token | `mkea1080c0x0jxqy` |
| 飞书 App ID | `cli_a9f29dca82b9dbef` |
| 飞书 App Secret | `sDfhjG7QT1S4gfHiMVYSygmPQPN1R2Ho` |
| 默认飞书群 | `oc_06889f55d62add6c484a8caea38d8e6c` (龙虾大神群) |
## 执行时机
当用户要执行发送操作时,直接调用:
```bash
bash ~/.claude/skills/siyuan-to-feishu/send.sh <doc-id> [--group <chat-id>] [--name <filename>]
```
脚本会自动打印进度并返回结果。
## 错误处理
| 错误场景 | 提示信息 |
|----------|----------|
| doc-id 不存在 | "❌ 笔记不存在,请检查 ID: <doc-id>" |
| PDF 超过 20MB | "❌ 文件过大 (>20MB),请拆分笔记后重试" |
| 飞书 API 失败 | "❌ 飞书发送失败 (code: <错误码>),已重试 3 次" |
| 思源服务不可达 | "❌ 思源服务连接失败,请检查 siyuan.pipexerp.com" |
| wkhtmltopdf 未安装 | 自动降级为 Python weasyprint 或提示安装 |