[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-context-intelligence-session-reconstruction":3,"mdc-yybz39-key":34,"related-repo-microsoft-context-intelligence-session-reconstruction":1286,"related-org-microsoft-context-intelligence-session-reconstruction":1367},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"context-intelligence-session-reconstruction","reconstruct local Amplifier session files","Reconstruct local Amplifier session files from the context-intelligence graph server — events.jsonl, transcript.jsonl, and metadata.json",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Observability","observability","tag",{"name":17,"slug":18,"type":15},"Amplifier","amplifier",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Metadata","metadata",3,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-bundle-context-intelligence","2026-07-03T16:31:03.605475","MIT",4,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Context Intelligence bundle for the Amplifier project","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-bundle-context-intelligence\u002Ftree\u002FHEAD\u002Fskills\u002Fcontext-intelligence-session-reconstruction","---\nname: context-intelligence-session-reconstruction\nversion: 1.0.0\ndescription: Reconstruct local Amplifier session files from the context-intelligence graph server — events.jsonl, transcript.jsonl, and metadata.json\nlicense: MIT\n---\n\n# Context Intelligence Session Reconstruction\n\nLocal Amplifier session files (`events.jsonl`, `transcript.jsonl`, `metadata.json`) can be reconstructed from the context-intelligence Neo4j graph server when the local files are missing, broken, or incomplete. This skill covers when and how to run the reconstruction tool safely.\n\n---\n\n## When to Use\n\nUse reconstruction when local session files are absent or unusable but the graph server holds the session data:\n\n- **Missing files**: Sessions exist in the graph but have no local files — for example, after a disk wipe, new machine setup, or accidental deletion\n- **Broken resume**: `amplifier resume` shows \"unnamed\", \"unknown\", or empty session names — reconstructing `metadata.json` populates bundle, model, and session name fields\n- **Unknown bundles**: Sessions that show no bundle information in the resume list — reconstruction extracts bundle info from the graph's `session_start` blob\n\n---\n\n## When NOT to Use\n\n- **Server unreachable**: If the graph server is not reachable, reconstruction cannot proceed. Verify server reachability first with `python scripts\u002Fcontext-intelligence.py status`. If the server is down, fall back to `session-navigator` for local file navigation.\n- **Pre-hook sessions**: Sessions that predate the `hook-context-intelligence` hook have no data in the graph. Reconstruction cannot create files for these sessions — there is no source data to read from.\n- **Real-time data**: Reconstruction reads a snapshot of what is stored in the graph. It is not a live stream. Do not use it to monitor an active session or capture events as they happen.\n\n---\n\n## Prerequisites\n\n**1. Graph server must be reachable**\n\nVerify with the status subcommand before running reconstruction:\n\n```bash\npython scripts\u002Fcontext-intelligence.py status\n```\n\nA healthy server responds with `\"status\": \"ok\"`. If the server is unreachable, this command will report the error. Do not proceed with reconstruction until status is `ok`.\n\n**2. API key must be configured**\n\nThree methods — use whichever fits your environment:\n\n| Method | How |\n|--------|-----|\n| Environment variable | `export AMPLIFIER_CONTEXT_INTELLIGENCE_API_KEY=\u003Ckey>` |\n| CLI flag | Pass `--api-key \u003Ckey>` to any subcommand |\n| Settings file | Add `context_intelligence_api_key: \u003Ckey>` to `~\u002F.amplifier\u002Fsettings.yaml` |\n\nThe CLI resolves in this order: flag → env var → `~\u002F.amplifier\u002Fsettings.yaml`.\n\n**3. Sessions must have been captured by the hook**\n\nOnly sessions that were active while `hook-context-intelligence` was configured will have data in the graph. Pre-hook sessions cannot be reconstructed.\n\n---\n\n## Usage Patterns\n\nAll patterns use:\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct [OPTIONS]\n```\n\n### Fix broken resume list (fastest, recommended first)\n\nReconstructs only `metadata.json` without touching `events.jsonl` or `transcript.jsonl`. Use this when `amplifier resume` shows unnamed or unknown sessions.\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct --metadata-only\n```\n\n### Preview what would be written (dry run)\n\nShows what files would be created or updated without writing anything. Add `--verbose` for detailed per-session output.\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct --dry-run --verbose\n```\n\n### Reconstruct a single session\n\nLimits reconstruction to one session by ID or prefix. Use when you know exactly which session needs repair.\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct --session \u003Csession-id-or-prefix> --force\n```\n\nThe `--force` flag overwrites any existing files for that session. Omit `--force` to skip files that already exist.\n\n### Full reconstruction — skip existing files\n\nReconstructs all sessions in the project, skipping sessions where files already exist. Safe to run repeatedly.\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct\n```\n\n### Full reconstruction — overwrite all files\n\nReconstructs all sessions and overwrites existing files. Use only when explicitly requested or when existing files are known to be corrupt.\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct --force\n```\n\n### Reconstruct with raw LLM data (large output)\n\nThe `--resolve-blobs` flag inlines full blob payloads into `events.jsonl`, including complete LLM request\u002Fresponse bodies. This produces significantly larger files (~19MB for a typical long session with many LLM turns).\n\n```bash\npython scripts\u002Fcontext-intelligence.py reconstruct --resolve-blobs\n```\n\n> Use `--resolve-blobs` only when you need access to raw LLM input\u002Foutput. For most use cases — resume list repair, event counts, delegation trees — reconstructing without blobs is sufficient and much faster.\n\n---\n\n## Verification\n\nAfter reconstruction, verify the output files were written correctly:\n\n**Check line counts for events and transcript:**\n\n```bash\nCONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\nwc -l \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fevents.jsonl\nwc -l \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Ftranscript.jsonl\n```\n\nA reconstructed `events.jsonl` should have at least a few lines (session start, prompts, tool calls). Zero lines indicates the session had no recoverable events.\n\n**Validate metadata JSON is well-formed:**\n\n```bash\nCONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\ncat \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fmetadata.json | python3 -m json.tool\n```\n\nThis confirms the file is valid JSON. Check that `bundle`, `model`, and `session_id` fields are populated.\n\n**Confirm sessions appear in the resume list:**\n\n```bash\namplifier session list\n```\n\nSessions with successfully reconstructed `metadata.json` should now appear with names, bundle info, and model rather than \"unknown\" or empty fields.\n\n---\n\n## Known Limitations\n\n- **Streaming events not recoverable (~39%)**: `content_block:start` and `content_block:end` events are not stored in the graph — they account for approximately 39% of hook-logging events. Reconstructed `events.jsonl` files will be missing these events. This does not affect session content, only streaming telemetry.\n\n- **Delegate events may be incomplete**: `delegate:agent_spawned` and `delegate:agent_completed` events depend on `data_delegate_*` graph properties that may be null for sessions that were in progress when captured. These events may appear with partial data in the reconstructed files.\n\n- **Session names are approximations**: Session names are generated at runtime by `hooks-session-naming` from the first user prompt. That output is not stored in the graph. Reconstruction generates names from the same source (the first prompt), but the exact phrasing may differ from the original session name.\n\n- **Pre-hook sessions have no graph data**: Sessions that predate the `hook-context-intelligence` hook have no entries in the graph. Reconstruction will produce empty output for these sessions — there is no data to read. Use `session-navigator` to work with pre-hook sessions directly from local JSONL files if they still exist on disk.\n",{"data":35,"body":37},{"name":4,"version":36,"description":6,"license":26},"1.0.0",{"type":38,"children":39},"root",[40,48,78,82,89,94,153,156,162,219,222,228,236,241,275,296,304,309,402,413,421,433,436,442,447,476,483,516,543,549,562,594,600,605,658,678,684,689,712,718,723,749,755,774,801,817,820,826,831,839,968,980,988,1091,1119,1127,1151,1163,1166,1172,1280],{"type":41,"tag":42,"props":43,"children":44},"element","h1",{"id":4},[45],{"type":46,"value":47},"text","Context Intelligence Session Reconstruction",{"type":41,"tag":49,"props":50,"children":51},"p",{},[52,54,61,63,69,70,76],{"type":46,"value":53},"Local Amplifier session files (",{"type":41,"tag":55,"props":56,"children":58},"code",{"className":57},[],[59],{"type":46,"value":60},"events.jsonl",{"type":46,"value":62},", ",{"type":41,"tag":55,"props":64,"children":66},{"className":65},[],[67],{"type":46,"value":68},"transcript.jsonl",{"type":46,"value":62},{"type":41,"tag":55,"props":71,"children":73},{"className":72},[],[74],{"type":46,"value":75},"metadata.json",{"type":46,"value":77},") can be reconstructed from the context-intelligence Neo4j graph server when the local files are missing, broken, or incomplete. This skill covers when and how to run the reconstruction tool safely.",{"type":41,"tag":79,"props":80,"children":81},"hr",{},[],{"type":41,"tag":83,"props":84,"children":86},"h2",{"id":85},"when-to-use",[87],{"type":46,"value":88},"When to Use",{"type":41,"tag":49,"props":90,"children":91},{},[92],{"type":46,"value":93},"Use reconstruction when local session files are absent or unusable but the graph server holds the session data:",{"type":41,"tag":95,"props":96,"children":97},"ul",{},[98,110,135],{"type":41,"tag":99,"props":100,"children":101},"li",{},[102,108],{"type":41,"tag":103,"props":104,"children":105},"strong",{},[106],{"type":46,"value":107},"Missing files",{"type":46,"value":109},": Sessions exist in the graph but have no local files — for example, after a disk wipe, new machine setup, or accidental deletion",{"type":41,"tag":99,"props":111,"children":112},{},[113,118,120,126,128,133],{"type":41,"tag":103,"props":114,"children":115},{},[116],{"type":46,"value":117},"Broken resume",{"type":46,"value":119},": ",{"type":41,"tag":55,"props":121,"children":123},{"className":122},[],[124],{"type":46,"value":125},"amplifier resume",{"type":46,"value":127}," shows \"unnamed\", \"unknown\", or empty session names — reconstructing ",{"type":41,"tag":55,"props":129,"children":131},{"className":130},[],[132],{"type":46,"value":75},{"type":46,"value":134}," populates bundle, model, and session name fields",{"type":41,"tag":99,"props":136,"children":137},{},[138,143,145,151],{"type":41,"tag":103,"props":139,"children":140},{},[141],{"type":46,"value":142},"Unknown bundles",{"type":46,"value":144},": Sessions that show no bundle information in the resume list — reconstruction extracts bundle info from the graph's ",{"type":41,"tag":55,"props":146,"children":148},{"className":147},[],[149],{"type":46,"value":150},"session_start",{"type":46,"value":152}," blob",{"type":41,"tag":79,"props":154,"children":155},{},[],{"type":41,"tag":83,"props":157,"children":159},{"id":158},"when-not-to-use",[160],{"type":46,"value":161},"When NOT to Use",{"type":41,"tag":95,"props":163,"children":164},{},[165,191,209],{"type":41,"tag":99,"props":166,"children":167},{},[168,173,175,181,183,189],{"type":41,"tag":103,"props":169,"children":170},{},[171],{"type":46,"value":172},"Server unreachable",{"type":46,"value":174},": If the graph server is not reachable, reconstruction cannot proceed. Verify server reachability first with ",{"type":41,"tag":55,"props":176,"children":178},{"className":177},[],[179],{"type":46,"value":180},"python scripts\u002Fcontext-intelligence.py status",{"type":46,"value":182},". If the server is down, fall back to ",{"type":41,"tag":55,"props":184,"children":186},{"className":185},[],[187],{"type":46,"value":188},"session-navigator",{"type":46,"value":190}," for local file navigation.",{"type":41,"tag":99,"props":192,"children":193},{},[194,199,201,207],{"type":41,"tag":103,"props":195,"children":196},{},[197],{"type":46,"value":198},"Pre-hook sessions",{"type":46,"value":200},": Sessions that predate the ",{"type":41,"tag":55,"props":202,"children":204},{"className":203},[],[205],{"type":46,"value":206},"hook-context-intelligence",{"type":46,"value":208}," hook have no data in the graph. Reconstruction cannot create files for these sessions — there is no source data to read from.",{"type":41,"tag":99,"props":210,"children":211},{},[212,217],{"type":41,"tag":103,"props":213,"children":214},{},[215],{"type":46,"value":216},"Real-time data",{"type":46,"value":218},": Reconstruction reads a snapshot of what is stored in the graph. It is not a live stream. Do not use it to monitor an active session or capture events as they happen.",{"type":41,"tag":79,"props":220,"children":221},{},[],{"type":41,"tag":83,"props":223,"children":225},{"id":224},"prerequisites",[226],{"type":46,"value":227},"Prerequisites",{"type":41,"tag":49,"props":229,"children":230},{},[231],{"type":41,"tag":103,"props":232,"children":233},{},[234],{"type":46,"value":235},"1. Graph server must be reachable",{"type":41,"tag":49,"props":237,"children":238},{},[239],{"type":46,"value":240},"Verify with the status subcommand before running reconstruction:",{"type":41,"tag":242,"props":243,"children":248},"pre",{"className":244,"code":245,"language":246,"meta":247,"style":247},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","python scripts\u002Fcontext-intelligence.py status\n","bash","",[249],{"type":41,"tag":55,"props":250,"children":251},{"__ignoreMap":247},[252],{"type":41,"tag":253,"props":254,"children":257},"span",{"class":255,"line":256},"line",1,[258,264,270],{"type":41,"tag":253,"props":259,"children":261},{"style":260},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[262],{"type":46,"value":263},"python",{"type":41,"tag":253,"props":265,"children":267},{"style":266},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[268],{"type":46,"value":269}," scripts\u002Fcontext-intelligence.py",{"type":41,"tag":253,"props":271,"children":272},{"style":266},[273],{"type":46,"value":274}," status\n",{"type":41,"tag":49,"props":276,"children":277},{},[278,280,286,288,294],{"type":46,"value":279},"A healthy server responds with ",{"type":41,"tag":55,"props":281,"children":283},{"className":282},[],[284],{"type":46,"value":285},"\"status\": \"ok\"",{"type":46,"value":287},". If the server is unreachable, this command will report the error. Do not proceed with reconstruction until status is ",{"type":41,"tag":55,"props":289,"children":291},{"className":290},[],[292],{"type":46,"value":293},"ok",{"type":46,"value":295},".",{"type":41,"tag":49,"props":297,"children":298},{},[299],{"type":41,"tag":103,"props":300,"children":301},{},[302],{"type":46,"value":303},"2. API key must be configured",{"type":41,"tag":49,"props":305,"children":306},{},[307],{"type":46,"value":308},"Three methods — use whichever fits your environment:",{"type":41,"tag":310,"props":311,"children":312},"table",{},[313,332],{"type":41,"tag":314,"props":315,"children":316},"thead",{},[317],{"type":41,"tag":318,"props":319,"children":320},"tr",{},[321,327],{"type":41,"tag":322,"props":323,"children":324},"th",{},[325],{"type":46,"value":326},"Method",{"type":41,"tag":322,"props":328,"children":329},{},[330],{"type":46,"value":331},"How",{"type":41,"tag":333,"props":334,"children":335},"tbody",{},[336,354,375],{"type":41,"tag":318,"props":337,"children":338},{},[339,345],{"type":41,"tag":340,"props":341,"children":342},"td",{},[343],{"type":46,"value":344},"Environment variable",{"type":41,"tag":340,"props":346,"children":347},{},[348],{"type":41,"tag":55,"props":349,"children":351},{"className":350},[],[352],{"type":46,"value":353},"export AMPLIFIER_CONTEXT_INTELLIGENCE_API_KEY=\u003Ckey>",{"type":41,"tag":318,"props":355,"children":356},{},[357,362],{"type":41,"tag":340,"props":358,"children":359},{},[360],{"type":46,"value":361},"CLI flag",{"type":41,"tag":340,"props":363,"children":364},{},[365,367,373],{"type":46,"value":366},"Pass ",{"type":41,"tag":55,"props":368,"children":370},{"className":369},[],[371],{"type":46,"value":372},"--api-key \u003Ckey>",{"type":46,"value":374}," to any subcommand",{"type":41,"tag":318,"props":376,"children":377},{},[378,383],{"type":41,"tag":340,"props":379,"children":380},{},[381],{"type":46,"value":382},"Settings file",{"type":41,"tag":340,"props":384,"children":385},{},[386,388,394,396],{"type":46,"value":387},"Add ",{"type":41,"tag":55,"props":389,"children":391},{"className":390},[],[392],{"type":46,"value":393},"context_intelligence_api_key: \u003Ckey>",{"type":46,"value":395}," to ",{"type":41,"tag":55,"props":397,"children":399},{"className":398},[],[400],{"type":46,"value":401},"~\u002F.amplifier\u002Fsettings.yaml",{"type":41,"tag":49,"props":403,"children":404},{},[405,407,412],{"type":46,"value":406},"The CLI resolves in this order: flag → env var → ",{"type":41,"tag":55,"props":408,"children":410},{"className":409},[],[411],{"type":46,"value":401},{"type":46,"value":295},{"type":41,"tag":49,"props":414,"children":415},{},[416],{"type":41,"tag":103,"props":417,"children":418},{},[419],{"type":46,"value":420},"3. Sessions must have been captured by the hook",{"type":41,"tag":49,"props":422,"children":423},{},[424,426,431],{"type":46,"value":425},"Only sessions that were active while ",{"type":41,"tag":55,"props":427,"children":429},{"className":428},[],[430],{"type":46,"value":206},{"type":46,"value":432}," was configured will have data in the graph. Pre-hook sessions cannot be reconstructed.",{"type":41,"tag":79,"props":434,"children":435},{},[],{"type":41,"tag":83,"props":437,"children":439},{"id":438},"usage-patterns",[440],{"type":46,"value":441},"Usage Patterns",{"type":41,"tag":49,"props":443,"children":444},{},[445],{"type":46,"value":446},"All patterns use:",{"type":41,"tag":242,"props":448,"children":450},{"className":244,"code":449,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct [OPTIONS]\n",[451],{"type":41,"tag":55,"props":452,"children":453},{"__ignoreMap":247},[454],{"type":41,"tag":253,"props":455,"children":456},{"class":255,"line":256},[457,461,465,470],{"type":41,"tag":253,"props":458,"children":459},{"style":260},[460],{"type":46,"value":263},{"type":41,"tag":253,"props":462,"children":463},{"style":266},[464],{"type":46,"value":269},{"type":41,"tag":253,"props":466,"children":467},{"style":266},[468],{"type":46,"value":469}," reconstruct",{"type":41,"tag":253,"props":471,"children":473},{"style":472},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[474],{"type":46,"value":475}," [OPTIONS]\n",{"type":41,"tag":477,"props":478,"children":480},"h3",{"id":479},"fix-broken-resume-list-fastest-recommended-first",[481],{"type":46,"value":482},"Fix broken resume list (fastest, recommended first)",{"type":41,"tag":49,"props":484,"children":485},{},[486,488,493,495,500,502,507,509,514],{"type":46,"value":487},"Reconstructs only ",{"type":41,"tag":55,"props":489,"children":491},{"className":490},[],[492],{"type":46,"value":75},{"type":46,"value":494}," without touching ",{"type":41,"tag":55,"props":496,"children":498},{"className":497},[],[499],{"type":46,"value":60},{"type":46,"value":501}," or ",{"type":41,"tag":55,"props":503,"children":505},{"className":504},[],[506],{"type":46,"value":68},{"type":46,"value":508},". Use this when ",{"type":41,"tag":55,"props":510,"children":512},{"className":511},[],[513],{"type":46,"value":125},{"type":46,"value":515}," shows unnamed or unknown sessions.",{"type":41,"tag":242,"props":517,"children":519},{"className":244,"code":518,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct --metadata-only\n",[520],{"type":41,"tag":55,"props":521,"children":522},{"__ignoreMap":247},[523],{"type":41,"tag":253,"props":524,"children":525},{"class":255,"line":256},[526,530,534,538],{"type":41,"tag":253,"props":527,"children":528},{"style":260},[529],{"type":46,"value":263},{"type":41,"tag":253,"props":531,"children":532},{"style":266},[533],{"type":46,"value":269},{"type":41,"tag":253,"props":535,"children":536},{"style":266},[537],{"type":46,"value":469},{"type":41,"tag":253,"props":539,"children":540},{"style":266},[541],{"type":46,"value":542}," --metadata-only\n",{"type":41,"tag":477,"props":544,"children":546},{"id":545},"preview-what-would-be-written-dry-run",[547],{"type":46,"value":548},"Preview what would be written (dry run)",{"type":41,"tag":49,"props":550,"children":551},{},[552,554,560],{"type":46,"value":553},"Shows what files would be created or updated without writing anything. Add ",{"type":41,"tag":55,"props":555,"children":557},{"className":556},[],[558],{"type":46,"value":559},"--verbose",{"type":46,"value":561}," for detailed per-session output.",{"type":41,"tag":242,"props":563,"children":565},{"className":244,"code":564,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct --dry-run --verbose\n",[566],{"type":41,"tag":55,"props":567,"children":568},{"__ignoreMap":247},[569],{"type":41,"tag":253,"props":570,"children":571},{"class":255,"line":256},[572,576,580,584,589],{"type":41,"tag":253,"props":573,"children":574},{"style":260},[575],{"type":46,"value":263},{"type":41,"tag":253,"props":577,"children":578},{"style":266},[579],{"type":46,"value":269},{"type":41,"tag":253,"props":581,"children":582},{"style":266},[583],{"type":46,"value":469},{"type":41,"tag":253,"props":585,"children":586},{"style":266},[587],{"type":46,"value":588}," --dry-run",{"type":41,"tag":253,"props":590,"children":591},{"style":266},[592],{"type":46,"value":593}," --verbose\n",{"type":41,"tag":477,"props":595,"children":597},{"id":596},"reconstruct-a-single-session",[598],{"type":46,"value":599},"Reconstruct a single session",{"type":41,"tag":49,"props":601,"children":602},{},[603],{"type":46,"value":604},"Limits reconstruction to one session by ID or prefix. Use when you know exactly which session needs repair.",{"type":41,"tag":242,"props":606,"children":608},{"className":244,"code":607,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct --session \u003Csession-id-or-prefix> --force\n",[609],{"type":41,"tag":55,"props":610,"children":611},{"__ignoreMap":247},[612],{"type":41,"tag":253,"props":613,"children":614},{"class":255,"line":256},[615,619,623,627,632,638,643,648,653],{"type":41,"tag":253,"props":616,"children":617},{"style":260},[618],{"type":46,"value":263},{"type":41,"tag":253,"props":620,"children":621},{"style":266},[622],{"type":46,"value":269},{"type":41,"tag":253,"props":624,"children":625},{"style":266},[626],{"type":46,"value":469},{"type":41,"tag":253,"props":628,"children":629},{"style":266},[630],{"type":46,"value":631}," --session",{"type":41,"tag":253,"props":633,"children":635},{"style":634},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[636],{"type":46,"value":637}," \u003C",{"type":41,"tag":253,"props":639,"children":640},{"style":266},[641],{"type":46,"value":642},"session-id-or-prefi",{"type":41,"tag":253,"props":644,"children":645},{"style":472},[646],{"type":46,"value":647},"x",{"type":41,"tag":253,"props":649,"children":650},{"style":634},[651],{"type":46,"value":652},">",{"type":41,"tag":253,"props":654,"children":655},{"style":266},[656],{"type":46,"value":657}," --force\n",{"type":41,"tag":49,"props":659,"children":660},{},[661,663,669,671,676],{"type":46,"value":662},"The ",{"type":41,"tag":55,"props":664,"children":666},{"className":665},[],[667],{"type":46,"value":668},"--force",{"type":46,"value":670}," flag overwrites any existing files for that session. Omit ",{"type":41,"tag":55,"props":672,"children":674},{"className":673},[],[675],{"type":46,"value":668},{"type":46,"value":677}," to skip files that already exist.",{"type":41,"tag":477,"props":679,"children":681},{"id":680},"full-reconstruction-skip-existing-files",[682],{"type":46,"value":683},"Full reconstruction — skip existing files",{"type":41,"tag":49,"props":685,"children":686},{},[687],{"type":46,"value":688},"Reconstructs all sessions in the project, skipping sessions where files already exist. Safe to run repeatedly.",{"type":41,"tag":242,"props":690,"children":692},{"className":244,"code":691,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct\n",[693],{"type":41,"tag":55,"props":694,"children":695},{"__ignoreMap":247},[696],{"type":41,"tag":253,"props":697,"children":698},{"class":255,"line":256},[699,703,707],{"type":41,"tag":253,"props":700,"children":701},{"style":260},[702],{"type":46,"value":263},{"type":41,"tag":253,"props":704,"children":705},{"style":266},[706],{"type":46,"value":269},{"type":41,"tag":253,"props":708,"children":709},{"style":266},[710],{"type":46,"value":711}," reconstruct\n",{"type":41,"tag":477,"props":713,"children":715},{"id":714},"full-reconstruction-overwrite-all-files",[716],{"type":46,"value":717},"Full reconstruction — overwrite all files",{"type":41,"tag":49,"props":719,"children":720},{},[721],{"type":46,"value":722},"Reconstructs all sessions and overwrites existing files. Use only when explicitly requested or when existing files are known to be corrupt.",{"type":41,"tag":242,"props":724,"children":726},{"className":244,"code":725,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct --force\n",[727],{"type":41,"tag":55,"props":728,"children":729},{"__ignoreMap":247},[730],{"type":41,"tag":253,"props":731,"children":732},{"class":255,"line":256},[733,737,741,745],{"type":41,"tag":253,"props":734,"children":735},{"style":260},[736],{"type":46,"value":263},{"type":41,"tag":253,"props":738,"children":739},{"style":266},[740],{"type":46,"value":269},{"type":41,"tag":253,"props":742,"children":743},{"style":266},[744],{"type":46,"value":469},{"type":41,"tag":253,"props":746,"children":747},{"style":266},[748],{"type":46,"value":657},{"type":41,"tag":477,"props":750,"children":752},{"id":751},"reconstruct-with-raw-llm-data-large-output",[753],{"type":46,"value":754},"Reconstruct with raw LLM data (large output)",{"type":41,"tag":49,"props":756,"children":757},{},[758,759,765,767,772],{"type":46,"value":662},{"type":41,"tag":55,"props":760,"children":762},{"className":761},[],[763],{"type":46,"value":764},"--resolve-blobs",{"type":46,"value":766}," flag inlines full blob payloads into ",{"type":41,"tag":55,"props":768,"children":770},{"className":769},[],[771],{"type":46,"value":60},{"type":46,"value":773},", including complete LLM request\u002Fresponse bodies. This produces significantly larger files (~19MB for a typical long session with many LLM turns).",{"type":41,"tag":242,"props":775,"children":777},{"className":244,"code":776,"language":246,"meta":247,"style":247},"python scripts\u002Fcontext-intelligence.py reconstruct --resolve-blobs\n",[778],{"type":41,"tag":55,"props":779,"children":780},{"__ignoreMap":247},[781],{"type":41,"tag":253,"props":782,"children":783},{"class":255,"line":256},[784,788,792,796],{"type":41,"tag":253,"props":785,"children":786},{"style":260},[787],{"type":46,"value":263},{"type":41,"tag":253,"props":789,"children":790},{"style":266},[791],{"type":46,"value":269},{"type":41,"tag":253,"props":793,"children":794},{"style":266},[795],{"type":46,"value":469},{"type":41,"tag":253,"props":797,"children":798},{"style":266},[799],{"type":46,"value":800}," --resolve-blobs\n",{"type":41,"tag":802,"props":803,"children":804},"blockquote",{},[805],{"type":41,"tag":49,"props":806,"children":807},{},[808,810,815],{"type":46,"value":809},"Use ",{"type":41,"tag":55,"props":811,"children":813},{"className":812},[],[814],{"type":46,"value":764},{"type":46,"value":816}," only when you need access to raw LLM input\u002Foutput. For most use cases — resume list repair, event counts, delegation trees — reconstructing without blobs is sufficient and much faster.",{"type":41,"tag":79,"props":818,"children":819},{},[],{"type":41,"tag":83,"props":821,"children":823},{"id":822},"verification",[824],{"type":46,"value":825},"Verification",{"type":41,"tag":49,"props":827,"children":828},{},[829],{"type":46,"value":830},"After reconstruction, verify the output files were written correctly:",{"type":41,"tag":49,"props":832,"children":833},{},[834],{"type":41,"tag":103,"props":835,"children":836},{},[837],{"type":46,"value":838},"Check line counts for events and transcript:",{"type":41,"tag":242,"props":840,"children":842},{"className":244,"code":841,"language":246,"meta":247,"style":247},"CONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\nwc -l \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fevents.jsonl\nwc -l \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Ftranscript.jsonl\n",[843],{"type":41,"tag":55,"props":844,"children":845},{"__ignoreMap":247},[846,906,940],{"type":41,"tag":253,"props":847,"children":848},{"class":255,"line":256},[849,854,859,864,869,874,879,884,888,892,896,901],{"type":41,"tag":253,"props":850,"children":851},{"style":472},[852],{"type":46,"value":853},"CONTEXT_INTELLIGENCE_ROOT",{"type":41,"tag":253,"props":855,"children":856},{"style":634},[857],{"type":46,"value":858},"=",{"type":41,"tag":253,"props":860,"children":861},{"style":634},[862],{"type":46,"value":863},"\"${",{"type":41,"tag":253,"props":865,"children":866},{"style":472},[867],{"type":46,"value":868},"AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH",{"type":41,"tag":253,"props":870,"children":871},{"style":634},[872],{"type":46,"value":873},":-",{"type":41,"tag":253,"props":875,"children":876},{"style":472},[877],{"type":46,"value":878},"$HOME",{"type":41,"tag":253,"props":880,"children":881},{"style":634},[882],{"type":46,"value":883},"\u002F",{"type":41,"tag":253,"props":885,"children":886},{"style":266},[887],{"type":46,"value":295},{"type":41,"tag":253,"props":889,"children":890},{"style":472},[891],{"type":46,"value":18},{"type":41,"tag":253,"props":893,"children":894},{"style":634},[895],{"type":46,"value":883},{"type":41,"tag":253,"props":897,"children":898},{"style":472},[899],{"type":46,"value":900},"projects",{"type":41,"tag":253,"props":902,"children":903},{"style":634},[904],{"type":46,"value":905},"}\"\n",{"type":41,"tag":253,"props":907,"children":909},{"class":255,"line":908},2,[910,915,920,925,930,935],{"type":41,"tag":253,"props":911,"children":912},{"style":260},[913],{"type":46,"value":914},"wc",{"type":41,"tag":253,"props":916,"children":917},{"style":266},[918],{"type":46,"value":919}," -l",{"type":41,"tag":253,"props":921,"children":922},{"style":634},[923],{"type":46,"value":924}," \"",{"type":41,"tag":253,"props":926,"children":927},{"style":472},[928],{"type":46,"value":929},"$CONTEXT_INTELLIGENCE_ROOT",{"type":41,"tag":253,"props":931,"children":932},{"style":634},[933],{"type":46,"value":934},"\"",{"type":41,"tag":253,"props":936,"children":937},{"style":266},[938],{"type":46,"value":939},"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fevents.jsonl\n",{"type":41,"tag":253,"props":941,"children":942},{"class":255,"line":23},[943,947,951,955,959,963],{"type":41,"tag":253,"props":944,"children":945},{"style":260},[946],{"type":46,"value":914},{"type":41,"tag":253,"props":948,"children":949},{"style":266},[950],{"type":46,"value":919},{"type":41,"tag":253,"props":952,"children":953},{"style":634},[954],{"type":46,"value":924},{"type":41,"tag":253,"props":956,"children":957},{"style":472},[958],{"type":46,"value":929},{"type":41,"tag":253,"props":960,"children":961},{"style":634},[962],{"type":46,"value":934},{"type":41,"tag":253,"props":964,"children":965},{"style":266},[966],{"type":46,"value":967},"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Ftranscript.jsonl\n",{"type":41,"tag":49,"props":969,"children":970},{},[971,973,978],{"type":46,"value":972},"A reconstructed ",{"type":41,"tag":55,"props":974,"children":976},{"className":975},[],[977],{"type":46,"value":60},{"type":46,"value":979}," should have at least a few lines (session start, prompts, tool calls). Zero lines indicates the session had no recoverable events.",{"type":41,"tag":49,"props":981,"children":982},{},[983],{"type":41,"tag":103,"props":984,"children":985},{},[986],{"type":46,"value":987},"Validate metadata JSON is well-formed:",{"type":41,"tag":242,"props":989,"children":991},{"className":244,"code":990,"language":246,"meta":247,"style":247},"CONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\ncat \"$CONTEXT_INTELLIGENCE_ROOT\"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fmetadata.json | python3 -m json.tool\n",[992],{"type":41,"tag":55,"props":993,"children":994},{"__ignoreMap":247},[995,1046],{"type":41,"tag":253,"props":996,"children":997},{"class":255,"line":256},[998,1002,1006,1010,1014,1018,1022,1026,1030,1034,1038,1042],{"type":41,"tag":253,"props":999,"children":1000},{"style":472},[1001],{"type":46,"value":853},{"type":41,"tag":253,"props":1003,"children":1004},{"style":634},[1005],{"type":46,"value":858},{"type":41,"tag":253,"props":1007,"children":1008},{"style":634},[1009],{"type":46,"value":863},{"type":41,"tag":253,"props":1011,"children":1012},{"style":472},[1013],{"type":46,"value":868},{"type":41,"tag":253,"props":1015,"children":1016},{"style":634},[1017],{"type":46,"value":873},{"type":41,"tag":253,"props":1019,"children":1020},{"style":472},[1021],{"type":46,"value":878},{"type":41,"tag":253,"props":1023,"children":1024},{"style":634},[1025],{"type":46,"value":883},{"type":41,"tag":253,"props":1027,"children":1028},{"style":266},[1029],{"type":46,"value":295},{"type":41,"tag":253,"props":1031,"children":1032},{"style":472},[1033],{"type":46,"value":18},{"type":41,"tag":253,"props":1035,"children":1036},{"style":634},[1037],{"type":46,"value":883},{"type":41,"tag":253,"props":1039,"children":1040},{"style":472},[1041],{"type":46,"value":900},{"type":41,"tag":253,"props":1043,"children":1044},{"style":634},[1045],{"type":46,"value":905},{"type":41,"tag":253,"props":1047,"children":1048},{"class":255,"line":908},[1049,1054,1058,1062,1066,1071,1076,1081,1086],{"type":41,"tag":253,"props":1050,"children":1051},{"style":260},[1052],{"type":46,"value":1053},"cat",{"type":41,"tag":253,"props":1055,"children":1056},{"style":634},[1057],{"type":46,"value":924},{"type":41,"tag":253,"props":1059,"children":1060},{"style":472},[1061],{"type":46,"value":929},{"type":41,"tag":253,"props":1063,"children":1064},{"style":634},[1065],{"type":46,"value":934},{"type":41,"tag":253,"props":1067,"children":1068},{"style":266},[1069],{"type":46,"value":1070},"\u002F{workspace}\u002Fsessions\u002F{session-id}\u002Fcontext-intelligence\u002Fmetadata.json",{"type":41,"tag":253,"props":1072,"children":1073},{"style":634},[1074],{"type":46,"value":1075}," |",{"type":41,"tag":253,"props":1077,"children":1078},{"style":260},[1079],{"type":46,"value":1080}," python3",{"type":41,"tag":253,"props":1082,"children":1083},{"style":266},[1084],{"type":46,"value":1085}," -m",{"type":41,"tag":253,"props":1087,"children":1088},{"style":266},[1089],{"type":46,"value":1090}," json.tool\n",{"type":41,"tag":49,"props":1092,"children":1093},{},[1094,1096,1102,1103,1109,1111,1117],{"type":46,"value":1095},"This confirms the file is valid JSON. Check that ",{"type":41,"tag":55,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":46,"value":1101},"bundle",{"type":46,"value":62},{"type":41,"tag":55,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":46,"value":1108},"model",{"type":46,"value":1110},", and ",{"type":41,"tag":55,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":46,"value":1116},"session_id",{"type":46,"value":1118}," fields are populated.",{"type":41,"tag":49,"props":1120,"children":1121},{},[1122],{"type":41,"tag":103,"props":1123,"children":1124},{},[1125],{"type":46,"value":1126},"Confirm sessions appear in the resume list:",{"type":41,"tag":242,"props":1128,"children":1130},{"className":244,"code":1129,"language":246,"meta":247,"style":247},"amplifier session list\n",[1131],{"type":41,"tag":55,"props":1132,"children":1133},{"__ignoreMap":247},[1134],{"type":41,"tag":253,"props":1135,"children":1136},{"class":255,"line":256},[1137,1141,1146],{"type":41,"tag":253,"props":1138,"children":1139},{"style":260},[1140],{"type":46,"value":18},{"type":41,"tag":253,"props":1142,"children":1143},{"style":266},[1144],{"type":46,"value":1145}," session",{"type":41,"tag":253,"props":1147,"children":1148},{"style":266},[1149],{"type":46,"value":1150}," list\n",{"type":41,"tag":49,"props":1152,"children":1153},{},[1154,1156,1161],{"type":46,"value":1155},"Sessions with successfully reconstructed ",{"type":41,"tag":55,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":46,"value":75},{"type":46,"value":1162}," should now appear with names, bundle info, and model rather than \"unknown\" or empty fields.",{"type":41,"tag":79,"props":1164,"children":1165},{},[],{"type":41,"tag":83,"props":1167,"children":1169},{"id":1168},"known-limitations",[1170],{"type":46,"value":1171},"Known Limitations",{"type":41,"tag":95,"props":1173,"children":1174},{},[1175,1207,1239,1257],{"type":41,"tag":99,"props":1176,"children":1177},{},[1178,1183,1184,1190,1192,1198,1200,1205],{"type":41,"tag":103,"props":1179,"children":1180},{},[1181],{"type":46,"value":1182},"Streaming events not recoverable (~39%)",{"type":46,"value":119},{"type":41,"tag":55,"props":1185,"children":1187},{"className":1186},[],[1188],{"type":46,"value":1189},"content_block:start",{"type":46,"value":1191}," and ",{"type":41,"tag":55,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":46,"value":1197},"content_block:end",{"type":46,"value":1199}," events are not stored in the graph — they account for approximately 39% of hook-logging events. Reconstructed ",{"type":41,"tag":55,"props":1201,"children":1203},{"className":1202},[],[1204],{"type":46,"value":60},{"type":46,"value":1206}," files will be missing these events. This does not affect session content, only streaming telemetry.",{"type":41,"tag":99,"props":1208,"children":1209},{},[1210,1215,1216,1222,1223,1229,1231,1237],{"type":41,"tag":103,"props":1211,"children":1212},{},[1213],{"type":46,"value":1214},"Delegate events may be incomplete",{"type":46,"value":119},{"type":41,"tag":55,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":46,"value":1221},"delegate:agent_spawned",{"type":46,"value":1191},{"type":41,"tag":55,"props":1224,"children":1226},{"className":1225},[],[1227],{"type":46,"value":1228},"delegate:agent_completed",{"type":46,"value":1230}," events depend on ",{"type":41,"tag":55,"props":1232,"children":1234},{"className":1233},[],[1235],{"type":46,"value":1236},"data_delegate_*",{"type":46,"value":1238}," graph properties that may be null for sessions that were in progress when captured. These events may appear with partial data in the reconstructed files.",{"type":41,"tag":99,"props":1240,"children":1241},{},[1242,1247,1249,1255],{"type":41,"tag":103,"props":1243,"children":1244},{},[1245],{"type":46,"value":1246},"Session names are approximations",{"type":46,"value":1248},": Session names are generated at runtime by ",{"type":41,"tag":55,"props":1250,"children":1252},{"className":1251},[],[1253],{"type":46,"value":1254},"hooks-session-naming",{"type":46,"value":1256}," from the first user prompt. That output is not stored in the graph. Reconstruction generates names from the same source (the first prompt), but the exact phrasing may differ from the original session name.",{"type":41,"tag":99,"props":1258,"children":1259},{},[1260,1265,1266,1271,1273,1278],{"type":41,"tag":103,"props":1261,"children":1262},{},[1263],{"type":46,"value":1264},"Pre-hook sessions have no graph data",{"type":46,"value":200},{"type":41,"tag":55,"props":1267,"children":1269},{"className":1268},[],[1270],{"type":46,"value":206},{"type":46,"value":1272}," hook have no entries in the graph. Reconstruction will produce empty output for these sessions — there is no data to read. Use ",{"type":41,"tag":55,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":46,"value":188},{"type":46,"value":1279}," to work with pre-hook sessions directly from local JSONL files if they still exist on disk.",{"type":41,"tag":1281,"props":1282,"children":1283},"style",{},[1284],{"type":46,"value":1285},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1287,"total":1366},[1288,1302,1319,1334,1344,1351],{"slug":1289,"name":1289,"fn":1290,"description":1291,"org":1292,"tags":1293,"stars":23,"repoUrl":24,"updatedAt":1301},"blob-reading","extract fields from blob URIs","Safe resolution of ci-blob:\u002F\u002F URIs — extract specific fields without dumping full payloads",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1294,1297,1300],{"name":1295,"slug":1296,"type":15},"Data Engineering","data-engineering",{"name":1298,"slug":1299,"type":15},"File Storage","file-storage",{"name":9,"slug":8,"type":15},"2026-07-07T06:52:39.196485",{"slug":1303,"name":1303,"fn":1304,"description":1305,"org":1306,"tags":1307,"stars":23,"repoUrl":24,"updatedAt":1318},"context-intelligence-evaluation-methodology","design evaluation metrics for tool signals","Use when deciding how to measure a context-intelligence tool signal — metric design across quality\u002Fefficiency\u002Fefficacy axes, artifact-metric avoidance via precursor measurement, A\u002FB and statistical-N discipline, and test-data fidelity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1308,1311,1314,1315],{"name":1309,"slug":1310,"type":15},"Data Analysis","data-analysis",{"name":1312,"slug":1313,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":1316,"slug":1317,"type":15},"Statistics","statistics","2026-07-07T06:52:41.770083",{"slug":1320,"name":1320,"fn":1321,"description":1322,"org":1323,"tags":1324,"stars":23,"repoUrl":24,"updatedAt":1333},"context-intelligence-graph-query","query context intelligence property graphs","Use when querying the context-intelligence property graph for session history, tool call traces, LLM iteration analysis, execution scale metrics, agent delegation trees, skill loading, and recipe orchestration. Covers all graph layers, cross-layer SOURCED_FROM joins, SST navigation, blob handling, and verified Cypher patterns.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1325,1328,1329,1332],{"name":1326,"slug":1327,"type":15},"Agents","agents",{"name":1309,"slug":1310,"type":15},{"name":1330,"slug":1331,"type":15},"Graph Analysis","graph-analysis",{"name":9,"slug":8,"type":15},"2026-07-07T06:52:37.897652",{"slug":1335,"name":1335,"fn":1336,"description":1337,"org":1338,"tags":1339,"stars":23,"repoUrl":24,"updatedAt":1343},"context-intelligence-session-navigation","navigate and extract session data","Use when extracting session data directly from JSONL files — the baseline path when the graph server is unavailable or when operating outside graph-analyst",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1340,1341,1342],{"name":1326,"slug":1327,"type":15},{"name":1309,"slug":1310,"type":15},{"name":9,"slug":8,"type":15},"2026-07-07T06:52:40.507052",{"slug":4,"name":4,"fn":5,"description":6,"org":1345,"tags":1346,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1347,1348,1349,1350],{"name":17,"slug":18,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"slug":1352,"name":1352,"fn":1353,"description":1354,"org":1355,"tags":1356,"stars":23,"repoUrl":24,"updatedAt":1365},"workflow-pattern-analysis","analyze workflow success and failure patterns","Analyse failure and success patterns across many runs of a specific workflow using context-intelligence session data. Use when you want to answer: \"How is \u003Cworkflow> failing?\", \"What does a successful run look like vs a failing one?\", \"Which steps are the most common failure points?\", or \"What patterns appear consistently across sessions?\" Triggers on: workflow failure patterns, session failure analysis, compare successful and failing runs, what patterns appear across sessions, session behaviour investigation, how is the workflow failing, success patterns, failure signals, identify session signals.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1357,1358,1361,1362],{"name":1309,"slug":1310,"type":15},{"name":1359,"slug":1360,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":1363,"slug":1364,"type":15},"Workflow Automation","workflow-automation","2026-07-07T06:52:43.061859",6,{"items":1368,"total":1558},[1369,1391,1410,1429,1444,1460,1471,1484,1499,1514,1533,1546],{"slug":1370,"name":1370,"fn":1371,"description":1372,"org":1373,"tags":1374,"stars":1388,"repoUrl":1389,"updatedAt":1390},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1375,1378,1381,1382,1385],{"name":1376,"slug":1377,"type":15},"Engineering","engineering",{"name":1379,"slug":1380,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1383,"slug":1384,"type":15},"Project Management","project-management",{"name":1386,"slug":1387,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1392,"name":1392,"fn":1393,"description":1394,"org":1395,"tags":1396,"stars":1407,"repoUrl":1408,"updatedAt":1409},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1397,1400,1401,1404],{"name":1398,"slug":1399,"type":15},".NET","net",{"name":1326,"slug":1327,"type":15},{"name":1402,"slug":1403,"type":15},"Azure","azure",{"name":1405,"slug":1406,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":1411,"name":1411,"fn":1412,"description":1413,"org":1414,"tags":1415,"stars":1407,"repoUrl":1408,"updatedAt":1428},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1416,1419,1420,1421,1424,1425],{"name":1417,"slug":1418,"type":15},"Analytics","analytics",{"name":1402,"slug":1403,"type":15},{"name":1309,"slug":1310,"type":15},{"name":1422,"slug":1423,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":1426,"slug":1427,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":1430,"name":1430,"fn":1431,"description":1432,"org":1433,"tags":1434,"stars":1407,"repoUrl":1408,"updatedAt":1443},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1435,1438,1439,1440],{"name":1436,"slug":1437,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1402,"slug":1403,"type":15},{"name":1422,"slug":1423,"type":15},{"name":1441,"slug":1442,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":1445,"name":1445,"fn":1446,"description":1447,"org":1448,"tags":1449,"stars":1407,"repoUrl":1408,"updatedAt":1459},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1450,1451,1454,1455,1456,1458],{"name":1402,"slug":1403,"type":15},{"name":1452,"slug":1453,"type":15},"Compliance","compliance",{"name":1405,"slug":1406,"type":15},{"name":9,"slug":8,"type":15},{"name":1457,"slug":263,"type":15},"Python",{"name":1441,"slug":1442,"type":15},"2026-07-18T05:14:23.017504",{"slug":1461,"name":1461,"fn":1462,"description":1463,"org":1464,"tags":1465,"stars":1407,"repoUrl":1408,"updatedAt":1470},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1466,1467,1468,1469],{"name":1417,"slug":1418,"type":15},{"name":1402,"slug":1403,"type":15},{"name":1405,"slug":1406,"type":15},{"name":1457,"slug":263,"type":15},"2026-07-31T05:54:29.068751",{"slug":1472,"name":1472,"fn":1473,"description":1474,"org":1475,"tags":1476,"stars":1407,"repoUrl":1408,"updatedAt":1483},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1477,1480,1481,1482],{"name":1478,"slug":1479,"type":15},"API Development","api-development",{"name":1402,"slug":1403,"type":15},{"name":9,"slug":8,"type":15},{"name":1457,"slug":263,"type":15},"2026-07-18T05:14:16.988376",{"slug":1485,"name":1485,"fn":1486,"description":1487,"org":1488,"tags":1489,"stars":1407,"repoUrl":1408,"updatedAt":1498},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1490,1491,1494,1497],{"name":1402,"slug":1403,"type":15},{"name":1492,"slug":1493,"type":15},"Computer Vision","computer-vision",{"name":1495,"slug":1496,"type":15},"Images","images",{"name":1457,"slug":263,"type":15},"2026-07-18T05:14:18.007737",{"slug":1500,"name":1500,"fn":1501,"description":1502,"org":1503,"tags":1504,"stars":1407,"repoUrl":1408,"updatedAt":1513},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1505,1506,1509,1512],{"name":1402,"slug":1403,"type":15},{"name":1507,"slug":1508,"type":15},"Configuration","configuration",{"name":1510,"slug":1511,"type":15},"Feature Flags","feature-flags",{"name":1422,"slug":1423,"type":15},"2026-07-03T16:32:01.278468",{"slug":1515,"name":1515,"fn":1516,"description":1517,"org":1518,"tags":1519,"stars":1407,"repoUrl":1408,"updatedAt":1532},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1520,1523,1526,1529],{"name":1521,"slug":1522,"type":15},"Cosmos DB","cosmos-db",{"name":1524,"slug":1525,"type":15},"Database","database",{"name":1527,"slug":1528,"type":15},"NoSQL","nosql",{"name":1530,"slug":1531,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":1534,"name":1534,"fn":1516,"description":1535,"org":1536,"tags":1537,"stars":1407,"repoUrl":1408,"updatedAt":1545},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1538,1539,1540,1541,1542],{"name":1521,"slug":1522,"type":15},{"name":1524,"slug":1525,"type":15},{"name":9,"slug":8,"type":15},{"name":1527,"slug":1528,"type":15},{"name":1543,"slug":1544,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":1547,"name":1547,"fn":1548,"description":1549,"org":1550,"tags":1551,"stars":1407,"repoUrl":1408,"updatedAt":1557},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1552,1553,1554,1555,1556],{"name":1402,"slug":1403,"type":15},{"name":1521,"slug":1522,"type":15},{"name":1524,"slug":1525,"type":15},{"name":1422,"slug":1423,"type":15},{"name":1527,"slug":1528,"type":15},"2026-05-13T06:14:17.582229",267]