AbuseIPDB API reference. IP reputation and abuse report lookups.
日本語の概要は準備中です。原文の説明を表示しています。
Analysis of Competing Hypotheses — structured technique for evaluating multiple explanations against evidence. Use when facing ambiguous attribution or multiple plausible scenarios. Prefers graded evidence items from /quality-of-information-check and runs that skill first when handed raw URLs or text. Runs on ungraded evidence when asked, labelled as such, unweighted, and capped at Moderate confidence.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
ACH is the most important structured analytic technique for CTI. It forces you to evaluate ALL plausible hypotheses against ALL significant evidence, reducing the impact of cognitive biases — especially confirmation bias.
ACH works best on graded evidence items, one per claim, as produced by /quality-of-information-check (the QoI JSON or its claim table). The schema is in skills/quality-of-information-check/references/evidence-item-schema.md. Grading is the default. It is not a condition for running.
An item counts as graded when it has all of: claim_id, claim, claim_type, anchor, grading.access_level, grading.claim_support, corroboration and provenance_basis.
| What you were handed | What to do |
|---|---|
| QoI JSON or graded claim table | Proceed. If the JSON is a file, confirm it with python3 skills/quality-of-information-check/scripts/validate_evidence.py <qoi.json> (exit 0 = valid). Items that fail are not graded evidence: rerun the check on them or carry them as ungraded. |
| Raw URLs, articles, pasted report text | Complete Step 1, then invoke /quality-of-information-check on the material, passing the question. Use its output as the evidence. This is the default and needs no permission. |
| Evidence with a bare source rating but no claim table (for example "Mandiant report, Admiralty B2") | Run /quality-of-information-check on the underlying document if it is available. If not, carry the item as ungraded and record the rating as the analyst's own. |
| Evidence the user asserts from memory, with no document behind it | Cannot be graded. Carry it as ungraded, marked "asserted, no document". |
| A mix of graded and ungraded | Grade what can be graded. Carry the rest as ungraded. Graded rows keep their grades and weights. |
The user asks to skip grading, or /quality-of-information-check cannot be run | Run in ungraded mode, below. Say once what that costs, then proceed. Do not ask again. |
Any run with at least one ungraded row in the matrix follows these rules:
Evidence basis: ungraded when no row is graded and Evidence basis: mixed when some are. A fully graded run carries Evidence basis: graded.ungraded in the Access level and Claim support columns. Where the analyst supplied a rating through /source-assessment, show it as Admiralty B2 (analyst). It is displayed and does not change the weight. An Admiralty rating applies to a lookup result or a single item, the evidence grade applies to a claim from a document, and neither is converted into the other.U01, U02 and so on, with the claim in one sentence and its source named./quality-of-information-check on them may change the ranking.First-party observations from the organisation's own telemetry are graded direct, established by rule R12 and need no check. They are graded rows in any mode.
The order is strict: hypotheses first, then evidence. Step 1 is completed and written down before any evidence item is read, graded or fetched.
List ALL reasonable hypotheses. Include unlikely ones — the point is to avoid premature narrowing.
Rules:
Ordering rules:
/quality-of-information-check until the list is written out.Apply the evidence table above. Then list every evidence item relevant to the hypotheses.
For each graded item, carry over from the QoI output without changing it:
claim_id, claim and claim_typeaccess_level and claim_support, e.g. limited, firm)load_bearing, flags, and corroboration.independent_primaries with its basisprovenance_basisFor each ungraded item, record an id (U01), the claim in one sentence, the source, and any analyst rating.
Do not regrade, merge or reword graded claims here. If a grade looks wrong, send it back through /quality-of-information-check. Absence of evidence ("the dog that didn't bark") is recorded as an analyst note below the matrix, not as a graded row, and carries no weight.
Mark each cell as:
Diagnosticity comes first. Evidence that is consistent with every hypothesis tells you nothing about which one is true, however well graded it is.
Claim support sets the weight. Access level untraced or adversary, or flag source_record_disputed, subtracts 1, to a floor of 0.
| Claim support | Weight | With access level untraced or adversary, or flag source_record_disputed |
|---|---|---|
| established | 3 | 2 |
| firm | 2 | 1 |
| tentative | 1 | 0 |
| disputed | 0 | 0 |
| unverified | 0 | 0 |
So a claim graded direct, established weighs 3. Direct, firm and limited, firm weigh 2. Indirect, tentative weighs 1. Untraced, tentative and adversary, unverified weigh 0. An item flagged retracted weighs 0 whatever its grade. The table covers every grade for completeness. The rubric's caps mean some combinations cannot occur, for example untraced, established.
Ungraded rows weigh 1 whatever rating the analyst attached to them.
Weight 0 rows stay in the matrix so the reader can see them, but they do not move the score.
| claim_id | Claim | claim_type | Access level | Claim support | Weight | H1: [Name] | H2: [Name] | H3: [Name] | H4: [Name] |
|----------|-------|------------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
| C01 | [claim] | observation | direct | firm | 2 | C | I | C | NA |
| C02 | [claim] | victim_disclosure | direct | established | 3 | C | C | I | C |
| C03 | [claim] | attribution | indirect | tentative | 1 | I | C | C | NA |
| C04 | [claim] | observation | limited | firm | 2 | C | I | I | C |
| C05 | [claim] | actor_claim | adversary | unverified | 0 | C | C | C | I |
| **Inconsistencies (count)** | | | | | | **1** | **2** | **2** | **1** |
| **Weighted inconsistency score** | | | | | | **1** | **4** | **5** | **0** |
| **Heaviest inconsistent item** | | | | | | **1** (C03) | **2** (C01, C04) | **3** (C02) | **0** (C05) |
Total available weight: 8 (sum of the weights of the diagnostic rows). Separation threshold: 0.8.
Non-diagnostic evidence (not scored): C06, [claim], direct, established, consistent with all four hypotheses.
Critical principle: Focus on DISPROVING hypotheses, not proving them.
Confirmation bias makes us seek evidence that confirms our preferred hypothesis. ACH counteracts this by focusing on inconsistencies.
For each hypothesis, report three numbers:
claim_id.Reading them:
claim_id, and do not describe it as rejected by accumulation. In the template, H3 is eliminated by C02 alone.Ask for each piece of evidence:
Test it by removing each diagnostic row in turn and recomputing the three numbers.
Linchpin rules:
load_bearing: false and items flagged press_originated are excluded from linchpin status unless the user explicitly promotes them. Record any promotion in the report, by claim_id.single_source or has claim support unverified. Name the claim_id and state what would corroborate it.Carry provenance_basis from the QoI output into the header. Where items differ, use the worst one (first-party is best, then platform-resolved, then script-resolved, then model-judged). A run with no graded items has no provenance basis: write none (ungraded).
## ACH Analysis: [Question]
**Date**: YYYY-MM-DD | **Evidence basis**: [graded / mixed / ungraded] | **Provenance basis**: [platform-resolved / script-resolved / model-judged (unverified) / none (ungraded)] | **Evidence items**: [n] from [QoI run or document(s)]
### Hypotheses Evaluated
Generated before the evidence was read. Late additions are marked.
1. H1: [description]
2. H2: [description]
3. H3: [description]
### Consistency Matrix
[Matrix from Step 3, with count, weighted score and heaviest inconsistent item per hypothesis]
### Non-diagnostic Evidence
[Rows removed in Step 3a, with grade, or "None"]
### Assessment
[Most likely hypothesis with confidence level and rationale]
### Key Discriminating Evidence
[Evidence that most strongly separates hypotheses]
### Sensitivity Analysis
[Which evidence is linchpin? What would change the conclusion?]
| Linchpin | Access level | Claim support | Callout |
|----------|:---:|:---:|---------|
| C0x | limited | firm | single_source: [what would corroborate it] |
| C0y | adversary | unverified | claim support unverified, cannot be judged: [what would corroborate it] |
[Items promoted to load-bearing by the user, by claim_id, or "None"]
### Rejected Hypotheses
- H2 rejected by accumulation: [claim_ids and what they contradict]
- H3 eliminated by a single item: [claim_id, grade, what it contradicts]
### Caveats
[Limitations, intelligence gaps, assumptions]
/quality-of-information-check, not from this skillまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
AbuseIPDB API reference. IP reputation and abuse report lookups.
日本語の概要は準備中です。原文の説明を表示しています。
Use when documenting a named campaign across time and victims, the user asks to start or update a campaign record, or another skill identified a multi-incident cluster that warrants formal tracking. Provides the template (timeline, attribution, victimology, attack chain, Diamond Model mapping, IOC clusters) and the lifecycle from active to historical.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user asks about carding, BIN attacks, payment-card breach markets, fullz/CVV2 trade, autoshops (BidenCash, Brian's Club, Russianmarket, B1ack's Stash), or financial-fraud TTPs. Self-updating knowledge cell.
日本語の概要は準備中です。原文の説明を表示しています。
Censys API v2 reference. Host reconnaissance and certificate data.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user asks about Chinese state-sponsored cyber operations or specific PRC-aligned actors (APT41, Volt Typhoon, Mustang Panda, APT10, APT31, Salt Typhoon, etc.), MSS/PLA-attributed campaigns, or PRC sector targeting. Self-updating knowledge cell.
日本語の概要は準備中です。原文の説明を表示しています。
Use when a report or article needs to be split into individual claims before it is graded, cited or used as evidence — the user asks "what does this report actually claim?", "split this into claims", "separate the facts from the judgements", or another skill needs a claim list. Turns one document into five to twelve atomic claims, each typed (observation, attribution, assessment, actor claim, victim disclosure) and anchored to the verbatim sentence it rests on, so every extraction can be checked against the source. Preserves the source's own hedging. Does not grade. Invoked by /quality-of-information-check; its output feeds /ach, /key-assumptions-check, /intelligence-writing, /writing-assessments and /threat-actor-profiling.
日本語の概要は準備中です。原文の説明を表示しています。