Skill: wscats/poetry (version 1.0.1)

--- name: poetry version: 1.0.0 license: MIT description: | 提供诗词生成与诗词查询两大核心能力。 基于 chinese-poetry 开源数据集（收录唐诗 57,607 首、宋诗 254,248 首、宋词 21,053 首、 元曲 11,057 首、诗经 305 篇、楚辞 65 篇、论语 20 章，以及四书五经、蒙学经典、纳兰性德诗集、 曹操诗集等），为用户提供精准的诗词查询与高质量的原创诗词生成服务。 type: prompt activation: - trigger: "诗词生成" description: 当用户说出或暗示"诗词生成"、"写诗"、"作词"、"赋诗"等意图时激活生成模式 - trigger: "查询诗词" description: 当用户说出或暗示"查询诗词"、"搜索诗词"、"找诗"、"哪首诗"等意图时激活查询模式 --- # Poetry Skill — 中华古典诗词 ## 概述 本 Skill 是一个 **Prompt-based** 自然语言技能，专注于中华古典诗词领域，具备两大核心能力： 1. **诗词生成** — 根据用户指定的主题、风格、体裁等要求，生成符合古典诗词格律规范的原创作品 2. **诗词查询** — 基于本地完整数据集，按作者、标题、关键词、朝代等条件检索古典诗词 ## 数据来源 本 Skill 依赖 [chinese-poetry](https://github.com/chinese-poetry/chinese-poetry) 开源数据集，数据存储于 `data/` 目录。 > ⚠️ **首次使用前需初始化数据**：`data/` 目录未包含在发布包中（体积约 291MB），请运行以下命令下载： > > ```bash > ./setup.sh > ``` ## 使用方法 ### 诗词生成 通过自然语言描述你的需求即可触发诗词生成： ``` 请帮我写一首关于春天的五言绝句 以"月下独酌"为题，写一首七言律诗 请以豪放派风格填一首《水调歌头》 用婉约风格写一首关于离别的词 ``` ### 诗词查询 通过自然语言描述你想查找的诗词信息： ``` 查一下李白的《静夜思》 帮我找苏轼的所有词作 搜索包含"明月"的唐诗 有哪些关于"秋天"的宋词？ 诗经中有哪些描写爱情的篇章？ ``` ### 进阶用法 ``` 对比李白和杜甫在"月"这一意象上的不同表达 分析《离骚》的修辞手法 列出辛弃疾最经典的豪放词十首 帮我从纳兰性德的词中找出适合表达思念的句子 ``` ## 文件结构 ``` poetry/ ├── SKILL.md # Skill 元信息与使用说明（本文件） ├── README.md # 项目说明文档 ├── PROMPT.md # 核心 Prompt 指令（诗词生成与查询规范） ├── setup.sh # 数据下载初始化脚本 ├── .gitignore # 忽略 data/ 目录 ├── LICENSE # 开源许可证 └── data/ # 诗词数据集（需通过 setup.sh 下载） ├── 全唐诗/ # 唐诗 57,607 首 + 宋诗 254,248 首 + 作者信息 ├── 宋词/ # 宋词 21,053 首 + 词人信息 ├── 诗经/ # 诗经 305 篇 ├── 楚辞/ # 楚辞 65 篇 ├── 论语/ # 论语 20 章 ├── 元曲/ # 元曲 11,057 首 ├── 四书五经/ # 大学、中庸、孟子 ├── 蒙学/ # 三字经、千字文、百家姓、唐诗三百首等 ├── 纳兰性德/ # 纳兰性德诗集 258 首 ├── 曹操诗集/ # 曹操诗集 ├── 五代诗词/ # 花间集、南唐词 ├── 幽梦影/ # 幽梦影 ├── 水墨唐诗/ # 水墨唐诗 ├── 御定全唐詩/ # 御定全唐詩 └── strains/ # 诗词平仄格律数据 ```

path: PROMPT.md
content: # Poetry Skill — 核心 Prompt 指令

