Agent Skills by ALSEL
OpenAI個人生産性⭐ リポ 209品質スコア 88/100

oma-recap

Claude、Codex、Gemini、Qwen、Cursorなど複数のAIツールの会話履歴を分析し、テーマ別の日次・期間ごとの作業サマリーを生成します。日付や時間範囲でフィルタリングすることもできます。

description の原文を見る

Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries. Filter by date or time window.

SKILL.md 本文

AI ツール会話履歴サマリー

指定された期間の AI ツール会話履歴を分析し、テーマ別の作業サマリーを生成します。

スケジューリング

目的

指定された日付またはウィンドウの AI ツール会話履歴を収集し、テーマ別かつプロジェクト指向のレポートに合成し、Markdown 出力として保存します。

インテント署名

  • ユーザーが日次レコップ、週次/月次サマリー、スタンドアップノート、作業ログ、ツール使用パターン、または AI 会話履歴分析をリクエストします。
  • ユーザーが会話履歴を生の時系列ログではなく、作業内容でグループ化されたものを望みます。

使用する場合

  • 1 日または期間の作業活動をサマリーする場合
  • 複数の AI ツール全体の作業フローの全体像を理解したい場合
  • セッション間でのツール切り替えパターンを分析する場合
  • 日次スタンドアップ、週次レトロスペクティブ、または作業ログを準備する場合

使用しない場合

  • Git コミットベースのコード変更レトロスペクティブ -> oma retro を使用
  • リアルタイムエージェント監視 -> oma dashboard を使用
  • 生産性メトリクス -> oma stats を使用

予想される入力

  • 日付、相対日付、時間ウィンドウ、またはツールフィルター
  • oma recap --json または代替ソースを通じて利用可能な会話履歴
  • 望ましい日次または複数日のレコップスコープ

予想される出力

  • .agents/results/recap/{date}.md または範囲ファイル名に保存された Markdown レコップ
  • TL;DR、概要、テーマ/プロジェクト、その他またはサイドプロジェクト、ツール使用パターン
  • 設定された応答言語でのユーザー向けサマリー

