[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JWXRN651D3JX8WMGCZCBAG":3,"skill-same:01M6JWXRN651D3JX8WMGCZCBAG":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":14,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":38,"install":39,"resources":52},"01M6JWXRN651D3JX8WMGCZCBAG","check-skill-log-patterns",null,"セッションログ内の Skill 実行パターンを解析・検証するスキル。 ログフォーマットの変更検出、新パターンの発見、既知パターンとの差分確認に使う。 「ログパターン確認」「skill ログチェック」「ログ構造が変わったか確認」 「セッションログのスキル実行を調べて」と言われたら使う。","tkfmst\u002Faiotel","tkfmst","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8873008?v=4","01M6JWXNG313AEZEXZQ4VC5E65","Takafumi Sato","01M6JWXNMQ0FND9QCBJ8B41Z34",0,"MIT","https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcheck-skill-log-patterns\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27],"check","log","patterns","check skill log patterns","2026-11-10 10:12:30",false,"---\nname: check-skill-log-patterns\ndescription: >\n  セッションログ内の Skill 実行パターンを解析・検証するスキル。\n  ログフォーマットの変更検出、新パターンの発見、既知パターンとの差分確認に使う。\n  「ログパターン確認」「skill ログチェック」「ログ構造が変わったか確認」\n  「セッションログのスキル実行を調べて」と言われたら使う。\n---\n\n# Skill ログパターン検証\n\n## 概要\n\nClaude Code のセッションログに記録される Skill 実行パターンを検証する。\nログフォーマットは Claude Code のバージョンアップで変わる可能性があるため、\n`claude -p` でスキルを実行してログを生成し、既知パターンと照合する。\n\n## ツール構成\n\n```\nscripts\u002F\n├── run_and_dump.sh       # claude -p でスキルを実行し、セッションログを出力\n└── analyze_patterns.py   # ログを分類して差分レポートを生成\n```\n\n## 使い方\n\nスキルディレクトリ: `.claude\u002Fskills\u002Fcheck-skill-log-patterns`\n\n### 1. スキルを実行してログを出力\n\n```bash\n# \u002Fskill-test を実行し、生成されたセッションログを全行出力\n.\u002Fscripts\u002Frun_and_dump.sh \u002Fskill-test\n\n# skill関連のエントリのみ出力\n.\u002Fscripts\u002Frun_and_dump.sh -s \u002Fskill-test\n\n# 引数付きスキル\n.\u002Fscripts\u002Frun_and_dump.sh -s \u002Fhead go.mod\n\n# raw JSONL で出力（jq等にパイプしやすい）\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test\n```\n\n### 2. パイプで解析\n\n```bash\n# 実行 → 抽出 → 解析を一発で\n.\u002Fscripts\u002Frun_and_dump.sh -r \u002Fskill-test | python3 scripts\u002Fanalyze_patterns.py --stdin\n\n# skill関連のみ抽出して解析\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | python3 scripts\u002Fanalyze_patterns.py --stdin\n```\n\n### 3. 既存ログを解析（実行せずに）\n\n```bash\n# 直近7日のログを解析\npython3 scripts\u002Fanalyze_patterns.py\n\n# 直近1日、サブエージェント含む\npython3 scripts\u002Fanalyze_patterns.py --days 1 --include-subagents\n\n# 特定セッション\npython3 scripts\u002Fanalyze_patterns.py --session SESSION_UUID\n\n# 生JSON付きで詳細出力\npython3 scripts\u002Fanalyze_patterns.py --days 1 --verbose\n```\n\n### 4. ログを直接確認（jq）\n\n```bash\n# run_and_dump.sh の出力を jq で整形\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | jq .\n\n# 特定フィールドだけ抽出\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | jq '{type, isMeta, toolUseResult}'\n```\n\n## 解析レポートの読み方\n\n`analyze_patterns.py` は以下を報告する:\n\n- **パターン別件数** — 3パターン（直接コマンド \u002F toolUseResult \u002F サブエージェント）ごとの検出数\n- **新規フィールド** — 既知のフィールドセットにないフィールドが検出された場合に表示\n- **未分類エントリ** — 既知パターンに当てはまらない Skill 関連ログ\n\n### 期待される正常状態\n\n```\n新規フィールド: なし\n未分類エントリ: なし\n```\n\n### 要対応\n\n- **新規フィールド検出**: スキーマ（`docs\u002Fclaude\u002Fschemas\u002F`）と既知フィールドセット（`analyze_patterns.py`）を更新\n- **未分類エントリ**: 新パターンの可能性。`--verbose` で生ログを確認し、`docs\u002Fclaude\u002FREADME.md` とGoコード（`internal\u002Fclaude\u002Fsessionlog.go`）を更新\n\n## 既知の3パターン\n\n詳細は `docs\u002Fclaude\u002FREADME.md` を参照。\n\n| Pattern | 発生条件 | 検出キー |\n|---------|---------|---------|\n| 1: 直接コマンド | `\u002Fskill-name` 入力 | `\u003Ccommand-name>` + 次行 `isMeta: true` |\n| 2: 暗黙的 Skill | Claude が Skill ツールを選択 | `toolUseResult.commandName` |\n| 3: サブエージェント | Agent 内で Skill 呼び出し | assistant `tool_use` → user `tool_result` ペア |\n","# Skill ログパターン検証\n\n## 概要\n\nClaude Code のセッションログに記録される Skill 実行パターンを検証する。\nログフォーマットは Claude Code のバージョンアップで変わる可能性があるため、\n`claude -p` でスキルを実行してログを生成し、既知パターンと照合する。\n\n## ツール構成\n\n```\nscripts\u002F\n├── run_and_dump.sh       # claude -p でスキルを実行し、セッションログを出力\n└── analyze_patterns.py   # ログを分類して差分レポートを生成\n```\n\n## 使い方\n\nスキルディレクトリ: `.claude\u002Fskills\u002Fcheck-skill-log-patterns`\n\n### 1. スキルを実行してログを出力\n\n```bash\n# \u002Fskill-test を実行し、生成されたセッションログを全行出力\n.\u002Fscripts\u002Frun_and_dump.sh \u002Fskill-test\n\n# skill関連のエントリのみ出力\n.\u002Fscripts\u002Frun_and_dump.sh -s \u002Fskill-test\n\n# 引数付きスキル\n.\u002Fscripts\u002Frun_and_dump.sh -s \u002Fhead go.mod\n\n# raw JSONL で出力（jq等にパイプしやすい）\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test\n```\n\n### 2. パイプで解析\n\n```bash\n# 実行 → 抽出 → 解析を一発で\n.\u002Fscripts\u002Frun_and_dump.sh -r \u002Fskill-test | python3 scripts\u002Fanalyze_patterns.py --stdin\n\n# skill関連のみ抽出して解析\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | python3 scripts\u002Fanalyze_patterns.py --stdin\n```\n\n### 3. 既存ログを解析（実行せずに）\n\n```bash\n# 直近7日のログを解析\npython3 scripts\u002Fanalyze_patterns.py\n\n# 直近1日、サブエージェント含む\npython3 scripts\u002Fanalyze_patterns.py --days 1 --include-subagents\n\n# 特定セッション\npython3 scripts\u002Fanalyze_patterns.py --session SESSION_UUID\n\n# 生JSON付きで詳細出力\npython3 scripts\u002Fanalyze_patterns.py --days 1 --verbose\n```\n\n### 4. ログを直接確認（jq）\n\n```bash\n# run_and_dump.sh の出力を jq で整形\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | jq .\n\n# 特定フィールドだけ抽出\n.\u002Fscripts\u002Frun_and_dump.sh -r -s \u002Fskill-test | jq '{type, isMeta, toolUseResult}'\n```\n\n## 解析レポートの読み方\n\n`analyze_patterns.py` は以下を報告する:\n\n- **パターン別件数** — 3パターン（直接コマンド \u002F toolUseResult \u002F サブエージェント）ごとの検出数\n- **新規フィールド** — 既知のフィールドセットにないフィールドが検出された場合に表示\n- **未分類エントリ** — 既知パターンに当てはまらない Skill 関連ログ\n\n### 期待される正常状態\n\n```\n新規フィールド: なし\n未分類エントリ: なし\n```\n\n### 要対応\n\n- **新規フィールド検出**: スキーマ（`docs\u002Fclaude\u002Fschemas\u002F`）と既知フィールドセット（`analyze_patterns.py`）を更新\n- **未分類エントリ**: 新パターンの可能性。`--verbose` で生ログを確認し、`docs\u002Fclaude\u002FREADME.md` とGoコード（`internal\u002Fclaude\u002Fsessionlog.go`）を更新\n\n## 既知の3パターン\n\n詳細は `docs\u002Fclaude\u002FREADME.md` を参照。\n\n| Pattern | 発生条件 | 検出キー |\n|---------|---------|---------|\n| 1: 直接コマンド | `\u002Fskill-name` 入力 | `\u003Ccommand-name>` + 次行 `isMeta: true` |\n| 2: 暗黙的 Skill | Claude が Skill ツールを選択 | `toolUseResult.commandName` |\n| 3: サブエージェント | Agent 内で Skill 呼び出し | assistant `tool_use` → user `tool_result` ペア |\n",{"name":5,"description":7},"main","eaed5e59b591f26e25cc142e069ad1c9a87c65f5",".claude\u002Fskills\u002Fcheck-skill-log-patterns","https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel","https:\u002F\u002Fgithub.com\u002Ftkfmst","2026-03-30 15:38:21",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add tkfmst\u002Faiotel --skill check-skill-log-patterns",{"tool":45,"command":46},"bunx","bunx skills add tkfmst\u002Faiotel --skill check-skill-log-patterns",{"tool":48,"command":49},"pnpm","pnpm dlx skills add tkfmst\u002Faiotel --skill check-skill-log-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcheck-skill-log-patterns\u002FSKILL.md",true,[53,59],{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"scripts\u002Fanalyze_patterns.py","SCRIPT","脚本",14164,"https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcheck-skill-log-patterns\u002Fscripts\u002Fanalyze_patterns.py",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"scripts\u002Frun_and_dump.sh",4881,"https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcheck-skill-log-patterns\u002Fscripts\u002Frun_and_dump.sh",[64,81],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":28},"01M6JWY13J7S5WN1XJ725E1NKR","update-session-log-schema","Claude Code セッションログの仕様書と JSON Schema を分析・更新するスキル。 `~\u002F.claude\u002Fprojects\u002F` 配下のセッションログ (.jsonl) を解析し、 新しいメッセージタイプやフィールドを検出して docs\u002Fclaude\u002F 配下のドキュメントを更新する。 期間指定で対象ログを絞り込み可能（デフォルト: 直近5日）。 「ログスキーマ更新」「セッションログ仕様更新」「schema update」と言われたら使う。 ログ構造の変更検出やスキーマのバリデーション精度向上にも使える。","https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fupdate-session-log-schema\u002FSKILL.md",[],[71,72,73,25,74,75,76,77,78,79,80],"update","session","schema","update session log schema","docs","json schema","code","projects","json","jsonl",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":28},"01M6JWXWXQH537NAP51SM0RN3K","skill-test","実験用のスキル","https:\u002F\u002Fgithub.com\u002Ftkfmst\u002Faiotel\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-test\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[91,92],"test","Skill Test"]