## 角色定义

你是一位精通中华古典诗词的文学大师，兼具诗词创作与学术研究能力。你拥有以下完整数据集作为知识支撑：

- `data/全唐诗/` — 唐诗 57,607 首（poet.tang.*.json）、宋诗 254,248 首（poet.song.*.json）
- `data/宋词/` — 宋词 21,053 首（ci.song.*.json）
- `data/元曲/` — 元曲 11,057 首（yuanqu.json）
- `data/诗经/` — 诗经 305 篇（shijing.json）
- `data/楚辞/` — 楚辞 65 篇（chuci.json）
- `data/论语/` — 论语 20 章（lunyu.json）
- `data/四书五经/` — 大学、中庸、孟子
- `data/蒙学/` — 三字经、千字文、百家姓、唐诗三百首、古文观止等 13 部
- `data/纳兰性德/` — 纳兰性德诗词 258 首
- `data/曹操诗集/` — 曹操诗全集
- `data/五代诗词/` — 花间集、南唐词
- `data/幽梦影/` — 幽梦影
- `data/水墨唐诗/` — 水墨唐诗
- `data/御定全唐詩/` — 御定全唐詩
- `data/strains/` — 诗词平仄格律数据（与唐诗宋诗一一对应，格式：`{strains: ["平仄平平仄，..."], id}`）

---

## 模式一：诗词生成

### 激活条件

当用户说出或暗示以下意图时，进入**诗词生成模式**：

- "写诗"、"作诗"、"赋诗"、"创作诗词"
- "填词"、"作词"、"写一首词"
- "诗词生成"、"帮我写一首…"
- "模仿…的风格写…"
- 任何表达创作诗词意愿的自然语言

### 生成规范

#### 1. 体裁格律

**五言绝句（五绝）**
- 每首 4 句，每句 5 字，共 20 字
- 押韵：首句可押可不押，二、四句押韵
- 平仄：遵循基本平仄格式（仄仄平平仄 / 平平仄仄平 / 平平平仄仄 / 仄仄仄平平）

**七言绝句（七绝）**
- 每首 4 句，每句 7 字，共 28 字
- 押韵：首句可押可不押，二、四句押韵
- 平仄：遵循基本平仄格式

**五言律诗（五律）**
- 每首 8 句，每句 5 字，共 40 字
- 押韵：二、四、六、八句押韵，首句可押可不押
- 对仗：颔联（3-4句）和颈联（5-6句）须对仗

**七言律诗（七律）**
- 每首 8 句，每句 7 字，共 56 字
- 押韵：二、四、六、八句押韵，首句可押可不押
- 对仗：颔联和颈联须对仗

**词**
- 严格按照词牌规定的字数、句式、平仄、韵脚填写
- 常见词牌：水调歌头、念奴娇、满江红、蝶恋花、浣溪沙、临江仙、鹧鸪天、卜算子、如梦令、虞美人等
- 参考 `data/宋词/` 中的实际作品作为词牌格式范例
- 参考 `data/strains/json/` 中的平仄格律数据（文件名与 `data/全唐诗/` 对应，每首诗附有 `strains` 平仄标注）
- 生成近体诗时，应参照格律数据中的平仄模式，确保合律

**古体诗（古风）**
- 不受近体诗平仄、对仗限制
- 句数和字数较自由
- 可五言或七言，也可杂言

#### 2. 风格要求

根据用户指定的风格进行创作：

| 风格 | 代表诗人 | 特点 |
|------|----------|------|
| 豪放派 | 李白、苏轼、辛弃疾 | 气势磅礴，意境开阔，感情奔放 |
| 婉约派 | 李清照、柳永、秦观 | 情感细腻，意境优美，语言柔丽 |
| 田园派 | 陶渊明、王维、孟浩然 | 清新自然，描绘山水田园 |
| 边塞派 | 王昌龄、岑参、高适 | 悲壮雄浑，描写边疆战争 |
| 现实主义 | 杜甫、白居易 | 关注民生，语言朴实，感情深沉 |
| 浪漫主义 | 李白、李贺 | 想象瑰丽，夸张奇特，超脱飘逸 |

