agent-planner-mcp 0.5.0 → 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/AGENT_GUIDE.md +257 -0
- package/README.md +128 -286
- package/SKILL.md +438 -0
- package/package.json +17 -6
- package/src/api-client.js +298 -66
- package/src/index.js +3 -2
- package/src/server-http.js +73 -14
- package/src/session-manager.js +22 -0
- package/src/setup.js +1 -1
- package/src/tools.js +653 -210
- package/claude-code/AUTONOMOUS_EXECUTION_GUIDE.md +0 -335
- package/claude-code/commands/README.md +0 -112
- package/claude-code/commands/create-plan.md +0 -174
- package/claude-code/commands/execute-plan.md +0 -202
- package/claude-code/commands/plan-status.md +0 -145
- package/claude-code/settings.template.json +0 -12
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-planner-mcp",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "MCP server
|
|
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"
|
|
@@ -19,11 +19,21 @@
|
|
|
19
19
|
},
|
|
20
20
|
"keywords": [
|
|
21
21
|
"mcp",
|
|
22
|
+
"mcp-server",
|
|
22
23
|
"model-context-protocol",
|
|
23
24
|
"planning",
|
|
24
25
|
"claude",
|
|
26
|
+
"chatgpt",
|
|
27
|
+
"cursor",
|
|
28
|
+
"windsurf",
|
|
29
|
+
"cline",
|
|
25
30
|
"ai",
|
|
26
|
-
"agent-planner"
|
|
31
|
+
"agent-planner",
|
|
32
|
+
"agent-orchestration",
|
|
33
|
+
"project-management",
|
|
34
|
+
"task-management",
|
|
35
|
+
"knowledge-graph",
|
|
36
|
+
"dependency-graph"
|
|
27
37
|
],
|
|
28
38
|
"author": "TalkingAgents",
|
|
29
39
|
"license": "MIT",
|
|
@@ -33,7 +43,7 @@
|
|
|
33
43
|
},
|
|
34
44
|
"homepage": "https://agentplanner.io",
|
|
35
45
|
"bugs": {
|
|
36
|
-
"url": "https://github.com/
|
|
46
|
+
"url": "https://github.com/TAgents/agent-planner-mcp/issues"
|
|
37
47
|
},
|
|
38
48
|
"dependencies": {
|
|
39
49
|
"@modelcontextprotocol/sdk": "^1.8.0",
|
|
@@ -54,8 +64,9 @@
|
|
|
54
64
|
},
|
|
55
65
|
"files": [
|
|
56
66
|
"src/",
|
|
57
|
-
"claude-code/",
|
|
58
67
|
"README.md",
|
|
59
|
-
"LICENSE"
|
|
68
|
+
"LICENSE",
|
|
69
|
+
"SKILL.md",
|
|
70
|
+
"AGENT_GUIDE.md"
|
|
60
71
|
]
|
|
61
72
|
}
|