agent-planner-mcp 0.3.1 → 0.5.1

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/SKILL.md ADDED
@@ -0,0 +1,438 @@
1
+ ---
2
+ name: agentplanner
3
+ description: "Agent orchestration skill for AgentPlanner — plan, execute, and track work with dependency management, knowledge graphs, and human oversight"
4
+ version: 1.0.0
5
+ homepage: https://agentplanner.io
6
+ metadata:
7
+ openclaw:
8
+ emoji: "📋"
9
+ requires:
10
+ config:
11
+ - mcp-server-connected
12
+ ---
13
+
14
+ # AgentPlanner — LLM Skill Reference
15
+
16
+ You have access to the AgentPlanner MCP tools. AgentPlanner is a collaborative planning system where you track work, manage dependencies, and coordinate with humans. This document is your complete reference for using it effectively.
17
+
18
+ > **Prerequisite:** This skill requires the `agent-planner-mcp` MCP server to be connected. You need an AgentPlanner account and an API token (create one at Settings → API Tokens on [agentplanner.io](https://agentplanner.io)).
19
+ >
20
+ > **Setup by client:**
21
+ > - **Claude Code:** `npx agent-planner-mcp setup` (interactive — writes to `.mcp.json`)
22
+ > - **Claude Desktop:** Add the MCP server in Settings → Developer → MCP Servers
23
+ > - **Cursor / VS Code:** Add to your MCP config with `npx agent-planner-mcp` as the command
24
+ > - **ChatGPT:** Use the HTTP endpoint at `https://agentplanner.io/mcp` with your API token
25
+ > - **Other MCP clients:** Run `npx agent-planner-mcp` in stdio mode with env vars `API_URL` and `USER_API_TOKEN`
26
+
27
+ ## When to Use AgentPlanner
28
+
29
+ - You are given a plan ID or task ID to work on
30
+ - You need to break down complex work into trackable steps
31
+ - You need to coordinate with humans on multi-step projects
32
+ - You want to persist findings, decisions, or progress across sessions
33
+ - You are asked to plan, research, or implement something as part of a tracked workflow
34
+
35
+ ## Workflow
36
+
37
+ Follow this sequence when working on a plan:
38
+
39
+ ```
40
+ 1. ORIENT → suggest_next_tasks or get_task_context to understand what needs doing
41
+ 2. CLAIM → quick_status to mark the task in_progress
42
+ 3. WORK → Do the actual work (code, research, analysis, etc.)
43
+ 4. LOG → quick_log or add_log to record what you did and found
44
+ ↳ For important findings, also use add_learning to persist to the temporal knowledge graph
45
+ 5. COMPLETE → quick_status to mark completed (auto-unblocks downstream tasks)
46
+ 6. NEXT → suggest_next_tasks to find the next ready task
47
+ ```
48
+
49
+ ## Loading Context
50
+
51
+ Always load context before starting work. Use `get_task_context` — it gives you exactly the right amount of information based on depth level.
52
+
53
+ ```
54
+ get_task_context({ node_id: "<task_id>", depth: 2 })
55
+ ```
56
+
57
+ Depth levels:
58
+ - **1** — Task only: node details + recent logs. Use when you already know the plan well.
59
+ - **2** — Neighborhood: adds parent, siblings, direct dependencies (upstream/downstream). **Default and recommended.**
60
+ - **3** — Knowledge: adds Graphiti temporal knowledge (entities, facts). Use when the task requires domain context.
61
+ - **4** — Extended: adds plan overview, ancestry path, linked goals, transitive dependencies. Use for first-time orientation or cross-cutting tasks.
62
+
63
+ If your context window is limited, set `token_budget` to cap the response size:
64
+ ```
65
+ get_task_context({ node_id: "<task_id>", depth: 3, token_budget: 4000 })
66
+ ```
67
+
68
+ ## Finding What to Work On
69
+
70
+ ```
71
+ suggest_next_tasks({ plan_id: "<plan_id>" })
72
+ ```
73
+
74
+ Returns tasks that are **ready** — all upstream dependencies are completed. Sorted by priority:
75
+ 1. RPI research tasks (start of a chain)
76
+ 2. Tasks that unblock the most downstream work
77
+ 3. Tasks by order index
78
+
79
+ Each suggestion includes a `reason` field explaining why it's recommended.
80
+
81
+ ## Tool Reference
82
+
83
+ ### Quick Actions (Low Friction)
84
+
85
+ | Tool | Use When |
86
+ |------|----------|
87
+ | `quick_plan` | Creating a new plan from a title + task list (provide goal_id to auto-link) |
88
+ | `quick_task` | Adding a single task to an existing plan |
89
+ | `quick_status` | Updating a task's status (the most common operation) |
90
+ | `quick_log` | Logging progress on a task |
91
+
92
+ ### Plans
93
+
94
+ | Tool | Purpose |
95
+ |------|---------|
96
+ | `list_plans` | See all accessible plans |
97
+ | `create_plan` | Create a plan with full options |
98
+ | `update_plan` | Change plan title, description, visibility |
99
+ | `delete_plan` | Delete a plan |
100
+ | `get_plan_structure` | Get hierarchical tree (minimal fields — fast) |
101
+ | `get_plan_summary` | Statistics and overview |
102
+ | `share_plan` | Share a plan with another user |
103
+
104
+ ### Nodes (Tasks, Phases, Milestones)
105
+
106
+ | Tool | Purpose |
107
+ |------|---------|
108
+ | `create_node` | Create a task, phase, or milestone |
109
+ | `update_node` | Change title, description, status, task_mode, etc. |
110
+ | `delete_node` | Delete a node and its children |
111
+ | `move_node` | Reparent or reorder a node |
112
+ | `batch_update_nodes` | Update multiple nodes at once |
113
+ | `get_node_context` | Detailed node info with children and logs |
114
+ | `get_node_ancestry` | Path from root to node |
115
+
116
+ When creating nodes:
117
+ - `node_type`: `phase` (group of tasks), `task` (unit of work), `milestone` (checkpoint)
118
+ - `task_mode`: `free` (default), `research`, `plan`, `implement` (for RPI chains)
119
+ - `status`: `not_started`, `in_progress`, `completed`, `blocked`, `plan_ready`
120
+
121
+ ### Dependencies
122
+
123
+ | Tool | Purpose |
124
+ |------|---------|
125
+ | `create_dependency` | Create a directed edge between two nodes |
126
+ | `delete_dependency` | Remove a dependency edge |
127
+ | `list_dependencies` | List all edges in a plan |
128
+ | `get_node_dependencies` | Get upstream/downstream/both for a node |
129
+ | `analyze_impact` | What happens if a node is delayed/blocked/removed |
130
+ | `get_critical_path` | Longest blocking chain through incomplete tasks |
131
+
132
+ Dependency types:
133
+ - `blocks` — Source must complete before target can start (hard constraint)
134
+ - `requires` — Target needs output from source (softer)
135
+ - `relates_to` — Informational link, no execution constraint
136
+
137
+ Example — "Design API" blocks "Implement API":
138
+ ```
139
+ create_dependency({
140
+ plan_id: "...",
141
+ source_node_id: "<design_api_id>",
142
+ target_node_id: "<implement_api_id>",
143
+ dependency_type: "blocks"
144
+ })
145
+ ```
146
+
147
+ Cycle detection is automatic — you cannot create a dependency that would form a cycle.
148
+
149
+ ### Context & Analysis
150
+
151
+ | Tool | Purpose |
152
+ |------|---------|
153
+ | `get_task_context` | **Preferred.** Progressive context at depth 1-4 with token budgeting |
154
+ | `suggest_next_tasks` | Find ready tasks based on dependency analysis |
155
+ | `understand_context` | Full situation overview for a plan or goal (see Orientation) |
156
+ | `get_plan_context` | Plan overview with phase summaries |
157
+ | `get_agent_context` | Legacy leaf-up context (use `get_task_context` instead) |
158
+ | `get_context` | Legacy full-plan context (use `get_task_context` or `understand_context` instead) |
159
+
160
+ ### Logging
161
+
162
+ | Tool | Purpose |
163
+ |------|---------|
164
+ | `add_log` | Add a structured log entry to a node |
165
+ | `get_logs` | Retrieve log entries for a node |
166
+
167
+ Log types and when to use them:
168
+ - `progress` — Status updates, milestones reached
169
+ - `reasoning` — Analysis, findings, thought process (high value for downstream tasks)
170
+ - `decision` — Choices made and why (highest value — persists through compaction)
171
+ - `challenge` — Obstacles encountered, workarounds found
172
+ - `comment` — General notes
173
+
174
+ For research and plan tasks, use `reasoning` and `decision` log types — these are preserved when research output is compacted for downstream implement tasks.
175
+
176
+ ### Goals
177
+
178
+ | Tool | Purpose |
179
+ |------|---------|
180
+ | `check_goals_health` | Dashboard of all goals with health status, bottlenecks, and gaps |
181
+ | `list_goals` | See all goals |
182
+ | `create_goal` | Create a goal |
183
+ | `update_goal` | Update goal details |
184
+ | `get_goal` | Get goal with linked plans |
185
+ | `link_plan_to_goal` | Connect a plan to a goal |
186
+ | `unlink_plan_from_goal` | Disconnect a plan from a goal |
187
+ | `goal_path` | Full dependency path to a goal — all tasks that contribute (direct achievers + upstream blockers) |
188
+ | `goal_progress` | Completion percentage calculated from the goal's dependency graph |
189
+ | `goal_knowledge_gaps` | Detect tasks on the goal path that lack knowledge — identifies where research is needed |
190
+ | `add_achiever` | Link a task to a goal via an "achieves" edge (declares this task contributes to the goal) |
191
+ | `remove_achiever` | Remove an achieves edge between a task and a goal |
192
+
193
+ Goal-task linking creates a dependency graph from tasks up to goals. Use `add_achiever` to declare which tasks contribute to a goal, then `goal_path` and `goal_progress` to track completion through the full dependency chain. `goal_knowledge_gaps` checks which tasks on the path lack relevant knowledge in the temporal graph — useful for identifying where research is needed before implementation.
194
+
195
+ ### Cross-Plan Dependencies
196
+
197
+ | Tool | Purpose |
198
+ |------|---------|
199
+ | `create_cross_plan_dependency` | Create a dependency edge between nodes in different plans |
200
+ | `list_cross_plan_dependencies` | List all edges that cross plan boundaries between specified plans |
201
+ | `create_external_dependency` | Create an external blocker (vendor API, legal approval, etc.) that optionally blocks a task |
202
+
203
+ Cross-plan dependencies work the same as regular dependencies (`blocks`, `requires`, `relates_to`) but connect nodes across plans. External dependencies represent blockers outside the system.
204
+
205
+ ### Task Claiming
206
+
207
+ | Tool | Purpose |
208
+ |------|---------|
209
+ | `claim_task` | Claim exclusive ownership of a task (prevents agent collisions) |
210
+ | `release_task` | Release a previously claimed task |
211
+
212
+ ### Knowledge (Temporal Knowledge Graph)
213
+
214
+ All knowledge is stored in the Graphiti temporal knowledge graph, which automatically extracts entities and relationships and enables cross-plan knowledge retrieval. The temporal graph is **cross-plan** and **persists across sessions** — anything recorded is available to all future agents and conversations within the organization.
215
+
216
+ | Tool | Purpose |
217
+ |------|---------|
218
+ | `add_learning` | Record knowledge to the temporal graph with automatic entity extraction |
219
+ | `recall_knowledge` | Search the temporal knowledge graph across ALL plans in the org |
220
+ | `find_entities` | Search for entities (technologies, people, patterns, etc.) |
221
+ | `check_contradictions` | Check if knowledge about a topic has changed; returns current and superseded (outdated) facts |
222
+ | `get_recent_episodes` | Get recent knowledge episodes from the temporal graph (work session history) |
223
+
224
+ `add_learning` params:
225
+ - `content` (required) — The knowledge to record
226
+ - `title` — Short title for the entry
227
+ - `entry_type` — `decision`, `learning`, `context`, or `constraint`
228
+ - `plan_id` — Associate with a specific plan
229
+ - `node_id` — Associate with a specific node
230
+
231
+ `recall_knowledge` params:
232
+ - `query` (required) — Natural language search query
233
+ - `max_results` — Number of results (default 10)
234
+
235
+ `find_entities` params:
236
+ - `query` (required) — Entity name or description to search for
237
+ - `max_results` — Number of results (default 10)
238
+
239
+ `check_contradictions` params:
240
+ - `query` (required) — Topic to check for contradictions
241
+ - `max_results` — Number of results (default 10)
242
+
243
+ Use `check_contradictions` before making decisions based on past knowledge. It returns two sets of facts: **current** (valid) and **superseded** (outdated). If superseded facts exist, review them — the situation may have changed since you last encountered this topic.
244
+
245
+ `get_recent_episodes` params:
246
+ - `max_episodes` — Maximum episodes to return (default 20)
247
+
248
+ Use `get_recent_episodes` to review what has been learned recently across all plans. Useful for session start-up (understanding recent activity) or auditing what knowledge has been captured.
249
+
250
+ ### Organizations
251
+
252
+ | Tool | Purpose |
253
+ |------|---------|
254
+ | `list_organizations` | List your organizations |
255
+ | `get_organization` | Organization details |
256
+ | `create_organization` | Create an org |
257
+ | `update_organization` | Update org details |
258
+
259
+ ### Orientation
260
+
261
+ | Tool | Purpose |
262
+ |------|---------|
263
+ | `get_started` | Guidance on how to use AgentPlanner — call when new or unsure how to approach a task |
264
+ | `understand_context` | Comprehensive context about a plan or goal (purpose, state, activity, blockers, knowledge) |
265
+
266
+ `get_started` accepts an optional `topic`: `overview`, `planning`, `execution`, `knowledge`, or `collaboration`.
267
+
268
+ `understand_context` accepts `plan_id` and/or `goal_id` — use it before starting work on an unfamiliar plan or goal to get the full picture in one call.
269
+
270
+ ### Other
271
+
272
+ | Tool | Purpose |
273
+ |------|---------|
274
+ | `search` | Global search across plans and nodes |
275
+ | `get_my_tasks` | Tasks assigned to you across all plans |
276
+ | `import_plan_markdown` | Create a plan from markdown |
277
+ | `export_plan_markdown` | Export a plan as markdown |
278
+
279
+ ## RPI Chains (Research → Plan → Implement)
280
+
281
+ For complex tasks that need investigation before implementation, decompose into an RPI chain:
282
+
283
+ ```
284
+ create_rpi_chain({
285
+ plan_id: "<plan_id>",
286
+ parent_id: "<phase_id>",
287
+ title: "Auth Service",
288
+ research_description: "Research auth patterns for microservices"
289
+ })
290
+ ```
291
+
292
+ This creates 3 tasks with blocking dependencies wired automatically:
293
+
294
+ ```
295
+ Research (task_mode=research)
296
+ │ Investigate the problem. Log findings as reasoning/decision entries.
297
+ │ Mark completed when done → research output is auto-compacted.
298
+
299
+ Plan (task_mode=plan)
300
+ │ Gets compacted research automatically.
301
+ │ Design the solution. Mark plan_ready for human review.
302
+ ▼ Human approves → mark completed.
303
+ Implement (task_mode=implement)
304
+ │ Gets compacted research + plan context automatically.
305
+ │ Build the solution.
306
+ ▼ Mark completed when done.
307
+ ```
308
+
309
+ When to use RPI vs. a single task:
310
+ - **Single task**: Simple, well-understood work. You know how to do it.
311
+ - **RPI chain**: Complex or novel work. Needs investigation. Multiple approaches possible. Risk of rework.
312
+
313
+ ## Status Values
314
+
315
+ | Status | Meaning | When to Set |
316
+ |--------|---------|-------------|
317
+ | `not_started` | No work begun | Default. Also set automatically when all blockers complete. |
318
+ | `in_progress` | Actively being worked on | When you start working on a task. |
319
+ | `completed` | Done and verified | When the work is finished. Triggers auto-unblock of downstream tasks. |
320
+ | `blocked` | Cannot proceed | When waiting on a dependency, decision, or external input. Always log the reason. |
321
+ | `plan_ready` | Awaiting human review | When a plan/research task is done and needs human approval before the next step. |
322
+
323
+ ## Patterns
324
+
325
+ ### Starting a New Session
326
+ ```
327
+ 1. get_my_tasks({}) → see what's in progress or blocked across all plans
328
+ 2. get_recent_episodes({ max_episodes: 10 }) → review what was learned/decided recently across all plans
329
+ 3. If resuming: get_task_context({ node_id: "...", depth: 2 })
330
+ 4. If starting fresh: suggest_next_tasks({ plan_id: "..." })
331
+ ```
332
+
333
+ ### Breaking Down a Large Task
334
+ ```
335
+ 1. Identify the task is too complex for one pass
336
+ 2. create_rpi_chain to decompose it
337
+ 3. Start with the Research task
338
+ 4. Log findings as reasoning/decision entries
339
+ 5. Let the chain guide you through plan → implement
340
+ ```
341
+
342
+ ### Handling Blockers
343
+ ```
344
+ 1. quick_status({ task_id: "...", status: "blocked" })
345
+ 2. add_log({ node_id: "...", content: "Blocked on: <reason>", log_type: "challenge" })
346
+ 3. suggest_next_tasks({ plan_id: "..." }) → find another task to work on
347
+ ```
348
+
349
+ ### After Research or Investigation
350
+ ```
351
+ 1. Log findings to the task: add_log({ node_id: "...", content: "...", log_type: "reasoning" })
352
+ 2. Persist important findings to the temporal knowledge graph:
353
+ add_learning({ content: "Found that X works best because Y", title: "...", entry_type: "learning", plan_id: "..." })
354
+ 3. This makes the knowledge discoverable across ALL plans and future sessions via recall_knowledge
355
+ 4. Always use add_learning for findings you'd want to remember next session — the temporal graph is cross-plan and persistent
356
+ ```
357
+
358
+ ### Before Making an Important Decision
359
+ ```
360
+ 1. recall_knowledge({ query: "relevant topic" }) → check temporal graph for cross-plan knowledge
361
+ 2. check_contradictions({ query: "relevant topic" }) → verify nothing has been superseded since you last checked
362
+ 3. Make the decision (using current, non-superseded facts)
363
+ 4. add_log({ node_id: "...", content: "Decision: <what and why>", log_type: "decision" })
364
+ 5. add_learning({ content: "Decision: <what and why>", title: "...", entry_type: "decision", plan_id: "..." })
365
+ ```
366
+
367
+ ### Understanding Plan Structure
368
+ ```
369
+ 1. get_plan_structure({ plan_id: "..." }) → hierarchical tree (minimal, fast)
370
+ 2. get_plan_summary({ plan_id: "..." }) → statistics and phase progress
371
+ 3. get_task_context({ node_id: "...", depth: 4 }) → deep context for a specific task
372
+ ```
373
+
374
+ ### Impact Analysis Before Changes
375
+ ```
376
+ 1. analyze_impact({ plan_id: "...", node_id: "...", scenario: "block" })
377
+ → See which tasks would be affected if this task is blocked
378
+ 2. get_critical_path({ plan_id: "..." })
379
+ → See the longest dependency chain (what determines overall completion time)
380
+ ```
381
+
382
+ ## Autonomous Goal-Driven Loop
383
+
384
+ For agents that run periodically (e.g., via cron or event triggers), this is the recommended execution pattern:
385
+
386
+ ### Phase 1: Orient
387
+ ```
388
+ check_goals_health()
389
+ ```
390
+ Identify which goals are stale, at risk, or need attention. Prioritize goals by health status: stale first, then at_risk, then on_track.
391
+
392
+ ### Phase 2: Plan
393
+ For each goal needing attention:
394
+ ```
395
+ get_goal({goal_id}) # Understand the objective
396
+ recall_knowledge({query}) # What do we already know?
397
+ quick_plan({title, tasks, goal_id}) # Create/update plan linked to goal
398
+ ```
399
+
400
+ ### Phase 3: Decompose
401
+ For complex tasks, use RPI chains:
402
+ ```
403
+ create_rpi_chain({plan_id, parent_id, topic}) # Research → Plan → Implement
404
+ ```
405
+
406
+ ### Phase 4: Execute
407
+ ```
408
+ suggest_next_tasks({plan_id}) # What's unblocked?
409
+ claim_task({task_id, plan_id}) # Claim exclusive ownership
410
+ get_task_context({node_id, depth: 3}) # Load context
411
+ # ... do the work ...
412
+ quick_log({task_id, plan_id, message}) # Document progress
413
+ add_learning({content, plan_id}) # Capture knowledge
414
+ quick_status({task_id, plan_id, status: "completed"}) # Triggers propagation
415
+ ```
416
+
417
+ ### Phase 5: Report
418
+ ```
419
+ quick_log({task_id, plan_id, message: "Summary of work done", log_type: "completion"})
420
+ ```
421
+
422
+ ### Key Principles
423
+ - **Always claim before working** — prevents collisions with other agents
424
+ - **Always link plans to goals** — enables health tracking and progress reporting
425
+ - **Log decisions and learnings** — future agents and humans need your reasoning
426
+ - **Check for contradictions** — `check_contradictions()` before acting on old knowledge
427
+ - **Let propagation work** — completing blockers auto-unblocks downstream tasks
428
+
429
+ ## Rules
430
+
431
+ 1. **Always load context before working** — never guess what a task requires.
432
+ 2. **Log as you work** — not just at the end. Frequent logs help humans and future agents.
433
+ 3. **Use `decision` log type for important choices** — these survive research compaction.
434
+ 4. **Check dependencies** — don't start a task if its blockers aren't completed. Use `suggest_next_tasks`.
435
+ 5. **Mark status transitions promptly** — `in_progress` when starting, `completed` when done, `blocked` when stuck.
436
+ 6. **Search knowledge before deciding** — use `recall_knowledge` to check the temporal graph and `check_contradictions` to verify nothing is outdated. Prior decisions may already exist across other plans.
437
+ 7. **Use RPI for complex work** — if you're uncertain about the approach, decompose first.
438
+ 8. **Don't modify tasks you haven't claimed** — mark `in_progress` before making changes.
package/package.json CHANGED
@@ -1,14 +1,16 @@
1
1
  {
2
2
  "name": "agent-planner-mcp",
3
- "version": "0.3.1",
4
- "description": "MCP server interface for the Planning System API",
3
+ "version": "0.5.1",
4
+ "description": "MCP server for AgentPlanner AI agent orchestration with planning, dependencies, knowledge graphs, and human oversight",
5
5
  "main": "src/index.js",
6
6
  "bin": {
7
7
  "agent-planner-mcp": "src/cli.js"
8
8
  },
9
9
  "scripts": {
10
10
  "start": "node src/index.js",
11
+ "start:http": "MCP_TRANSPORT=http node src/index.js",
11
12
  "dev": "nodemon src/index.js",
13
+ "dev:http": "MCP_TRANSPORT=http nodemon src/index.js",
12
14
  "test": "jest",
13
15
  "test:tools": "node test-tools.js",
14
16
  "setup": "node src/setup.js",
@@ -17,39 +19,54 @@
17
19
  },
18
20
  "keywords": [
19
21
  "mcp",
22
+ "mcp-server",
20
23
  "model-context-protocol",
21
24
  "planning",
22
25
  "claude",
26
+ "chatgpt",
27
+ "cursor",
28
+ "windsurf",
29
+ "cline",
23
30
  "ai",
24
- "agent-planner"
31
+ "agent-planner",
32
+ "agent-orchestration",
33
+ "project-management",
34
+ "task-management",
35
+ "knowledge-graph",
36
+ "dependency-graph"
25
37
  ],
26
38
  "author": "TalkingAgents",
27
39
  "license": "MIT",
28
40
  "repository": {
29
41
  "type": "git",
30
- "url": "git+https://github.com/talkingagents/agent-planner-mcp.git"
42
+ "url": "git+https://github.com/TAgents/agent-planner-mcp.git"
31
43
  },
32
44
  "homepage": "https://agentplanner.io",
33
45
  "bugs": {
34
- "url": "https://github.com/talkingagents/agent-planner-mcp/issues"
46
+ "url": "https://github.com/TAgents/agent-planner-mcp/issues"
35
47
  },
36
48
  "dependencies": {
37
49
  "@modelcontextprotocol/sdk": "^1.8.0",
38
50
  "axios": "^1.6.2",
39
51
  "dotenv": "^16.3.1",
52
+ "express": "^4.18.2",
40
53
  "ignore": "^7.0.3"
41
54
  },
42
55
  "devDependencies": {
43
56
  "jest": "^29.7.0",
44
57
  "nodemon": "^3.0.1"
45
58
  },
59
+ "publishConfig": {
60
+ "access": "public"
61
+ },
46
62
  "engines": {
47
63
  "node": ">=16.0.0"
48
64
  },
49
65
  "files": [
50
66
  "src/",
51
- "claude-code/",
52
67
  "README.md",
53
- "LICENSE"
68
+ "LICENSE",
69
+ "SKILL.md",
70
+ "AGENT_GUIDE.md"
54
71
  ]
55
72
  }