counterfactual

counterfactual is a command for Claude Code from MattArtzAnthro/gephi-ai. It costs 22 tokens per session (660 once invoked), scanned A, original, Apache-2.0.

A command for testing a hypothetical change in a graph loaded in Gephi, a desktop tool for exploring networks of connected items. It applies the change to a temporary copy and compares the results without changing the real graph.

In plain words
What is it for?
For asking what would happen if nodes or links were removed or added, resolving node names, and comparing the graph before and after the proposed edit.
Why use it?
It lets you measure the possible effect of removing nodes or changing connections without risking the original graph.

Command for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Part of the gephi-network-analysis plugin — 1 skill, 11 commands, 4 agents, 1 hook, 1 MCP server shipped together

Good fit For asking what would happen if nodes or links were removed or added, resolving node names, and comparing the graph before and after the proposed edit.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/mattartzanthro/gephi-ai/counterfactual
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/MattArtzAnthro/gephi-ai

Made for: Claude Code.

Or install gephi-network-analysis, the plugin that ships this one along with the rest of its 1 skill, 11 commands, 4 agents, 1 hook, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for counterfactual

README.md
[![agentmods](https://agentmods.dev/badge/commands/mattartzanthro/gephi-ai/counterfactual/github.svg)](https://agentmods.dev/commands/mattartzanthro/gephi-ai/counterfactual)
Your own site
<a href="https://agentmods.dev/commands/mattartzanthro/gephi-ai/counterfactual"><img src="https://agentmods.dev/badge/commands/mattartzanthro/gephi-ai/counterfactual/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for counterfactual

Your own site · 80×15
<a href="https://agentmods.dev/commands/mattartzanthro/gephi-ai/counterfactual"><img src="https://agentmods.dev/badge/commands/mattartzanthro/gephi-ai/counterfactual.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 22 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 660 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00022 $0.00660
Opus 5 $0.00011 $0.00330
Sonnet 5 $0.00004 $0.00132
Haiku 4.5 $0.00002 $0.00066

Measured 9d ago against content hash 21e0ed27dcc3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

counterfactual scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/claude-code/commands/counterfactual.md · 49 lines

How it starts

The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Counterfactual test

Answer $ARGUMENTS by running it as a real measurement against the graph currently loaded in Gephi, using gephi_whatif. It duplicates the current workspace, applies the edit to the copy, diffs the structural profile before/after, then deletes the copy — the real graph is never touched, so this is safe to run repeatedly.

If $ARGUMENTS is empty, ask what edit they want to test (one sentence is enough: "what if we removed the top hub?", "what if these two accounts stopped talking?").

Steps

  1. Health check: gephi_health_check. If it fails, tell the user to start Gephi and stop.

  2. Resolve the edit. Turn the plain-language question into gephi_whatif's edit list (remove_node, remove_nodes, add_edge, remove_edge). If the person names nodes by label rather than id ("the top hub", "Alice"), resolve the id first — gephi_query_nodes for a name/rank lookup, gephi_compute_degree or the existing profile if "top hub" needs a metric to rank by. Confirm which node(s) you resolved to before running the edit if there's any ambiguity.

  3. Run gephi_whatif with the resolved edits. Only pass include_slow: true (diffs average path length / diameter too) if the graph is roughly under 3k nodes — same cost gate as gephi_profile_graph.

  4. Report the diff, not a verdict. gephi_whatif returns measurements, and the framing matters:

    • Lead with the numbers that changed and by how much (components, giant-component share, density, modularity, isolates, path length if computed).
    • This is a hypothesis test, not a conclusion — say what the delta does and does not support, and note the same caution that applies to any single sample: a counterfactual on a small or skewed graph, or a single removed node standing in for a whole category, can mislead.
    • Offer a rival read where one exists (e.g. "components jumped because this specific hub is also a cut vertex, not because hubs in general hold the network together — want to test a second one to check?").

Read the full file on GitHub · 49 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 49 lines · 22 tokens per session scan A 21e0ed27dcc3

Subscribe to this mod's changes

counterfactual is a command published in the GitHub repository MattArtzAnthro/gephi-ai (22 stars, last pushed 8d ago), licensed Apache-2.0. It adds 22 tokens to every session and 660 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.