依存関係

  • oma recap --json
  • オプションの Claude フォールバック履歴(~/.claude/history.jsonl
  • 言語動作の設定ファイル .agents/oma-config.yaml

制御フロー機能

  • 日付解決、ウィンドウ長、利用可能なツール履歴、日次対複数日出力形状で分岐
  • ローカル履歴データを読み込み、Markdown レコップファイルを書き込み
  • ツール別ではなくコンテンツ別でグループ化

構造的フロー

エントリー

  1. リクエストされた日付またはウィンドウを解決します。
  2. 正規化された会話履歴を収集します。
  3. 日次対複数日出力構造を決定します。

シーン

  1. PREPARE: 時間範囲とツールフィルターを解決します。
  2. ACQUIRE: CLI またはフォールバックを通じて履歴を収集します。
  3. REASON: コンテンツ別にグループ化し、テーマ/プロジェクト、決定、アーティファクト、ツール切り替えパターンを推測します。
  4. ACT: 必要な形式の Markdown レコップを書き込みます。
  5. VERIFY: TL;DR、グループ化、言語、出力パスをチェックします。
  6. FINALIZE: サマリーを保存して表示します。

トランジション

  • 日付が指定されない場合、今日を使用します。
  • ウィンドウが 3 日以上の場合、日の時系列ではなくプロジェクト別にグループ化します。
  • CLI が利用不可の場合、Claude フォールバックのみを使用し、スコープの制限を報告します。
  • タスクが閾値未満の場合、それらを「その他」または「サイドプロジェクト」にグループ化します。

失敗と回復

  • 履歴が利用不可の場合、欠落しているソースとリクエストされた範囲を報告します。
  • タイムスタンプが曖昧な場合、設定されたタイムゾーンを使用し、仮定を明記します。
  • 抽出されたデータが不足している場合、簡潔なレコップを生成し、カバレッジが限定されていることを注記します。

エグジット

  • 成功: レコップファイルが存在し、サマリーが表示されます。
  • 部分的成功: 欠落しているツール/履歴またはフォールバックのみのカバレッジが明示されます。

論理操作

アクション

アクションSSL プリミティブエビデンス
日付/ウィンドウを解決INFER自然言語日付ルール
履歴を収集CALL_TOOLoma recap --json または jq フォールバック
抽出されたレコードを読むREAD会話履歴
テーマ/プロジェクトをグループ化INFER時間/コンテンツグループ化ルール
出力形状を検証VALIDATE日次または複数日テンプレート
レコップを書き込みWRITE.agents/results/recap/
サマリーを報告NOTIFY表示されるレコップ

ツールと機器

  • oma recap --json
  • Claude 履歴の jq フォールバック
  • Markdown 出力テンプレート

標準的なコマンドパス

oma recap --json
oma recap --window 7d --json
oma recap --date YYYY-MM-DD --json

リソーススコープ

スコープリソース対象
LOCAL_FS会話履歴とレコップ出力ファイル
PROCESSoma recapjq、日付コマンド
USER_DATA会話プロンプトとプロジェクト活動
MEMORYテーマグループ化とサマリーノート

前提条件

  • リクエストされた時間範囲が解決可能です。
  • 少なくとも 1 つの履歴ソースが利用可能です。

エフェクトと副エフェクト

  • .agents/results/recap/ の下に Markdown レコップを書き込みます。
  • ローカル会話履歴データを読み込みます。

ガードレール

プロセス

1. 日付を解決

ユーザーの自然言語入力から対象日付またはウィンドウを決定します。デフォルトは今日です。

解決ルール:

  • 相対日参照 (today、yesterday、day before yesterday など) -> --date YYYY-MM-DD を計算
  • 特定日付メンション (月 + 日、または完全な日付) -> --date YYYY-MM-DD に変換
  • 相対曜日参照 (last Monday、this Friday など) -> 日付を計算
  • 期間参照 (this week、last 3 days、past 2 weeks など) -> --window Nd に変換
  • 日付が指定されない -> 今日 (--window 1d)

2. データを収集

CLI を通じて正規化された会話履歴を抽出します。

# デフォルト (今日、すべてのツール)
oma recap --json

# 時間ウィンドウ
oma recap --window 7d --json

# 特定の日付
oma recap --date 2026-04-10 --json

# ツールフィルター
oma recap --tool claude,gemini --json

CLI がインストールされていない場合のフォールバック - インライン jq を使用して Claude 履歴のみを処理します:

TARGET_DATE=$(date +%Y-%m-%d)
TZ=Asia/Seoul start_ts=$(date -j -f "%Y-%m-%d %H:%M:%S" "${TARGET_DATE} 00:00:00" +%s)000
end_ts=$((start_ts + 86400000))

TZ=Asia/Seoul jq -r --argjson start "$start_ts" --argjson end "$end_ts" '
  select(.timestamp >= $start and .timestamp < $end and .display != null and .display != "") |
  {
    time: (.timestamp / 1000 | localtime | strftime("%H:%M")),
    project: (.project | split("/") | .[-1]),
    prompt: (.display | gsub("\n"; " ") | if length > 150 then .[0:150] + "..." else . end)
  }
' ~/.claude/history.jsonl

3. テーマ分析とグループ化

すべての抽出されたデータを読み込み、以下の基準で分析します:

グループ化ルール:

  • 作業が 15 分以上 (タイムスタンプギャップとプロンプト数に基づく) の場合にのみ、独立したテーマとして分類
  • 同じトピックの連続したプロンプトを 1 つのテーマにマージ
  • 15 分未満のタスクを「その他」セクションに収集
  • ツール別ではなく 作業コンテンツ 別にグループ化

クロスツール分析:

  • 同じ時間ウィンドウで複数のツールが使用される場合のワークフローを追跡
  • 例: 「Gemini でデザイン -> Claude で実装 -> Codex でレビュー」
  • ツール切り替えパターンから洞察を導出

各テーマから抽出:

  • 実施された中核作業
  • なされた主要な決定
  • 使用されたツール組み合わせ
  • 生成されたアーティファクト (ドキュメント、コード、設定など)

4. 出力形式

.agents/results/recap/{date}.md に結果を保存して同時に表示します。

以下の Markdown 形式で出力します。応答言語は .agents/oma-config.yamllanguage 設定に従います。

日次形式 (1d または特定日付)

## {date} Recap

> **TL;DR**
> - {達成したこと 1 — プロジェクト名 + 成果}
> - {達成したこと 2}
> - {達成したこと 3}

### Overview
その日の 2-3 文のサマリー。「I did X」の視点で書きます。
アウトカムと進捗に焦点を当て、ツール比率や技術詳細は含めません。

### {テーマ 1} (AM 09:36~11:30)
- 実施された中核作業
- 主要な決定
- テーマあたり 2-4 個のバレット

### {テーマ 2} (PM 13:33~15:21)
- 実施された中核作業
- 主要な決定

### その他
- 15 分未満のタスクの簡潔なサマリー

### ツール使用パターン
- ツール使用比率と主要な目的
- 注目すべきツール切り替えパターン

複数日形式 (3d、7d、2w、30d)

任意の複数日ウィンドウの場合、プロジェクト駆動構造 (スプリントレポート同様) を使用します。 日別の時系列ではなく、プロジェクトあたりで達成されたことに焦点を当てます。

## {開始} ~ {終了} Monthly Recap

> **TL;DR**
> - {達成したこと 1 — プロジェクト名 + 成果}
> - {達成したこと 2}
> - {達成したこと 3}

### Overview
その月の 3-5 文のナラティブ。週ごとの主要なフォーカスシフト、
達成された主要マイルストーン、全体的な方向性。「I did X」の視点で書きます。

### {プロジェクト A}
このプロジェクトが何か、期間中に達成されたこと。
- 主要なマイルストーンまたは成果物 1
- 主要なマイルストーンまたは成果物 2
- なされた主要な決定
- 現在のステータス (リリース済み / 進行中 / ブロック中)

### {プロジェクト B}
- ...

### サイドプロジェクト
30 プロンプト未満のプロジェクト、簡潔にサマリーされます。
- {project}: ワンライン概要
- {project}: ワンライン概要

### ツール使用パターン
- ツール使用比率とその月での推移
- 注目すべきシフト (例: 「月半ばから Codex を使用開始」)

複数日グループ化ルール:

  • 日付別ではなく プロジェクト 別にグループ化
  • プロジェクトを活動量で順序付け (最もアクティブなものから)
  • 各プロジェクトセクション: それが何であるか、何が達成されたか、主要な決定、現在のステータス
  • プロジェクトヘッダーにプロンプト数または日付範囲を含めない — これらは内部メトリクスです
  • 小規模プロジェクト (30 プロンプト未満) は「サイドプロジェクト」にワンライナーとして入ります
  • 概要はログではなくスプリントレポートのナラティブのように読むべきです

5. 結果を保存

.agents/results/recap/{date}.md に保存します。 ウィンドウ範囲の場合は {start-date}~{end-date}.md 形式を使用します。

# パス例
.agents/results/recap/2026-04-12.md
.agents/results/recap/2026-04-06~2026-04-12.md

中核ルール

  1. TL;DR が必須: 「達成したこと」の上位 3 行。プロジェクト名 + 成果。ツール名や技術詳細は含めません。
  2. Overview: TL;DR の後、フローを説明します。「I」で始まります。
  3. 日次: テーマを時間ブロック別 (15 分以上)。残りは「その他」へ。
  4. 複数日 (3d+): セクションをプロジェクト別、活動量で順序付け。日次ログではなくスプリントレポートのように読みます。
  5. テーマ/プロジェクトあたり 2-4 個のバレット: 簡潔な要点のみ。すべてのステップを列挙しません。
  6. テーマはコンテンツ別: ツール別ではなく実際の作業でグループ化。
  7. 時間範囲 (日次のみ): (AM/PM/Evening HH:MM~HH:MM)。AM: 12:00、PM: 12:0018:00、Evening: 18:00~。
  8. 結果を保存: Markdown を .agents/results/recap/ に書き込みます。
  9. 応答言語: .agents/oma-config.yaml で設定されている場合、その language 設定に従います。
  10. em ダッシュなし: (em ダッシュ) の代わりに、コンマ、ピリオド、または括弧を使用します。

参考資料

  • Recap CLI: oma recap --json
  • 出力ディレクトリ: .agents/results/recap/
  • 言語設定: .agents/oma-config.yaml
  • Claude フォールバック履歴: ~/.claude/history.jsonl

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
first-fluke
リポジトリ
first-fluke/fullstack-starter
ライセンス
MIT
最終更新
2026/5/11

Source: https://github.com/first-fluke/fullstack-starter / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: first-fluke · first-fluke/fullstack-starter · ライセンス: MIT