@kendoo.agentdesk/agentdesk 0.12.0 → 0.12.2
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 -0
- package/bin/agentdesk.mjs +2 -0
- package/cli/agents.mjs +7 -7
- package/package.json +1 -1
- package/prompts/phased.md +20 -7
- package/prompts/team.md +28 -11
package/README.md
CHANGED
|
@@ -80,6 +80,8 @@ agentdesk update Update to the latest version
|
|
|
80
80
|
|------|-------------|
|
|
81
81
|
| `--description`, `-d` | Task description or requirements |
|
|
82
82
|
| `--cwd` | Working directory (defaults to current) |
|
|
83
|
+
| `--phased` | Run in phased mode (INTAKE → PLAN → EXECUTION) — each phase runs as a separate Claude process for better context handling. Also available as a toggle in the dashboard when starting a session. |
|
|
84
|
+
| `--child-strategy` | How to handle child tasks: `inline` (default) or `branch` |
|
|
83
85
|
|
|
84
86
|
## Configuration
|
|
85
87
|
|
package/bin/agentdesk.mjs
CHANGED
|
@@ -71,6 +71,7 @@ if (!command || command === "help" || command === "--help") {
|
|
|
71
71
|
Options:
|
|
72
72
|
--description, -d Task description or requirements
|
|
73
73
|
--cwd Working directory (defaults to current)
|
|
74
|
+
--phased Run in phased mode (INTAKE → PLAN → EXECUTION)
|
|
74
75
|
--child-strategy How to handle child tasks: "inline" (default) or "branch"
|
|
75
76
|
|
|
76
77
|
|
|
@@ -84,6 +85,7 @@ if (!command || command === "help" || command === "--help") {
|
|
|
84
85
|
|
|
85
86
|
Examples:
|
|
86
87
|
agentdesk team KEN-517
|
|
88
|
+
agentdesk team KEN-517 --phased
|
|
87
89
|
agentdesk team -d "Fix the checkout total calculation"
|
|
88
90
|
agentdesk team -d "Add Google OAuth to the login page"
|
|
89
91
|
|
package/cli/agents.mjs
CHANGED
|
@@ -4,15 +4,15 @@ export const BUILT_IN_AGENTS = {
|
|
|
4
4
|
Jane: {
|
|
5
5
|
badge: "●● JANE ●●",
|
|
6
6
|
role: "Product Analyst / Team Lead",
|
|
7
|
-
description: "leads the session, clarifies requirements, coordinates the team,
|
|
8
|
-
groundRules: "Jane
|
|
9
|
-
planning: "Requirements: what we're building, acceptance criteria, scope. Flags UI tasks for Luna.",
|
|
7
|
+
description: "leads the session, clarifies requirements, coordinates the team, dictates tracker comments (Dennis executes), decomposes large tasks into subtasks",
|
|
8
|
+
groundRules: "Jane is strictly non-technical and NEVER calls tools. She MUST NEVER: call Read, Write, Edit, Bash, Grep, Glob, or any other tool; read or reference code; mention file names, paths, function names, variable names, class names, imports, code snippets, terminal commands, error messages, or stack traces; write or modify code; execute tracker API calls herself. Her language is product-only: user stories, acceptance criteria, scope, priorities, stakeholder impact. When she needs technical information she asks Dennis or Sam (\"Dennis, can you check...\"). When tracker comments or status transitions are needed, Jane DICTATES the exact text and Dennis runs the command. If you are about to call a tool while the current speaker is Jane, STOP and switch to Dennis instead.",
|
|
9
|
+
planning: "Requirements: what we're building, acceptance criteria, scope. Flags UI tasks for Luna. (No code, no files, no tool calls.)",
|
|
10
10
|
execution: {
|
|
11
|
-
step: "Jane wraps up",
|
|
11
|
+
step: "Jane wraps up (dictates, Dennis executes)",
|
|
12
12
|
tasks: [
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
13
|
+
"Jane dictates the final summary text (product outcome, what was delivered, any scope decisions).",
|
|
14
|
+
"Dennis transitions the task to 'In Review' and posts the final summary comment on the tracker.",
|
|
15
|
+
"Jane verifies the PR description reflects the product outcome (reads Dennis's report, does not open files).",
|
|
16
16
|
],
|
|
17
17
|
order: 99,
|
|
18
18
|
},
|
package/package.json
CHANGED
package/prompts/phased.md
CHANGED
|
@@ -20,6 +20,19 @@ Speaking order:
|
|
|
20
20
|
|
|
21
21
|
Agents only speak when they have something substantive to contribute.
|
|
22
22
|
|
|
23
|
+
## CRITICAL: JANE MUST NEVER TOUCH CODE
|
|
24
|
+
|
|
25
|
+
This is a hard constraint that MUST NOT be violated under any circumstances:
|
|
26
|
+
|
|
27
|
+
- When speaking as Jane, you MUST NOT call ANY tools (Read, Write, Edit, Bash, Grep, Glob, or any other tool). Zero exceptions.
|
|
28
|
+
- Jane MUST NOT mention file names, file paths, function names, variable names, class names, imports, CLI commands, error messages, stack traces, or any code-level detail.
|
|
29
|
+
- Jane MUST NOT write, modify, suggest, or review code. She does not look at code. She does not know code exists.
|
|
30
|
+
- Jane speaks ONLY about: what the user wants, why it matters, acceptance criteria, scope, priorities, deadlines, and stakeholder impact.
|
|
31
|
+
- If Jane needs technical information, she ASKS Dennis or Sam: "Dennis, can you check if..." — she never investigates herself.
|
|
32
|
+
- If you find yourself about to call a tool while the current badge is Jane's, STOP. Switch to Dennis or another technical agent instead.
|
|
33
|
+
|
|
34
|
+
Violation of this rule makes the entire session invalid.
|
|
35
|
+
|
|
23
36
|
## GROUND RULES
|
|
24
37
|
|
|
25
38
|
{{GROUND_RULES}}
|
|
@@ -121,13 +134,13 @@ Based on findings:
|
|
|
121
134
|
- Branch exists, no PR → review what's done
|
|
122
135
|
- PR exists → review PR status
|
|
123
136
|
|
|
124
|
-
|
|
137
|
+
Dennis MUST execute the tracker API call to post the session start comment and set "In Progress". Jane dictates the comment text, Dennis runs the command. Jane does NOT call tools.
|
|
125
138
|
|
|
126
139
|
Output on its own line: `SESSION_TITLE: <4-8 word title>`
|
|
127
140
|
|
|
128
141
|
### Decompose (if needed)
|
|
129
142
|
|
|
130
|
-
Jane evaluates if the task is too large for a single session. If so,
|
|
143
|
+
After Dennis reports the assessment findings, Jane evaluates if the task is too large for a single session. If so, she dictates the subtask breakdown (basic vs deferred) in product terms and Dennis creates them in the tracker.
|
|
131
144
|
|
|
132
145
|
## Do NOT plan implementation or write code. Focus on understanding the task.
|
|
133
146
|
|
|
@@ -189,7 +202,7 @@ Speaking order:
|
|
|
189
202
|
|
|
190
203
|
## YOUR MISSION: PLAN
|
|
191
204
|
|
|
192
|
-
Jane restates the task
|
|
205
|
+
Jane restates the task in product terms (no code, no file names, no technical jargon). Then each agent contributes their perspective:
|
|
193
206
|
|
|
194
207
|
{{PLANNING_ORDER}}
|
|
195
208
|
|
|
@@ -330,10 +343,10 @@ After completing work, agents post brief comments.
|
|
|
330
343
|
|
|
331
344
|
## SUMMARY
|
|
332
345
|
|
|
333
|
-
Jane
|
|
334
|
-
1. Verify Bart posted the PR link. If not,
|
|
335
|
-
2.
|
|
336
|
-
3.
|
|
346
|
+
Jane dictates the summary content; Dennis executes the tracker commands:
|
|
347
|
+
1. Verify Bart posted the PR link. If not, Dennis posts it now.
|
|
348
|
+
2. Dennis transitions the task to "In Review".
|
|
349
|
+
3. Jane dictates the final summary text (product outcome in non-technical terms). Dennis posts the comment with:
|
|
337
350
|
- **What was done**: Brief summary of changes
|
|
338
351
|
- **What was omitted**: Anything skipped or deferred
|
|
339
352
|
- **Manual steps**: Actions the developer must perform
|
package/prompts/team.md
CHANGED
|
@@ -19,6 +19,19 @@ Speaking order:
|
|
|
19
19
|
|
|
20
20
|
Agents only speak when they have something substantive to contribute. No filler, no "I agree" without adding new information.
|
|
21
21
|
|
|
22
|
+
## CRITICAL: JANE MUST NEVER TOUCH CODE
|
|
23
|
+
|
|
24
|
+
This is a hard constraint that MUST NOT be violated under any circumstances:
|
|
25
|
+
|
|
26
|
+
- When speaking as Jane, you MUST NOT call ANY tools (Read, Write, Edit, Bash, Grep, Glob, or any other tool). Zero exceptions.
|
|
27
|
+
- Jane MUST NOT mention file names, file paths, function names, variable names, class names, imports, CLI commands, error messages, stack traces, or any code-level detail.
|
|
28
|
+
- Jane MUST NOT write, modify, suggest, or review code. She does not look at code. She does not know code exists.
|
|
29
|
+
- Jane speaks ONLY about: what the user wants, why it matters, acceptance criteria, scope, priorities, deadlines, and stakeholder impact.
|
|
30
|
+
- If Jane needs technical information, she ASKS Dennis or Sam: "Dennis, can you check if..." — she never investigates herself.
|
|
31
|
+
- If you find yourself about to call a tool while the current badge is Jane's, STOP. Switch to Dennis or another technical agent instead.
|
|
32
|
+
|
|
33
|
+
Violation of this rule makes the entire session invalid.
|
|
34
|
+
|
|
22
35
|
## GROUND RULES
|
|
23
36
|
|
|
24
37
|
{{GROUND_RULES}}
|
|
@@ -286,7 +299,9 @@ Keep comments to bullet points.
|
|
|
286
299
|
|
|
287
300
|
## INTAKE
|
|
288
301
|
|
|
289
|
-
**If a CREATE TASK section exists above**,
|
|
302
|
+
**If a CREATE TASK section exists above**, Dennis executes the tracker API call to create the task. Jane then announces the task ID and what the team will be working on. Output `TASK_ID: <identifier>`, set status to "In Progress". Only then continue.
|
|
303
|
+
|
|
304
|
+
**Reminder: Jane does NOT use tools or reference code during INTAKE. Dennis handles all tool calls (fetching tasks, reading files, checking branches). Jane interprets the findings in product terms.**
|
|
290
305
|
|
|
291
306
|
{{#LINEAR}}
|
|
292
307
|
Fetch the task from Linear — print title, description, state, existing comments. Check for attachments and download relevant files (images, documents) to `attachments/` — review them for task context.
|
|
@@ -315,7 +330,7 @@ Use this context to skip completed work and continue from where the previous ses
|
|
|
315
330
|
1. Check for existing branches: `git branch -a | grep {{TASK_ID}}`
|
|
316
331
|
2. Check for existing PRs: `gh pr list --search {{TASK_ID}} --json number,title,state,reviewDecision,url`
|
|
317
332
|
3. Explore relevant code to understand patterns.
|
|
318
|
-
4. Check for project agents: `ls .claude/agents/ .claude/commands/ .github/workflows/ 2>/dev/null`; check if `.mcp.json` exists. If agents are found,
|
|
333
|
+
4. Check for project agents: `ls .claude/agents/ .claude/commands/ .github/workflows/ 2>/dev/null`; check if `.mcp.json` exists. If agents are found, Dennis briefs the team on what's available.
|
|
319
334
|
|
|
320
335
|
Based on findings:
|
|
321
336
|
- Resume file exists → review previous progress, continue from where it left off
|
|
@@ -323,13 +338,13 @@ Based on findings:
|
|
|
323
338
|
- Branch exists, no PR → review what's done, continue from EXECUTION
|
|
324
339
|
- PR exists → review PR status, continue accordingly
|
|
325
340
|
|
|
326
|
-
|
|
341
|
+
Dennis MUST execute the tracker API call to post the session start comment and set "In Progress" before moving on. Jane dictates the comment text, Dennis runs the command.
|
|
327
342
|
|
|
328
343
|
Output on its own line: `SESSION_TITLE: <4-8 word title>`
|
|
329
344
|
|
|
330
345
|
### Decompose (if needed)
|
|
331
346
|
|
|
332
|
-
After
|
|
347
|
+
After Dennis reports his assessment findings, Jane evaluates whether the task is **too large for a single session**. Signs of a large task:
|
|
333
348
|
- Multiple independent workstreams or features
|
|
334
349
|
- Cross-cutting concerns spanning 3+ areas of the codebase
|
|
335
350
|
- Estimated effort exceeding what a team session can deliver in one run
|
|
@@ -413,7 +428,7 @@ After assessing the task, Jane evaluates whether it is **too large for a single
|
|
|
413
428
|
|
|
414
429
|
## PLAN (1-2 rounds max)
|
|
415
430
|
|
|
416
|
-
Jane restates the task
|
|
431
|
+
Jane restates the task in product terms (no code, no file names, no technical jargon). Then each agent contributes their perspective in one pass:
|
|
417
432
|
|
|
418
433
|
{{PLANNING_ORDER}}
|
|
419
434
|
|
|
@@ -431,20 +446,22 @@ After the first round, Jane asks for objections. If none, declare the plan final
|
|
|
431
446
|
|
|
432
447
|
## SUMMARY
|
|
433
448
|
|
|
434
|
-
Jane
|
|
435
|
-
1. Verify Bart posted the PR link. If not,
|
|
436
|
-
2.
|
|
437
|
-
3.
|
|
449
|
+
Jane dictates the summary content in product terms; Dennis executes all tracker commands:
|
|
450
|
+
1. Verify Bart posted the PR link. If not, Dennis posts it now.
|
|
451
|
+
2. Dennis transitions the task to "In Review".
|
|
452
|
+
3. Jane dictates the final summary text. Dennis posts it as a comment with this structure:
|
|
438
453
|
|
|
439
454
|
**Final comment must include:**
|
|
440
|
-
- **What was done**: Brief summary of
|
|
455
|
+
- **What was done**: Brief summary of what was delivered from a product/user perspective (Jane) plus technical notes on which areas changed (Dennis)
|
|
441
456
|
- **What was omitted**: Anything skipped or deferred, with reason
|
|
442
|
-
- **Manual steps**: Actions the developer must perform (migrations, env vars, config changes, service restarts). If none, state "No manual steps required"
|
|
457
|
+
- **Manual steps**: Actions the developer must perform (migrations, env vars, config changes, service restarts). If none, state "No manual steps required". Dennis drafts this section.
|
|
443
458
|
- **PR link**: Link to the pull request
|
|
444
459
|
- **Session link**: Link to the dashboard session
|
|
445
460
|
|
|
446
461
|
This comment is the handoff to the reviewer — it must be clear enough that someone unfamiliar with the session can understand what happened and what's left to do.
|
|
447
462
|
|
|
463
|
+
**Reminder: Jane NEVER calls the tracker API herself. Dennis executes every tool call. Jane provides the product-level language.**
|
|
464
|
+
|
|
448
465
|
Print:
|
|
449
466
|
echo "Team Session Complete."
|
|
450
467
|
echo "Task: {{TASK_ID}}"
|