@neat.is/claude-skill 0.2.5
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 +17 -0
- package/SKILL.md +63 -0
- package/claude_code_config.json +12 -0
- package/package.json +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# @neat.is/claude-skill
|
|
2
|
+
|
|
3
|
+
Drop-in MCP config that hooks NEAT's nine MCP tools into Claude Code.
|
|
4
|
+
|
|
5
|
+
See [SKILL.md](./SKILL.md) for the tool list, install steps, and prerequisites.
|
|
6
|
+
|
|
7
|
+
The shipped artifact is `claude_code_config.json` — a single object you merge into your `~/.claude.json` under `mcpServers.neat`. The `neat skill` CLI verb (in `@neat.is/core`) handles the merge for you.
|
|
8
|
+
|
|
9
|
+
## Files
|
|
10
|
+
|
|
11
|
+
- `claude_code_config.json` — the MCP server snippet
|
|
12
|
+
- `SKILL.md` — what the skill exposes and how to install
|
|
13
|
+
- `package.json` — workspace metadata; this package ships no compiled code
|
|
14
|
+
|
|
15
|
+
## When this drifts
|
|
16
|
+
|
|
17
|
+
If the nine MCP tools change 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
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# NEAT — Claude Code skill
|
|
2
|
+
|
|
3
|
+
This skill exposes NEAT's live semantic graph to Claude Code over MCP. Once installed, Claude can ask the running NEAT daemon (`neatd`) about a project's services, dependencies, recent errors, and policy violations — same as any other agent NEAT supports.
|
|
4
|
+
|
|
5
|
+
## What you get
|
|
6
|
+
|
|
7
|
+
Nine MCP tools, served by `@neat.is/mcp` over stdio:
|
|
8
|
+
|
|
9
|
+
| Tool | What it does |
|
|
10
|
+
|------|--------------|
|
|
11
|
+
| `get_graph` | Snapshot of the full graph for a project — every node, every edge, with provenance. |
|
|
12
|
+
| `get_node` | One node by id, with its incoming and outgoing edges. |
|
|
13
|
+
| `get_dependencies` | Transitive closure of `DEPENDS_ON` / `CONNECTS_TO` from a starting node. |
|
|
14
|
+
| `get_root_cause` | Walks incoming edges from a failing node and returns the first divergence — typically a version mismatch or a config gap. |
|
|
15
|
+
| `get_blast_radius` | BFS outbound from a starting node — every service / database / config that would feel a change here. |
|
|
16
|
+
| `get_recent_errors` | Last N error events, ordered by `lastObserved`. |
|
|
17
|
+
| `semantic_search` | Embedding-based search over node names + descriptions. |
|
|
18
|
+
| `check_policies` | Runs the project's `policy.json` rules against the live graph. Returns active violations. |
|
|
19
|
+
| `get_compatibility` | Compatibility matrix lookups — what's known about a `<driver, engine>` pair. |
|
|
20
|
+
|
|
21
|
+
All nine read from the live graph the daemon maintains in memory. No fs reads of `graph.json` at request time.
|
|
22
|
+
|
|
23
|
+
## Install
|
|
24
|
+
|
|
25
|
+
The simplest path: add the snippet from `claude_code_config.json` to your Claude Code MCP config.
|
|
26
|
+
|
|
27
|
+
**macOS / Linux:**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Print the snippet
|
|
31
|
+
cat node_modules/@neat.is/claude-skill/claude_code_config.json
|
|
32
|
+
|
|
33
|
+
# Or, with the neat CLI:
|
|
34
|
+
neat skill --print-config
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Merge `mcpServers.neat` into your existing `~/.claude.json`.
|
|
38
|
+
|
|
39
|
+
**One-shot install** via the NEAT CLI:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
neat skill --apply
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This merges the `neat` server into `~/.claude.json` without touching other entries.
|
|
46
|
+
|
|
47
|
+
## Prerequisites
|
|
48
|
+
|
|
49
|
+
- `neat init <repo>` has registered at least one project.
|
|
50
|
+
- `neatd start` is running (or you're OK with `npx -y @neat.is/mcp` spawning per request — slower, but works).
|
|
51
|
+
- The `NEAT_API_URL` env var points at the running daemon's REST endpoint. Default is `http://localhost:8080`, which matches the daemon's default port.
|
|
52
|
+
|
|
53
|
+
## What's not in MVP
|
|
54
|
+
|
|
55
|
+
- Auto-detection of an alternate Claude Code config path. The installer assumes `~/.claude.json`.
|
|
56
|
+
- Per-project skill overrides. The skill is user-scoped; project-level MCP config can be added later as a follow-up.
|
|
57
|
+
- Tool-level disable flags. All nine tools are wired in; if you want to hide one, edit the snippet by hand.
|
|
58
|
+
|
|
59
|
+
## Where to look when it doesn't work
|
|
60
|
+
|
|
61
|
+
- `neatd status` — confirms the daemon is running and which projects are registered.
|
|
62
|
+
- `~/.claude.json` — the config file. Look for `mcpServers.neat`.
|
|
63
|
+
- `claude mcp list` — Claude Code's built-in inventory of MCP servers.
|
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@neat.is/claude-skill",
|
|
3
|
+
"version": "0.2.5",
|
|
4
|
+
"description": "Claude Code skill drop-in for NEAT — wires the @neat.is/mcp server into Claude's MCP config",
|
|
5
|
+
"license": "BUSL-1.1",
|
|
6
|
+
"homepage": "https://neat.is",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/NEAT-Technologies/Neat.git",
|
|
10
|
+
"directory": "packages/claude-skill"
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"files": ["README.md", "SKILL.md", "claude_code_config.json"],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"test": "vitest run --passWithNoTests",
|
|
18
|
+
"lint": "eslint . --no-error-on-unmatched-pattern || true"
|
|
19
|
+
}
|
|
20
|
+
}
|