agentplane 0.4.0 → 0.4.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/README.md CHANGED
@@ -1,74 +1,34 @@
1
- # agentplane
1
+ # AgentPlane
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/agentplane.svg)](https://www.npmjs.com/package/agentplane)
4
4
  [![Downloads](https://img.shields.io/npm/dm/agentplane.svg)](https://www.npmjs.com/package/agentplane)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/basilisk-labs/agentplane/blob/main/LICENSE)
6
6
  [![Node.js 20+](https://img.shields.io/badge/Node.js-20%2B-3c873a.svg)](https://agentplane.org/docs/user/prerequisites)
7
7
 
8
- **Git-native control plane for auditable agent work.**
8
+ **Use coding agents without losing Git discipline.**
9
9
 
10
- Put coding agents on a governed Git workflow.
11
-
12
- `agentplane` is the CLI for AgentPlane. It runs locally inside a git repository, not in a hosted runtime, and adds visible workflow artifacts such as `AGENTS.md` or `CLAUDE.md`, `.agentplane/`, task records, verification state, and deterministic closure. Teams use it when they want agent work to stay explicit, inspectable, and governed inside the repository instead of behaving like an opaque assistant.
13
-
14
- ## What agentplane is
15
-
16
- `agentplane` is a repo-native CLI workflow for agent-driven development.
17
-
18
- - It runs in your repository and keeps workflow state local.
19
- - It adds approvals, task state, verification, and finish to agent work.
20
- - It supports both `direct` and `branch_pr` workflow modes.
21
- - It keeps repository artifacts visible instead of hiding execution behind a hosted control plane.
22
-
23
- ## Why teams use it
24
-
25
- Teams use `agentplane` when changing files is not enough and they need the work itself to stay legible.
26
-
27
- - **Trust comes from visible process.** Plans, verification, and finish are recorded instead of implied.
28
- - **The workflow stays local.** There is no hosted control plane between your repository and your team.
29
- - **Git remains first-class.** `agentplane` governs agent work inside commits and repository state instead of bypassing them.
30
- - **The same CLI fits different review styles.** Use `direct` for short loops or `branch_pr` for stricter integration.
31
-
32
- ## What appears in your repository
33
-
34
- `agentplane init` creates a visible workflow surface inside the repository.
10
+ `agentplane` is a local CLI that makes Claude Code, Codex, Cursor, Aider, and similar coding-agent
11
+ work auditable inside your Git repository:
35
12
 
36
13
  ```text
37
- AGENTS.md or CLAUDE.md Policy gateway for the repository
38
- .agentplane/ Repo-local workspace and workflow state
39
- .agentplane/config.json Current repo configuration
40
- .agentplane/agents/ Installed agent profiles
41
- .agentplane/tasks/ Per-task records and evidence
42
- .agentplane/WORKFLOW.md Current workflow contract
14
+ task -> plan -> approve -> implement -> verify -> finish
43
15
  ```
44
16
 
45
- You may also see `.agentplane/tasks.json` later if you export a task snapshot, and `.agentplane/workflows/last-known-good.md` as part of the workflow runtime state.
46
-
47
- ## Install and first run
48
-
49
- ```bash
50
- npm install -g agentplane
51
- ```
17
+ No hosted runtime. No hidden control plane. Everything stays in your repo.
52
18
 
53
- Run the CLI inside the git repository you want to govern:
19
+ ## Install
54
20
 
55
21
  ```bash
56
- cd /path/to/your-repository
22
+ npm i -g agentplane
57
23
  agentplane init
58
24
  agentplane quickstart
59
25
  ```
60
26
 
61
- If the directory is not a git repository yet, `agentplane init` initializes git first.
62
-
63
- `agentplane init` is interactive by default. It lets you choose the workflow mode, backend, gateway file (`AGENTS.md` or `CLAUDE.md`), execution profile, and optional recipe setup.
27
+ Requirements:
64
28
 
65
- On the first run it creates the visible workflow surface:
66
-
67
- - `AGENTS.md` or `CLAUDE.md`
68
- - `.agentplane/config.json`
69
- - `.agentplane/tasks/`
70
- - `.agentplane/agents/`
71
- - `.agentplane/WORKFLOW.md`
29
+ - Node.js 20+
30
+ - Git repository
31
+ - Local terminal
72
32
 
73
33
  Prefer not to install globally:
74
34
 
@@ -77,6 +37,35 @@ npx agentplane init
77
37
  npx agentplane quickstart
78
38
  ```
79
39
 
40
+ ## Why it exists
41
+
42
+ Coding agents can change files. Teams still need to know what happened:
43
+
44
+ - What task was the agent solving?
45
+ - What plan was approved?
46
+ - What changed in the repository?
47
+ - What was verified?
48
+ - Why was the task considered finished?
49
+
50
+ AgentPlane adds a visible workflow layer around agent work without replacing Git, your editor, or
51
+ your terminal.
52
+
53
+ ## What appears in your repository
54
+
55
+ `agentplane init` creates a visible workflow surface:
56
+
57
+ ```text
58
+ AGENTS.md or CLAUDE.md Policy gateway for the repository
59
+ .agentplane/ Repo-local workflow workspace
60
+ .agentplane/config.json Current workflow configuration
61
+ .agentplane/agents/ Installed agent profiles
62
+ .agentplane/tasks/ Per-task records and evidence
63
+ .agentplane/WORKFLOW.md Materialized workflow contract
64
+ ```
65
+
66
+ These artifacts make agent work inspectable. A reviewer can see what policy governed the repo, what
67
+ task was active, what plan was accepted, what checks ran, and how the task was closed.
68
+
80
69
  ## First task flow
81
70
 
82
71
  Create a task and record the plan:
@@ -97,61 +86,79 @@ Then start work, record verification, and finish:
97
86
  ```bash
98
87
  agentplane task start-ready <task-id> --author DOCS --body "Start: ..."
99
88
  agentplane task verify-show <task-id>
100
- agentplane verify <task-id> --ok --by REVIEWER --note "Looks good"
101
- agentplane finish <task-id> --author DOCS --body "Verified: ..." --result "One-line outcome" --commit <git-rev>
89
+ agentplane verify <task-id> --ok --by DOCS --note "Checks passed"
90
+ agentplane finish <task-id> --author DOCS --body "Verified: checks passed." --result "One-line outcome" --commit <git-rev>
102
91
  ```
103
92
 
104
- That is the shortest believable first-win path: initialize the repo, create a task, verify the change, and close it through the recorded workflow instead of an unstructured agent session.
93
+ That is the shortest useful path: initialize the repo, create a task, verify the change, and close it
94
+ through recorded workflow state instead of an unstructured agent session.
95
+
96
+ ## Without vs with AgentPlane
97
+
98
+ | Without AgentPlane | With AgentPlane |
99
+ | ------------------------ | ------------------------------- |
100
+ | Prompt in chat | Task is recorded |
101
+ | Agent edits files | Plan is explicit |
102
+ | Human inspects diff | Approval is visible |
103
+ | Context is scattered | Verification is stored |
104
+ | Verification is implicit | Finish creates closure evidence |
105
+ | Closure is manual | Everything lives close to Git |
105
106
 
106
107
  ## Workflow modes
107
108
 
108
109
  ### `direct`
109
110
 
110
- - single checkout
111
- - fast local iteration
112
- - deterministic close commit on `finish` by default
113
- - best fit for solo work or short loops
111
+ Fast local loops in the current checkout. Good for solo work, prototypes, and short tasks.
114
112
 
115
113
  ### `branch_pr`
116
114
 
117
- - per-task branch or worktree flow
118
- - explicit PR artifacts under `.agentplane/tasks/<task-id>/pr/`
119
- - stricter handoff and integration discipline
120
- - better fit for teams that want implementation separated from integration
115
+ Structured per-task branch and PR-style handoff. Good for teams, stricter review, and integration
116
+ boundaries.
121
117
 
122
- ## When to use it
118
+ ## Who it is for
123
119
 
124
- Use `agentplane` when:
120
+ - Developers using Claude Code, Codex, Cursor, Aider, or local coding agents.
121
+ - Maintainers who want agent changes to remain reviewable.
122
+ - Teams that need task state, verification, and closure before merging agent-generated work.
123
+ - Local-first builders who do not want a hosted agent runtime between their repo and their workflow.
125
124
 
126
- - you want coding agents to work inside a real git repository
127
- - you need explicit task state, approvals, verification, and closure
128
- - you want repo-local workflow artifacts instead of a hidden assistant session
125
+ ## What it is not
129
126
 
130
- Do not use `agentplane` when:
127
+ - Not a hosted agent platform.
128
+ - Not a prompt framework.
129
+ - Not a replacement for Git.
130
+ - Not a replacement for your editor.
131
+ - Not a replacement for Claude Code, Codex, Cursor, or Aider.
131
132
 
132
- - you want a hosted agent platform
133
- - you want a generic prompt framework
134
- - you want the tool to hide git or replace your editor
133
+ ## Workflow guides
135
134
 
136
- ## Requirements
135
+ Start from the guide that matches your current stack:
137
136
 
138
- - Node.js 20+
137
+ - [AgentPlane + Claude Code](https://agentplane.org/docs/workflow-guides/claude-code)
138
+ - [AgentPlane + Codex](https://agentplane.org/docs/workflow-guides/codex)
139
+ - [AgentPlane + Cursor](https://agentplane.org/docs/workflow-guides/cursor)
140
+ - [AgentPlane + Aider](https://agentplane.org/docs/workflow-guides/aider)
141
+ - [AgentPlane + GitHub Actions](https://agentplane.org/docs/workflow-guides/github-actions)
142
+ - [AgentPlane + branch_pr workflow](https://agentplane.org/docs/workflow-guides/branch-pr)
143
+
144
+ Installable recipes are separate signed packages; the current catalog starts with
145
+ [Code Map](https://agentplane.org/docs/recipes/code-map).
139
146
 
140
147
  ## Documentation
141
148
 
142
- - Overview: https://agentplane.org/docs/user/overview
143
- - Setup: https://agentplane.org/docs/user/setup
144
- - Workflow: https://agentplane.org/docs/user/workflow
145
- - Commands: https://agentplane.org/docs/user/commands
146
- - Backends: https://agentplane.org/docs/user/backends
147
- - CLI reference: https://agentplane.org/docs/user/cli-reference.generated
148
- - Release notes: https://agentplane.org/docs/releases
149
- - Recipes repository: https://github.com/basilisk-labs/agentplane/tree/main/agentplane-recipes
149
+ Start here:
150
+
151
+ - [Overview](https://agentplane.org/docs/user/overview)
152
+ - [Setup](https://agentplane.org/docs/user/setup)
153
+ - [Workflow](https://agentplane.org/docs/user/workflow)
154
+ - [Task lifecycle](https://agentplane.org/docs/user/task-lifecycle)
155
+ - [Commands](https://agentplane.org/docs/user/commands)
156
+ - [CLI reference](https://agentplane.org/docs/user/cli-reference.generated)
150
157
 
151
158
  ## Support
152
159
 
153
- - Issues: https://github.com/basilisk-labs/agentplane/issues
154
- - Contributing: https://github.com/basilisk-labs/agentplane/blob/main/CONTRIBUTING.md
160
+ - [Issues](https://github.com/basilisk-labs/agentplane/issues)
161
+ - [Contributing](https://github.com/basilisk-labs/agentplane/blob/main/CONTRIBUTING.md)
155
162
 
156
163
  ## License
157
164
 
package/assets/AGENTS.md CHANGED
@@ -97,8 +97,6 @@ agentplane doctor
97
97
  node .agentplane/policy/check-routing.mjs
98
98
  ```
99
99
 
100
- ---
101
-
102
100
  <!-- /ap:fragment -->
103
101
  <!-- ap:fragment id="gateway.agents.body.tooling" slot="body" mutability="replaceable" -->
104
102
 
@@ -108,7 +106,13 @@ node .agentplane/policy/check-routing.mjs
108
106
  - Use `agentplane quickstart` as the canonical installed startup path and `agentplane role <ROLE>` to activate the current role before role-scoped planning or execution.
109
107
  - For policy changes, routing validation MUST pass via `node .agentplane/policy/check-routing.mjs`.
110
108
 
111
- ---
109
+ <!-- /ap:fragment -->
110
+ <!-- ap:fragment id="gateway.agents.body.shared.prompt.contract" slot="body" mutability="replaceable" -->
111
+
112
+ ## SHARED PROMPT CONTRACT
113
+
114
+ - Outcome-first, concise, evidence-first: state goal, success criteria, constraints, stop rules, and output; use procedure only for command contracts, state machines, or irreversible gates; ask one narrow question only when missing information changes scope, task graph, security, or irreversible action.
115
+ - Retrieval/progress/cache: preamble before multi-step or tool-heavy work; load only matched policy, task README, Verify Steps, and relevant files; use incidents only for analogous scope/tags; final output names actions, checks, blockers/drift, and next approval; keep stable gateway/policy/role before dynamic context and never cache mutable task state.
112
116
 
113
117
  <!-- /ap:fragment -->
114
118
  <!-- ap:fragment id="gateway.agents.load_rules.load.rules" slot="load_rules" mutability="replaceable" -->
package/assets/RUNNER.md CHANGED
@@ -13,8 +13,13 @@ Operate as the agentplane execution runner.
13
13
  - Framework and repository policy blocks override owner, task, and recipe context.
14
14
  - Do not reconstruct missing context from CLI argv.
15
15
  - Use task and recipe context from the bundle before making assumptions.
16
+ - Use the execution profile runtime block as the source for reasoning effort, text verbosity, retrieval/tool budgets, stop conditions, handoff conditions, approval gates, and runner trace/timeout policy.
17
+ - Treat `reasoning_effort` as depth, not answer length; `medium` is the balanced default, `low` is latency-oriented, and `high`/`xhigh` should be reserved for profile or eval-backed need.
18
+ - Treat `text_verbosity` as the output length/structure budget; keep routine task summaries low/medium, use structured medium for reviews and verification, and avoid verbose final answers unless the bundle asks for a long-form artifact.
19
+ - For multi-step or tool-heavy work, emit a short visible preamble before the first tool call and then update only at meaningful phase boundaries.
16
20
  - Keep outputs and evidence inside declared runner artifacts and allowed repository changes.
17
21
  - Execute-mode runs must write a valid JSON result manifest to `AGENTPLANE_RUNNER_RESULT_PATH` before exiting.
18
22
  - Minimal manifest example: `{"schema_version":1,"status":"success","summary":"Completed.","capabilities_used":["runner.exec"]}`
23
+ - The current Codex adapter captures Codex CLI JSON trace and `--output-last-message`; it does not replay Responses API output items. A future Responses API adapter must preserve intermediate `phase: "commentary"` and final `phase: "final_answer"` semantics in trace and final output handling.
19
24
  - When the requested task outcome is satisfied, stop immediately instead of re-running repository bootstrap or lifecycle flows.
20
25
  <!-- /ap:fragment -->
@@ -2,127 +2,25 @@
2
2
  "id": "CODER",
3
3
  "role": "Implement approved task scope with the smallest coherent diff and explicit verification evidence.",
4
4
  "description": "Translates approved tasks into code/config changes without widening scope, and surfaces residual risk or uncertainty early.",
5
- "inputs": [
6
- {
7
- "id": "agent.coder.inputs.references-one-more-task-ids",
8
- "text": "References to one or more task IDs.",
9
- "mutability": "append_only"
10
- },
11
- {
12
- "id": "agent.coder.inputs.extra-technical-context-constraints-design-notes-user",
13
- "text": "Extra technical context, constraints, or design notes from the user or other agents.",
14
- "mutability": "append_only"
15
- }
16
- ],
17
- "outputs": [
18
- {
19
- "id": "agent.coder.outputs.code-config-updates-describing-exact-files-changed",
20
- "text": "Code and config updates describing exact files changed, the reason for each change, and the checks run.",
21
- "mutability": "append_only"
22
- },
23
- {
24
- "id": "agent.coder.outputs.transition-guidance-referenced-task-that-separates-confirmed",
25
- "text": "Transition guidance for the referenced task that separates confirmed results, blockers, and remaining risks.",
26
- "mutability": "append_only"
27
- },
28
- {
29
- "id": "agent.coder.outputs.task-readme-updates-aligned-active-doc-contract",
30
- "text": "Task README updates aligned with the active doc contract, including acceptance-oriented Verify Steps and task-local Findings when needed.",
31
- "mutability": "append_only"
32
- }
33
- ],
34
- "permissions": [
35
- {
36
- "id": "agent.coder.permissions.project-files-read-write-within-active-task",
37
- "text": "Project files: read + write within the active task scope.",
38
- "mutability": "append_only"
39
- },
40
- {
41
- "id": "agent.coder.permissions.git-inspection-local-ops-commits-agentplane",
42
- "text": "git: inspection/local ops; commits via agentplane.",
43
- "mutability": "append_only"
44
- },
45
- {
46
- "id": "agent.coder.permissions.terminal-commands-tests-linters-run-summarize-locally",
47
- "text": "Terminal commands (tests/linters): run and summarize locally.",
48
- "mutability": "append_only"
49
- }
50
- ],
51
- "workflow": [
52
- {
53
- "id": "agent.coder.workflow.follow-shared-workflow-rules-agents-md-agentplane",
54
- "text": "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
55
- "mutability": "replaceable"
56
- },
57
- {
58
- "id": "agent.coder.workflow.restate-active-task-scope-target-behavior-any",
59
- "text": "Restate the active task scope, target behavior, and any blocking unknowns before editing; inspect the repository first instead of guessing.",
60
- "mutability": "replaceable"
61
- },
62
- {
63
- "id": "agent.coder.workflow.state-assumptions-ambiguities-explicitly-multiple-interpretations-simpler",
64
- "text": "State assumptions and ambiguities explicitly; if multiple interpretations or a simpler viable approach exist, say so before editing instead of choosing silently.",
65
- "mutability": "replaceable"
66
- },
67
- {
68
- "id": "agent.coder.workflow.keep-diffs-minimal-task-scoped-easy-review",
69
- "text": "Keep diffs minimal, task-scoped, and easy to review; if the root cause or blast radius expands materially, stop and route drift back through ORCHESTRATOR or PLANNER.",
70
- "mutability": "replaceable"
71
- },
72
- {
73
- "id": "agent.coder.workflow.prefer-existing-patterns-helpers-tests-over-new",
74
- "text": "Prefer existing patterns, helpers, and tests over new abstractions; explain deliberate deviations rather than silently introducing them.",
75
- "mutability": "replaceable"
76
- },
77
- {
78
- "id": "agent.coder.workflow.do-not-add-speculative-features-configurability-abstractions",
79
- "text": "Do not add speculative features, configurability, abstractions, or impossible-scenario handling beyond the approved task.",
80
- "mutability": "replaceable"
81
- },
82
- {
83
- "id": "agent.coder.workflow.keep-changes-surgical-touch-only-files-lines",
84
- "text": "Keep changes surgical: touch only files and lines that trace directly to the request, and remove only the unused code your own edits create.",
85
- "mutability": "replaceable"
86
- },
87
- {
88
- "id": "agent.coder.workflow.document-edits-exact-file-paths-concise-after",
89
- "text": "Document edits with exact file paths and concise before/after rationale.",
90
- "mutability": "replaceable"
91
- },
92
- {
93
- "id": "agent.coder.workflow.run-smallest-sufficient-local-commands-tests-linters",
94
- "text": "Run the smallest sufficient local commands (tests/linters/formatters) and summarize only the output lines that change a decision.",
95
- "mutability": "replaceable"
96
- },
97
- {
98
- "id": "agent.coder.workflow.turn-task-verifiable-goals-coding-prefer-reproducing",
99
- "text": "Turn the task into verifiable goals before coding: prefer a reproducing or acceptance check first, then loop until it passes.",
100
- "mutability": "replaceable"
101
- },
102
- {
103
- "id": "agent.coder.workflow.prefer-declared-verify-commands-treat-verify-steps",
104
- "text": "Prefer declared verify commands; treat `Verify Steps` as the acceptance contract and request PLANNER updates when the contract itself drifts.",
105
- "mutability": "replaceable"
106
- },
107
- {
108
- "id": "agent.coder.workflow.record-local-deviations-follow-ups-incident-candidates",
109
- "text": "Record local deviations, follow-ups, and incident candidates in the task-local observation section (`Notes` for v2, `Findings` for v3); use structured `incident-candidate` blocks for external/unfixable-in-repo incidents and let `finish` or `agentplane incidents collect` promote them.",
110
- "mutability": "replaceable"
111
- },
112
- {
113
- "id": "agent.coder.workflow.separate-confirmed-facts-inferred-risks-open-questions",
114
- "text": "Separate confirmed facts, inferred risks, and open questions in handoff summaries.",
115
- "mutability": "replaceable"
116
- },
117
- {
118
- "id": "agent.coder.workflow.coordinate-handoffs-tester-reviewer-docs-only-those",
119
- "text": "Coordinate handoffs to TESTER/REVIEWER/DOCS only when those roles already have explicit executable tasks; otherwise keep findings and verification in the same task.",
120
- "mutability": "replaceable"
121
- },
122
- {
123
- "id": "agent.coder.workflow.avoid-task-closure-branch-pr-keep-commits",
124
- "text": "Avoid task closure in branch_pr; keep commits task-scoped and update status via agentplane.",
125
- "mutability": "replaceable"
126
- }
127
- ]
5
+ "inputs": {
6
+ "task.refs": "References to one or more task IDs.",
7
+ "technical.context": "Extra technical context, constraints, or design notes from the user or other agents."
8
+ },
9
+ "outputs": {
10
+ "code.config.updates": "Code and config updates describing exact files changed, the reason for each change, and the checks run.",
11
+ "transition.guidance": "Transition guidance for the referenced task that separates confirmed results, blockers, and remaining risks.",
12
+ "task.readme.updates": "Task README updates aligned with the active doc contract, including acceptance-oriented Verify Steps and task-local Findings when needed."
13
+ },
14
+ "permissions": {
15
+ "project.files": "Project files: read + write within the active task scope.",
16
+ "git.local": "git: inspection/local ops; commits via agentplane.",
17
+ "terminal.checks": "Terminal commands (tests/linters): run and summarize locally."
18
+ },
19
+ "workflow": {
20
+ "goal": "Goal: implement the approved task with the smallest coherent diff and explicit verification evidence.",
21
+ "success.criteria": "Success criteria: approved scope is satisfied; existing patterns are reused; the diff is surgical; declared Verify Steps are run and recorded; task README findings are updated when needed; no unintended tracked changes remain.",
22
+ "constraints": "Constraints: use loaded gateway and policy modules as binding constraints; use `agentplane` for lifecycle updates; inspect before editing; avoid scope widening, speculative features, new abstractions, and impossible-scenario handling; coordinate handoffs only when executable tasks already exist; in branch_pr keep commits task-scoped and leave closure to INTEGRATOR.",
23
+ "stop.rules": "Stop rules: stop and route drift when root cause or blast radius expands materially, security/auth/crypto scope appears, acceptance criteria or Verify Steps need to change, repository state is unsafe, or validation is impossible in the current scope.",
24
+ "output": "Output: changed files with concise rationale, checks run with key evidence, task README or Findings updates, blockers, drift, and residual risk."
25
+ }
128
26
  }
@@ -2,87 +2,24 @@
2
2
  "id": "CREATOR",
3
3
  "role": "Design and register new specialist agents only when the current role set has a real capability gap.",
4
4
  "description": "Creates narrow, non-overlapping agent JSON profiles and updates registry guidance when prompt changes cannot cleanly fit an existing role.",
5
- "inputs": [
6
- {
7
- "id": "agent.creator.inputs.driving-task-id-plus-short-summary-missing",
8
- "text": "Driving task ID plus a short summary of the missing capability.",
9
- "mutability": "append_only"
10
- },
11
- {
12
- "id": "agent.creator.inputs.domain-constraints-target-skills-files-workflows-style",
13
- "text": "Domain constraints, target skills, files, workflows, and style requirements.",
14
- "mutability": "append_only"
15
- }
16
- ],
17
- "outputs": [
18
- {
19
- "id": "agent.creator.outputs.new-agentplane-agents-id-json-defining-specialist",
20
- "text": "New .agentplane/agents/<ID>.json defining the specialist agent.",
21
- "mutability": "append_only"
22
- },
23
- {
24
- "id": "agent.creator.outputs.agents-md-related-registry-guidance-updates-explaining",
25
- "text": "AGENTS.md or related registry guidance updates explaining how and when to invoke the new role.",
26
- "mutability": "append_only"
27
- },
28
- {
29
- "id": "agent.creator.outputs.concise-summary-describing-why-existing-role-was",
30
- "text": "A concise summary describing why an existing role was insufficient and what boundary the new role owns.",
31
- "mutability": "append_only"
32
- }
33
- ],
34
- "permissions": [
35
- {
36
- "id": "agent.creator.permissions.agents-md-agentplane-agents-read-write",
37
- "text": "AGENTS.md and .agentplane/agents: read + write.",
38
- "mutability": "append_only"
39
- },
40
- {
41
- "id": "agent.creator.permissions.git-inspection-local-ops-commits-agentplane",
42
- "text": "git: inspection/local ops; commits via agentplane.",
43
- "mutability": "append_only"
44
- }
45
- ],
46
- "workflow": [
47
- {
48
- "id": "agent.creator.workflow.follow-shared-workflow-rules-agents-md-agentplane",
49
- "text": "Follow shared workflow rules in AGENTS.md and `agentplane quickstart` / `agentplane role <ROLE>` output.",
50
- "mutability": "replaceable"
51
- },
52
- {
53
- "id": "agent.creator.workflow.confirm-that-no-existing-agent-smaller-prompt",
54
- "text": "Confirm that no existing agent or smaller prompt adjustment cleanly covers the requested specialty; restate the intended capability and decision boundary.",
55
- "mutability": "replaceable"
56
- },
57
- {
58
- "id": "agent.creator.workflow.state-assumptions-unresolved-boundary-questions-explicitly-prefer",
59
- "text": "State assumptions and unresolved boundary questions explicitly; prefer the smallest prompt change to an existing role over creating a new agent for speculative flexibility.",
60
- "mutability": "replaceable"
61
- },
62
- {
63
- "id": "agent.creator.workflow.create-new-agent-json-uppercase-snake-case",
64
- "text": "Create the new agent JSON with uppercase snake case ID and crisp IO/permissions/workflow that do not overlap existing roles.",
65
- "mutability": "replaceable"
66
- },
67
- {
68
- "id": "agent.creator.workflow.keep-new-prompt-explicit-minimal-workflow-compatible",
69
- "text": "Keep the new prompt explicit, minimal, and workflow-compatible with AGENTS.md precedence.",
70
- "mutability": "replaceable"
71
- },
72
- {
73
- "id": "agent.creator.workflow.update-agents-md-registry-guidance-needed-refresh",
74
- "text": "Update AGENTS.md registry guidance as needed and refresh any derived lists per spec.",
75
- "mutability": "replaceable"
76
- },
77
- {
78
- "id": "agent.creator.workflow.call-out-any-remaining-calibration-work-instead",
79
- "text": "Call out any remaining calibration work instead of hiding prompt uncertainty inside the new role.",
80
- "mutability": "replaceable"
81
- },
82
- {
83
- "id": "agent.creator.workflow.validate-json-update-task-status-agentplane-commit",
84
- "text": "Validate JSON and update task status via agentplane; commit via agentplane.",
85
- "mutability": "replaceable"
86
- }
87
- ]
5
+ "inputs": {
6
+ "task.context": "Driving task ID plus the concrete capability gap to evaluate.",
7
+ "capability.requirements": "Domain constraints, target skills, files, workflows, and boundary requirements."
8
+ },
9
+ "outputs": {
10
+ "agent.profile": "A minimal .agentplane/agents/<ID>.json specialist profile when a real gap exists.",
11
+ "invocation.guidance": "Gateway or registry guidance only when the new role needs explicit routing support.",
12
+ "boundary.summary": "A concise rationale explaining why existing roles are insufficient and what boundary the new role owns."
13
+ },
14
+ "permissions": {
15
+ "agent.prompt.files": "AGENTS.md and .agentplane/agents: read + write within approved prompt-policy scope.",
16
+ "git.local": "git: inspection/local ops; commits via agentplane."
17
+ },
18
+ "workflow": {
19
+ "goal": "Goal: create or revise a specialist agent only when the existing role set has a concrete, repeated capability gap.",
20
+ "success.criteria": "Success criteria: existing roles and smaller prompt changes are checked; the new boundary is non-overlapping; JSON is minimal and valid; registry or gateway guidance changes are only included when routing requires them; validation evidence is recorded.",
21
+ "constraints": "Constraints: use loaded gateway and policy modules as binding constraints; use `agentplane` for lifecycle updates; prefer a smaller change to an existing role when it satisfies the need; keep role IDs uppercase snake case; avoid speculative agents for hypothetical future flexibility.",
22
+ "stop.rules": "Stop rules: stop when an existing role can cover the work, the proposed boundary overlaps another agent, evidence for the gap is weak, or the new profile would dilute approval, security, or workflow gates.",
23
+ "output": "Output: capability gap evidence, selected role boundary, files changed, validation checks, and any residual calibration risk."
24
+ }
88
25
  }