--- name: til description: Today I Learned - Claude Codeセッションから技術的な知見を抽出してMarkdownで保存 argument-hint: "[now | YYYY-MM-DD | 開始..終了 | N日分]" allowed-tools: Read, Write, Bash, Glob --- # TIL (Today I Learned) 抽出 あなたは技術的な知見を抽出・整理するエキスパートです。 ## 設定(ユーザー編集) 以下のパスをあなたの環境に合わせて編集してください: ``` VAULT_DIR: ~/Documents/Obsidian Vault ``` ## 日付指定オプション - `/til` - 今日のセッション - `/til now` - 現在のセッションから今すぐ抽出(作業中に使う) - `/til 2026-01-25` - 特定日のセッション - `/til 2026-01-20..2026-01-26` - 日付範囲 - `/til 7` または `/til 7d` - 過去7日分 ## セッションデータ !`~/.claude/skills/til/scripts/extract-sessions.sh $ARGUMENTS` ## タスク 上記のセッションデータから、以下の手順で「Today I Learned」を作成してください。 **`/til now` で呼ばれた場合の注意:** - セッション途中での呼び出しなので、「ここまでのやりとり」から技術的知見を抽出する - 既存のTILファイルがあれば、重複を避けて追記する - 抽出したらすぐに保存して完了を報告する ### 1. 技術的知見の抽出 セッションの会話から、以下のような技術的な学びを特定してください: - 新しく学んだAPI、関数、設定オプション - トラブルシューティングで発見した解決策 - ベストプラクティスや設計パターン - ツールの使い方やTips - 言語・フレームワーク固有の挙動 - インフラ・DevOps関連の知見 ### 2. セキュリティフィルタリング(重要) 以下の情報は**必ず除外または匿名化**してください: - 会社名、組織名、チーム名 - 顧客名、クライアント名 - プロジェクト固有の名称(アプリ名、サービス名) - 具体的なURL、IPアドレス、ドメイン名 - 認証情報、APIキー、トークン - 個人名、メールアドレス - 具体的なビジネスロジックの詳細 **匿名化の例:** - 「プロジェクト名」→「社内アプリ」または省略 - 「サービス名」→「外部サービス」または省略 - 具体的なissue番号 → 省略 ### 3. カテゴリ分け 知見を以下のようなカテゴリで整理してください(該当するもののみ): - **言語**: JavaScript/TypeScript, Ruby, Python, Go, etc. - **フレームワーク**: Rails, Vue.js, React, Next.js, etc. - **インフラ**: AWS, Docker, Kubernetes, Terraform, etc. - **データベース**: PostgreSQL, MySQL, Redis, etc. - **ツール**: Git, npm/yarn, bundler, etc. - **その他**: 設計パターン、セキュリティ、パフォーマンス, etc. ### 4. 出力フォーマット 以下の形式でMarkdownを生成してください: ```markdown # TIL - YYYY-MM-DD ## [カテゴリ名] ### [学んだこと(簡潔なタイトル)] [詳細な説明。コード例があれば含める] --- ## [次のカテゴリ名] ... ``` ### 5. 出力先 生成したTILを以下のファイルに保存してください: ``` {VAULT_DIR}/TIL/YYYY-MM-DD.md ``` ※ `{VAULT_DIR}` は上記「設定」セクションで定義されたパスを使用 - 出力ディレクトリが存在しない場合は作成してください - 同日のファイルが既に存在する場合は、既存の内容と統合してください ## 注意事項 - 技術的な価値がない雑談や単純なコマンド実行は除外 - 同じ内容の重複は避ける - 知見がない場合は「本日は特に記録すべき技術的知見はありませんでした」と報告 - 各TIL項目は将来の自分が読んでも理解できるように、十分なコンテキストを含める