claude-nexus 0.22.0 → 0.23.0
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.en.md +18 -17
- package/README.md +16 -12
- package/VERSION +1 -1
- package/bridge/mcp-server.cjs +6 -2
- package/bridge/mcp-server.cjs.map +2 -2
- package/package.json +1 -1
- package/scripts/gate.cjs +0 -29
- package/scripts/gate.cjs.map +2 -2
- package/skills/nx-init/SKILL.md +1 -1
- package/skills/nx-plan/SKILL.md +78 -45
- package/skills/nx-run/SKILL.md +12 -96
- package/skills/nx-setup/SKILL.md +1 -1
- package/skills/nx-sync/SKILL.md +9 -16
package/README.en.md
CHANGED
|
@@ -9,7 +9,7 @@ Agent orchestration plugin for Claude Code.
|
|
|
9
9
|
|
|
10
10
|
## Why
|
|
11
11
|
|
|
12
|
-
Specialized
|
|
12
|
+
Specialized subagents handle development and research systematically — architect, engineer, tester, researcher, and more. One tag triggers automatic orchestration of complex tasks across the right agents without manual coordination.
|
|
13
13
|
|
|
14
14
|
## Quick Start
|
|
15
15
|
|
|
@@ -27,7 +27,7 @@ Run `/claude-nexus:nx-init` — scans your project and auto-generates structured
|
|
|
27
27
|
**3. Start using**
|
|
28
28
|
|
|
29
29
|
- **Plan**: `[plan] How should we design the auth system?` — clarify intent and align before executing
|
|
30
|
-
- **Run**: `[run] Implement login API` —
|
|
30
|
+
- **Run**: `[run] Implement login API` — subagents handle analysis through implementation
|
|
31
31
|
|
|
32
32
|
## Usage
|
|
33
33
|
|
|
@@ -36,15 +36,15 @@ Tag your message to route it to the right workflow:
|
|
|
36
36
|
| Tag | Action | Example |
|
|
37
37
|
|-----|--------|---------|
|
|
38
38
|
| `[plan]` | Pre-execution planning | `[plan] Discuss DB migration strategy` |
|
|
39
|
-
| `[run]` | Execution (
|
|
40
|
-
| `[d]` | Record a decision | `[d] Use PostgreSQL for primary storage` |
|
|
39
|
+
| `[run]` | Execution (subagent composition) | `[run] Refactor payment module` |
|
|
40
|
+
| `[d]` | Record a decision (within plan session) | `[d] Use PostgreSQL for primary storage` |
|
|
41
41
|
| `[rule]` | Save a rule | `[rule] Always use bun instead of npm` |
|
|
42
42
|
|
|
43
|
-
Typical flow:
|
|
43
|
+
Typical flow: `[plan]` to discuss and align → `[d]` to decide (within plan) → `[run]` to execute.
|
|
44
44
|
|
|
45
45
|
## Agents
|
|
46
46
|
|
|
47
|
-
### How
|
|
47
|
+
### How (4 agents)
|
|
48
48
|
|
|
49
49
|
| Agent | Invocation | Role | Model |
|
|
50
50
|
|-------|-----------|------|-------|
|
|
@@ -53,7 +53,7 @@ Typical flow: use `[plan]` to discuss and align → decide → use `[run]` to ex
|
|
|
53
53
|
| **Postdoc** | `claude-nexus:postdoc` | Research methodology and evidence synthesis | opus |
|
|
54
54
|
| **Strategist** | `claude-nexus:strategist` | Business strategy and competitive positioning | opus |
|
|
55
55
|
|
|
56
|
-
### Do
|
|
56
|
+
### Do (3 agents)
|
|
57
57
|
|
|
58
58
|
| Agent | Invocation | Role | Model |
|
|
59
59
|
|-------|-----------|------|-------|
|
|
@@ -61,7 +61,7 @@ Typical flow: use `[plan]` to discuss and align → decide → use `[run]` to ex
|
|
|
61
61
|
| **Researcher** | `claude-nexus:researcher` | Web search, independent investigation | sonnet |
|
|
62
62
|
| **Writer** | `claude-nexus:writer` | Technical writing and documentation | sonnet |
|
|
63
63
|
|
|
64
|
-
### Check
|
|
64
|
+
### Check (2 agents)
|
|
65
65
|
|
|
66
66
|
| Agent | Invocation | Role | Model |
|
|
67
67
|
|-------|-----------|------|-------|
|
|
@@ -93,8 +93,8 @@ Claude-callable tools exposed by the Nexus MCP server.
|
|
|
93
93
|
| `nx_rules_read/write` | Team custom rules management (git-tracked) |
|
|
94
94
|
| `nx_context` | Current session state lookup (branch, tasks, plan) |
|
|
95
95
|
| `nx_task_list/add/update/close` | Task management + history.json archiving |
|
|
96
|
-
| `nx_artifact_write` | Save
|
|
97
|
-
| `nx_plan_start` | Start plan session (topic + issues
|
|
96
|
+
| `nx_artifact_write` | Save artifacts (branch-isolated) |
|
|
97
|
+
| `nx_plan_start` | Start plan session (topic + issues + research summary) |
|
|
98
98
|
| `nx_plan_status` | Query plan state |
|
|
99
99
|
| `nx_plan_update` | Modify plan issues (add/remove/edit/reopen) |
|
|
100
100
|
| `nx_plan_decide` | Record issue decision (plan.json) |
|
|
@@ -126,9 +126,13 @@ Nexus registers a single Gate module as a Claude Code hook.
|
|
|
126
126
|
|
|
127
127
|
| Event | Role |
|
|
128
128
|
|-------|------|
|
|
129
|
+
| `SessionStart` | Initialize `.nexus/` structure, reset agent-tracker |
|
|
129
130
|
| `UserPromptSubmit` | Tag detection → mode activation + TASK_PIPELINE injection + additionalContext guidance |
|
|
130
|
-
| `PreToolUse` | Edit/Write: blocks when tasks
|
|
131
|
+
| `PreToolUse` | Edit/Write: blocks when incomplete tasks exist |
|
|
132
|
+
| `SubagentStart` | Auto-inject role-filtered core knowledge index (lazy-read) |
|
|
133
|
+
| `SubagentStop` | Record agent completion. Warn if owned tasks remain incomplete |
|
|
131
134
|
| `Stop` | Blocks exit with pending tasks. Forces nx_task_close when all completed |
|
|
135
|
+
| `PostCompact` | Snapshot session state (mode, plan, agent status) |
|
|
132
136
|
|
|
133
137
|
</details>
|
|
134
138
|
|
|
@@ -159,12 +163,9 @@ Runtime state is stored under `.nexus/state/` and is excluded from git. `history
|
|
|
159
163
|
.nexus/
|
|
160
164
|
├── history.json ← Cycle archive (git-tracked, created by nx_task_close)
|
|
161
165
|
└── state/ ← Runtime state (git-ignored)
|
|
162
|
-
├── tasks.json ← Task list
|
|
163
|
-
├── plan.json ← Planning session
|
|
164
|
-
├──
|
|
165
|
-
├── edit-tracker.json
|
|
166
|
-
├── reopen-tracker.json
|
|
167
|
-
├── agent-tracker.json
|
|
166
|
+
├── tasks.json ← Task list ([run] cycle)
|
|
167
|
+
├── plan.json ← Planning session ([plan] cycle)
|
|
168
|
+
├── agent-tracker.json ← Subagent lifecycle tracking
|
|
168
169
|
└── artifacts/ ← Artifacts
|
|
169
170
|
```
|
|
170
171
|
|
package/README.md
CHANGED
|
@@ -29,15 +29,16 @@ claude plugin install claude-nexus@nexus
|
|
|
29
29
|
**첫 사용**
|
|
30
30
|
|
|
31
31
|
- **플랜**: `[plan] 인증 시스템 어떻게 설계하면 좋을까?`
|
|
32
|
-
- **결정 기록**: `응 그 방향으로 [d]`
|
|
32
|
+
- **결정 기록**: (plan 중) `응 그 방향으로 [d]`
|
|
33
|
+
- **실행**: `[run] 로그인 API 구현`
|
|
33
34
|
|
|
34
35
|
## 사용법
|
|
35
36
|
|
|
36
37
|
| 태그 | 동작 | 예시 |
|
|
37
38
|
|------|------|------|
|
|
38
39
|
| `[plan]` | 플랜 모드 활성화 | `[plan] DB 마이그레이션 전략 논의` |
|
|
39
|
-
| `[d]` | 결정 기록 | `응 그 방향으로 [d]` |
|
|
40
|
-
| `[run]` | 실행 (
|
|
40
|
+
| `[d]` | 결정 기록 (plan 세션 내) | `응 그 방향으로 [d]` |
|
|
41
|
+
| `[run]` | 실행 (서브에이전트 구성) | `[run] 결제 모듈 리팩토링` |
|
|
41
42
|
| `[rule]` | 규칙 저장 | `[rule] npm 대신 bun 사용` |
|
|
42
43
|
|
|
43
44
|
## 에이전트
|
|
@@ -59,7 +60,7 @@ claude plugin install claude-nexus@nexus
|
|
|
59
60
|
| 스킬 | 트리거 | 설명 |
|
|
60
61
|
|------|--------|------|
|
|
61
62
|
| **nx-plan** | `[plan]` | 구조화된 플랜. 요구사항 정리 → 결정 기록 |
|
|
62
|
-
| **nx-run** |
|
|
63
|
+
| **nx-run** | `[run]` | 동적 에이전트 구성 실행 |
|
|
63
64
|
| **nx-init** | `/claude-nexus:nx-init` | 프로젝트 온보딩. 코드 스캔 → 지식 생성 |
|
|
64
65
|
| **nx-setup** | `/claude-nexus:nx-setup` | 대화형 설정 |
|
|
65
66
|
| **nx-sync** | `/claude-nexus:nx-sync` | 코어 지식 동기화. 소스 변경사항을 .nexus/core/ 문서에 반영 |
|
|
@@ -80,7 +81,7 @@ Claude가 직접 호출하는 도구입니다.
|
|
|
80
81
|
| `nx_context` | 현재 세션 상태 조회 (브랜치, 태스크, 플랜) |
|
|
81
82
|
| `nx_task_list/add/update/close` | `.nexus/state/tasks.json` 기반 태스크 관리 + `.nexus/history.json` 아카이브 |
|
|
82
83
|
| `nx_artifact_write` | 팀 산출물 저장 (`.nexus/state/artifacts/`) |
|
|
83
|
-
| `nx_plan_start` | 플랜 세션 시작 (토픽 + 논점
|
|
84
|
+
| `nx_plan_start` | 플랜 세션 시작 (토픽 + 논점 + 리서치 요약 등록) |
|
|
84
85
|
| `nx_plan_status` | 플랜 상태 조회 |
|
|
85
86
|
| `nx_plan_update` | 플랜 논점 수정 (add/remove/edit/reopen) |
|
|
86
87
|
| `nx_plan_decide` | 논점 결정 처리 (plan.json) |
|
|
@@ -112,9 +113,13 @@ Gate 단일 모듈로 동작합니다.
|
|
|
112
113
|
|
|
113
114
|
| 이벤트 | 역할 |
|
|
114
115
|
|--------|------|
|
|
116
|
+
| `SessionStart` | `.nexus/` 구조 초기화, agent-tracker 리셋 |
|
|
115
117
|
| `UserPromptSubmit` | 태그 감지 → 모드 활성화 + TASK_PIPELINE 주입 + additionalContext 안내 |
|
|
116
|
-
| `PreToolUse` | Edit/Write: tasks.json
|
|
118
|
+
| `PreToolUse` | Edit/Write: tasks.json 미완료 시 차단 |
|
|
119
|
+
| `SubagentStart` | 에이전트 역할별 코어 지식 인덱스 자동 주입 (lazy-read) |
|
|
120
|
+
| `SubagentStop` | 에이전트 완료 기록. 미완료 태스크 경고 |
|
|
117
121
|
| `Stop` | pending 태스크 있으면 종료 차단. all completed면 nx_task_close 강제 |
|
|
122
|
+
| `PostCompact` | 세션 상태 스냅샷 (모드, 플랜, 에이전트 현황) |
|
|
118
123
|
|
|
119
124
|
</details>
|
|
120
125
|
|
|
@@ -127,7 +132,7 @@ Gate 단일 모듈로 동작합니다.
|
|
|
127
132
|
- `rules/` — 팀 커스텀 규칙. git 추적.
|
|
128
133
|
- `config.json` — Nexus 설정. git 추적.
|
|
129
134
|
- `history.json` — 사이클 아카이브. git 추적.
|
|
130
|
-
- `state/` — 런타임 상태 (tasks,
|
|
135
|
+
- `state/` — 런타임 상태 (tasks, plan 등). git 무시.
|
|
131
136
|
|
|
132
137
|
</details>
|
|
133
138
|
|
|
@@ -138,11 +143,10 @@ Gate 단일 모듈로 동작합니다.
|
|
|
138
143
|
|
|
139
144
|
```
|
|
140
145
|
.nexus/state/
|
|
141
|
-
├── tasks.json
|
|
142
|
-
├──
|
|
143
|
-
├──
|
|
144
|
-
|
|
145
|
-
└── artifacts/
|
|
146
|
+
├── tasks.json ← 태스크 목록 ([run] 사이클)
|
|
147
|
+
├── plan.json ← 플랜 세션 ([plan] 사이클)
|
|
148
|
+
├── agent-tracker.json ← 서브에이전트 라이프사이클
|
|
149
|
+
└── artifacts/ ← 산출물
|
|
146
150
|
```
|
|
147
151
|
|
|
148
152
|
</details>
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.23.0
|
package/bridge/mcp-server.cjs
CHANGED
|
@@ -22255,9 +22255,11 @@ function registerPlanTools(server2) {
|
|
|
22255
22255
|
"\uC548\uAC74 \uACB0\uC815 \uAE30\uB85D \u2014 [d] \uD0DC\uADF8\uB85C \uD2B8\uB9AC\uAC70",
|
|
22256
22256
|
{
|
|
22257
22257
|
issue_id: external_exports.number().describe("\uACB0\uC815\uD560 \uC548\uAC74 ID"),
|
|
22258
|
-
summary: external_exports.string().describe("\uACB0\uC815 \uC694\uC57D")
|
|
22258
|
+
summary: external_exports.string().describe("\uACB0\uC815 \uC694\uC57D"),
|
|
22259
|
+
how_agents: external_exports.array(external_exports.string()).optional().describe('\uC774\uC288 \uBD84\uC11D\uC5D0 \uCC38\uC5EC\uD55C HOW \uC5D0\uC774\uC804\uD2B8 \uC774\uB984 \uBAA9\uB85D (\uC608: ["architect", "designer"])'),
|
|
22260
|
+
how_summary: external_exports.record(external_exports.string(), external_exports.string()).optional().describe('\uC5D0\uC774\uC804\uD2B8\uBCC4 \uD575\uC2EC \uC758\uACAC \uC694\uC57D (\uC608: { "architect": "...", "designer": "..." })')
|
|
22259
22261
|
},
|
|
22260
|
-
async ({ issue_id, summary }) => {
|
|
22262
|
+
async ({ issue_id, summary, how_agents, how_summary }) => {
|
|
22261
22263
|
const data = await readPlan();
|
|
22262
22264
|
if (!data) {
|
|
22263
22265
|
return textResult({ error: "No active plan session" });
|
|
@@ -22268,6 +22270,8 @@ function registerPlanTools(server2) {
|
|
|
22268
22270
|
}
|
|
22269
22271
|
issue2.status = "decided";
|
|
22270
22272
|
issue2.decision = summary;
|
|
22273
|
+
if (how_agents !== void 0) issue2.how_agents = how_agents;
|
|
22274
|
+
if (how_summary !== void 0) issue2.how_summary = how_summary;
|
|
22271
22275
|
await writePlan(data);
|
|
22272
22276
|
const allComplete = data.issues.every((i) => i.status === "decided");
|
|
22273
22277
|
if (allComplete) {
|