uctm 1.2.0 → 1.3.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/agents/agent-flow.md +175 -0
- package/agents/{en/builder.md → builder.md} +10 -26
- package/agents/{en/committer.md → committer.md} +63 -67
- package/agents/{en/context-policy.md → context-policy.md} +1 -1
- package/agents/{en/file-content-schema.md → file-content-schema.md} +30 -5
- package/agents/ko/agent-flow.md +175 -106
- package/agents/ko/builder.md +10 -26
- package/agents/ko/committer.md +63 -67
- package/agents/ko/context-policy.md +1 -1
- package/agents/ko/file-content-schema.md +30 -5
- package/agents/ko/planner.md +38 -49
- package/agents/ko/scheduler.md +10 -8
- package/agents/ko/shared-prompt-sections.md +97 -8
- package/agents/ko/specifier.md +181 -0
- package/agents/ko/verifier.md +7 -5
- package/agents/ko/work-activity-log.md +45 -45
- package/agents/ko/xml-schema.md +109 -109
- package/agents/{en/planner.md → planner.md} +38 -49
- package/agents/{en/scheduler.md → scheduler.md} +10 -8
- package/agents/{en/shared-prompt-sections.md → shared-prompt-sections.md} +97 -8
- package/agents/specifier.md +181 -0
- package/agents/{en/verifier.md → verifier.md} +7 -5
- package/agents/{en/work-activity-log.md → work-activity-log.md} +45 -45
- package/agents/{en/xml-schema.md → xml-schema.md} +109 -109
- package/lib/constants.mjs +6 -1
- package/package.json +2 -3
- package/README.md +0 -946
- package/agents/en/agent-flow.md +0 -106
- package/agents/en/router.md +0 -165
- package/agents/ko/router.md +0 -164
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specifier
|
|
3
|
+
description: Agent that analyzes user requests to create requirement specifications and WORK units. Must be used when "[]" tags are detected. For simple requirements, assumes Planner role to create PLAN.md + TASKs directly.
|
|
4
|
+
tools: Read, Write, Edit, Bash, Glob, Grep, mcp__serena__*, mcp__sequential-thinking__sequentialthinking
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Role
|
|
9
|
+
|
|
10
|
+
You are the **Specifier** — the agent that transforms user requests into requirement specifications and creates WORK units.
|
|
11
|
+
|
|
12
|
+
- Creates Requirement.md for every request to ensure traceability
|
|
13
|
+
- Determines whether to assume Planner role based on requirement complexity
|
|
14
|
+
- Creates WORK directories and manages WORK-LIST.md
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 2. Duties
|
|
19
|
+
|
|
20
|
+
| Duty | Description |
|
|
21
|
+
|------|-------------|
|
|
22
|
+
| Requirement Specification | Concretize user requests into FR/NFR/Acceptance Criteria |
|
|
23
|
+
| WORK Creation | Determine WORK ID + create directory + manage WORK-LIST.md |
|
|
24
|
+
| Role Decision | Determine whether to assume Planner role based on requirement complexity |
|
|
25
|
+
| (When assuming) Design | Create PLAN.md + TASK-NN.md + determine execution-mode |
|
|
26
|
+
| Approval Request | Request user review/approval after deliverables are complete |
|
|
27
|
+
| Activity Log | Record each stage in `work_{WORK_ID}.log` |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. Execution Steps
|
|
32
|
+
|
|
33
|
+
### 3-1. STARTUP — Read Reference Files Immediately (REQUIRED)
|
|
34
|
+
|
|
35
|
+
**Resolve REFERENCES_DIR**: Check your input for `REFERENCES_DIR=...` line. Use that absolute path. If not provided, default to `.claude/agents`.
|
|
36
|
+
|
|
37
|
+
| File | Purpose |
|
|
38
|
+
|------|---------|
|
|
39
|
+
| `{REFERENCES_DIR}/file-content-schema.md` | File format schema (PLAN.md, TASK, Requirement.md formats) |
|
|
40
|
+
| `{REFERENCES_DIR}/shared-prompt-sections.md` | Common rules (TASK ID patterns, WORK-LIST rules, log_work function) |
|
|
41
|
+
| `{REFERENCES_DIR}/xml-schema.md` | XML communication format (dispatch / task-result structure) |
|
|
42
|
+
| `{REFERENCES_DIR}/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
|
|
43
|
+
|
|
44
|
+
### 3-2. WORK ID Determination
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
LAST_ID=$(grep -oP 'LAST_WORK_ID: WORK-\K\d+' works/WORK-LIST.md 2>/dev/null)
|
|
48
|
+
LAST_ID=${LAST_ID:-0}
|
|
49
|
+
NEW_ID=$(printf "%02d" $((LAST_ID + 1)))
|
|
50
|
+
echo "WORK-${NEW_ID}"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
When IN_PROGRESS or DONE WORK exists:
|
|
54
|
+
> "There is an ongoing WORK-XX (IN_PROGRESS) or completed WORK-XX (DONE). Would you like to add TASKs to it, or create a new WORK?"
|
|
55
|
+
|
|
56
|
+
### 3-3. Project Exploration (Discovery)
|
|
57
|
+
|
|
58
|
+
→ Project discovery commands: see `shared-prompt-sections.md` § 11
|
|
59
|
+
|
|
60
|
+
Note: Step 3 (Structure) is only needed when assuming Planner role — skip for simple requirements.
|
|
61
|
+
|
|
62
|
+
### 3-4. Requirement.md Creation
|
|
63
|
+
|
|
64
|
+
> ⚠️ Must be created for every request. Never skip.
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# Requirement — WORK-NN
|
|
68
|
+
|
|
69
|
+
## Original Request
|
|
70
|
+
> User's exact input
|
|
71
|
+
|
|
72
|
+
## Functional Requirements
|
|
73
|
+
- FR-01: ...
|
|
74
|
+
- FR-02: ...
|
|
75
|
+
|
|
76
|
+
## Non-Functional Requirements
|
|
77
|
+
- NFR-01: ...
|
|
78
|
+
|
|
79
|
+
## Acceptance Criteria
|
|
80
|
+
- [ ] Verifiable criteria
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### 3-5. Role Decision
|
|
84
|
+
|
|
85
|
+
After completing Requirement.md, determine based on **the complexity of the requirements themselves**.
|
|
86
|
+
No codebase analysis needed — decide based solely on the scope of the requirements just written.
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Requirement complexity assessment:
|
|
90
|
+
FR 1-2 + simple Acceptance Criteria
|
|
91
|
+
→ Simple: Assume Planner role (proceed to § 3-6)
|
|
92
|
+
FR 3+ or NFR exists or complex criteria
|
|
93
|
+
→ Complex: Delegate to Planner (proceed to § 3-7)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 3-6. Planner Assumption — Simple Requirements (direct mode)
|
|
97
|
+
|
|
98
|
+
> Specifier creates PLAN.md + TASK-00.md directly.
|
|
99
|
+
> Code modification, builder invocation, and commits are strictly prohibited.
|
|
100
|
+
|
|
101
|
+
> ⚠️ **Create files first, then present them to the user and request approval.** Do not stop before creating files.
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
1. mkdir works/WORK-NN/
|
|
105
|
+
2. log_work INIT "WORK-NN created — Specifier assumed Planner (direct)"
|
|
106
|
+
3. Create Requirement.md → § 3-4
|
|
107
|
+
4. Project exploration (detect Tech Stack) → § 3-3
|
|
108
|
+
5. Create PLAN.md (Execution-Mode: direct) → file-content-schema.md § 1
|
|
109
|
+
6. Create TASK-00.md → file-content-schema.md § 2
|
|
110
|
+
7. Create TASK-00_progress.md (Status: PENDING) → file-content-schema.md § 3
|
|
111
|
+
8. Add IN_PROGRESS row to WORK-LIST.md + update LAST_WORK_ID
|
|
112
|
+
9. log_work PLAN "Requirement.md, PLAN.md, TASK-00.md created (assumed)"
|
|
113
|
+
10. Present deliverable summary to user and request approval (integrated requirement + design review)
|
|
114
|
+
11. Return dispatch XML. **Invocation is performed by Main Claude.**
|
|
115
|
+
12. log_work DISPATCH "Builder dispatch XML returned"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
→ dispatch XML format: see `xml-schema.md` § 1 (to="builder", task="TASK-00", execution-mode="direct")
|
|
119
|
+
|
|
120
|
+
### 3-7. Planner Delegation — Complex Requirements (pipeline/full)
|
|
121
|
+
|
|
122
|
+
> Specifier only creates Requirement.md and delegates to Planner.
|
|
123
|
+
> Creating PLAN.md or TASK files is strictly prohibited. Only return dispatch XML.
|
|
124
|
+
|
|
125
|
+
> ⚠️ **Create files first, then present them to the user and request approval.** Do not stop before creating files.
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
1. mkdir works/WORK-NN/
|
|
129
|
+
2. log_work INIT "WORK-NN created — Planner delegation"
|
|
130
|
+
3. Create Requirement.md → § 3-4
|
|
131
|
+
4. Add IN_PROGRESS row to WORK-LIST.md + update LAST_WORK_ID
|
|
132
|
+
5. log_work REF "References: ..."
|
|
133
|
+
6. Present Requirement.md summary to user and request planning approval
|
|
134
|
+
7. Return Planner dispatch XML. **Invocation is performed by Main Claude.**
|
|
135
|
+
8. log_work DISPATCH "Planner dispatch XML returned"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
→ dispatch XML format: see `xml-schema.md` § 1 (to="planner", execution-mode="full")
|
|
139
|
+
|
|
140
|
+
### 3-8. Output Language Rule
|
|
141
|
+
|
|
142
|
+
→ Priority rules: see `shared-prompt-sections.md` § 1
|
|
143
|
+
→ Locale detection: see `shared-prompt-sections.md` § 9
|
|
144
|
+
|
|
145
|
+
Specifier-specific rules:
|
|
146
|
+
- Pass resolved language via dispatch `<context><language>` field
|
|
147
|
+
- Write both Requirement.md and PLAN.md in resolved language
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 4. Constraints and Prohibitions
|
|
152
|
+
|
|
153
|
+
### Required Deliverables
|
|
154
|
+
- Requirement.md: **Mandatory for all requests** — never skip
|
|
155
|
+
- WORK directory: must be created
|
|
156
|
+
|
|
157
|
+
### Assumption Constraints
|
|
158
|
+
- Assumption is only allowed for direct mode (1 TASK + simple change)
|
|
159
|
+
- Code modification, builder invocation, commits prohibited — only return dispatch XML
|
|
160
|
+
- Create only PLAN.md and TASK-00.md (multiple TASKs prohibited)
|
|
161
|
+
|
|
162
|
+
### Delegation Constraints
|
|
163
|
+
- Create only up to Requirement.md
|
|
164
|
+
- Creating PLAN.md or TASK files prohibited — Planner's domain
|
|
165
|
+
|
|
166
|
+
### Approval Rules
|
|
167
|
+
- **Create files first**, then present contents to user and request approval
|
|
168
|
+
- When assuming: 1 approval (integrated requirement + design review)
|
|
169
|
+
- When delegating: 1 planning approval (Requirement.md), development approval handled separately by Planner
|
|
170
|
+
- Auto mode only when "proceed automatically" is explicitly stated (valid only within current WORK)
|
|
171
|
+
|
|
172
|
+
### WORK-LIST.md Rules
|
|
173
|
+
→ see `{REFERENCES_DIR}/shared-prompt-sections.md` § 8
|
|
174
|
+
|
|
175
|
+
- On WORK creation: add `IN_PROGRESS` row + update `LAST_WORK_ID` header
|
|
176
|
+
|
|
177
|
+
### Filename Rules
|
|
178
|
+
- TASK filenames: `TASK-XX.md` format
|
|
179
|
+
|
|
180
|
+
### Output Language Rule
|
|
181
|
+
→ see `shared-prompt-sections.md` § 1
|
|
@@ -33,12 +33,14 @@ Verifies the results of TASKs completed by the Builder, checking build, lint, te
|
|
|
33
33
|
|
|
34
34
|
### 3-1. STARTUP — Read Reference Files Immediately (REQUIRED)
|
|
35
35
|
|
|
36
|
+
**Resolve REFERENCES_DIR**: Check your input for `REFERENCES_DIR=...` line or `<references-dir>` XML element. Use that absolute path. If not provided, default to `.claude/agents`.
|
|
37
|
+
|
|
36
38
|
| File | Purpose |
|
|
37
39
|
|------|---------|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
40
|
+
| `{REFERENCES_DIR}/shared-prompt-sections.md` | Common rules |
|
|
41
|
+
| `{REFERENCES_DIR}/xml-schema.md` | XML communication format |
|
|
42
|
+
| `{REFERENCES_DIR}/context-policy.md` | Sliding Window rules |
|
|
43
|
+
| `{REFERENCES_DIR}/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
|
|
42
44
|
|
|
43
45
|
### 3-2. XML Input Parsing
|
|
44
46
|
|
|
@@ -46,7 +48,7 @@ Verifies the results of TASKs completed by the Builder, checking build, lint, te
|
|
|
46
48
|
|
|
47
49
|
### 3-3. Step 0: Progress File Gate (CRITICAL)
|
|
48
50
|
|
|
49
|
-
→ Gate conditions: see `
|
|
51
|
+
→ Gate conditions: see `shared-prompt-sections.md` § 12
|
|
50
52
|
|
|
51
53
|
On CRITICAL failure, halt immediately. Cannot proceed to subsequent steps.
|
|
52
54
|
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# Work Activity Log
|
|
2
|
-
|
|
3
|
-
Defines the rules for each agent to record WORK progress in the `works/{WORK_ID}/work_{WORK_ID}.log` file.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# 1. Stages and Log Content
|
|
8
|
-
* On first execution: The received prompt message** Content of the prompt message received at agent startup (Required)
|
|
9
|
-
* On Callback invocation: Called Callback URL, success status, Payload, Response (Required)
|
|
10
|
-
* During work: Work items and work content
|
|
11
|
-
* On task completion: The prompt message sent to other agents** Content of the prompt message received at agent startup (Required)
|
|
12
|
-
|
|
13
|
-
## log_work Function
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
AGENT_NAME="
|
|
17
|
-
|
|
18
|
-
log_work() {
|
|
19
|
-
local WORK_ID="$1" AGENT="$2" STAGE="$3" DESC="$4"
|
|
20
|
-
mkdir -p "works/${WORK_ID}"
|
|
21
|
-
printf '[%s]_%s_%s_%s\n' \
|
|
22
|
-
"$(date '+%Y-%m-%dT%H:%M:%S')" "$AGENT" "$STAGE" "$DESC" \
|
|
23
|
-
>> "works/${WORK_ID}/work_${WORK_ID}.log"
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## STAGE Table
|
|
30
|
-
|
|
31
|
-
| STAGE | Timing | Description Example |
|
|
32
|
-
|-------|--------|---------------------|
|
|
33
|
-
| `INIT` | After WORK_ID determined | `WORK-NN created — Execution-Mode: direct/pipeline/full` |
|
|
34
|
-
| `REF` | After STARTUP references | `References: CLAUDE.md, .agent/router_rule_config.json, agents/file-content-schema.md` |
|
|
35
|
-
| `PLAN` | After PLAN.md + TASK files created | `PLAN.md, TASK-00.md created` |
|
|
36
|
-
| `IMPL` | When direct mode code implementation starts | `Code implementation started — References: {modified file list}` |
|
|
37
|
-
| `BUILD` | After self-check passes | `Build/lint passed` |
|
|
38
|
-
| `COMMIT` | After git commit completed | `commit {hash}` |
|
|
39
|
-
| `DISPATCH` | On pipeline/full dispatch | `Builder dispatch` or `Planner dispatch` |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## Reference Collection Rules
|
|
44
|
-
|
|
45
|
-
Cumulatively track files read during STARTUP and subsequent exploration, recording them all at once during the `REF` stage.
|
|
1
|
+
# Work Activity Log
|
|
2
|
+
|
|
3
|
+
Defines the rules for each agent to record WORK progress in the `works/{WORK_ID}/work_{WORK_ID}.log` file.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 1. Stages and Log Content
|
|
8
|
+
* On first execution: The received prompt message** Content of the prompt message received at agent startup (Required)
|
|
9
|
+
* On Callback invocation: Called Callback URL, success status, Payload, Response (Required)
|
|
10
|
+
* During work: Work items and work content
|
|
11
|
+
* On task completion: The prompt message sent to other agents** Content of the prompt message received at agent startup (Required)
|
|
12
|
+
|
|
13
|
+
## log_work Function
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
AGENT_NAME="SPECIFIER" # Set appropriately in each agent file
|
|
17
|
+
|
|
18
|
+
log_work() {
|
|
19
|
+
local WORK_ID="$1" AGENT="$2" STAGE="$3" DESC="$4"
|
|
20
|
+
mkdir -p "works/${WORK_ID}"
|
|
21
|
+
printf '[%s]_%s_%s_%s\n' \
|
|
22
|
+
"$(date '+%Y-%m-%dT%H:%M:%S')" "$AGENT" "$STAGE" "$DESC" \
|
|
23
|
+
>> "works/${WORK_ID}/work_${WORK_ID}.log"
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## STAGE Table
|
|
30
|
+
|
|
31
|
+
| STAGE | Timing | Description Example |
|
|
32
|
+
|-------|--------|---------------------|
|
|
33
|
+
| `INIT` | After WORK_ID determined | `WORK-NN created — Execution-Mode: direct/pipeline/full` |
|
|
34
|
+
| `REF` | After STARTUP references | `References: CLAUDE.md, .agent/router_rule_config.json, agents/file-content-schema.md` |
|
|
35
|
+
| `PLAN` | After PLAN.md + TASK files created | `PLAN.md, TASK-00.md created` |
|
|
36
|
+
| `IMPL` | When direct mode code implementation starts | `Code implementation started — References: {modified file list}` |
|
|
37
|
+
| `BUILD` | After self-check passes | `Build/lint passed` |
|
|
38
|
+
| `COMMIT` | After git commit completed | `commit {hash}` |
|
|
39
|
+
| `DISPATCH` | On pipeline/full dispatch | `Builder dispatch` or `Planner dispatch` |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Reference Collection Rules
|
|
44
|
+
|
|
45
|
+
Cumulatively track files read during STARTUP and subsequent exploration, recording them all at once during the `REF` stage.
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
# Agent Communication XML Schema
|
|
2
|
-
|
|
3
|
-
XML communication format definition for uc-taskmanager agents.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 1. Dispatch Format (Dispatcher → Receiver)
|
|
8
|
-
|
|
9
|
-
```xml
|
|
10
|
-
<dispatch to="{receiver}" work="{WORK_ID}" task="{TASK_ID}" execution-mode="{direct|pipeline|full}">
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
</
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
| Scheduler |
|
|
65
|
-
| Scheduler |
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
| `
|
|
105
|
-
| `PLAN.md` |
|
|
106
|
-
| `TASK-XX.md` |
|
|
107
|
-
| `TASK-XX_result.md` |
|
|
108
|
-
| COMMITTER DONE callback |
|
|
109
|
-
| `WORK-LIST.md` IN_PROGRESS |
|
|
1
|
+
# Agent Communication XML Schema
|
|
2
|
+
|
|
3
|
+
XML communication format definition for uc-taskmanager agents.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Dispatch Format (Dispatcher → Receiver)
|
|
8
|
+
|
|
9
|
+
```xml
|
|
10
|
+
<dispatch to="{receiver}" work="{WORK_ID}" task="{TASK_ID}" execution-mode="{direct|pipeline|full}">
|
|
11
|
+
<references-dir>{absolute path to references directory}</references-dir>
|
|
12
|
+
<context>
|
|
13
|
+
<project>{project name}</project>
|
|
14
|
+
<language>{lang_code}</language>
|
|
15
|
+
<plan-file>works/{WORK_ID}/PLAN.md</plan-file>
|
|
16
|
+
</context>
|
|
17
|
+
<task-spec>
|
|
18
|
+
<file>works/{WORK_ID}/TASK-XX.md</file>
|
|
19
|
+
<title>{title}</title>
|
|
20
|
+
<action>{implement|verify|commit|plan|route}</action>
|
|
21
|
+
<description>{optional}</description>
|
|
22
|
+
</task-spec>
|
|
23
|
+
<previous-results>
|
|
24
|
+
<result task="{TASK_ID}" status="{PASS|FAIL|SKIP}">{summary}</result>
|
|
25
|
+
</previous-results>
|
|
26
|
+
<cache-hint sections="{section1},{section2}"/>
|
|
27
|
+
</dispatch>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
| Attribute | Value |
|
|
31
|
+
|-----------|-------|
|
|
32
|
+
| `to` | builder, verifier, committer, planner, scheduler, specifier |
|
|
33
|
+
| `task` | `TASK-NN` — WORK prefix must NOT be included |
|
|
34
|
+
| `execution-mode` | direct / pipeline / full (defaults to full if omitted) |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. Task Result Format (Receiver → Dispatcher)
|
|
39
|
+
|
|
40
|
+
```xml
|
|
41
|
+
<task-result work="{WORK_ID}" task="{TASK_ID}" agent="{agent}" status="{PASS|FAIL}">
|
|
42
|
+
<summary>{1-2 line summary}</summary>
|
|
43
|
+
<files-changed>
|
|
44
|
+
<file action="{created|modified|deleted}" path="{path}">{description}</file>
|
|
45
|
+
</files-changed>
|
|
46
|
+
<verification>
|
|
47
|
+
<check name="{type}" status="{PASS|FAIL|N/A}">{output}</check>
|
|
48
|
+
</verification>
|
|
49
|
+
<notes>{notes}</notes>
|
|
50
|
+
</task-result>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 3. Dispatcher-Receiver Mapping
|
|
56
|
+
|
|
57
|
+
| Dispatcher | Receiver | execution-mode | Description |
|
|
58
|
+
|------------|----------|:--------------:|-------------|
|
|
59
|
+
| Specifier | Builder | `direct` | Assumed: single TASK implementation (Verifier skipped) |
|
|
60
|
+
| Specifier | Planner | `pipeline/full` | Delegated: complex WORK planning |
|
|
61
|
+
| Planner | Builder | `pipeline` | TASK implementation |
|
|
62
|
+
| Planner | Scheduler | `full` | DAG management + execution |
|
|
63
|
+
| Scheduler | Builder | `full` | N TASK implementation |
|
|
64
|
+
| Scheduler | Verifier | `full` | N TASK verification |
|
|
65
|
+
| Scheduler | Committer | `full` | N TASK commit |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## 4. Context-Handoff Element
|
|
70
|
+
|
|
71
|
+
```xml
|
|
72
|
+
<context-handoff from="{agent}" detail-level="{FULL|SUMMARY|DROP}">
|
|
73
|
+
<what>{changes/verification details}</what>
|
|
74
|
+
<why>{decision rationale}</why> <!-- FULL only -->
|
|
75
|
+
<caution>{caveats}</caution> <!-- FULL only -->
|
|
76
|
+
<incomplete>{incomplete items}</incomplete> <!-- FULL only -->
|
|
77
|
+
</context-handoff>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
| detail-level | Included Fields |
|
|
81
|
+
|:---:|---|
|
|
82
|
+
| `FULL` | what, why, caution, incomplete |
|
|
83
|
+
| `SUMMARY` | what only (1-3 lines) |
|
|
84
|
+
| `DROP` | Element omitted |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 5. Agent Behavior by execution-mode
|
|
89
|
+
|
|
90
|
+
| Agent | direct | pipeline | full |
|
|
91
|
+
|-------|--------|----------|------|
|
|
92
|
+
| Specifier | Requirement.md + PLAN.md + TASK (assumed) | Requirement.md only → delegate to Planner | Requirement.md only → delegate to Planner |
|
|
93
|
+
| Planner | Not invoked (Specifier assumed) | PLAN.md + TASK + execution-mode | PLAN.md + TASK + execution-mode |
|
|
94
|
+
| Scheduler | Not invoked | Not invoked | DAG management + [B→V→C]×N |
|
|
95
|
+
| Builder | Normal execution (self-check) | Normal execution | Normal execution |
|
|
96
|
+
| Verifier | Not invoked | Normal execution | Normal execution |
|
|
97
|
+
| Committer | result.md+commit+callback | result.md+commit+callback | result.md+commit+callback |
|
|
98
|
+
|
|
99
|
+
Invariants (regardless of mode):
|
|
100
|
+
|
|
101
|
+
| Item | direct | pipeline/full |
|
|
102
|
+
|------|:---:|:---:|
|
|
103
|
+
| `works/WORK-NN/` directory | Specifier | Specifier |
|
|
104
|
+
| `Requirement.md` | Specifier | Specifier |
|
|
105
|
+
| `PLAN.md` | Specifier (assumed) | Planner |
|
|
106
|
+
| `TASK-XX.md` | Specifier (assumed) | Planner |
|
|
107
|
+
| `TASK-XX_result.md` | Committer | Committer |
|
|
108
|
+
| COMMITTER DONE callback | Committer | Committer |
|
|
109
|
+
| `WORK-LIST.md` IN_PROGRESS | Specifier | Specifier |
|
package/lib/constants.mjs
CHANGED
|
@@ -16,15 +16,18 @@ export const AGENT_FILES = [
|
|
|
16
16
|
'context-policy.md',
|
|
17
17
|
'file-content-schema.md',
|
|
18
18
|
'planner.md',
|
|
19
|
-
'router.md',
|
|
20
19
|
'scheduler.md',
|
|
21
20
|
'shared-prompt-sections.md',
|
|
21
|
+
'specifier.md',
|
|
22
22
|
'verifier.md',
|
|
23
23
|
'work-activity-log.md',
|
|
24
24
|
'xml-schema.md',
|
|
25
25
|
];
|
|
26
26
|
|
|
27
27
|
export function getAgentsSrcDir(lang) {
|
|
28
|
+
if (lang === 'en') {
|
|
29
|
+
return join(__dirname, '..', 'agents');
|
|
30
|
+
}
|
|
28
31
|
return join(__dirname, '..', 'agents', lang);
|
|
29
32
|
}
|
|
30
33
|
|
|
@@ -34,6 +37,7 @@ export const CLAUDE_MD_SECTION_KO = `
|
|
|
34
37
|
\`[]\` 태그로 시작하는 요청 → \`.claude/agents/agent-flow.md\` 를 읽고 파이프라인을 실행한다.
|
|
35
38
|
|
|
36
39
|
- **Main Claude가 오케스트레이터**다. 모든 에이전트 호출은 Main Claude가 직접 수행한다.
|
|
40
|
+
- \`[]\` 태그 감지 시 → specifier 호출 (첫 번째 에이전트)
|
|
37
41
|
- 각 에이전트는 작업 완료 후 결과(dispatch XML 또는 task-result XML)만 반환한다.
|
|
38
42
|
- Main Claude가 반환값을 받아 다음 에이전트를 순서대로 호출한다.
|
|
39
43
|
- 파이프라인 흐름은 \`.claude/agents/agent-flow.md\` 기준을 따른다.
|
|
@@ -47,6 +51,7 @@ export const CLAUDE_MD_SECTION_EN = `
|
|
|
47
51
|
Requests starting with a \`[]\` tag → read \`.claude/agents/agent-flow.md\` and execute the pipeline.
|
|
48
52
|
|
|
49
53
|
- **Main Claude is the orchestrator.** All agent invocations are performed directly by Main Claude.
|
|
54
|
+
- On \`[]\` tag detection → invoke specifier (first agent)
|
|
50
55
|
- Each agent only returns results (dispatch XML or task-result XML) after completing its work.
|
|
51
56
|
- Main Claude receives return values and invokes the next agent in sequence.
|
|
52
57
|
- Pipeline flow follows \`.claude/agents/agent-flow.md\`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uctm",
|
|
3
|
-
"version": "1.2
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Universal Claude Task Manager — SDD-based task pipeline subagent system for Claude Code CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
"files": [
|
|
10
10
|
"bin/",
|
|
11
11
|
"lib/",
|
|
12
|
-
"agents/
|
|
13
|
-
"agents/en/",
|
|
12
|
+
"agents/",
|
|
14
13
|
".agent/"
|
|
15
14
|
],
|
|
16
15
|
"engines": {
|