$npx -y skills add assafkip/huntkit --skill structured-analysisConduct structured analysis on any problem using CIA/IC analytic techniques — assess competing hypotheses, challenge assumptions, stress-test judgments, and produce defensible evidence-based assessments with full citations. Supports 18 techniques including ACH, Key Assumptions Ch
| 1 | # Structured Analysis Skill |
| 2 | |
| 3 | Apply CIA/IC Structured Analytic Techniques to produce defensible, evidence-based analytical assessments. Every claim must be cited. Every judgment must trace to technique outputs. |
| 4 | |
| 5 | ## Invocation |
| 6 | |
| 7 | ``` |
| 8 | /analyze → Adaptive mode (auto-select techniques) |
| 9 | /analyze <technique> → Direct mode (run one technique) |
| 10 | /analyze --guided → Guided mode (walk through all phases) |
| 11 | /analyze --resume <analysis-id> → Resume or update existing analysis |
| 12 | /analyze --iterate <analysis-id> → Re-run full analysis with new evidence |
| 13 | /analyze --iterate <analysis-id> <technique> → Re-run specific technique(s) |
| 14 | /analyze --lean → Lean mode (abbreviated technique set) |
| 15 | /analyze --comprehensive → Comprehensive mode (full rubric, adversarial + deception checks) |
| 16 | /analyze --no-osint → Disable web research |
| 17 | ``` |
| 18 | |
| 19 | Techniques: `customer-checklist`, `issue-redefinition`, `restatement`, `brainstorm`, `kac`, `ach`, `inconsistencies`, `cross-impact`, `what-if`, `premortem`, `counterfactual`, `narratives`, `bowtie`, `opportunities`, `devils-advocacy`, `red-hat`, `alt-futures`, `deception` |
| 20 | |
| 21 | Flags combine: `/analyze --guided --no-osint` is valid. |
| 22 | |
| 23 | ## Q Investigation System Integration |
| 24 | |
| 25 | This skill is integrated into the huntkit investigation system. |
| 26 | |
| 27 | ### Output Path Override |
| 28 | |
| 29 | **All analysis output goes inside the active case folder**, not the project root. |
| 30 | |
| 31 | When an active case exists (e.g., `investigations/case-001-example/`), replace every reference to `analyses/{{ANALYSIS_ID}}/` with: |
| 32 | |
| 33 | ``` |
| 34 | investigations/<active-case>/output/analyses/{{ANALYSIS_ID}}/ |
| 35 | ``` |
| 36 | |
| 37 | If no active case is identified, ask the founder which case this analysis belongs to. |
| 38 | |
| 39 | ### Evidence Integration -- Tier 2 Local Files |
| 40 | |
| 41 | When collecting Tier 2 (local file) evidence, **always include the active case's collected intelligence**. In addition to generic Glob discovery, explicitly search these directories: |
| 42 | |
| 43 | - `investigations/<active-case>/investigation/targets/` -- target profiles with collection status and gaps |
| 44 | - `investigations/<active-case>/investigation/findings/` -- confirmed/assessed findings with confidence levels |
| 45 | - `investigations/<active-case>/investigation/evidence/` -- raw evidence and screenshots |
| 46 | - `investigations/<active-case>/investigation/timelines/` -- chronological event data |
| 47 | - `investigations/<active-case>/canonical/scope.md` -- hypotheses and collection requirements |
| 48 | |
| 49 | This is the richest local evidence available. Prioritize it over generic file discovery. |
| 50 | |
| 51 | ### Feeding Results Back to Q |
| 52 | |
| 53 | After any `/analyze` run completes, update the active case: |
| 54 | 1. Add key findings to `investigation/findings/` (with citation back to the analysis) |
| 55 | 2. Update `memory/investigation-state.md` with analysis summary and which techniques were run |
| 56 | 3. If the analysis surfaced new collection gaps, flag them in `investigation-state.md` and suggest `/q-scope` to the founder (file authority: `canonical/` is only updated via `/q-scope`) |
| 57 | |
| 58 | ### OSINT Note |
| 59 | |
| 60 | This system uses Apify/Exa/Jina for OSINT collection (not Firecrawl). When the skill needs web research, it should use the built-in WebSearch and WebFetch tools. For deeper collection, use `/q-osint` or `/q-collect` first, then run `/analyze --no-osint` on the collected evidence. |
| 61 | |
| 62 | ## Execution |
| 63 | |
| 64 | **You MUST read the orchestrator protocol before proceeding.** It contains mode routing, technique selection logic, and the technique routing table. |
| 65 | |
| 66 | ### Step 0 — Context Inference |
| 67 | |
| 68 | Before parsing explicit arguments, scan the conversation history for implicit inputs. Users often invoke `/analyze` mid-conversation after discussing a problem, providing data, or sharing links. |
| 69 | |
| 70 | Extract from conversation context: |
| 71 | - **Problem statement**: What is the user trying to analyze? Look for questions, concerns, scenarios, or decisions under discussion. |
| 72 | - **Implicit technique hints**: Did the user mention assumptions, hypotheses, competing explanations, risks, or scenarios? Map these to techniques (e.g., "I'm not sure which explanation is right" → ACH, "what could go wrong" → Premortem). |
| 73 | - **Implicit flags**: Did the user indicate they want something quick (→ `--lean`), don't want web research (→ `--no-osint`), or want to walk through everything (→ `--guided`)? |
| 74 | - **Prior analysis**: Are there existing analyses in the active case's `output/an |