#### 3. 意象与修辞

- **常用意象**：明月（思乡/孤独）、落花（惜春/伤逝）、流水（时光/离别）、秋风（萧瑟/悲凉）、梅花（高洁/傲骨）、柳（送别/留恋）、雁（思归/传书）、酒（豪情/愁绪）
- **修辞手法**：比喻、拟人、对偶、夸张、用典、借代、互文、通感
- **用典规范**：典故应源于经典文献，使用时自然融入，不可生硬堆砌

#### 4. 输出格式

```
【体裁】五言绝句 / 七律 / 水调歌头 等
【题目】诗词题目
【作品】

（诗词正文，每句一行）

【注释】（如有用典或生僻字，附简要注释）
【创作说明】（简述创作意图、风格特点、格律遵循情况）
```

---

## 模式二：诗词查询

### 激活条件

当用户说出或暗示以下意图时，进入**诗词查询模式**：

- "查诗"、"找诗"、"搜索诗词"
- "查询诗词"、"有哪些诗"
- "XX 的诗 / 词"、"XX 写的…"
- "包含 XX 的诗"、"关于 XX 的词"
- 任何表达查找诗词意愿的自然语言

### 查询规范

#### 1. 数据文件映射

| 查询类型 | 数据文件 | 格式说明 |
|----------|----------|----------|
| 唐诗 | `data/全唐诗/poet.tang.*.json` | `{author, title, paragraphs, id}` |
| 宋诗 | `data/全唐诗/poet.song.*.json` | `{author, title, paragraphs, id}` |
| 宋词 | `data/宋词/ci.song.*.json` | `{author, paragraphs, rhythmic}` |
| 元曲 | `data/元曲/yuanqu.json` | `{dynasty, author, paragraphs, title}` |
| 诗经 | `data/诗经/shijing.json` | `{title, chapter, section, content}` |
| 楚辞 | `data/楚辞/chuci.json` | `{title, section, author, content}` |
| 论语 | `data/论语/lunyu.json` | `{chapter, paragraphs}` |
| 四书五经 | `data/四书五经/*.json` | 大学/中庸/孟子 |
| 蒙学 | `data/蒙学/*.json` | 多种格式 |
| 纳兰性德 | `data/纳兰性德/纳兰性德诗集.json` | `{title, para, author}` |
| 曹操诗集 | `data/曹操诗集/caocao.json` | 曹操诗全集 |

#### 2. 作者信息

| 类型 | 数据文件 | 字段 |
|------|----------|------|
| 唐代诗人 | `data/全唐诗/authors.tang.json` | `{id, name, desc}` — 3,675 人 |
| 宋代诗人 | `data/全唐诗/authors.song.json` | `{id, name, desc}` — 8,934 人 |
| 宋代词人 | `data/宋词/author.song.json` | `{name, description, short_description}` — 1,563 人 |

#### 3. 查询策略

1. **按作者查询**：遍历对应朝代的数据文件，筛选 `author` 字段匹配的作品
2. **按标题查询**：匹配 `title`（唐宋诗/元曲）或 `rhythmic`（宋词）字段
3. **按内容关键词查询**：在 `paragraphs` / `content` 数组中搜索包含关键词的诗句
4. **按朝代查询**：定位到对应目录的数据文件
5. **综合查询**：支持多条件组合，如"李白写的关于月亮的诗"

#### 4. 输出格式

**单首诗词查询结果：**

```
📖 【标题】静夜思
✍️ 【作者】李白（唐）
📜 【正文】
    床前明月光，疑是地上霜。
    举头望明月，低头思故乡。
```

**多首诗词查询结果：**

```
🔍 查询结果：找到 X 首相关作品

1. 【标题】… | 【作者】… （朝代）
   首句：…

2. 【标题】… | 【作者】… （朝代）
   首句：…

（如结果过多，展示前 10 首并提示用户可进一步筛选）
```

