[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-workflow-pattern-analysis":3,"mdc--vy4t26-key":34,"related-repo-microsoft-workflow-pattern-analysis":1876,"related-org-microsoft-workflow-pattern-analysis":1956},{"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},"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},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Data Analysis","data-analysis","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Debugging","debugging",{"name":21,"slug":22,"type":15},"Workflow Automation","workflow-automation",3,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Famplifier-bundle-context-intelligence","2026-07-07T06:52:43.061859","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\u002Fworkflow-pattern-analysis","---\nname: workflow-pattern-analysis\nversion: 1.0.0\ndescription: >\n  Analyse failure and success patterns across many runs of a specific workflow using\n  context-intelligence session data. Use when you want to answer: \"How is \u003Cworkflow>\n  failing?\", \"What does a successful run look like vs a failing one?\", \"Which steps are\n  the most common failure points?\", or \"What patterns appear consistently across sessions?\"\n  Triggers on: workflow failure patterns, session failure analysis, compare successful and\n  failing runs, what patterns appear across sessions, session behaviour investigation,\n  how is the workflow failing, success patterns, failure signals, identify session signals.\nuser-invocable: true\nallowed-tools:\n  - bash\n  - delegate\n  - read_file\n  - write_file\nmodel_role: reasoning\nlicense: MIT\n---\n\n# Workflow Pattern Analysis\n\n## Phase Gate (mandatory before any analysis)\n\n**Your first tool call must be:**\n```\nread_file(\".context-intelligence-investigation\u002Fdomain-concepts.md\")\n```\n\n| Result | Action |\n|---|---|\n| File **found** | Domain concepts are established. Proceed with the analysis below. |\n| File **not found** | Phase 0 is incomplete. Delegate to `context-intelligence:context-intelligence-design-facilitator` with `context_depth=\"none\"` to run Phase 0 first. Do NOT proceed with any analysis until the facilitator has written `domain-concepts.md`. |\n\nThis skill is designed to run AFTER Phase 0 (concept elicitation). Running it before Phase 0\nproduces poorly scoped signals and forces the user to steer corrective turns.\n\n---\n\nSystematic investigation of failure and success patterns across many runs of a specific\nworkflow using context-intelligence session data.\n\nAnswers three questions:\n1. What failure patterns appear consistently across many runs?\n2. What does a successful run look like vs a failing one?\n3. Which specific steps or delegations are the most common failure points?\n\nFollows the **dual-agent loop** established from direct investigation of Amplifier\nsession corpora:\n- `context-intelligence:graph-analyst` — all corpus queries and JSONL inspection\n- `context-intelligence:context-intelligence-design-facilitator` — structured artifact\n  production and quality gating (mandatory gate before any finding is treated as curated)\n\nProduces a findings package in `{{output_path}}`:\n- `findings.md` — failure patterns (P1–Pn) with severity, frequency, mechanism, evidence\n- `domain-signals.md` — JSONL-observable signal definitions with corpus-anchored thresholds\n- `session-index.md` — full session inventory with signal scores\n- `diagrams\u002Ffailure-patterns.dot` + `.png` — pattern taxonomy diagram\n\n## Companion Reference Files\n\nAt the start of the investigation load these files from this skill's directory:\n\n```\nread_file(\"${SKILL_DIR}\u002Fsignals-reference.md\")   — signal definitions S1–S9 + S4 family\nread_file(\"${SKILL_DIR}\u002Fcypher-patterns.md\")     — Cypher query templates Q1–Q7\n```\n\nAlso load from the bundle context when querying the graph or scanning JSONL:\n\n```\n@context-intelligence:context\u002Fgraph-model-reference.md   — context-intelligence graph schema\n@context-intelligence:context\u002Fjsonl-event-schema.md      — on-disk JSONL event schema\n@context-intelligence:context\u002Fsafe-extraction-patterns.md — safe JSONL extraction patterns\n```\n\n## Inputs\n\n- `{{workflow}}`: The workflow to analyse — e.g. \"amplifier CLI sessions\", \"git-ops\n  agent runs\", \"recipe orchestration\", \"resolver setup flow\". Can be a workspace name,\n  session characteristic pattern, or a description of the session type.\n- `{{output_path}}`: (Optional) Where to write findings artifacts.\n  Default: `.context-intelligence-investigation\u002F`\n\n## Steps\n\n### 1. Load companion files and set up workspace\n\nLoad the companion reference files:\n```\nread_file(\"${SKILL_DIR}\u002Fsignals-reference.md\")\nread_file(\"${SKILL_DIR}\u002Fcypher-patterns.md\")\n```\n\nCreate the output directory structure:\n```bash\nmkdir -p {{output_path}}\u002Fqueries {{output_path}}\u002Fdiagrams\nmkdir -p findings\u002F\n```\n\n`findings\u002F` holds raw analyst output (intermediate). `{{output_path}}\u002F` holds curated\nartifacts produced by the facilitator.\n\nThen clarify what a \"run\" means for `{{workflow}}`:\n- What session property identifies a run? (workspace slug, duration range, recipe name,\n  event count range, session characteristics)\n- Scope: `:RootSession` only, `:ForkedSession` only, or both?\n- Time range: all time or bounded?\n\nExpress the scope as an observable session property filter — not as a named-agent filter.\n\n**Success criteria**: Companion files loaded. Output directories exist. Run definition\nexpressible as a Cypher WHERE clause or metadata field filter.\n\n### 2. Enumerate the full corpus before investigating\n\n**Before drilling into any specific pattern**, build the full corpus inventory.\n\nDelegate to `context-intelligence:graph-analyst` to:\n- Find all sessions matching `{{workflow}}` scope using **Q1** from `cypher-patterns.md`\n- Split `:RootSession` from `:ForkedSession` — failure rates differ structurally\n  (roots ~73% vs corpus ~55%)\n- Compute: session count by type, median duration, median event count\n\n**Graph vs disk**:\n- **Graph server is preferred** — Cypher returns cross-session pattern matches as atomic\n  operations far more efficiently than per-file scanning. Use Q1–Q7 from `cypher-patterns.md`.\n- **Disk scan is the explicit alternative** when the user needs comprehensive coverage of\n  ALL on-disk sessions regardless of graph indexing state. Disk scan entry:\n  ```bash\n  CONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\n  # Enumerate captures by the canonical marker (events.jsonl), matching the Python\n  # readers; read the sibling metadata.json for the format\u002Fversion filter.\n  find \"$CONTEXT_INTELLIGENCE_ROOT\" -path \"*\u002Fcontext-intelligence\u002Fevents.jsonl\" 2>\u002Fdev\u002Fnull \\\n    | while read -r ev; do echo \"${ev%\u002Fevents.jsonl}\u002Fmetadata.json\"; done\n  ```\n  Filter to `format == \"context-intelligence\"` AND `version == \"1.0.0\"` (from metadata.json).\n  Follow `@context-intelligence:context\u002Fsafe-extraction-patterns.md` — never load full\n  `llm:request` lines.\n- Validate coverage: compare graph session count against disk count and inform the user\n  if the graph holds a small fraction. The signal prevalence rates from a graph sample\n  can still be directionally valid even if the absolute corpus is larger — confirm this\n  before deciding whether a full disk scan is needed.\n\nWrite raw output to `findings\u002Fsession-corpus-raw.md`.\n\n**Success criteria**: Corpus total confirmed (root count, sub count, workspace count).\nUser is aware of graph vs disk coverage situation.\n\n### 3. Apply signal set — failing and successful runs\n\nDelegate to `context-intelligence:graph-analyst` to apply signals **S1–S9** from\n`signals-reference.md` to all sessions in scope. Use **Q2–Q5** from `cypher-patterns.md`.\n\nFor each signal compute:\n- Prevalence in **failing** runs (% of failing sessions where signal fires)\n- Prevalence in **successful** runs (% of successful sessions where signal fires)\n- **Delta** — the gap between the two rates\n\nThe delta is the primary finding. Signals with high delta discriminate between failure\nand success for this workflow. Signals that fire equally in both groups are structural\ncharacteristics of the workflow type, not failure indicators.\n\nClassify each run by outcome before scoring:\n- **Successful**: `status = completed`, compound signal score = 0\n- **Degraded**: `status = completed`, compound signal score ≥ 1\n- **Failed**: `status = cancelled` OR (`status = running` AND stale > 2h), score ≥ 2\n\nWrite raw signal scores to `findings\u002Fsession-signal-scores-raw.md`.\n\n**Success criteria**: Per-signal prevalence table with delta column. Top compound-failure\nsessions ranked. At least one signal with delta ≥ 20 percentage points between failing\nand successful groups.\n\n### 4. Produce initial structured artifacts\n\nDelegate to `context-intelligence:context-intelligence-design-facilitator` with the raw\nfindings from Steps 2–3.\n\nInstruct the facilitator to write:\n- `{{output_path}}\u002Ffindings.md` — patterns (P1–Pn) with severity, frequency, mechanism,\n  cross-cutting structural findings (Xn), and candidate skill implications (Cn)\n- `{{output_path}}\u002Fdomain-signals.md` — signal definitions calibrated to this workflow\n  with corpus-anchored thresholds\n- `{{output_path}}\u002Fsession-index.md` — full session inventory with root\u002Fsub split,\n  outcome classification, and compound failure scores\n- `{{output_path}}\u002Fdiagrams\u002Ffailure-patterns.dot` — taxonomy with severity swimlanes and\n  prevalence numbers on pattern nodes\n\n**Success criteria**: All four artifacts written and internally consistent. Corpus numbers\nand signal thresholds consistent across all files.\n\n### 5. Iterative investigation loop\n\nContinue investigating specific patterns as the user steers. Each round follows the\nsame dual-agent shape — repeat as many times as needed:\n\n**a.** Delegate to `context-intelligence:graph-analyst` with the specific question.\nAnalyst writes raw findings to `findings\u002F`.\n\n**b.** Delegate to `context-intelligence:context-intelligence-design-facilitator` to\nupdate the structured artifacts. Facilitator calls do not need to be 1:1 with analyst\ncalls — consolidate related findings into a single facilitator update.\n\n---\n\n**Common investigation rounds and their targets:**\n\n**Signal calibration** — when a signal fires at an unexpectedly high or low rate,\ninspect actual JSONL event payloads before adjusting any threshold. Key field reference\n(from `signals-reference.md` §Authoritative JSONL field reference):\n- `data.tool_name`, `data.tool_input`, `data.tool_call_id`, `data.parallel_group_id`\n- `data.result.{success, error, output}` (tool:post only)\n- Hash `(tool_name, tool_input)` to test for S4c — literal same-input essentially never\n  fires in stuck sessions. Use S4a (parallel-group shape concentration) and S4b (ritual\n  instrumentation-bash share) as primary stuck-agent detectors.\n\n**Compaction causal analysis** — inspect `context:compaction` event payload (ground truth:\n`before_tokens`, `after_tokens`, `budget`, `strategy_level`). Inspect the last `llm:request`\nbefore each compaction for context composition — extract character lengths per region,\nnever render full message content:\n- Regions: `messages.tool_result`, `messages.thinking`, `system`, `tools`, `messages.text`\n- `strategy_level ≥ 3` = canary: strategy 2 already failed\n- Two etiologies: P1a tool-result accumulation (delegation-driven, skill-addressable) vs\n  P1b thinking-block accumulation (interleaved_thinking=true, model-config issue)\n\n**Delegation pattern analysis** — inspect `delegate tool:post` result envelope:\n`{agent, response, session_id, status}`. Measure `len(result.response)`.\nDelegation is the gating condition for severe compaction: no root session reaches\nS1 (≥3 compactions) from pure file reads alone. Synthesis-output sub-agents\n(result > 30K chars) are the compaction multiplier.\n\n**Success criteria per round**: Raw findings written, structured artifacts refreshed,\nsignal thresholds validated against corpus evidence rather than assumed.\n\n### 6. Produce Cypher query set for ongoing monitoring\n\nDelegate to `context-intelligence:graph-analyst` to produce a reusable, workflow-specific\nCypher query set using templates from `cypher-patterns.md`:\n\n- **Q-enum**: Enumerate all runs with outcome classification\n- **Q-signals**: Detect each high-delta failure signal\n- **Q-compare**: Compare signal prevalence between successful and failing runs\n- **Q-risk**: Identify in-progress sessions at risk (trajectory)\n- **Q-points**: Failure point localisation — events preceding failure signals\n\nWrite the query set to `{{output_path}}\u002Fqueries\u002F{{workflow}}-cypher.md`.\n\n**Success criteria**: Working Cypher queries tested against the graph server, scoped to\nthis workflow's session definition.\n\n### 7. Close the investigation\n\nVerify the final artifact state is consistent:\n- `findings.md` — all patterns have corpus-anchored prevalence and causal mechanisms\n- `domain-signals.md` — all thresholds validated against actual JSONL payloads, not assumed\n- `session-index.md` — inventory reflects the final corpus scope and outcome classification\n- `diagrams\u002Ffailure-patterns.dot` — updated and re-rendered to PNG\n\n**Success criteria**: Complete, consistent findings package ready to inform skill design\ndecisions for the context-intelligence bundle or any downstream action.\n\n---\n\n## Standing Rules\n\n1. **Enumerate the full corpus before investigating.** Anchor all signals to\n   population-level denominators. Do not sample and claim corpus-level conclusions.\n\n2. **Graph-first; disk as explicit mode.** Both available via graph-analyst. Offer disk\n   scan when the user needs full coverage or suspects under-indexing.\n\n3. **Always split root vs sub-sessions.** Roots and subs have structurally different\n   failure profiles. Separate denominators for all prevalence calculations.\n\n4. **Always compare failing vs successful runs.** The delta between groups is the finding.\n   Signals that fire in both groups equally are workflow characteristics, not failure signals.\n\n5. **JSONL-observable behavioral signatures only — never named-agent filters.** Express\n   every pattern as event field conditions observable in any session (see `signals-reference.md`\n   §Behavioral classification). Named instances are traceability evidence only.\n\n6. **S4 family only.** The consecutive-same-tool-name heuristic is retired (48% FPR at\n   corpus scale). Use S4a, S4b, S4c, S4d from `signals-reference.md`.\n\n7. **Facilitator is the mandatory quality gate.** Every wave of raw analyst findings must\n   pass through the facilitator before being treated as curated findings. Facilitator calls\n   do not need to be 1:1 with analyst calls — consolidate related findings.\n\n8. **Always describe signals in plain language and explain what they point to.** In every\n   report, finding, or summary, signal codes (S1, S3, S9a, etc.) must always be accompanied\n   by their human-readable name, a plain-language explanation, AND a causal interpretation\n   of what the signal indicates about session health and what it could be pointing to.\n   The code is a shorthand for cross-reference only.\n\n   **Wrong:** \"S3 fired at SEVERE. S9a also fired.\"\n\n   **Correct:**\n   > **S3 — LLM Iteration Runaway (SEVERE): 316 iterations — 8× the severe threshold of 40.**\n   > The session made 316 separate LLM calls. This is not normal volume for productive work;\n   > it means the agent was looping — repeatedly asking the LLM for the next step without\n   > reaching a conclusion. Common causes: an exploration task with no exit condition\n   > (reading files and looking for something without knowing when to stop), a delegation\n   > chain that keeps spawning new investigations, or a goal too vague to converge on.\n   > At this volume, the session is on a trajectory toward context saturation — each LLM\n   > call adds its response to the accumulated context, and without compaction the window\n   > fills until the session stalls or crashes.\n\n   For every signal that fires, include:\n   - The signal code and human name (e.g. \"S3 — LLM Iteration Runaway\")\n   - The severity and measured value with the threshold (e.g. \"SEVERE: 316 iterations — 8× threshold of 40\")\n   - What it means in plain terms (e.g. \"the agent looped without converging\")\n   - **What it points to** — the underlying behaviour or root cause pattern. Use the\n     \"What it points to\" text from `signals-reference.md` for each signal as the source\n     of this interpretation. Do not summarise it away — quote or paraphrase it fully.\n   - **Risk trajectory** — the consequence if unaddressed. Use the \"Risk trajectory\"\n     text from `signals-reference.md` as the source. This tells the reader why the\n     signal matters beyond its raw count.\n",{"data":35,"body":44},{"name":4,"version":36,"description":6,"user-invocable":37,"allowed-tools":38,"model_role":43,"license":26},"1.0.0",true,[39,40,41,42],"bash","delegate","read_file","write_file","reasoning",{"type":45,"children":46},"root",[47,55,62,72,85,172,177,181,186,191,211,223,248,261,316,322,327,336,341,350,356,386,392,399,404,413,418,471,490,501,535,540,550,556,566,578,629,638,947,959,968,974,1012,1017,1053,1058,1063,1125,1137,1146,1152,1163,1168,1215,1224,1230,1235,1258,1274,1277,1285,1302,1360,1414,1472,1505,1515,1521,1538,1591,1603,1612,1618,1623,1666,1675,1678,1684,1870],{"type":48,"tag":49,"props":50,"children":51},"element","h1",{"id":4},[52],{"type":53,"value":54},"text","Workflow Pattern Analysis",{"type":48,"tag":56,"props":57,"children":59},"h2",{"id":58},"phase-gate-mandatory-before-any-analysis",[60],{"type":53,"value":61},"Phase Gate (mandatory before any analysis)",{"type":48,"tag":63,"props":64,"children":65},"p",{},[66],{"type":48,"tag":67,"props":68,"children":69},"strong",{},[70],{"type":53,"value":71},"Your first tool call must be:",{"type":48,"tag":73,"props":74,"children":78},"pre",{"className":75,"code":77,"language":53},[76],"language-text","read_file(\".context-intelligence-investigation\u002Fdomain-concepts.md\")\n",[79],{"type":48,"tag":80,"props":81,"children":83},"code",{"__ignoreMap":82},"",[84],{"type":53,"value":77},{"type":48,"tag":86,"props":87,"children":88},"table",{},[89,108],{"type":48,"tag":90,"props":91,"children":92},"thead",{},[93],{"type":48,"tag":94,"props":95,"children":96},"tr",{},[97,103],{"type":48,"tag":98,"props":99,"children":100},"th",{},[101],{"type":53,"value":102},"Result",{"type":48,"tag":98,"props":104,"children":105},{},[106],{"type":53,"value":107},"Action",{"type":48,"tag":109,"props":110,"children":111},"tbody",{},[112,131],{"type":48,"tag":94,"props":113,"children":114},{},[115,126],{"type":48,"tag":116,"props":117,"children":118},"td",{},[119,121],{"type":53,"value":120},"File ",{"type":48,"tag":67,"props":122,"children":123},{},[124],{"type":53,"value":125},"found",{"type":48,"tag":116,"props":127,"children":128},{},[129],{"type":53,"value":130},"Domain concepts are established. Proceed with the analysis below.",{"type":48,"tag":94,"props":132,"children":133},{},[134,143],{"type":48,"tag":116,"props":135,"children":136},{},[137,138],{"type":53,"value":120},{"type":48,"tag":67,"props":139,"children":140},{},[141],{"type":53,"value":142},"not found",{"type":48,"tag":116,"props":144,"children":145},{},[146,148,154,156,162,164,170],{"type":53,"value":147},"Phase 0 is incomplete. Delegate to ",{"type":48,"tag":80,"props":149,"children":151},{"className":150},[],[152],{"type":53,"value":153},"context-intelligence:context-intelligence-design-facilitator",{"type":53,"value":155}," with ",{"type":48,"tag":80,"props":157,"children":159},{"className":158},[],[160],{"type":53,"value":161},"context_depth=\"none\"",{"type":53,"value":163}," to run Phase 0 first. Do NOT proceed with any analysis until the facilitator has written ",{"type":48,"tag":80,"props":165,"children":167},{"className":166},[],[168],{"type":53,"value":169},"domain-concepts.md",{"type":53,"value":171},".",{"type":48,"tag":63,"props":173,"children":174},{},[175],{"type":53,"value":176},"This skill is designed to run AFTER Phase 0 (concept elicitation). Running it before Phase 0\nproduces poorly scoped signals and forces the user to steer corrective turns.",{"type":48,"tag":178,"props":179,"children":180},"hr",{},[],{"type":48,"tag":63,"props":182,"children":183},{},[184],{"type":53,"value":185},"Systematic investigation of failure and success patterns across many runs of a specific\nworkflow using context-intelligence session data.",{"type":48,"tag":63,"props":187,"children":188},{},[189],{"type":53,"value":190},"Answers three questions:",{"type":48,"tag":192,"props":193,"children":194},"ol",{},[195,201,206],{"type":48,"tag":196,"props":197,"children":198},"li",{},[199],{"type":53,"value":200},"What failure patterns appear consistently across many runs?",{"type":48,"tag":196,"props":202,"children":203},{},[204],{"type":53,"value":205},"What does a successful run look like vs a failing one?",{"type":48,"tag":196,"props":207,"children":208},{},[209],{"type":53,"value":210},"Which specific steps or delegations are the most common failure points?",{"type":48,"tag":63,"props":212,"children":213},{},[214,216,221],{"type":53,"value":215},"Follows the ",{"type":48,"tag":67,"props":217,"children":218},{},[219],{"type":53,"value":220},"dual-agent loop",{"type":53,"value":222}," established from direct investigation of Amplifier\nsession corpora:",{"type":48,"tag":224,"props":225,"children":226},"ul",{},[227,238],{"type":48,"tag":196,"props":228,"children":229},{},[230,236],{"type":48,"tag":80,"props":231,"children":233},{"className":232},[],[234],{"type":53,"value":235},"context-intelligence:graph-analyst",{"type":53,"value":237}," — all corpus queries and JSONL inspection",{"type":48,"tag":196,"props":239,"children":240},{},[241,246],{"type":48,"tag":80,"props":242,"children":244},{"className":243},[],[245],{"type":53,"value":153},{"type":53,"value":247}," — structured artifact\nproduction and quality gating (mandatory gate before any finding is treated as curated)",{"type":48,"tag":63,"props":249,"children":250},{},[251,253,259],{"type":53,"value":252},"Produces a findings package in ",{"type":48,"tag":80,"props":254,"children":256},{"className":255},[],[257],{"type":53,"value":258},"{{output_path}}",{"type":53,"value":260},":",{"type":48,"tag":224,"props":262,"children":263},{},[264,275,286,297],{"type":48,"tag":196,"props":265,"children":266},{},[267,273],{"type":48,"tag":80,"props":268,"children":270},{"className":269},[],[271],{"type":53,"value":272},"findings.md",{"type":53,"value":274}," — failure patterns (P1–Pn) with severity, frequency, mechanism, evidence",{"type":48,"tag":196,"props":276,"children":277},{},[278,284],{"type":48,"tag":80,"props":279,"children":281},{"className":280},[],[282],{"type":53,"value":283},"domain-signals.md",{"type":53,"value":285}," — JSONL-observable signal definitions with corpus-anchored thresholds",{"type":48,"tag":196,"props":287,"children":288},{},[289,295],{"type":48,"tag":80,"props":290,"children":292},{"className":291},[],[293],{"type":53,"value":294},"session-index.md",{"type":53,"value":296}," — full session inventory with signal scores",{"type":48,"tag":196,"props":298,"children":299},{},[300,306,308,314],{"type":48,"tag":80,"props":301,"children":303},{"className":302},[],[304],{"type":53,"value":305},"diagrams\u002Ffailure-patterns.dot",{"type":53,"value":307}," + ",{"type":48,"tag":80,"props":309,"children":311},{"className":310},[],[312],{"type":53,"value":313},".png",{"type":53,"value":315}," — pattern taxonomy diagram",{"type":48,"tag":56,"props":317,"children":319},{"id":318},"companion-reference-files",[320],{"type":53,"value":321},"Companion Reference Files",{"type":48,"tag":63,"props":323,"children":324},{},[325],{"type":53,"value":326},"At the start of the investigation load these files from this skill's directory:",{"type":48,"tag":73,"props":328,"children":331},{"className":329,"code":330,"language":53},[76],"read_file(\"${SKILL_DIR}\u002Fsignals-reference.md\")   — signal definitions S1–S9 + S4 family\nread_file(\"${SKILL_DIR}\u002Fcypher-patterns.md\")     — Cypher query templates Q1–Q7\n",[332],{"type":48,"tag":80,"props":333,"children":334},{"__ignoreMap":82},[335],{"type":53,"value":330},{"type":48,"tag":63,"props":337,"children":338},{},[339],{"type":53,"value":340},"Also load from the bundle context when querying the graph or scanning JSONL:",{"type":48,"tag":73,"props":342,"children":345},{"className":343,"code":344,"language":53},[76],"@context-intelligence:context\u002Fgraph-model-reference.md   — context-intelligence graph schema\n@context-intelligence:context\u002Fjsonl-event-schema.md      — on-disk JSONL event schema\n@context-intelligence:context\u002Fsafe-extraction-patterns.md — safe JSONL extraction patterns\n",[346],{"type":48,"tag":80,"props":347,"children":348},{"__ignoreMap":82},[349],{"type":53,"value":344},{"type":48,"tag":56,"props":351,"children":353},{"id":352},"inputs",[354],{"type":53,"value":355},"Inputs",{"type":48,"tag":224,"props":357,"children":358},{},[359,370],{"type":48,"tag":196,"props":360,"children":361},{},[362,368],{"type":48,"tag":80,"props":363,"children":365},{"className":364},[],[366],{"type":53,"value":367},"{{workflow}}",{"type":53,"value":369},": The workflow to analyse — e.g. \"amplifier CLI sessions\", \"git-ops\nagent runs\", \"recipe orchestration\", \"resolver setup flow\". Can be a workspace name,\nsession characteristic pattern, or a description of the session type.",{"type":48,"tag":196,"props":371,"children":372},{},[373,378,380],{"type":48,"tag":80,"props":374,"children":376},{"className":375},[],[377],{"type":53,"value":258},{"type":53,"value":379},": (Optional) Where to write findings artifacts.\nDefault: ",{"type":48,"tag":80,"props":381,"children":383},{"className":382},[],[384],{"type":53,"value":385},".context-intelligence-investigation\u002F",{"type":48,"tag":56,"props":387,"children":389},{"id":388},"steps",[390],{"type":53,"value":391},"Steps",{"type":48,"tag":393,"props":394,"children":396},"h3",{"id":395},"_1-load-companion-files-and-set-up-workspace",[397],{"type":53,"value":398},"1. Load companion files and set up workspace",{"type":48,"tag":63,"props":400,"children":401},{},[402],{"type":53,"value":403},"Load the companion reference files:",{"type":48,"tag":73,"props":405,"children":408},{"className":406,"code":407,"language":53},[76],"read_file(\"${SKILL_DIR}\u002Fsignals-reference.md\")\nread_file(\"${SKILL_DIR}\u002Fcypher-patterns.md\")\n",[409],{"type":48,"tag":80,"props":410,"children":411},{"__ignoreMap":82},[412],{"type":53,"value":407},{"type":48,"tag":63,"props":414,"children":415},{},[416],{"type":53,"value":417},"Create the output directory structure:",{"type":48,"tag":73,"props":419,"children":422},{"className":420,"code":421,"language":39,"meta":82,"style":82},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mkdir -p {{output_path}}\u002Fqueries {{output_path}}\u002Fdiagrams\nmkdir -p findings\u002F\n",[423],{"type":48,"tag":80,"props":424,"children":425},{"__ignoreMap":82},[426,454],{"type":48,"tag":427,"props":428,"children":431},"span",{"class":429,"line":430},"line",1,[432,438,444,449],{"type":48,"tag":427,"props":433,"children":435},{"style":434},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[436],{"type":53,"value":437},"mkdir",{"type":48,"tag":427,"props":439,"children":441},{"style":440},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[442],{"type":53,"value":443}," -p",{"type":48,"tag":427,"props":445,"children":446},{"style":440},[447],{"type":53,"value":448}," {{output_path}}\u002Fqueries",{"type":48,"tag":427,"props":450,"children":451},{"style":440},[452],{"type":53,"value":453}," {{output_path}}\u002Fdiagrams\n",{"type":48,"tag":427,"props":455,"children":457},{"class":429,"line":456},2,[458,462,466],{"type":48,"tag":427,"props":459,"children":460},{"style":434},[461],{"type":53,"value":437},{"type":48,"tag":427,"props":463,"children":464},{"style":440},[465],{"type":53,"value":443},{"type":48,"tag":427,"props":467,"children":468},{"style":440},[469],{"type":53,"value":470}," findings\u002F\n",{"type":48,"tag":63,"props":472,"children":473},{},[474,480,482,488],{"type":48,"tag":80,"props":475,"children":477},{"className":476},[],[478],{"type":53,"value":479},"findings\u002F",{"type":53,"value":481}," holds raw analyst output (intermediate). ",{"type":48,"tag":80,"props":483,"children":485},{"className":484},[],[486],{"type":53,"value":487},"{{output_path}}\u002F",{"type":53,"value":489}," holds curated\nartifacts produced by the facilitator.",{"type":48,"tag":63,"props":491,"children":492},{},[493,495,500],{"type":53,"value":494},"Then clarify what a \"run\" means for ",{"type":48,"tag":80,"props":496,"children":498},{"className":497},[],[499],{"type":53,"value":367},{"type":53,"value":260},{"type":48,"tag":224,"props":502,"children":503},{},[504,509,530],{"type":48,"tag":196,"props":505,"children":506},{},[507],{"type":53,"value":508},"What session property identifies a run? (workspace slug, duration range, recipe name,\nevent count range, session characteristics)",{"type":48,"tag":196,"props":510,"children":511},{},[512,514,520,522,528],{"type":53,"value":513},"Scope: ",{"type":48,"tag":80,"props":515,"children":517},{"className":516},[],[518],{"type":53,"value":519},":RootSession",{"type":53,"value":521}," only, ",{"type":48,"tag":80,"props":523,"children":525},{"className":524},[],[526],{"type":53,"value":527},":ForkedSession",{"type":53,"value":529}," only, or both?",{"type":48,"tag":196,"props":531,"children":532},{},[533],{"type":53,"value":534},"Time range: all time or bounded?",{"type":48,"tag":63,"props":536,"children":537},{},[538],{"type":53,"value":539},"Express the scope as an observable session property filter — not as a named-agent filter.",{"type":48,"tag":63,"props":541,"children":542},{},[543,548],{"type":48,"tag":67,"props":544,"children":545},{},[546],{"type":53,"value":547},"Success criteria",{"type":53,"value":549},": Companion files loaded. Output directories exist. Run definition\nexpressible as a Cypher WHERE clause or metadata field filter.",{"type":48,"tag":393,"props":551,"children":553},{"id":552},"_2-enumerate-the-full-corpus-before-investigating",[554],{"type":53,"value":555},"2. Enumerate the full corpus before investigating",{"type":48,"tag":63,"props":557,"children":558},{},[559,564],{"type":48,"tag":67,"props":560,"children":561},{},[562],{"type":53,"value":563},"Before drilling into any specific pattern",{"type":53,"value":565},", build the full corpus inventory.",{"type":48,"tag":63,"props":567,"children":568},{},[569,571,576],{"type":53,"value":570},"Delegate to ",{"type":48,"tag":80,"props":572,"children":574},{"className":573},[],[575],{"type":53,"value":235},{"type":53,"value":577}," to:",{"type":48,"tag":224,"props":579,"children":580},{},[581,606,624],{"type":48,"tag":196,"props":582,"children":583},{},[584,586,591,593,598,600],{"type":53,"value":585},"Find all sessions matching ",{"type":48,"tag":80,"props":587,"children":589},{"className":588},[],[590],{"type":53,"value":367},{"type":53,"value":592}," scope using ",{"type":48,"tag":67,"props":594,"children":595},{},[596],{"type":53,"value":597},"Q1",{"type":53,"value":599}," from ",{"type":48,"tag":80,"props":601,"children":603},{"className":602},[],[604],{"type":53,"value":605},"cypher-patterns.md",{"type":48,"tag":196,"props":607,"children":608},{},[609,611,616,617,622],{"type":53,"value":610},"Split ",{"type":48,"tag":80,"props":612,"children":614},{"className":613},[],[615],{"type":53,"value":519},{"type":53,"value":599},{"type":48,"tag":80,"props":618,"children":620},{"className":619},[],[621],{"type":53,"value":527},{"type":53,"value":623}," — failure rates differ structurally\n(roots ~73% vs corpus ~55%)",{"type":48,"tag":196,"props":625,"children":626},{},[627],{"type":53,"value":628},"Compute: session count by type, median duration, median event count",{"type":48,"tag":63,"props":630,"children":631},{},[632,637],{"type":48,"tag":67,"props":633,"children":634},{},[635],{"type":53,"value":636},"Graph vs disk",{"type":53,"value":260},{"type":48,"tag":224,"props":639,"children":640},{},[641,657,942],{"type":48,"tag":196,"props":642,"children":643},{},[644,649,651,656],{"type":48,"tag":67,"props":645,"children":646},{},[647],{"type":53,"value":648},"Graph server is preferred",{"type":53,"value":650}," — Cypher returns cross-session pattern matches as atomic\noperations far more efficiently than per-file scanning. Use Q1–Q7 from ",{"type":48,"tag":80,"props":652,"children":654},{"className":653},[],[655],{"type":53,"value":605},{"type":53,"value":171},{"type":48,"tag":196,"props":658,"children":659},{},[660,665,667,908,910,916,918,924,926,932,934,940],{"type":48,"tag":67,"props":661,"children":662},{},[663],{"type":53,"value":664},"Disk scan is the explicit alternative",{"type":53,"value":666}," when the user needs comprehensive coverage of\nALL on-disk sessions regardless of graph indexing state. Disk scan entry:\n",{"type":48,"tag":73,"props":668,"children":670},{"className":420,"code":669,"language":39,"meta":82,"style":82},"CONTEXT_INTELLIGENCE_ROOT=\"${AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH:-$HOME\u002F.amplifier\u002Fprojects}\"\n# Enumerate captures by the canonical marker (events.jsonl), matching the Python\n# readers; read the sibling metadata.json for the format\u002Fversion filter.\nfind \"$CONTEXT_INTELLIGENCE_ROOT\" -path \"*\u002Fcontext-intelligence\u002Fevents.jsonl\" 2>\u002Fdev\u002Fnull \\\n  | while read -r ev; do echo \"${ev%\u002Fevents.jsonl}\u002Fmetadata.json\"; done\n",[671],{"type":48,"tag":80,"props":672,"children":673},{"__ignoreMap":82},[674,737,746,754,810],{"type":48,"tag":427,"props":675,"children":676},{"class":429,"line":430},[677,683,689,694,699,704,709,714,718,723,727,732],{"type":48,"tag":427,"props":678,"children":680},{"style":679},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[681],{"type":53,"value":682},"CONTEXT_INTELLIGENCE_ROOT",{"type":48,"tag":427,"props":684,"children":686},{"style":685},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[687],{"type":53,"value":688},"=",{"type":48,"tag":427,"props":690,"children":691},{"style":685},[692],{"type":53,"value":693},"\"${",{"type":48,"tag":427,"props":695,"children":696},{"style":679},[697],{"type":53,"value":698},"AMPLIFIER_CONTEXT_INTELLIGENCE_BASE_PATH",{"type":48,"tag":427,"props":700,"children":701},{"style":685},[702],{"type":53,"value":703},":-",{"type":48,"tag":427,"props":705,"children":706},{"style":679},[707],{"type":53,"value":708},"$HOME",{"type":48,"tag":427,"props":710,"children":711},{"style":685},[712],{"type":53,"value":713},"\u002F",{"type":48,"tag":427,"props":715,"children":716},{"style":440},[717],{"type":53,"value":171},{"type":48,"tag":427,"props":719,"children":720},{"style":679},[721],{"type":53,"value":722},"amplifier",{"type":48,"tag":427,"props":724,"children":725},{"style":685},[726],{"type":53,"value":713},{"type":48,"tag":427,"props":728,"children":729},{"style":679},[730],{"type":53,"value":731},"projects",{"type":48,"tag":427,"props":733,"children":734},{"style":685},[735],{"type":53,"value":736},"}\"\n",{"type":48,"tag":427,"props":738,"children":739},{"class":429,"line":456},[740],{"type":48,"tag":427,"props":741,"children":743},{"style":742},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[744],{"type":53,"value":745},"# Enumerate captures by the canonical marker (events.jsonl), matching the Python\n",{"type":48,"tag":427,"props":747,"children":748},{"class":429,"line":23},[749],{"type":48,"tag":427,"props":750,"children":751},{"style":742},[752],{"type":53,"value":753},"# readers; read the sibling metadata.json for the format\u002Fversion filter.\n",{"type":48,"tag":427,"props":755,"children":756},{"class":429,"line":27},[757,762,767,772,777,782,786,791,795,800,805],{"type":48,"tag":427,"props":758,"children":759},{"style":434},[760],{"type":53,"value":761},"find",{"type":48,"tag":427,"props":763,"children":764},{"style":685},[765],{"type":53,"value":766}," \"",{"type":48,"tag":427,"props":768,"children":769},{"style":679},[770],{"type":53,"value":771},"$CONTEXT_INTELLIGENCE_ROOT",{"type":48,"tag":427,"props":773,"children":774},{"style":685},[775],{"type":53,"value":776},"\"",{"type":48,"tag":427,"props":778,"children":779},{"style":440},[780],{"type":53,"value":781}," -path",{"type":48,"tag":427,"props":783,"children":784},{"style":685},[785],{"type":53,"value":766},{"type":48,"tag":427,"props":787,"children":788},{"style":440},[789],{"type":53,"value":790},"*\u002Fcontext-intelligence\u002Fevents.jsonl",{"type":48,"tag":427,"props":792,"children":793},{"style":685},[794],{"type":53,"value":776},{"type":48,"tag":427,"props":796,"children":797},{"style":685},[798],{"type":53,"value":799}," 2>",{"type":48,"tag":427,"props":801,"children":802},{"style":440},[803],{"type":53,"value":804},"\u002Fdev\u002Fnull",{"type":48,"tag":427,"props":806,"children":807},{"style":679},[808],{"type":53,"value":809}," \\\n",{"type":48,"tag":427,"props":811,"children":813},{"class":429,"line":812},5,[814,819,825,831,836,841,846,851,856,861,866,871,876,880,885,890,895,899,903],{"type":48,"tag":427,"props":815,"children":816},{"style":685},[817],{"type":53,"value":818},"  |",{"type":48,"tag":427,"props":820,"children":822},{"style":821},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[823],{"type":53,"value":824}," while",{"type":48,"tag":427,"props":826,"children":828},{"style":827},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[829],{"type":53,"value":830}," read",{"type":48,"tag":427,"props":832,"children":833},{"style":440},[834],{"type":53,"value":835}," -r",{"type":48,"tag":427,"props":837,"children":838},{"style":440},[839],{"type":53,"value":840}," ev",{"type":48,"tag":427,"props":842,"children":843},{"style":685},[844],{"type":53,"value":845},";",{"type":48,"tag":427,"props":847,"children":848},{"style":821},[849],{"type":53,"value":850}," do",{"type":48,"tag":427,"props":852,"children":853},{"style":827},[854],{"type":53,"value":855}," echo",{"type":48,"tag":427,"props":857,"children":858},{"style":685},[859],{"type":53,"value":860}," \"${",{"type":48,"tag":427,"props":862,"children":863},{"style":679},[864],{"type":53,"value":865},"ev",{"type":48,"tag":427,"props":867,"children":868},{"style":685},[869],{"type":53,"value":870},"%\u002F",{"type":48,"tag":427,"props":872,"children":873},{"style":679},[874],{"type":53,"value":875},"events",{"type":48,"tag":427,"props":877,"children":878},{"style":440},[879],{"type":53,"value":171},{"type":48,"tag":427,"props":881,"children":882},{"style":679},[883],{"type":53,"value":884},"jsonl",{"type":48,"tag":427,"props":886,"children":887},{"style":685},[888],{"type":53,"value":889},"}",{"type":48,"tag":427,"props":891,"children":892},{"style":440},[893],{"type":53,"value":894},"\u002Fmetadata.json",{"type":48,"tag":427,"props":896,"children":897},{"style":685},[898],{"type":53,"value":776},{"type":48,"tag":427,"props":900,"children":901},{"style":685},[902],{"type":53,"value":845},{"type":48,"tag":427,"props":904,"children":905},{"style":821},[906],{"type":53,"value":907}," done\n",{"type":53,"value":909},"\nFilter to ",{"type":48,"tag":80,"props":911,"children":913},{"className":912},[],[914],{"type":53,"value":915},"format == \"context-intelligence\"",{"type":53,"value":917}," AND ",{"type":48,"tag":80,"props":919,"children":921},{"className":920},[],[922],{"type":53,"value":923},"version == \"1.0.0\"",{"type":53,"value":925}," (from metadata.json).\nFollow ",{"type":48,"tag":80,"props":927,"children":929},{"className":928},[],[930],{"type":53,"value":931},"@context-intelligence:context\u002Fsafe-extraction-patterns.md",{"type":53,"value":933}," — never load full\n",{"type":48,"tag":80,"props":935,"children":937},{"className":936},[],[938],{"type":53,"value":939},"llm:request",{"type":53,"value":941}," lines.",{"type":48,"tag":196,"props":943,"children":944},{},[945],{"type":53,"value":946},"Validate coverage: compare graph session count against disk count and inform the user\nif the graph holds a small fraction. The signal prevalence rates from a graph sample\ncan still be directionally valid even if the absolute corpus is larger — confirm this\nbefore deciding whether a full disk scan is needed.",{"type":48,"tag":63,"props":948,"children":949},{},[950,952,958],{"type":53,"value":951},"Write raw output to ",{"type":48,"tag":80,"props":953,"children":955},{"className":954},[],[956],{"type":53,"value":957},"findings\u002Fsession-corpus-raw.md",{"type":53,"value":171},{"type":48,"tag":63,"props":960,"children":961},{},[962,966],{"type":48,"tag":67,"props":963,"children":964},{},[965],{"type":53,"value":547},{"type":53,"value":967},": Corpus total confirmed (root count, sub count, workspace count).\nUser is aware of graph vs disk coverage situation.",{"type":48,"tag":393,"props":969,"children":971},{"id":970},"_3-apply-signal-set-failing-and-successful-runs",[972],{"type":53,"value":973},"3. Apply signal set — failing and successful runs",{"type":48,"tag":63,"props":975,"children":976},{},[977,978,983,985,990,992,998,1000,1005,1006,1011],{"type":53,"value":570},{"type":48,"tag":80,"props":979,"children":981},{"className":980},[],[982],{"type":53,"value":235},{"type":53,"value":984}," to apply signals ",{"type":48,"tag":67,"props":986,"children":987},{},[988],{"type":53,"value":989},"S1–S9",{"type":53,"value":991}," from\n",{"type":48,"tag":80,"props":993,"children":995},{"className":994},[],[996],{"type":53,"value":997},"signals-reference.md",{"type":53,"value":999}," to all sessions in scope. Use ",{"type":48,"tag":67,"props":1001,"children":1002},{},[1003],{"type":53,"value":1004},"Q2–Q5",{"type":53,"value":599},{"type":48,"tag":80,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":53,"value":605},{"type":53,"value":171},{"type":48,"tag":63,"props":1013,"children":1014},{},[1015],{"type":53,"value":1016},"For each signal compute:",{"type":48,"tag":224,"props":1018,"children":1019},{},[1020,1032,1043],{"type":48,"tag":196,"props":1021,"children":1022},{},[1023,1025,1030],{"type":53,"value":1024},"Prevalence in ",{"type":48,"tag":67,"props":1026,"children":1027},{},[1028],{"type":53,"value":1029},"failing",{"type":53,"value":1031}," runs (% of failing sessions where signal fires)",{"type":48,"tag":196,"props":1033,"children":1034},{},[1035,1036,1041],{"type":53,"value":1024},{"type":48,"tag":67,"props":1037,"children":1038},{},[1039],{"type":53,"value":1040},"successful",{"type":53,"value":1042}," runs (% of successful sessions where signal fires)",{"type":48,"tag":196,"props":1044,"children":1045},{},[1046,1051],{"type":48,"tag":67,"props":1047,"children":1048},{},[1049],{"type":53,"value":1050},"Delta",{"type":53,"value":1052}," — the gap between the two rates",{"type":48,"tag":63,"props":1054,"children":1055},{},[1056],{"type":53,"value":1057},"The delta is the primary finding. Signals with high delta discriminate between failure\nand success for this workflow. Signals that fire equally in both groups are structural\ncharacteristics of the workflow type, not failure indicators.",{"type":48,"tag":63,"props":1059,"children":1060},{},[1061],{"type":53,"value":1062},"Classify each run by outcome before scoring:",{"type":48,"tag":224,"props":1064,"children":1065},{},[1066,1084,1100],{"type":48,"tag":196,"props":1067,"children":1068},{},[1069,1074,1076,1082],{"type":48,"tag":67,"props":1070,"children":1071},{},[1072],{"type":53,"value":1073},"Successful",{"type":53,"value":1075},": ",{"type":48,"tag":80,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":53,"value":1081},"status = completed",{"type":53,"value":1083},", compound signal score = 0",{"type":48,"tag":196,"props":1085,"children":1086},{},[1087,1092,1093,1098],{"type":48,"tag":67,"props":1088,"children":1089},{},[1090],{"type":53,"value":1091},"Degraded",{"type":53,"value":1075},{"type":48,"tag":80,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":53,"value":1081},{"type":53,"value":1099},", compound signal score ≥ 1",{"type":48,"tag":196,"props":1101,"children":1102},{},[1103,1108,1109,1115,1117,1123],{"type":48,"tag":67,"props":1104,"children":1105},{},[1106],{"type":53,"value":1107},"Failed",{"type":53,"value":1075},{"type":48,"tag":80,"props":1110,"children":1112},{"className":1111},[],[1113],{"type":53,"value":1114},"status = cancelled",{"type":53,"value":1116}," OR (",{"type":48,"tag":80,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":53,"value":1122},"status = running",{"type":53,"value":1124}," AND stale > 2h), score ≥ 2",{"type":48,"tag":63,"props":1126,"children":1127},{},[1128,1130,1136],{"type":53,"value":1129},"Write raw signal scores to ",{"type":48,"tag":80,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":53,"value":1135},"findings\u002Fsession-signal-scores-raw.md",{"type":53,"value":171},{"type":48,"tag":63,"props":1138,"children":1139},{},[1140,1144],{"type":48,"tag":67,"props":1141,"children":1142},{},[1143],{"type":53,"value":547},{"type":53,"value":1145},": Per-signal prevalence table with delta column. Top compound-failure\nsessions ranked. At least one signal with delta ≥ 20 percentage points between failing\nand successful groups.",{"type":48,"tag":393,"props":1147,"children":1149},{"id":1148},"_4-produce-initial-structured-artifacts",[1150],{"type":53,"value":1151},"4. Produce initial structured artifacts",{"type":48,"tag":63,"props":1153,"children":1154},{},[1155,1156,1161],{"type":53,"value":570},{"type":48,"tag":80,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":53,"value":153},{"type":53,"value":1162}," with the raw\nfindings from Steps 2–3.",{"type":48,"tag":63,"props":1164,"children":1165},{},[1166],{"type":53,"value":1167},"Instruct the facilitator to write:",{"type":48,"tag":224,"props":1169,"children":1170},{},[1171,1182,1193,1204],{"type":48,"tag":196,"props":1172,"children":1173},{},[1174,1180],{"type":48,"tag":80,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":53,"value":1179},"{{output_path}}\u002Ffindings.md",{"type":53,"value":1181}," — patterns (P1–Pn) with severity, frequency, mechanism,\ncross-cutting structural findings (Xn), and candidate skill implications (Cn)",{"type":48,"tag":196,"props":1183,"children":1184},{},[1185,1191],{"type":48,"tag":80,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":53,"value":1190},"{{output_path}}\u002Fdomain-signals.md",{"type":53,"value":1192}," — signal definitions calibrated to this workflow\nwith corpus-anchored thresholds",{"type":48,"tag":196,"props":1194,"children":1195},{},[1196,1202],{"type":48,"tag":80,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":53,"value":1201},"{{output_path}}\u002Fsession-index.md",{"type":53,"value":1203}," — full session inventory with root\u002Fsub split,\noutcome classification, and compound failure scores",{"type":48,"tag":196,"props":1205,"children":1206},{},[1207,1213],{"type":48,"tag":80,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":53,"value":1212},"{{output_path}}\u002Fdiagrams\u002Ffailure-patterns.dot",{"type":53,"value":1214}," — taxonomy with severity swimlanes and\nprevalence numbers on pattern nodes",{"type":48,"tag":63,"props":1216,"children":1217},{},[1218,1222],{"type":48,"tag":67,"props":1219,"children":1220},{},[1221],{"type":53,"value":547},{"type":53,"value":1223},": All four artifacts written and internally consistent. Corpus numbers\nand signal thresholds consistent across all files.",{"type":48,"tag":393,"props":1225,"children":1227},{"id":1226},"_5-iterative-investigation-loop",[1228],{"type":53,"value":1229},"5. Iterative investigation loop",{"type":48,"tag":63,"props":1231,"children":1232},{},[1233],{"type":53,"value":1234},"Continue investigating specific patterns as the user steers. Each round follows the\nsame dual-agent shape — repeat as many times as needed:",{"type":48,"tag":63,"props":1236,"children":1237},{},[1238,1243,1245,1250,1252,1257],{"type":48,"tag":67,"props":1239,"children":1240},{},[1241],{"type":53,"value":1242},"a.",{"type":53,"value":1244}," Delegate to ",{"type":48,"tag":80,"props":1246,"children":1248},{"className":1247},[],[1249],{"type":53,"value":235},{"type":53,"value":1251}," with the specific question.\nAnalyst writes raw findings to ",{"type":48,"tag":80,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":53,"value":479},{"type":53,"value":171},{"type":48,"tag":63,"props":1259,"children":1260},{},[1261,1266,1267,1272],{"type":48,"tag":67,"props":1262,"children":1263},{},[1264],{"type":53,"value":1265},"b.",{"type":53,"value":1244},{"type":48,"tag":80,"props":1268,"children":1270},{"className":1269},[],[1271],{"type":53,"value":153},{"type":53,"value":1273}," to\nupdate the structured artifacts. Facilitator calls do not need to be 1:1 with analyst\ncalls — consolidate related findings into a single facilitator update.",{"type":48,"tag":178,"props":1275,"children":1276},{},[],{"type":48,"tag":63,"props":1278,"children":1279},{},[1280],{"type":48,"tag":67,"props":1281,"children":1282},{},[1283],{"type":53,"value":1284},"Common investigation rounds and their targets:",{"type":48,"tag":63,"props":1286,"children":1287},{},[1288,1293,1295,1300],{"type":48,"tag":67,"props":1289,"children":1290},{},[1291],{"type":53,"value":1292},"Signal calibration",{"type":53,"value":1294}," — when a signal fires at an unexpectedly high or low rate,\ninspect actual JSONL event payloads before adjusting any threshold. Key field reference\n(from ",{"type":48,"tag":80,"props":1296,"children":1298},{"className":1297},[],[1299],{"type":53,"value":997},{"type":53,"value":1301}," §Authoritative JSONL field reference):",{"type":48,"tag":224,"props":1303,"children":1304},{},[1305,1336,1347],{"type":48,"tag":196,"props":1306,"children":1307},{},[1308,1314,1316,1322,1323,1329,1330],{"type":48,"tag":80,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":53,"value":1313},"data.tool_name",{"type":53,"value":1315},", ",{"type":48,"tag":80,"props":1317,"children":1319},{"className":1318},[],[1320],{"type":53,"value":1321},"data.tool_input",{"type":53,"value":1315},{"type":48,"tag":80,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":53,"value":1328},"data.tool_call_id",{"type":53,"value":1315},{"type":48,"tag":80,"props":1331,"children":1333},{"className":1332},[],[1334],{"type":53,"value":1335},"data.parallel_group_id",{"type":48,"tag":196,"props":1337,"children":1338},{},[1339,1345],{"type":48,"tag":80,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":53,"value":1344},"data.result.{success, error, output}",{"type":53,"value":1346}," (tool:post only)",{"type":48,"tag":196,"props":1348,"children":1349},{},[1350,1352,1358],{"type":53,"value":1351},"Hash ",{"type":48,"tag":80,"props":1353,"children":1355},{"className":1354},[],[1356],{"type":53,"value":1357},"(tool_name, tool_input)",{"type":53,"value":1359}," to test for S4c — literal same-input essentially never\nfires in stuck sessions. Use S4a (parallel-group shape concentration) and S4b (ritual\ninstrumentation-bash share) as primary stuck-agent detectors.",{"type":48,"tag":63,"props":1361,"children":1362},{},[1363,1368,1370,1376,1378,1384,1385,1391,1392,1398,1399,1405,1407,1412],{"type":48,"tag":67,"props":1364,"children":1365},{},[1366],{"type":53,"value":1367},"Compaction causal analysis",{"type":53,"value":1369}," — inspect ",{"type":48,"tag":80,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":53,"value":1375},"context:compaction",{"type":53,"value":1377}," event payload (ground truth:\n",{"type":48,"tag":80,"props":1379,"children":1381},{"className":1380},[],[1382],{"type":53,"value":1383},"before_tokens",{"type":53,"value":1315},{"type":48,"tag":80,"props":1386,"children":1388},{"className":1387},[],[1389],{"type":53,"value":1390},"after_tokens",{"type":53,"value":1315},{"type":48,"tag":80,"props":1393,"children":1395},{"className":1394},[],[1396],{"type":53,"value":1397},"budget",{"type":53,"value":1315},{"type":48,"tag":80,"props":1400,"children":1402},{"className":1401},[],[1403],{"type":53,"value":1404},"strategy_level",{"type":53,"value":1406},"). Inspect the last ",{"type":48,"tag":80,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":53,"value":939},{"type":53,"value":1413},"\nbefore each compaction for context composition — extract character lengths per region,\nnever render full message content:",{"type":48,"tag":224,"props":1415,"children":1416},{},[1417,1456,1467],{"type":48,"tag":196,"props":1418,"children":1419},{},[1420,1422,1428,1429,1435,1436,1442,1443,1449,1450],{"type":53,"value":1421},"Regions: ",{"type":48,"tag":80,"props":1423,"children":1425},{"className":1424},[],[1426],{"type":53,"value":1427},"messages.tool_result",{"type":53,"value":1315},{"type":48,"tag":80,"props":1430,"children":1432},{"className":1431},[],[1433],{"type":53,"value":1434},"messages.thinking",{"type":53,"value":1315},{"type":48,"tag":80,"props":1437,"children":1439},{"className":1438},[],[1440],{"type":53,"value":1441},"system",{"type":53,"value":1315},{"type":48,"tag":80,"props":1444,"children":1446},{"className":1445},[],[1447],{"type":53,"value":1448},"tools",{"type":53,"value":1315},{"type":48,"tag":80,"props":1451,"children":1453},{"className":1452},[],[1454],{"type":53,"value":1455},"messages.text",{"type":48,"tag":196,"props":1457,"children":1458},{},[1459,1465],{"type":48,"tag":80,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":53,"value":1464},"strategy_level ≥ 3",{"type":53,"value":1466}," = canary: strategy 2 already failed",{"type":48,"tag":196,"props":1468,"children":1469},{},[1470],{"type":53,"value":1471},"Two etiologies: P1a tool-result accumulation (delegation-driven, skill-addressable) vs\nP1b thinking-block accumulation (interleaved_thinking=true, model-config issue)",{"type":48,"tag":63,"props":1473,"children":1474},{},[1475,1480,1481,1487,1489,1495,1497,1503],{"type":48,"tag":67,"props":1476,"children":1477},{},[1478],{"type":53,"value":1479},"Delegation pattern analysis",{"type":53,"value":1369},{"type":48,"tag":80,"props":1482,"children":1484},{"className":1483},[],[1485],{"type":53,"value":1486},"delegate tool:post",{"type":53,"value":1488}," result envelope:\n",{"type":48,"tag":80,"props":1490,"children":1492},{"className":1491},[],[1493],{"type":53,"value":1494},"{agent, response, session_id, status}",{"type":53,"value":1496},". Measure ",{"type":48,"tag":80,"props":1498,"children":1500},{"className":1499},[],[1501],{"type":53,"value":1502},"len(result.response)",{"type":53,"value":1504},".\nDelegation is the gating condition for severe compaction: no root session reaches\nS1 (≥3 compactions) from pure file reads alone. Synthesis-output sub-agents\n(result > 30K chars) are the compaction multiplier.",{"type":48,"tag":63,"props":1506,"children":1507},{},[1508,1513],{"type":48,"tag":67,"props":1509,"children":1510},{},[1511],{"type":53,"value":1512},"Success criteria per round",{"type":53,"value":1514},": Raw findings written, structured artifacts refreshed,\nsignal thresholds validated against corpus evidence rather than assumed.",{"type":48,"tag":393,"props":1516,"children":1518},{"id":1517},"_6-produce-cypher-query-set-for-ongoing-monitoring",[1519],{"type":53,"value":1520},"6. Produce Cypher query set for ongoing monitoring",{"type":48,"tag":63,"props":1522,"children":1523},{},[1524,1525,1530,1532,1537],{"type":53,"value":570},{"type":48,"tag":80,"props":1526,"children":1528},{"className":1527},[],[1529],{"type":53,"value":235},{"type":53,"value":1531}," to produce a reusable, workflow-specific\nCypher query set using templates from ",{"type":48,"tag":80,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":53,"value":605},{"type":53,"value":260},{"type":48,"tag":224,"props":1539,"children":1540},{},[1541,1551,1561,1571,1581],{"type":48,"tag":196,"props":1542,"children":1543},{},[1544,1549],{"type":48,"tag":67,"props":1545,"children":1546},{},[1547],{"type":53,"value":1548},"Q-enum",{"type":53,"value":1550},": Enumerate all runs with outcome classification",{"type":48,"tag":196,"props":1552,"children":1553},{},[1554,1559],{"type":48,"tag":67,"props":1555,"children":1556},{},[1557],{"type":53,"value":1558},"Q-signals",{"type":53,"value":1560},": Detect each high-delta failure signal",{"type":48,"tag":196,"props":1562,"children":1563},{},[1564,1569],{"type":48,"tag":67,"props":1565,"children":1566},{},[1567],{"type":53,"value":1568},"Q-compare",{"type":53,"value":1570},": Compare signal prevalence between successful and failing runs",{"type":48,"tag":196,"props":1572,"children":1573},{},[1574,1579],{"type":48,"tag":67,"props":1575,"children":1576},{},[1577],{"type":53,"value":1578},"Q-risk",{"type":53,"value":1580},": Identify in-progress sessions at risk (trajectory)",{"type":48,"tag":196,"props":1582,"children":1583},{},[1584,1589],{"type":48,"tag":67,"props":1585,"children":1586},{},[1587],{"type":53,"value":1588},"Q-points",{"type":53,"value":1590},": Failure point localisation — events preceding failure signals",{"type":48,"tag":63,"props":1592,"children":1593},{},[1594,1596,1602],{"type":53,"value":1595},"Write the query set to ",{"type":48,"tag":80,"props":1597,"children":1599},{"className":1598},[],[1600],{"type":53,"value":1601},"{{output_path}}\u002Fqueries\u002F{{workflow}}-cypher.md",{"type":53,"value":171},{"type":48,"tag":63,"props":1604,"children":1605},{},[1606,1610],{"type":48,"tag":67,"props":1607,"children":1608},{},[1609],{"type":53,"value":547},{"type":53,"value":1611},": Working Cypher queries tested against the graph server, scoped to\nthis workflow's session definition.",{"type":48,"tag":393,"props":1613,"children":1615},{"id":1614},"_7-close-the-investigation",[1616],{"type":53,"value":1617},"7. Close the investigation",{"type":48,"tag":63,"props":1619,"children":1620},{},[1621],{"type":53,"value":1622},"Verify the final artifact state is consistent:",{"type":48,"tag":224,"props":1624,"children":1625},{},[1626,1636,1646,1656],{"type":48,"tag":196,"props":1627,"children":1628},{},[1629,1634],{"type":48,"tag":80,"props":1630,"children":1632},{"className":1631},[],[1633],{"type":53,"value":272},{"type":53,"value":1635}," — all patterns have corpus-anchored prevalence and causal mechanisms",{"type":48,"tag":196,"props":1637,"children":1638},{},[1639,1644],{"type":48,"tag":80,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":53,"value":283},{"type":53,"value":1645}," — all thresholds validated against actual JSONL payloads, not assumed",{"type":48,"tag":196,"props":1647,"children":1648},{},[1649,1654],{"type":48,"tag":80,"props":1650,"children":1652},{"className":1651},[],[1653],{"type":53,"value":294},{"type":53,"value":1655}," — inventory reflects the final corpus scope and outcome classification",{"type":48,"tag":196,"props":1657,"children":1658},{},[1659,1664],{"type":48,"tag":80,"props":1660,"children":1662},{"className":1661},[],[1663],{"type":53,"value":305},{"type":53,"value":1665}," — updated and re-rendered to PNG",{"type":48,"tag":63,"props":1667,"children":1668},{},[1669,1673],{"type":48,"tag":67,"props":1670,"children":1671},{},[1672],{"type":53,"value":547},{"type":53,"value":1674},": Complete, consistent findings package ready to inform skill design\ndecisions for the context-intelligence bundle or any downstream action.",{"type":48,"tag":178,"props":1676,"children":1677},{},[],{"type":48,"tag":56,"props":1679,"children":1681},{"id":1680},"standing-rules",[1682],{"type":53,"value":1683},"Standing Rules",{"type":48,"tag":192,"props":1685,"children":1686},{},[1687,1697,1707,1717,1727,1744,1760,1770],{"type":48,"tag":196,"props":1688,"children":1689},{},[1690,1695],{"type":48,"tag":67,"props":1691,"children":1692},{},[1693],{"type":53,"value":1694},"Enumerate the full corpus before investigating.",{"type":53,"value":1696}," Anchor all signals to\npopulation-level denominators. Do not sample and claim corpus-level conclusions.",{"type":48,"tag":196,"props":1698,"children":1699},{},[1700,1705],{"type":48,"tag":67,"props":1701,"children":1702},{},[1703],{"type":53,"value":1704},"Graph-first; disk as explicit mode.",{"type":53,"value":1706}," Both available via graph-analyst. Offer disk\nscan when the user needs full coverage or suspects under-indexing.",{"type":48,"tag":196,"props":1708,"children":1709},{},[1710,1715],{"type":48,"tag":67,"props":1711,"children":1712},{},[1713],{"type":53,"value":1714},"Always split root vs sub-sessions.",{"type":53,"value":1716}," Roots and subs have structurally different\nfailure profiles. Separate denominators for all prevalence calculations.",{"type":48,"tag":196,"props":1718,"children":1719},{},[1720,1725],{"type":48,"tag":67,"props":1721,"children":1722},{},[1723],{"type":53,"value":1724},"Always compare failing vs successful runs.",{"type":53,"value":1726}," The delta between groups is the finding.\nSignals that fire in both groups equally are workflow characteristics, not failure signals.",{"type":48,"tag":196,"props":1728,"children":1729},{},[1730,1735,1737,1742],{"type":48,"tag":67,"props":1731,"children":1732},{},[1733],{"type":53,"value":1734},"JSONL-observable behavioral signatures only — never named-agent filters.",{"type":53,"value":1736}," Express\nevery pattern as event field conditions observable in any session (see ",{"type":48,"tag":80,"props":1738,"children":1740},{"className":1739},[],[1741],{"type":53,"value":997},{"type":53,"value":1743},"\n§Behavioral classification). Named instances are traceability evidence only.",{"type":48,"tag":196,"props":1745,"children":1746},{},[1747,1752,1754,1759],{"type":48,"tag":67,"props":1748,"children":1749},{},[1750],{"type":53,"value":1751},"S4 family only.",{"type":53,"value":1753}," The consecutive-same-tool-name heuristic is retired (48% FPR at\ncorpus scale). Use S4a, S4b, S4c, S4d from ",{"type":48,"tag":80,"props":1755,"children":1757},{"className":1756},[],[1758],{"type":53,"value":997},{"type":53,"value":171},{"type":48,"tag":196,"props":1761,"children":1762},{},[1763,1768],{"type":48,"tag":67,"props":1764,"children":1765},{},[1766],{"type":53,"value":1767},"Facilitator is the mandatory quality gate.",{"type":53,"value":1769}," Every wave of raw analyst findings must\npass through the facilitator before being treated as curated findings. Facilitator calls\ndo not need to be 1:1 with analyst calls — consolidate related findings.",{"type":48,"tag":196,"props":1771,"children":1772},{},[1773,1778,1780,1784,1789,1791,1794,1799,1813,1816,1818],{"type":48,"tag":67,"props":1774,"children":1775},{},[1776],{"type":53,"value":1777},"Always describe signals in plain language and explain what they point to.",{"type":53,"value":1779}," In every\nreport, finding, or summary, signal codes (S1, S3, S9a, etc.) must always be accompanied\nby their human-readable name, a plain-language explanation, AND a causal interpretation\nof what the signal indicates about session health and what it could be pointing to.\nThe code is a shorthand for cross-reference only.",{"type":48,"tag":1781,"props":1782,"children":1783},"br",{},[],{"type":48,"tag":67,"props":1785,"children":1786},{},[1787],{"type":53,"value":1788},"Wrong:",{"type":53,"value":1790}," \"S3 fired at SEVERE. S9a also fired.\"",{"type":48,"tag":1781,"props":1792,"children":1793},{},[],{"type":48,"tag":67,"props":1795,"children":1796},{},[1797],{"type":53,"value":1798},"Correct:",{"type":48,"tag":1800,"props":1801,"children":1802},"blockquote",{},[1803],{"type":48,"tag":63,"props":1804,"children":1805},{},[1806,1811],{"type":48,"tag":67,"props":1807,"children":1808},{},[1809],{"type":53,"value":1810},"S3 — LLM Iteration Runaway (SEVERE): 316 iterations — 8× the severe threshold of 40.",{"type":53,"value":1812},"\nThe session made 316 separate LLM calls. This is not normal volume for productive work;\nit means the agent was looping — repeatedly asking the LLM for the next step without\nreaching a conclusion. Common causes: an exploration task with no exit condition\n(reading files and looking for something without knowing when to stop), a delegation\nchain that keeps spawning new investigations, or a goal too vague to converge on.\nAt this volume, the session is on a trajectory toward context saturation — each LLM\ncall adds its response to the accumulated context, and without compaction the window\nfills until the session stalls or crashes.",{"type":48,"tag":1781,"props":1814,"children":1815},{},[],{"type":53,"value":1817},"For every signal that fires, include:",{"type":48,"tag":224,"props":1819,"children":1820},{},[1821,1826,1831,1836,1853],{"type":48,"tag":196,"props":1822,"children":1823},{},[1824],{"type":53,"value":1825},"The signal code and human name (e.g. \"S3 — LLM Iteration Runaway\")",{"type":48,"tag":196,"props":1827,"children":1828},{},[1829],{"type":53,"value":1830},"The severity and measured value with the threshold (e.g. \"SEVERE: 316 iterations — 8× threshold of 40\")",{"type":48,"tag":196,"props":1832,"children":1833},{},[1834],{"type":53,"value":1835},"What it means in plain terms (e.g. \"the agent looped without converging\")",{"type":48,"tag":196,"props":1837,"children":1838},{},[1839,1844,1846,1851],{"type":48,"tag":67,"props":1840,"children":1841},{},[1842],{"type":53,"value":1843},"What it points to",{"type":53,"value":1845}," — the underlying behaviour or root cause pattern. Use the\n\"What it points to\" text from ",{"type":48,"tag":80,"props":1847,"children":1849},{"className":1848},[],[1850],{"type":53,"value":997},{"type":53,"value":1852}," for each signal as the source\nof this interpretation. Do not summarise it away — quote or paraphrase it fully.",{"type":48,"tag":196,"props":1854,"children":1855},{},[1856,1861,1863,1868],{"type":48,"tag":67,"props":1857,"children":1858},{},[1859],{"type":53,"value":1860},"Risk trajectory",{"type":53,"value":1862}," — the consequence if unaddressed. Use the \"Risk trajectory\"\ntext from ",{"type":48,"tag":80,"props":1864,"children":1866},{"className":1865},[],[1867],{"type":53,"value":997},{"type":53,"value":1869}," as the source. This tells the reader why the\nsignal matters beyond its raw count.",{"type":48,"tag":1871,"props":1872,"children":1873},"style",{},[1874],{"type":53,"value":1875},"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":1877,"total":1955},[1878,1892,1907,1922,1932,1948],{"slug":1879,"name":1879,"fn":1880,"description":1881,"org":1882,"tags":1883,"stars":23,"repoUrl":24,"updatedAt":1891},"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},[1884,1887,1890],{"name":1885,"slug":1886,"type":15},"Data Engineering","data-engineering",{"name":1888,"slug":1889,"type":15},"File Storage","file-storage",{"name":9,"slug":8,"type":15},"2026-07-07T06:52:39.196485",{"slug":1893,"name":1893,"fn":1894,"description":1895,"org":1896,"tags":1897,"stars":23,"repoUrl":24,"updatedAt":1906},"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},[1898,1899,1902,1903],{"name":13,"slug":14,"type":15},{"name":1900,"slug":1901,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":1904,"slug":1905,"type":15},"Statistics","statistics","2026-07-07T06:52:41.770083",{"slug":1908,"name":1908,"fn":1909,"description":1910,"org":1911,"tags":1912,"stars":23,"repoUrl":24,"updatedAt":1921},"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},[1913,1916,1917,1920],{"name":1914,"slug":1915,"type":15},"Agents","agents",{"name":13,"slug":14,"type":15},{"name":1918,"slug":1919,"type":15},"Graph Analysis","graph-analysis",{"name":9,"slug":8,"type":15},"2026-07-07T06:52:37.897652",{"slug":1923,"name":1923,"fn":1924,"description":1925,"org":1926,"tags":1927,"stars":23,"repoUrl":24,"updatedAt":1931},"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},[1928,1929,1930],{"name":1914,"slug":1915,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-07T06:52:40.507052",{"slug":1933,"name":1933,"fn":1934,"description":1935,"org":1936,"tags":1937,"stars":23,"repoUrl":24,"updatedAt":1947},"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},[1938,1940,1943,1944],{"name":1939,"slug":722,"type":15},"Amplifier",{"name":1941,"slug":1942,"type":15},"Metadata","metadata",{"name":9,"slug":8,"type":15},{"name":1945,"slug":1946,"type":15},"Observability","observability","2026-07-03T16:31:03.605475",{"slug":4,"name":4,"fn":5,"description":6,"org":1949,"tags":1950,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1951,1952,1953,1954],{"name":13,"slug":14,"type":15},{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},6,{"items":1957,"total":2148},[1958,1980,1999,2018,2033,2050,2061,2074,2089,2104,2123,2136],{"slug":1959,"name":1959,"fn":1960,"description":1961,"org":1962,"tags":1963,"stars":1977,"repoUrl":1978,"updatedAt":1979},"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},[1964,1967,1970,1971,1974],{"name":1965,"slug":1966,"type":15},"Engineering","engineering",{"name":1968,"slug":1969,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1972,"slug":1973,"type":15},"Project Management","project-management",{"name":1975,"slug":1976,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1981,"name":1981,"fn":1982,"description":1983,"org":1984,"tags":1985,"stars":1996,"repoUrl":1997,"updatedAt":1998},"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},[1986,1989,1990,1993],{"name":1987,"slug":1988,"type":15},".NET","net",{"name":1914,"slug":1915,"type":15},{"name":1991,"slug":1992,"type":15},"Azure","azure",{"name":1994,"slug":1995,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":2000,"name":2000,"fn":2001,"description":2002,"org":2003,"tags":2004,"stars":1996,"repoUrl":1997,"updatedAt":2017},"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},[2005,2008,2009,2010,2013,2014],{"name":2006,"slug":2007,"type":15},"Analytics","analytics",{"name":1991,"slug":1992,"type":15},{"name":13,"slug":14,"type":15},{"name":2011,"slug":2012,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":2015,"slug":2016,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":2019,"name":2019,"fn":2020,"description":2021,"org":2022,"tags":2023,"stars":1996,"repoUrl":1997,"updatedAt":2032},"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},[2024,2027,2028,2029],{"name":2025,"slug":2026,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1991,"slug":1992,"type":15},{"name":2011,"slug":2012,"type":15},{"name":2030,"slug":2031,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":2034,"name":2034,"fn":2035,"description":2036,"org":2037,"tags":2038,"stars":1996,"repoUrl":1997,"updatedAt":2049},"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},[2039,2040,2043,2044,2045,2048],{"name":1991,"slug":1992,"type":15},{"name":2041,"slug":2042,"type":15},"Compliance","compliance",{"name":1994,"slug":1995,"type":15},{"name":9,"slug":8,"type":15},{"name":2046,"slug":2047,"type":15},"Python","python",{"name":2030,"slug":2031,"type":15},"2026-07-18T05:14:23.017504",{"slug":2051,"name":2051,"fn":2052,"description":2053,"org":2054,"tags":2055,"stars":1996,"repoUrl":1997,"updatedAt":2060},"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},[2056,2057,2058,2059],{"name":2006,"slug":2007,"type":15},{"name":1991,"slug":1992,"type":15},{"name":1994,"slug":1995,"type":15},{"name":2046,"slug":2047,"type":15},"2026-07-31T05:54:29.068751",{"slug":2062,"name":2062,"fn":2063,"description":2064,"org":2065,"tags":2066,"stars":1996,"repoUrl":1997,"updatedAt":2073},"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},[2067,2070,2071,2072],{"name":2068,"slug":2069,"type":15},"API Development","api-development",{"name":1991,"slug":1992,"type":15},{"name":9,"slug":8,"type":15},{"name":2046,"slug":2047,"type":15},"2026-07-18T05:14:16.988376",{"slug":2075,"name":2075,"fn":2076,"description":2077,"org":2078,"tags":2079,"stars":1996,"repoUrl":1997,"updatedAt":2088},"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},[2080,2081,2084,2087],{"name":1991,"slug":1992,"type":15},{"name":2082,"slug":2083,"type":15},"Computer Vision","computer-vision",{"name":2085,"slug":2086,"type":15},"Images","images",{"name":2046,"slug":2047,"type":15},"2026-07-18T05:14:18.007737",{"slug":2090,"name":2090,"fn":2091,"description":2092,"org":2093,"tags":2094,"stars":1996,"repoUrl":1997,"updatedAt":2103},"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},[2095,2096,2099,2102],{"name":1991,"slug":1992,"type":15},{"name":2097,"slug":2098,"type":15},"Configuration","configuration",{"name":2100,"slug":2101,"type":15},"Feature Flags","feature-flags",{"name":2011,"slug":2012,"type":15},"2026-07-03T16:32:01.278468",{"slug":2105,"name":2105,"fn":2106,"description":2107,"org":2108,"tags":2109,"stars":1996,"repoUrl":1997,"updatedAt":2122},"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},[2110,2113,2116,2119],{"name":2111,"slug":2112,"type":15},"Cosmos DB","cosmos-db",{"name":2114,"slug":2115,"type":15},"Database","database",{"name":2117,"slug":2118,"type":15},"NoSQL","nosql",{"name":2120,"slug":2121,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":2124,"name":2124,"fn":2106,"description":2125,"org":2126,"tags":2127,"stars":1996,"repoUrl":1997,"updatedAt":2135},"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},[2128,2129,2130,2131,2132],{"name":2111,"slug":2112,"type":15},{"name":2114,"slug":2115,"type":15},{"name":9,"slug":8,"type":15},{"name":2117,"slug":2118,"type":15},{"name":2133,"slug":2134,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":2137,"name":2137,"fn":2138,"description":2139,"org":2140,"tags":2141,"stars":1996,"repoUrl":1997,"updatedAt":2147},"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},[2142,2143,2144,2145,2146],{"name":1991,"slug":1992,"type":15},{"name":2111,"slug":2112,"type":15},{"name":2114,"slug":2115,"type":15},{"name":2011,"slug":2012,"type":15},{"name":2117,"slug":2118,"type":15},"2026-05-13T06:14:17.582229",267]