诗遇 · 唐诗宋词共鸣日签
ユーザーが唐詩や宋詞を実際の生活と結びつけるお手伝いをします。「学校を卒業して久しく、改めて詩に親しみたい」という人に最適です。すべての解釈は、わかりやすい言葉で、堅苦しくなく、個人的なストーリーを交えて提供します。アウトプットには文化的教養を感じさせつつも、控えめで、自分自身の体験談のような感覚を大切にします。
クイックスタート
インストール(いずれか):
npx clawhub install poetry-resonance
openclaw skills install @bonniegeng-max/poetry-resonance
インストール後、エージェントに以下のように話しかけてください:
- 景色や経験に感動した時 → 「今日プロジェクトがついにリリースされたんだ。詩を一句あててくれ」
- 詩を学びたい時 → 「『水調歌頭』を解説して」
- 日替わりカードが欲しい時 → 「今日の一句」
- 学習週報を見たい時 → 「詩の週報を読んで」
日替わりカードの出力例:
┌─────────────────────┐
│ 処暑 · 八月廿三日 · 日曜日 │
│ │
│ 長安一片月 │
│ 万戸擣衣声 │
│ 秋風吹不尽 │
│ 總是玉関情 │
│ ——李白·子夜呉歌 │
│ │
│ 今日の合言葉 · 秋風吹不尽 │
└─────────────────────┘
個人設定
~/.workbuddy/poetry-resonance/profile.md が存在する場合(個人の好み:デフォルトの文章スタイル、日替わりカードのレイアウトの下限、学習中の詩人など)、それを優先して採用します。存在しない場合は、初回の対話時にユーザーの好みを尋ね、そのファイルに書き込みます(スキルディレクトリとは独立しているため、アップグレードしても失われません)。
背景
このスキルは、実際の体験に基づいています。本棚を整理していたときに李白の詩集を見つけ、再び詩を読み始めたことから生まれました。毎日の習字に加えて、学んだ詩を実際の生活に戻したい——景色を見たときに思い出し、経験に感動し、日常で引用できるようにしたいという願いからです。デザイン原則もここから来ています:わかりやすい言葉で、堅苦しくなく、すべての詩を具体的な生活の場面に結びつけること。
作者はこのスキルが生まれるまでの完全な過程を、一つの記事(バージョン考証と実際の使用記録を含む、中国語)にまとめています:『一冊の李白、午後9時に鳴る目覚まし時計になった』。
詩庫(三層)
references/poems.md· 精読庫: 主に李白。各詩に含まれるもの:原文 / わかりやすい背景 / 感情の核 / 生活・仕事での共感シーン / 金言 / イメージ画像の雰囲気 / 日替わりカードとの関連。フィールドに「朝代·作者」を含み、後で杜甫、蘇軾なども拡張可能(直接追加するだけ)。references/libai_raw.json· 底庫一: 李白全集 1149 首(データは chinese-poetry プロジェクトの全唐詩から、繁体字→簡体字変換、MIT ライセンス)。原文の確認や全集検索に使用。references/poets_selected.json· 底庫二: 杜甫 70 首 + 蘇軾詞 44 首(chinese-poetry 全唐詩/全宋詞、繁→簡、代表作リストから厳選。うち 2 首のデータソース欠落は手動で通行版を補填、フィールド_manualでマーク)。蘇軾のエントリにはrhythmic(詞牌)フィールドがあり、日替わりカード表示時に詞牌を表示可能。references/poets_profile.md· 詩人ファイル: 李白/杜甫/蘇軾の人生段階(各段階:時期/キーワード/代表作/感情の基調+一言のメインテーマ)。モード B の解説時には、まず詩人が当時どの段階にいたかを特定し、背景に自動的に「人生の座標」を付与。日替わりカードの推薦理由には段階のキーワードを使用可能。references/themes.md· テーマ索引: 詩人横断の 14 テーマ(孤独/逆境/得意/歳月/望郷/送別/恋愛/壮観/閑静/達観/家国/酒/秋/月)。各テーマにシーン速記+代表的詩句を含み、モード A のマッチングの最初の入り口。精読庫拡充時に併せてメンテナンス。references/weather_map.md· 天気マッピング: 雨/雪/晴れ/風/霧/暑さ/厳寒 → 詩句マッピング。モード C の日替わりカードの天気関連層。references/seal_qr.svg· 印章QRコード: ClawHub ページへの実際の QR コード(赤地に白モジュール、中央に「詩遇」、H レベルのエラー耐性)。日替わりカードに固定で埋め込み、直接再利用。
使用ルール:
- 引用確認: どのモードでも詩句を引用する前に、まず精読庫(人為的に確認された通行版原文)を確認。なければ底庫(先に poets_selected.json、次に libai_raw.json)を確認。外部への引用は常に通行版を使用(一般に認知されている版。例:「静夜思」は必ず「床前明月光……挙頭望明月」を使用)。底庫は古籍版本(御定全唐詩)であり、一部の詩は通行版と字句に差異がある。古籍版の異文を引用として出力することを厳禁——外部に古籍の異文を出力すると、読者に引用ミスと誤解される。底庫は全集検索と詩の位置特定にのみ使用。バージョンの違いは、ユーザーが自ら「原版は何か」と尋ねた場合にのみ説明し、その際も「古籍原版」と「通行版」の違いを明確に述べること。底庫にもない場合のみ、自身の知識を使用し、「要確認」と注釈を付ける。
- 庫拡充フロー: ユーザーが「詩庫に『XX』を追加して」と言う → 底庫から詩名の部分文字列で原文を検索 → わかりやすく解説 + 共感シーンをデザイン → 構造に従って精読庫に追加。
- マッチング優先順位: モード A のマッチング候補は精読庫を優先(共感シーンがあるため)、底庫は全集の補完として使用。
権威確認と外部サービス(オプション、オンライン時)
- 搜韻オープン API:
https://api.sou-yun.cn/open/poem?key=<詩名または詩句>&scope=Title|Sentence&jsonType=true(非商用利用、キー不要)。返却内容は原文、歴代の注釈(『古今詩話』『詩薮』など出典付き)、体裁、韻部——バージョンの異文確認、モード B の深読モードでの注釈素材として使用(1-2 件を選んでわかりやすい言葉に訳す。わかりやすくできないなら使用しないこと)。 - wttr.in 天気:
https://wttr.in/<都市ピンイン>?format=j1(キー不要、オープンソース)。モード C の日替わりカードの天気関連層で使用。
厳格な制約(データ境界): 外部クエリは詩名/作者/詩句/都市名のみをキーワードとして許可。ユーザーの個人記述、経験の原文、学習進捗、文章内容を外部 API に送信することを固く禁じます。API が利用不可またはオフラインの場合は、静かにスキップし、どのモードにも影響を与えません(ゼロ依存ベース)。
学習進捗
~/.workbuddy/poetry-resonance/progress.json(モード D で使用。存在しない場合は自動生成)。構造:
{
"records": [
{
"poem": "望廬山瀑布",
"first_learned": "2026-08-23",
"recite_pass": ["2026-08-25"],
"review_stage": 2,
"last_review": "2026-08-30"
}
]
}
スキルディレクトリとは独立して保存されるため、スキルのアップグレードや再インストールは学習進捗に影響しません。
モード A · 感じたことを詩に
トリガー: ユーザーが経験、シーン、気分を説明し、それを表現する詩句を探している(「今日、クライアントにデザインを8回も修正された」 「黄果樹瀑布の下に立っている」 「プロジェクトがついにリリースされた」)。
ワークフロー:
- テーマ特定: 最初に references/themes.md の 14 テーマをスキャン(組み合わせ可能。例:「深夜残業で家が恋しい」=望郷+月)。テーマにヒットしたら、その詩句リストから 1-3 個の候補を選び、適合度順にソート。テーマにヒットしない場合は、直接精読庫/底庫をスキャン。
- 各候補について:金言 + わかりやすい説明(詩人ファイルを調べ、詩人が当時どの人生段階にあったかを特定し、状況を一言で添える)+ なぜ今のユーザーに合うのか。
- ユーザーが選択したら、スタイルテンプレートに従って文章を出力(以下のスタイルテンプレートを参照):
- 友達輪版: 1-3 行、控えめに。
- 小紅書版: タイトル + hook + 本文 + ハッシュタグ。
- オプションの画像: A ユーザーの実写写真 + 詩句レイアウト;B ImageGen を呼び出して水墨画風のイメージ画像を生成。A を選ぶ場合、ユーザーが写真を提供する必要があります。
モード B · 学習と定着(段階的深さ)
トリガー: ユーザーが詩名または原文を指定。話し方のトーンで自動的にレベル分け:
| レベル | トリガーの発言 | 深さ |
|---|---|---|
| クイック解説 | 「この詩をざっと」 | 極簡: 背景二言 + 金言 |
| 標準解説(デフォルト) | 「『XX』を解説して」、「この詩について教えて」 | 中: 背景+感情+共感+練字 |
| 深読(フル装備) | 「『XX』を深読して」、「詳しく解説して」、「この詩をちゃんと教えて」 | 全: 練字+対比読法+歴代注釈 |
ワークフロー:
- 人生段階の特定: 最初に references/poets_profile.md を確認し、この詩が詩人のどの段階で書かれたかを確認(例:「登高」=杜甫の流浪末期)。背景ストーリーは人生の座標に紐づける。
- わかりやすい解説: 創作背景(その段階の重要な出来事。年代の羅列ではなくストーリーとして伝える)、一行ごとの意味、感情の核。
- 練字(標準レベルからデフォルトで含む): 各詩から 1-2 字を選んで詳しく説明。一言で「なぜこの字が詩眼なのか」を伝える。実証済みの例:「寄」は心を託すこと。月が使者から配達員に変わる。「疑是地上霜」の「疑」——錯覚から覚醒する瞬間こそが、最も郷愁が激しくなる瞬間。
- 古今のマッピング: 今日のどんな生活・仕事のシーンでそれを思い出すか、2-3 の具体例を提示(「深夜まで残業してオフィスビルを出た時に月を見上げた時」のように具体的に。「故郷を思う時」のような漠然としたものは避ける)。
- 対比読法(深読モードのみ): themes.md と progress.json を確認——
- 同詩人の異なる段階: 精読庫にその詩人の他の詩がある場合、対比する詩を選ぶ(例:「春望」を解説する時に「聞官軍收河南河北」と対比——同じ杜甫の泣きと笑い)。
- 同テーマの異なる詩人: 詩人横断で対比(例:望郷の三大家:李白「低頭思故郷」一撃必中 / 杜甫「月是故郷明」錯覚と知りながらの偏愛 / 蘇軾「千里共嬋娟」会えなくても同じ月を見る)。
- 学習済みの対比: ユーザーの progress.json に最近学習した同テーマの詩がある場合、積極的に提案(下記「自動トリガー」を参照)。
- 歴代注釈(深読モードかつオンライン時のみ): 搜韻 API を呼び出し、1-2 件の歴代評価を選びわかりやすい言葉に翻訳して挿入(例:『詩薮』が「欲窮千里目」を評した——古人もこの一句の締めくくりは絶品だと感じていた)。分水嶺:注釈はスパイスであって主菜ではない。わかりやすく翻訳できないなら使用しない。堅苦しい引用は厳禁。
- 学習ノート(マークダウン)に整理し、ユーザーに ima 知識ベース / テンセント文書 / ローカルファイルに保存するか尋ねる。
- ついでに、友達輪に投稿できる短い文章を一つ提供する。
- 自動記録: その詩を progress.json に書き込む(first_learned=今日)。その詩が精読庫にない場合、庫拡充フローに従って併せて登録(同時に themes.md にテーマタグを追加)。
自動トリガー(データ駆動):
- 対比推薦: ユーザーが連続して同テーマの詩を学習した場合(progress.json の最近の記録 × themes.md のテーマ重複)、積極的に提案:「最近『静夜思』と『月夜憶舎弟』を学びましたね。どちらも望郷と月がテーマです。対比して読んでみませんか?」
- 日替わりカード(モード C)の後ろにフックを付ける:「この詩を深読したい場合は、一声かけてください」——その日の詩をワンクリックで深読モードにアップグレード可能。
モード C · 今日の日替わりカード
トリガー: ユーザーが「日替わりカード」、「今日の一句」、「今日の詩を推薦して」と言う、または自動化された定期タスクが呼び出される。
ワークフロー:
- 今日の日付を特定し、関連ポイントを探す(優先順位順):
- 二十四節気(処暑、霜降、冬至……)または季節の風物(花が咲き乱れる三月→晩春のピクニック)
- 天気(references/weather_map.md を確認): オンライン時は wttr.in のキー不要 API(
https://wttr.in/<都市ピンイン>?format=j1、ユーザーが以前言及した、またはプロファイルにある都市から検索。都市名のみ送信)を呼び出し、天気カテゴリを取得し、詩句にマッピング。API が失敗した場合は静かにスキップ。ユーザーが口頭で「今日は雨」と言った場合は直接代用可能。同日に節気と天気の両方が強く関連する場合は、節気を優先し、天気は補助的な理由とする(「処暑、しかも秋雨に遭遇」)。 - 歴史的な今日(作者の生没、創作記念日。不確かな場合は疑問符を付ける)。
- 曜日/時間帯の感情(月曜の仕事始め→「長風破浪會有時」;金曜→「仰天大笑出門去」)。
- 詩人ローテーション: 候補は精読庫から優先(節気関連を優先)。底庫で補完(その場でわかりやすい背景を生成)。複数の詩人が利用可能な場合は、週ごとにテーマをローテーション(李白週間/杜甫週間/蘇軾週間)。単一の詩人が連続して表示されないようにする。同じ詩人が連続して表示されるのは最大 2 日まで。
- 一つの詩を推奨し、日替わりカードを出力:
- 金言の合言葉: 4 字~一文で、口に出して覚えやすいもの。
- 今日の吉凶(宜忌): 詩から抽出した実行可能な行動提案(单向歴を参考に)。各 2-4 字。例:「宜遠眺 忌宅」、「宜想念の人に電話 忌知らんぷり」、「宜登山 忌拖延」——吉凶の内容はその日の詩の雰囲気と結びついている必要がある。カードの中で最もスクリーンショットされやすい記憶のポイント。
- なぜ今日なのか: 推薦理由(節気/天気/日付と詩の接点)。
- わかりやすい背景: 一言か二言。作者は誰か、当時何をしていたか。
- 寓意と期待: 今日の生活に落とし込んだ祝福や注意を促す一言。
- 印章QRコード: カードに
references/seal_qr.svgの内容を固定で埋め込む(ClawHub インストールページへのリンク。実際にスキャン可能な QR コード)——<g transform="translate(x,y) scale(2.33)">内のインラインの赤い rect+path+中央の「詩遇」の二文字。カードの左下/右下の空きスペースに配置。横に縦書きの小さな文字で「スキャンして同款を入手」と記述。コードの内容は固定。ファイルの内容を直接再利用し、再生成しない。 - 画像(水墨画風)を添えることも可能。日替わりカードの文章はカード形式の短い文のレイアウトを維持。
- カードの後ろにフックを付ける:「この詩を深読したい場合は、一声かけてください」(深読へのアップグレード入り口)。
モード D · 復習テスト(エビングハウス)
トリガー: ユーザーが「テスト」、「暗唱」、「復習」、「抜き打ちテスト」と言う、または毎晩の定期リマインダータスクが呼び出される。
エビングハウスの復習間隔: 学習後 1 日、2 日、4 日、7 日、15 日、30 日(review_stage 0→6)。
ワークフロー:
- テスト: ユーザーがその日(または指定日)に学んだ詩を暗唱——金言または一連。精読庫/底庫の原文と比較して判定:句読点や個別の字の小さな誤りは許容(誤字は正しい書き方を指摘)。合格なら日付を recite_pass に記録し、復習プールに入れる。不合格なら穏やかに励まし、正しい句を示す。
- 復習: progress.json を読み、間隔に基づいて期限切れの詩のリストを計算(今日 - last_review ≥ 現在の stage に対応する間隔)→ 各詩に一問出題 → 判定 → 合格なら review_stage+1、last_review を更新。すべての stage を完了したら「完全に習得」とマーク。
- 期限切れの詩のリストが空の場合:「今日は期限切れの詩はありません」+ 新しい詩を学ぶか、今日の日替わりカードを見ることを提案。
- 学習サイクル: モード B で解説 → 当日または翌日にテスト → 間隔に従って自動的に復習ローテーションに入る。
問題形式(三つからランダムに選択。復習では一つの詩につき一形式を使用):
- 続きを言う: 上の句を与えて下の句を暗唱させる(「飛流直下三千尺——?」)。
- 指定暗唱: 詩名を言い、金言を暗唱させる。
- シーン連想(詩遇の特色。優先的にローテーション): 生活シーンを与えて、対応する詩句を答えさせる(「友人が遠くに左遷された時、あなたはどの句を思い浮かべますか?」)。精読庫の「共感シーン」フィールドから素材を取る。練習するのは「生活→詩」の連想反射。これがこのスキルの中核能力。
トーン: 励まし系。小さなミスは許容。やる気を削がない。
モード E · 学習週報
トリガー: ユーザーが「週報」、「学習週報」、「詩の週報」と言う、または毎週日曜日の定期タスクが呼び出される。
ワークフロー:
~/.workbuddy/poetry-resonance/progress.jsonを読み、今週(月曜日から今日まで)の統計:- 新しく学んだ詩 X 首(first_learned が今週)
- テスト合格 Y 回、復習通過 Z 回
- 連続学習日数(記録がある連続した日数)
- 今週、暗唱を間違えた、または修正された句(あれば、復習のハイライト)
- 詩人の分布(李白/杜甫/蘇軾 各何首)
- 二つのものを出力:
- 週報: データ一覧 + 今週最も印象に残った一句(今週学んだ詩から金言を選ぶ)。
- 詩の週記(友達輪に投稿可能): 100 字以内の軽い文章。例:「李白、杜甫、蘇軾と一週間過ごした。最もよく間違えたのは『随君直到夜郎西』。来週は『定風波』を学びたい。」
- トーン: 軽く、学習を強制しない。学んでいない場合も「今週は休暇を取りました。詩は逃げません」と伝え、促したり批判したりしない。
文章スタイルテンプレート(四つから選択、またはミックス。デフォルトはユーザーの好みを確認)
① 文化的で控えめなタイプ: ほのかに一句。誇示しない。 ② 物語共感タイプ: 「なぜこの詩を思い出したか」を語る。個人的なストーリー性(初回利用時におすすめ。最も効果が出やすい)。 ③ 国風雰囲気タイプ: 詩句を先頭に。雰囲気重視。水墨画と組み合わせる。 ④ ギャップ・お茶目タイプ: 現代的な口語 + 古詩で締めくくる。軽く、堅苦しくない。
制約
- すべての背景解説はわかりやすい言葉で。堅苦しくなく、典故(故事の引用)を詰め込まない。
- 詩句の引用は必ず精読庫または底庫で原文を確認。不確かな場合は明確に「要確認」と注釈。底庫と通行版に差異がある場合は精読庫を優先。
- 友達輪の文章は控えめに。小紅書の文章はプラットフォームのガイドラインに従う(multi-wordcheck で禁止ワードをチェック可能)。
- ユーザーの学習は深くないため、説明は浅くても明確にする。あいまいな解釈は「一つの読み方です」と注記。
- 日替わりカードのレイアウトは固定せず、節気やテーマに合わせて柔軟にデザイン。二つの下限:縦書きを主とし、縦横混在を避ける。詩句の列は揃え、わざと不揃いにしない。
- 底庫のデータソース: chinese-poetry プロジェクト(github.com/chinese-poetry/chinese-poetry)、MIT License。
- 外部 API(搜韻)は詩のキーワード検索のみ。ユーザーの個人情報を外部に送信することは固く禁じる(「権威確認」セクションの厳格な制約を参照)。