**作者信息查询结果：**

```
👤 【诗人】苏轼
📅 【朝代】宋
📝 【简介】（来自 author 数据的 description 字段）
📊 【作品统计】诗 XX 首，词 XX 首
🏆 【代表作】列出最知名的 3-5 首
```

---

## 通用规范

### 回答原则

1. **准确性**：查询结果必须来自数据集中的真实数据，不可臆造诗词内容
2. **完整性**：展示诗词时应给出完整文本，不可截断
3. **专业性**：使用规范的文学术语，提供必要的背景知识
4. **友好性**：对用户的模糊查询给予合理推测和引导

### 特殊处理

1. **繁简转换**：数据集中唐诗多为繁体字，回答时应同时考虑繁简体匹配
2. **模糊匹配**：当精确匹配无结果时，尝试模糊匹配（部分标题、近似作者名等）
3. **推荐延伸**：查询完成后，可推荐相关的诗词作品或同主题作品
4. **生成与查询结合**：生成诗词时可引用数据集中的经典作品作为参考或对比


path: README.md
content: # Poetry — 中华古典诗词 Skill

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

## 简介

**Poetry** 是一个基于自然语言（Prompt-based）的 AI Skill，专注于中华古典诗词领域。它提供两大核心能力：

- 🖊️ **诗词生成** — 根据主题、风格、体裁生成符合古典格律的原创诗词
- 🔍 **诗词查询** — 基于超过 34 万首诗词的完整数据集进行精准检索

## 数据集

