@neat.is/claude-skill 0.9.20-dev.20260922 → 0.9.21-dev.20260923
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/SKILL.md +18 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @neat.is/claude-skill
|
|
2
2
|
|
|
3
|
-
Drop-in MCP config that hooks NEAT's
|
|
3
|
+
Drop-in MCP config that hooks NEAT's twenty-four MCP tools into Claude Code.
|
|
4
4
|
|
|
5
5
|
See [SKILL.md](./SKILL.md) for the tool list, install steps, and prerequisites.
|
|
6
6
|
|
|
@@ -18,4 +18,4 @@ Alongside the MCP config, this package ships the affordances that make an agent
|
|
|
18
18
|
|
|
19
19
|
## When this drifts
|
|
20
20
|
|
|
21
|
-
If the
|
|
21
|
+
If the MCP tool surface changes shape or the `@neat.is/mcp` package ships a different stdio entrypoint, this snippet needs to keep up. The contract test in `packages/core/test/audits/contracts.test.ts` enforces the snippet shape — `command: 'npx'`, args wired to `@neat.is/mcp`, type `stdio`, plus `NEAT_API_URL` env wired through.
|
package/SKILL.md
CHANGED
|
@@ -4,22 +4,26 @@ This skill exposes NEAT's live semantic graph to Claude Code over MCP. Once inst
|
|
|
4
4
|
|
|
5
5
|
## What you get
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Twenty-four MCP tools, served by `@neat.is/mcp` over stdio — fourteen read-only graph queries, six `/neat extend` tools for instrumentation, and four hosted connector tools. The canonical list lives in `MCP_TOOL_NAMES` (`@neat.is/types`); the server registrations are the source for every description below.
|
|
8
8
|
|
|
9
9
|
### Read tools
|
|
10
10
|
|
|
11
11
|
| Tool | What it does |
|
|
12
12
|
|------|--------------|
|
|
13
|
+
| `ask` | Ask the graph a question in plain language — the front door. Resolves the entities in the question to nodes and routes to the right traversal, so you need neither a tool name nor a node id. Reach for it before Read/Grep/Bash. |
|
|
13
14
|
| `get_root_cause` | Trace a failing node up its dependency graph to the underlying cause. Use when something is breaking and you want the upstream culprit. |
|
|
14
15
|
| `get_blast_radius` | List every node downstream of a node — what would break if it failed or was redeployed. |
|
|
15
16
|
| `get_dependencies` | Transitive outgoing dependencies, BFS to depth N, each carrying distance, edge type, and provenance (EXTRACTED vs OBSERVED). |
|
|
16
17
|
| `get_observed_dependencies` | Only the runtime (OBSERVED via OTel) outgoing dependencies — compare what code declares against what production does. |
|
|
17
18
|
| `get_incident_history` | Recent OTel error events recorded against a node, most recent first. |
|
|
19
|
+
| `get_incident_card` | One self-sufficient work order for an incident on a node — the incident fused with its root-cause chain, blast radius, governing policies and node divergence, each claim provenance-stamped. |
|
|
18
20
|
| `get_divergences` | Places where the code (EXTRACTED) and production (OBSERVED) disagree, ranked by confidence × severity. The most NEAT-shaped query — reach for it on "is anything weird?" |
|
|
19
21
|
| `get_graph_diff` | Diff a saved graph snapshot against the current live graph — added/removed/changed nodes and edges. |
|
|
20
22
|
| `get_recent_stale_edges` | Most recent OBSERVED → STALE transitions — integrations that have gone quiet. |
|
|
21
23
|
| `check_policies` | Inspect or dry-run the project's `policy.json`. Returns current violations, or violations a hypothetical action would cause. |
|
|
22
24
|
| `semantic_search` | Search nodes by natural-language query (embedding vectors when available, substring fallback otherwise). |
|
|
25
|
+
| `expand` | Take one navigation step from a node — `up` to callers, `down` to callees — with each neighbour classified primary-failure / symptom-only / unrelated. Walk a failure a hop at a time. |
|
|
26
|
+
| `relate` | Confirm whether two nodes are connected, which way, and whether the connecting path carries the failure (`carriesSignal`) rather than merely existing. |
|
|
23
27
|
|
|
24
28
|
### Extend tools (`/neat extend`, ADR-081 / ADR-086)
|
|
25
29
|
|
|
@@ -32,7 +36,18 @@ Sixteen MCP tools, served by `@neat.is/mcp` over stdio — ten read-only graph q
|
|
|
32
36
|
| `neat_apply_extension` | Install an instrumentation package and splice its registration into the OTel hook file. Idempotent. |
|
|
33
37
|
| `neat_rollback_extension` | Undo the last apply for a library — removes the dep and registration. |
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
### Connector tools (hosted, ADR-228)
|
|
40
|
+
|
|
41
|
+
The headless half of `neat connect` — paste a provider token instead of walking a browser consent screen. These are the only tools that call the control plane rather than the daemon, so they need `NEAT_CP_URL` and a `neat_pat_` API key; without those they return a "not configured" note.
|
|
42
|
+
|
|
43
|
+
| Tool | What it does |
|
|
44
|
+
|------|--------------|
|
|
45
|
+
| `neat_list_connectable` | List the providers connectable to this hosted project (Supabase, Railway, …). |
|
|
46
|
+
| `neat_connect` | Connect a provider by pasting its API token. NEAT verifies it against the provider, seals it, and pulls the provider in as OBSERVED. |
|
|
47
|
+
| `neat_connection_status` | List connected providers and each connection's status — connecting, healthy, error, needs reconnect. |
|
|
48
|
+
| `neat_disconnect` | Disconnect a provider and drop its stored connections. |
|
|
49
|
+
|
|
50
|
+
The fourteen read tools read from the live graph the daemon maintains in memory. No fs reads of `graph.json` at request time. The extend tools modify instrumentation files, `package.json`, and the lockfile only; NEAT never calls an LLM and the agent reasons over their output (ADR-084). The connector tools are the one exception to all of this — they call the hosted control plane rather than the daemon, and write connection state, never the graph.
|
|
36
51
|
|
|
37
52
|
## Where OBSERVED comes from
|
|
38
53
|
|
|
@@ -115,7 +130,7 @@ neat hooks --print-settings # the settings.json block --apply merges
|
|
|
115
130
|
|
|
116
131
|
- Auto-detection of an alternate Claude Code config path. The installer assumes `~/.claude.json`.
|
|
117
132
|
- Per-project skill overrides. The skill is user-scoped; project-level MCP config can be added later as a follow-up.
|
|
118
|
-
- Tool-level disable flags.
|
|
133
|
+
- Tool-level disable flags. Every tool is wired in; if you want to hide one, edit the snippet by hand.
|
|
119
134
|
|
|
120
135
|
## Where to look when it doesn't work
|
|
121
136
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neat.is/claude-skill",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.21-dev.20260923",
|
|
4
4
|
"description": "Claude Code skill drop-in for NEAT — wires the @neat.is/mcp server into Claude's MCP config",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"homepage": "https://neat.is",
|