From workflow
蓄積した notes(~/.belta/notes/ の日次ログ・トピックノート)を横断して、直近の 振り返り(インサイト)を出す。「最近何してた」「振り返り」「インサイト」「まとめて教えて」 「この N 日の動き」「○○まわりで何やってたっけ」等の発話、または /insights コマンドで workflow スキルから委譲される。テーマ抽出・繰り返し業務・抜け漏れの可視化を担う。
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow:insightsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
belta は `~/.belta/notes/` に「その日の利用者依頼」を貯めている(`Stop` フック `hooks/notes-record.js` が確定記録)。本スキルはそれを **横断して振り返る** 手段を提供する。NousResearch/hermes-agent の `/insights` 相当を、SQLite/FTS5 を使わず純 Node 走査で移植したもの。
belta は ~/.belta/notes/ に「その日の利用者依頼」を貯めている(Stop フック hooks/notes-record.js が確定記録)。本スキルはそれを 横断して振り返る 手段を提供する。NousResearch/hermes-agent の /insights 相当を、SQLite/FTS5 を使わず純 Node 走査で移植したもの。
scripts/notes-scan.js が担う(hooks/repeat-util.js の正規化を再利用し、反復検知と判定基準を揃える)。この二層は、既存の「notes-record.js(確定記録)+ workflow スキル(能動記録)」と同じ役割分担です。
出力言語(必須): 利用者への振り返り本文・レポート(
reports/*.md)・AskUserQuestionの文面・育成日記は、すべて日本語で出力する。走査スクリプトのフィールド名(top_requests等)が英語でも、利用者に見せる文章は必ず日本語に翻訳してまとめる。
/insights [--days N] [--topic <語>] を実行したとき振り返り日数 N を決める。引数 --days N があればそれを使う。無ければ node "${CLAUDE_PLUGIN_ROOT}/scripts/belta-init.js" get insights_default_days で取得(未設定・失敗時は 7)。
次を Bash で実行して JSON を受け取る(読み取り専用):
node "${CLAUDE_PLUGIN_ROOT}/scripts/notes-scan.js" --days <N> [--topic <語>]
--topic <語> は利用者がテーマを指定したときだけ付ける。session_count: 0)を返す。パスはホームディレクトリ環境変数(POSIX:
$HOME/ Windows:%USERPROFILE%)から解決される(スクリプト内で処理済み)。cat等で notes を直接読むのではなく、このスクリプトに走査を委ねる(クロスプラットフォーム・正規化の一貫性のため)。
走査 JSON の各フィールドを材料に、日常語の日本語で 振り返りをまとめる(出力は必ず日本語):
top_requests(正規化キーの頻度・サンプル)→ 繰り返している業務テーマ を抽出。完全一致でなく意図でまとめる(例: 「PRの状況確認」「議事録のNotion化」)。sessions(日付・依頼の時系列)→ 時間の流れ(いつ何が増えたか)。topic_notes(トピックノートの見出し)→ 既に蓄積された知識の地図。topic_matches(--topic 指定時)→ そのテーマに関する具体的な記録。出力の構成(結論先出し・ピラミッド構造):
データが乏しい(session_count が 0〜1)ときは無理に要約せず、「まだ振り返る材料が少ないです」と正直に返す。
振り返り本文を ~/.belta/reports/YYYY-MM-DD-insights.md に Write で保存する(reports/ が無ければ親ディレクトリごと作成される)。--topic 指定時はファイル名に含めてよい(例: YYYY-MM-DD-insights-<topic-slug>.md)。
reports/はnotes/の 配下に置かない(notes-record.jsの retention が日次ログを誤って消さないため)。~/.belta/全体が.gitignore対象でリポジトリには出ない。
top_requests に 明確に反復しているテーマ(同一キーが複数回、または意図が同じ依頼が 3 回以上)があれば、振り返りの最後に AskUserQuestion で確認する:
「最近『○○』が繰り返し出ています。あなたの傾向として
user-model.mdに覚えておきますか?(次回以降の段取りがスムーズになります)」
利用者が「成長」「アバターの育ち」「今週どれだけ育った」等を求めたとき、または週次ジョブ belta-wf-weekly-growth では、振り返りに 育成アバターの成長を添える。手順は references/growth-diary.md。
node "${CLAUDE_PLUGIN_ROOT}/scripts/avatar-stats.js" --json で取得(LLM 消費なし)。~/.belta/reports/YYYY-MM-DD-growth-diary.md に Write。notes-scan.js に委ねる(cat/grep/sed を必須経路に置かない。Mac / Windows 両対応・正規化の一貫性)。reports/ のみ。npx claudepluginhub belta-group/belta-workflow-agent --plugin workflowSets up isolated workspaces using native worktree tools or git worktree fallback. Use before starting feature work to protect the current branch.