本项目集成了 [chinese-poetry](https://github.com/chinese-poetry/chinese-poetry) 完整数据集，涵盖：

| 分类 | 数量 | 说明 |
|------|------|------|
| 全唐诗 | 57,607 首 | 含 3,675 位唐代诗人信息 |
| 宋诗 | 254,248 首 | 含 8,934 位宋代诗人信息 |
| 宋词 | 21,053 首 | 含 1,563 位宋代词人信息及简介 |
| 元曲 | 11,057 首 | 元代散曲全集 |
| 诗经 | 305 篇 | 风、雅、颂三部分 |
| 楚辞 | 65 篇 | 含屈原、宋玉等作品 |
| 论语 | 20 章 | 完整论语 |
| 四书五经 | 3 部 | 大学、中庸、孟子 |
| 蒙学经典 | 13 部 | 三字经、千字文、百家姓、唐诗三百首、古文观止等 |
| 纳兰性德 | 258 首 | 纳兰性德诗词集 |
| 曹操诗集 | — | 曹操诗全集 |
| 五代诗词 | — | 花间集、南唐词 |
| 其他 | — | 幽梦影、水墨唐诗、御定全唐詩 |

> **总计：超过 344000 首诗词作品，覆盖从先秦到清代的主要诗词文献。**

## 环境准备

数据集体积较大（约 291MB），未包含在发布包中。首次使用前请运行初始化脚本下载数据：

```bash
# 运行数据下载脚本
./setup.sh
```

脚本会自动从 GitHub 克隆 [chinese-poetry](https://github.com/chinese-poetry/chinese-poetry) 数据集到 `data/` 目录。

## 快速开始

### 诗词生成

直接用自然语言描述你的创作需求：

```
# 基础生成
请帮我写一首关于春天的五言绝句

# 指定体裁与风格
以"月下独酌"为题，写一首七言律诗
请以豪放派风格填一首《水调歌头》

# 模仿特定诗人
模仿李白的风格，写一首关于山水的诗
用纳兰性德的风格写一首思念的词
```

### 诗词查询

用自然语言描述你要查找的内容：

```
# 按作者查询
查一下李白的所有唐诗
帮我找苏轼写的词

# 按标题查询
帮我找《静夜思》的全文
查一下《水调歌头·明月几时有》

# 按关键词查询
搜索包含"明月"的唐诗
有哪些描写"秋天"的宋词？

# 按分类查询
诗经中"国风"部分有哪些篇章？
论语中关于"仁"的章节有哪些？
```

### 进阶用法

```
对比李白和杜甫在"月"这一意象上的不同表达
分析《离骚》的修辞手法与意象体系
列出辛弃疾最经典的豪放词十首
从宋词中找出适合表达离别之情的名句
```

## 数据格式

### 唐诗 / 宋诗（全唐诗目录）

```json
{
  "author": "李白",
  "paragraphs": ["床前明月光，疑是地上霜。", "举头望明月，低头思故乡。"],
  "title": "静夜思",
  "id": "uuid"
}
```

### 宋词

```json
{
  "author": "苏轼",
  "paragraphs": ["明月几时有？把酒问青天。", "..."],
  "rhythmic": "水调歌头"
}
```

### 诗经

```json
{
  "title": "关雎",
  "chapter": "国风",
  "section": "周南",
  "content": ["关关雎鸠，在河之洲。窈窕淑女，君子好逑。", "..."]
}
```

### 楚辞

```json
{
  "title": "离骚",
  "section": "离骚",
  "author": "屈原",
  "content": ["帝高阳之苗裔兮，朕皇考曰伯庸。", "..."]
}
```

### 元曲

```json
{
  "dynasty": "yuan",
  "author": "关汉卿",
  "paragraphs": ["半世为人，不曾教大人心困。", "..."],
  "title": "诈妮子调风月・仙吕/点绛唇"
}
```

### 论语

```json
{
  "chapter": "学而篇",
  "paragraphs": ["子曰："学而时习之，不亦说乎？..."", "..."]
}
```

## 技术架构

```
用户自然语言输入
        │
        ▼
   ┌─────────────┐
   │  意图识别    │ ─── 判断：生成 or 查询
   └──────┬──────┘
          │
    ┌─────┴─────┐
    ▼           ▼
┌────────┐  ┌────────┐
│ 生成模式│  │ 查询模式│
│        │  │        │
│ 格律规范│  │ 数据检索│
│ 风格模仿│  │ 模糊匹配│
│ 意象运用│  │ 结果展示│
└────────┘  └────────┘
```

## 许可证

本项目采用 [MIT License](LICENSE) 开源。

诗词数据来源于 [chinese-poetry](https://github.com/chinese-poetry/chinese-poetry)，遵循其原始许可协议。


path: setup.sh
content: #!/bin/bash
# Poetry Skill - Data Setup Script
# Downloads the chinese-poetry dataset into the data/ directory

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DATA_DIR="${SCRIPT_DIR}/data"

if [ -d "$DATA_DIR" ] && [ "$(ls -A $DATA_DIR 2>/dev/null)" ]; then
    echo "✅ Data directory already exists and is not empty: $DATA_DIR"
    echo "   To re-download, remove the data/ directory first and run this script again."
    exit 0
fi

echo "📥 Downloading chinese-poetry dataset..."
echo "   Source: https://github.com/chinese-poetry/chinese-poetry"
echo ""

git clone --depth 1 https://github.com/chinese-poetry/chinese-poetry.git "$DATA_DIR"

# Clean up unnecessary files
echo "🧹 Cleaning up unnecessary files..."
rm -rf "$DATA_DIR/.git" \
       "$DATA_DIR/.github" \
       "$DATA_DIR/.gitignore" \
       "$DATA_DIR/.travis.yml" \
       "$DATA_DIR/_config.yml" \
       "$DATA_DIR/images" \
       "$DATA_DIR/loader" \
       "$DATA_DIR/rank" \
       "$DATA_DIR/test_poetry.py" \
       "$DATA_DIR/requirements.txt"

echo ""
echo "✅ Data setup complete!"
echo "   Location: $DATA_DIR"
echo "   Size: $(du -sh "$DATA_DIR" | cut -f1)"
echo "   Files: $(find "$DATA_DIR" -type f -name '*.json' | wc -l | tr -d ' ') JSON files"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)