workspace-maxxing 0.1.0 → 0.3.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/LICENSE +21 -0
- package/README.md +108 -35
- package/dist/index.js +46 -22
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +7 -1
- package/dist/install.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +52 -22
- package/src/install.ts +8 -1
- package/templates/SKILL.md +88 -0
- package/docs/superpowers/plans/2026-04-07-autonomous-iteration-plan.md +0 -1123
- package/docs/superpowers/plans/2026-04-07-autonomous-iteration-sub-agent-batches.md +0 -1923
- package/docs/superpowers/plans/2026-04-07-autonomous-workflow-sub-skill-plan.md +0 -1505
- package/docs/superpowers/plans/2026-04-07-benchmarking-multi-agent-plan.md +0 -854
- package/docs/superpowers/plans/2026-04-07-workspace-builder-logic-plan.md +0 -1426
- package/docs/superpowers/plans/2026-04-07-workspace-maxxing-plan.md +0 -1299
- package/docs/superpowers/plans/2026-04-08-session-294c-subagent-invocation-plan.md +0 -320
- package/docs/superpowers/plans/2026-04-08-workflow-prompt-hardening-plan.md +0 -1025
- package/docs/superpowers/plans/2026-04-12-workspace-agent-creation-plan.md +0 -992
- package/docs/superpowers/specs/2026-04-07-autonomous-iteration-design.md +0 -214
- package/docs/superpowers/specs/2026-04-07-autonomous-iteration-sub-agent-batches-design.md +0 -188
- package/docs/superpowers/specs/2026-04-07-autonomous-workflow-sub-skill-design.md +0 -137
- package/docs/superpowers/specs/2026-04-07-benchmarking-multi-agent-design.md +0 -105
- package/docs/superpowers/specs/2026-04-07-workspace-builder-logic-design.md +0 -179
- package/docs/superpowers/specs/2026-04-07-workspace-maxxing-design.md +0 -227
- package/docs/superpowers/specs/2026-04-08-session-294c-subagent-invocation-design.md +0 -265
- package/docs/superpowers/specs/2026-04-08-workflow-prompt-hardening-design.md +0 -146
- package/docs/superpowers/specs/2026-04-12-workspace-agent-creation-design.md +0 -239
- package/workspace/00-meta/CONTEXT.md +0 -3
- package/workspace/00-meta/execution-log.md +0 -17
- package/workspace/00-meta/tools.md +0 -11
- package/workspace/01-input/CONTEXT.md +0 -27
- package/workspace/CONTEXT.md +0 -35
- package/workspace/README.md +0 -14
- package/workspace/SYSTEM.md +0 -36
- package/workspace-maxxing-0.1.0.tgz +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Eric Julian Deguzman
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# workspace-maxxing
|
|
2
2
|
|
|
3
|
-
An installable skill package for AI coding agents that scaffolds, validates, and iterates on ICM-style workspaces with explicit workflow routing.
|
|
3
|
+
An installable skill package for AI coding agents that scaffolds, validates, and iterates on ICM-style workspaces with explicit workflow routing. Now with **invokable agent creation** - the skill can create autonomous agents that can be invoked with `@` in your workspace.
|
|
4
4
|
|
|
5
5
|
## Why This Exists
|
|
6
6
|
|
|
@@ -13,44 +13,87 @@ Most agent workspaces drift over time because prompts are underspecified and con
|
|
|
13
13
|
- Workflow-aware validation (routing coverage, stage dependency direction, selective loading)
|
|
14
14
|
- Batched autonomous iteration via orchestrator + worker/fixer loops
|
|
15
15
|
- Built-in test-case generation and weighted benchmarking
|
|
16
|
+
- **Create invokable agents** - the skill can build autonomous agents that can be invoked with `@` in your workspace
|
|
17
|
+
- **Self-improving agents** - created agents run through iteration loops to ensure robustness
|
|
16
18
|
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-
- Node.js 18+
|
|
20
|
-
- `npx` available in your shell
|
|
19
|
+
## Quick Start
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
### One Command Does Everything
|
|
23
22
|
|
|
24
23
|
```bash
|
|
25
|
-
#
|
|
24
|
+
# Create workspace with agent (recommended)
|
|
25
|
+
npx workspace-maxxing init
|
|
26
|
+
|
|
27
|
+
# Install skill to OpenCode
|
|
28
|
+
npx workspace-maxxing install
|
|
29
|
+
|
|
30
|
+
# Or use the old way (still works)
|
|
26
31
|
npx workspace-maxxing --opencode
|
|
32
|
+
```
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
npx workspace-maxxing --claude
|
|
34
|
+
That's it! No extra flags needed.
|
|
30
35
|
|
|
31
|
-
|
|
32
|
-
npx workspace-maxxing --copilot
|
|
36
|
+
## Two Main Use Cases
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
### Use Case 1: Create a New Workspace with Agent
|
|
39
|
+
|
|
40
|
+
When you want to start a new workflow project:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Basic (creates "My Workspace" with 3 stages)
|
|
44
|
+
npx workspace-maxxing init
|
|
45
|
+
|
|
46
|
+
# Custom name
|
|
47
|
+
npx workspace-maxxing init --workspace-name "Daily Digest"
|
|
48
|
+
|
|
49
|
+
# Custom stages
|
|
50
|
+
npx workspace-maxxing init --stages "01-input,02-process,03-output,04-deploy"
|
|
51
|
+
|
|
52
|
+
# Without agent (backward compatible)
|
|
53
|
+
npx workspace-maxxing init --no-agent
|
|
54
|
+
|
|
55
|
+
# To specific folder
|
|
56
|
+
npx workspace-maxxing init --output "./my-workspace"
|
|
36
57
|
```
|
|
37
58
|
|
|
38
|
-
|
|
59
|
+
This creates:
|
|
60
|
+
- ICM workspace folder structure
|
|
61
|
+
- Invokable `@agent` in `.agents/skills/`
|
|
62
|
+
- Runs self-improvement loop (score >= 85)
|
|
39
63
|
|
|
40
|
-
|
|
41
|
-
|---|---|---|
|
|
42
|
-
| OpenCode | `--opencode` | `.agents/skills/workspace-maxxing/` |
|
|
43
|
-
| Claude Code | `--claude` | `.claude/skills/` |
|
|
44
|
-
| GitHub Copilot | `--copilot` | `.github/copilot-instructions/` |
|
|
45
|
-
| Gemini CLI | `--gemini` | `.gemini/skills/` |
|
|
64
|
+
### Use Case 2: Install the Skill to Your Project
|
|
46
65
|
|
|
47
|
-
|
|
66
|
+
When you want to use workspace-maxxing as a skill in your AI agent:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Install to current project (OpenCode)
|
|
70
|
+
npx workspace-maxxing install
|
|
71
|
+
|
|
72
|
+
# Install to specific platform
|
|
73
|
+
npx workspace-maxxing --opencode
|
|
74
|
+
npx workspace-maxxing --claude
|
|
75
|
+
npx workspace-maxxing --copilot
|
|
76
|
+
npx workspace-maxxing --gemini
|
|
77
|
+
```
|
|
48
78
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
79
|
+
This installs the skill to `.agents/skills/workspace-maxxing/` so you can invoke it in your AI agent session with `@workspace-maxxing`.
|
|
80
|
+
|
|
81
|
+
## CLI Options
|
|
82
|
+
|
|
83
|
+
| Option | Description |
|
|
84
|
+
|--------|-------------|
|
|
85
|
+
| `init` | Create workspace with agent (default command) |
|
|
86
|
+
| `install` | Install skill to current project |
|
|
87
|
+
| `--workspace-name` | Name of the workspace |
|
|
88
|
+
| `--stages` | Comma-separated stages |
|
|
89
|
+
| `--output` | Output directory |
|
|
90
|
+
| `--no-agent` | Create workspace without agent |
|
|
91
|
+
| `--stages` | "01-input,02-process,03-output" | Comma-separated stage names |
|
|
92
|
+
| `--output` | "./workspace" | Output directory |
|
|
93
|
+
| `--agent-name` | auto-generated (@workspace-name) | Custom agent name |
|
|
94
|
+
| `--no-agent` | false | Create workspace without agent |
|
|
95
|
+
| `--threshold` | 85 | Robustness threshold for agent iteration |
|
|
96
|
+
| `--max-iterations` | 3 | Max improvement cycles |
|
|
54
97
|
|
|
55
98
|
## What Gets Installed
|
|
56
99
|
|
|
@@ -58,6 +101,31 @@ npx workspace-maxxing --gemini
|
|
|
58
101
|
- `.workspace-templates/` (SYSTEM/CONTEXT templates and scripts)
|
|
59
102
|
- `scripts/` (scaffold, validate, dispatch, orchestrator, benchmark, etc.)
|
|
60
103
|
|
|
104
|
+
## Agent Creation Workflow
|
|
105
|
+
|
|
106
|
+
When you invoke `workspace-maxxing` with a request to create an agent (e.g., "create a daily digest agent"):
|
|
107
|
+
|
|
108
|
+
1. **Parse the request** - Extract the agent purpose (e.g., "Daily Digest")
|
|
109
|
+
2. **Create ICM workspace** - SYSTEM.md, CONTEXT.md, stage folders
|
|
110
|
+
3. **Create invokable agent** - In `.agents/skills/@<purpose>/`
|
|
111
|
+
4. **Run self-improvement loop**:
|
|
112
|
+
- Generate test cases (edge, empty, varied inputs)
|
|
113
|
+
- Validate agent handling
|
|
114
|
+
- Score robustness (0-100)
|
|
115
|
+
- If score < 85: improve prompts, retry
|
|
116
|
+
- Repeat until score >= 85 or max iterations (3)
|
|
117
|
+
5. **Install agent** for platform (OpenCode/Claude/Copilot/Gemini)
|
|
118
|
+
6. **Deliver** workspace with robust agent
|
|
119
|
+
|
|
120
|
+
### Invoking the Created Agent
|
|
121
|
+
|
|
122
|
+
After workspace is created, use `@` followed by the agent name:
|
|
123
|
+
|
|
124
|
+
- **OpenCode**: `@daily-digest`
|
|
125
|
+
- **Claude Code**: Via `.claude/skills/` directory
|
|
126
|
+
- **Copilot**: Via `.github/copilot-instructions/`
|
|
127
|
+
- **Gemini**: Via `.gemini/skills/` directory
|
|
128
|
+
|
|
61
129
|
## Workflow Model
|
|
62
130
|
|
|
63
131
|
The skill follows a phased flow:
|
|
@@ -122,14 +190,19 @@ npm test
|
|
|
122
190
|
|
|
123
191
|
## Project Layout
|
|
124
192
|
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
193
|
+
```
|
|
194
|
+
workspace-maxxing/
|
|
195
|
+
├── src/
|
|
196
|
+
│ ├── index.ts # CLI entry point
|
|
197
|
+
│ ├── install.ts # Skill installation
|
|
198
|
+
│ ├── agent-creator.ts # Agent creation
|
|
199
|
+
│ ├── agent-iterator.ts # Agent self-improvement
|
|
200
|
+
│ ├── platforms/ # Platform installers
|
|
201
|
+
│ └── scripts/ # Core scripts
|
|
202
|
+
├── templates/
|
|
203
|
+
│ ├── SKILL.md # Main skill definition
|
|
204
|
+
│ └── .workspace-templates/ # Workspace templates
|
|
205
|
+
└── tests/
|
|
133
206
|
```
|
|
134
207
|
|
|
135
208
|
## Contributing
|
|
@@ -141,4 +214,4 @@ tests/
|
|
|
141
214
|
|
|
142
215
|
## License
|
|
143
216
|
|
|
144
|
-
MIT
|
|
217
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
package/dist/index.js
CHANGED
|
@@ -45,13 +45,17 @@ function showHelp() {
|
|
|
45
45
|
workspace-maxxing — npx-installable skill for AI agents
|
|
46
46
|
|
|
47
47
|
Usage:
|
|
48
|
-
npx workspace-maxxing [
|
|
48
|
+
npx workspace-maxxing [command]
|
|
49
|
+
|
|
50
|
+
Commands (no flags needed):
|
|
51
|
+
init Create a new workspace with invokable agent (default)
|
|
52
|
+
install Install the skill to current project (for OpenCode)
|
|
49
53
|
|
|
50
54
|
Installation Options:
|
|
51
|
-
--opencode
|
|
52
|
-
--claude
|
|
53
|
-
--copilot
|
|
54
|
-
--gemini
|
|
55
|
+
--opencode Install skill for OpenCode agents
|
|
56
|
+
--claude Install skill for Claude Code agents
|
|
57
|
+
--copilot Install skill for GitHub Copilot agents
|
|
58
|
+
--gemini Install skill for Gemini CLI agents
|
|
55
59
|
|
|
56
60
|
Workspace Creation Options:
|
|
57
61
|
--create-workspace Create a new workspace with agent
|
|
@@ -64,20 +68,18 @@ Workspace Creation Options:
|
|
|
64
68
|
--max-iterations <n> Max agent iterations (default: 3)
|
|
65
69
|
|
|
66
70
|
Examples:
|
|
67
|
-
#
|
|
68
|
-
npx workspace-maxxing
|
|
69
|
-
|
|
70
|
-
# Create workspace with agent
|
|
71
|
-
npx workspace-maxxing --create-workspace --workspace-name "Daily Digest" --stages "01-input,02-process,03-output"
|
|
71
|
+
# Create workspace with agent (recommended)
|
|
72
|
+
npx workspace-maxxing init
|
|
72
73
|
|
|
73
|
-
# Create workspace
|
|
74
|
-
npx workspace-maxxing
|
|
74
|
+
# Create workspace with custom name
|
|
75
|
+
npx workspace-maxxing init --workspace-name "Daily Digest"
|
|
75
76
|
|
|
76
77
|
# Create workspace without agent
|
|
77
|
-
npx workspace-maxxing
|
|
78
|
+
npx workspace-maxxing init --no-agent
|
|
78
79
|
|
|
79
|
-
#
|
|
80
|
-
npx workspace-maxxing
|
|
80
|
+
# Install skill to OpenCode
|
|
81
|
+
npx workspace-maxxing install
|
|
82
|
+
npx workspace-maxxing --opencode
|
|
81
83
|
`);
|
|
82
84
|
}
|
|
83
85
|
function extractOption(args, option) {
|
|
@@ -158,12 +160,35 @@ async function main() {
|
|
|
158
160
|
showHelp();
|
|
159
161
|
process.exit(0);
|
|
160
162
|
}
|
|
161
|
-
// Check for workspace
|
|
162
|
-
if (args.includes('--create-workspace')) {
|
|
163
|
-
|
|
163
|
+
// Check for init command (create workspace with agent)
|
|
164
|
+
if (args.includes('init') || args.includes('--create-workspace')) {
|
|
165
|
+
// Remove 'init' from args if present, keep other flags
|
|
166
|
+
const cleanArgs = args.filter(a => a !== 'init' && a !== '--create-workspace');
|
|
167
|
+
await createWorkspace(cleanArgs);
|
|
164
168
|
return;
|
|
165
169
|
}
|
|
166
|
-
// Check for install
|
|
170
|
+
// Check for install command
|
|
171
|
+
if (args.includes('install')) {
|
|
172
|
+
const cwd = process.cwd();
|
|
173
|
+
const projectRoot = (0, install_1.detectProjectRoot)(cwd);
|
|
174
|
+
if (projectRoot !== cwd) {
|
|
175
|
+
console.log(`Detected project root: ${projectRoot}`);
|
|
176
|
+
}
|
|
177
|
+
const templatesDir = process.env.WORKSPACE_MAXXING_TEMPLATES ??
|
|
178
|
+
path.join(__dirname, '..', 'templates');
|
|
179
|
+
console.log(`Installing workspace-maxxing skill...`);
|
|
180
|
+
const result = await (0, install_1.installSkill)(projectRoot, templatesDir, 'opencode');
|
|
181
|
+
if (result.success) {
|
|
182
|
+
console.log(`Skill installed to: ${result.skillPath}`);
|
|
183
|
+
console.log(`Open a new OpenCode session and invoke the workspace-maxxing skill to get started.`);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
console.error(`Installation failed: ${result.error}`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Check for install targets (--opencode, --claude, etc.)
|
|
167
192
|
const agentFlags = ['opencode', 'claude', 'copilot', 'gemini'];
|
|
168
193
|
const detectedAgent = agentFlags.find((flag) => args.includes(`--${flag}`));
|
|
169
194
|
if (detectedAgent) {
|
|
@@ -186,9 +211,8 @@ async function main() {
|
|
|
186
211
|
}
|
|
187
212
|
return;
|
|
188
213
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
process.exit(1);
|
|
214
|
+
// Default: treat as workspace creation (backward compatible)
|
|
215
|
+
await createWorkspace(args);
|
|
192
216
|
}
|
|
193
217
|
main().catch((error) => {
|
|
194
218
|
console.error(error);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyE;AACzE,iDAAuD;AACvD,mDAA+E;AAC/E,qDAAgD;AAChD,2CAAmE;AAEnE,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/install.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare function getAgentTargetPath(projectRoot: string, agent: AgentTarg
|
|
|
12
12
|
export declare function detectProjectRoot(startDir: string): string;
|
|
13
13
|
/**
|
|
14
14
|
* Install the workspace-maxxing skill into a project.
|
|
15
|
-
* Copies SKILL.md, .workspace-templates/, and
|
|
15
|
+
* Copies SKILL.md, .workspace-templates/, scripts/, and skills/ to the agent-specific skill directory.
|
|
16
16
|
*/
|
|
17
17
|
export declare function installSkill(projectRoot: string, templatesDir: string, agent?: AgentTarget): Promise<InstallResult>;
|
|
18
18
|
//# sourceMappingURL=install.d.ts.map
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAGlF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgB1D;AA0BD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,WAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAGlF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgB1D;AA0BD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,WAAuB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
|
package/dist/install.js
CHANGED
|
@@ -87,7 +87,7 @@ function copyDirSync(src, dest) {
|
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Install the workspace-maxxing skill into a project.
|
|
90
|
-
* Copies SKILL.md, .workspace-templates/, and
|
|
90
|
+
* Copies SKILL.md, .workspace-templates/, scripts/, and skills/ to the agent-specific skill directory.
|
|
91
91
|
*/
|
|
92
92
|
async function installSkill(projectRoot, templatesDir, agent = undefined) {
|
|
93
93
|
const skillDir = getAgentTargetPath(projectRoot, agent);
|
|
@@ -107,6 +107,12 @@ async function installSkill(projectRoot, templatesDir, agent = undefined) {
|
|
|
107
107
|
const scriptsDest = path.join(skillDir, 'scripts');
|
|
108
108
|
copyDirSync(scriptsSrc, scriptsDest);
|
|
109
109
|
}
|
|
110
|
+
// Copy skills/ sub-directory for sub-skill invocation
|
|
111
|
+
const skillsSrc = path.join(templatesDir, '.workspace-templates', 'skills');
|
|
112
|
+
if (fs.existsSync(skillsSrc)) {
|
|
113
|
+
const skillsDest = path.join(skillDir, 'skills');
|
|
114
|
+
copyDirSync(skillsSrc, skillsDest);
|
|
115
|
+
}
|
|
110
116
|
return { success: true, skillPath: skillDir };
|
|
111
117
|
}
|
|
112
118
|
catch (error) {
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,gDAGC;AAMD,8CAgBC;AA8BD,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,gDAGC;AAMD,8CAgBC;AA8BD,oCAsCC;AA/GD,uCAAyB;AACzB,2CAA6B;AAU7B,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,kCAAkC;IAC5C,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,8BAA8B;IACvC,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,SAAgB,kBAAkB,CAAC,WAAmB,EAAE,KAAkB;IACxE,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEtC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzD,IAAI,cAAc,IAAI,MAAM,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW,EAAE,IAAY;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,YAAoB,EACpB,QAAqB,SAAS;IAE9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEzC,6BAA6B;QAC7B,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC3E,WAAW,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;QAE3D,mDAAmD;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC9E,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACjE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,13 +12,17 @@ function showHelp(): void {
|
|
|
12
12
|
workspace-maxxing — npx-installable skill for AI agents
|
|
13
13
|
|
|
14
14
|
Usage:
|
|
15
|
-
npx workspace-maxxing [
|
|
15
|
+
npx workspace-maxxing [command]
|
|
16
|
+
|
|
17
|
+
Commands (no flags needed):
|
|
18
|
+
init Create a new workspace with invokable agent (default)
|
|
19
|
+
install Install the skill to current project (for OpenCode)
|
|
16
20
|
|
|
17
21
|
Installation Options:
|
|
18
|
-
--opencode
|
|
19
|
-
--claude
|
|
20
|
-
--copilot
|
|
21
|
-
--gemini
|
|
22
|
+
--opencode Install skill for OpenCode agents
|
|
23
|
+
--claude Install skill for Claude Code agents
|
|
24
|
+
--copilot Install skill for GitHub Copilot agents
|
|
25
|
+
--gemini Install skill for Gemini CLI agents
|
|
22
26
|
|
|
23
27
|
Workspace Creation Options:
|
|
24
28
|
--create-workspace Create a new workspace with agent
|
|
@@ -31,20 +35,18 @@ Workspace Creation Options:
|
|
|
31
35
|
--max-iterations <n> Max agent iterations (default: 3)
|
|
32
36
|
|
|
33
37
|
Examples:
|
|
34
|
-
#
|
|
35
|
-
npx workspace-maxxing
|
|
38
|
+
# Create workspace with agent (recommended)
|
|
39
|
+
npx workspace-maxxing init
|
|
36
40
|
|
|
37
|
-
# Create workspace with
|
|
38
|
-
npx workspace-maxxing
|
|
39
|
-
|
|
40
|
-
# Create workspace in specific folder
|
|
41
|
-
npx workspace-maxxing --create-workspace --workspace-name "My Workflow" --output "./my-workspace"
|
|
41
|
+
# Create workspace with custom name
|
|
42
|
+
npx workspace-maxxing init --workspace-name "Daily Digest"
|
|
42
43
|
|
|
43
44
|
# Create workspace without agent
|
|
44
|
-
npx workspace-maxxing
|
|
45
|
+
npx workspace-maxxing init --no-agent
|
|
45
46
|
|
|
46
|
-
#
|
|
47
|
-
npx workspace-maxxing
|
|
47
|
+
# Install skill to OpenCode
|
|
48
|
+
npx workspace-maxxing install
|
|
49
|
+
npx workspace-maxxing --opencode
|
|
48
50
|
`);
|
|
49
51
|
}
|
|
50
52
|
|
|
@@ -142,13 +144,42 @@ async function main(): Promise<void> {
|
|
|
142
144
|
process.exit(0);
|
|
143
145
|
}
|
|
144
146
|
|
|
145
|
-
// Check for workspace
|
|
146
|
-
if (args.includes('--create-workspace')) {
|
|
147
|
-
|
|
147
|
+
// Check for init command (create workspace with agent)
|
|
148
|
+
if (args.includes('init') || args.includes('--create-workspace')) {
|
|
149
|
+
// Remove 'init' from args if present, keep other flags
|
|
150
|
+
const cleanArgs = args.filter(a => a !== 'init' && a !== '--create-workspace');
|
|
151
|
+
await createWorkspace(cleanArgs);
|
|
148
152
|
return;
|
|
149
153
|
}
|
|
150
154
|
|
|
151
|
-
// Check for install
|
|
155
|
+
// Check for install command
|
|
156
|
+
if (args.includes('install')) {
|
|
157
|
+
const cwd = process.cwd();
|
|
158
|
+
const projectRoot = detectProjectRoot(cwd);
|
|
159
|
+
|
|
160
|
+
if (projectRoot !== cwd) {
|
|
161
|
+
console.log(`Detected project root: ${projectRoot}`);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
const templatesDir =
|
|
165
|
+
process.env.WORKSPACE_MAXXING_TEMPLATES ??
|
|
166
|
+
path.join(__dirname, '..', 'templates');
|
|
167
|
+
|
|
168
|
+
console.log(`Installing workspace-maxxing skill...`);
|
|
169
|
+
const result = await installSkill(projectRoot, templatesDir, 'opencode');
|
|
170
|
+
|
|
171
|
+
if (result.success) {
|
|
172
|
+
console.log(`Skill installed to: ${result.skillPath}`);
|
|
173
|
+
console.log(`Open a new OpenCode session and invoke the workspace-maxxing skill to get started.`);
|
|
174
|
+
} else {
|
|
175
|
+
console.error(`Installation failed: ${result.error}`);
|
|
176
|
+
process.exit(1);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Check for install targets (--opencode, --claude, etc.)
|
|
152
183
|
const agentFlags: AgentTarget[] = ['opencode', 'claude', 'copilot', 'gemini'];
|
|
153
184
|
const detectedAgent = agentFlags.find((flag) => args.includes(`--${flag}`));
|
|
154
185
|
|
|
@@ -178,9 +209,8 @@ async function main(): Promise<void> {
|
|
|
178
209
|
return;
|
|
179
210
|
}
|
|
180
211
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
process.exit(1);
|
|
212
|
+
// Default: treat as workspace creation (backward compatible)
|
|
213
|
+
await createWorkspace(args);
|
|
184
214
|
}
|
|
185
215
|
|
|
186
216
|
main().catch((error) => {
|
package/src/install.ts
CHANGED
|
@@ -69,7 +69,7 @@ function copyDirSync(src: string, dest: string): void {
|
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
71
|
* Install the workspace-maxxing skill into a project.
|
|
72
|
-
* Copies SKILL.md, .workspace-templates/, and
|
|
72
|
+
* Copies SKILL.md, .workspace-templates/, scripts/, and skills/ to the agent-specific skill directory.
|
|
73
73
|
*/
|
|
74
74
|
export async function installSkill(
|
|
75
75
|
projectRoot: string,
|
|
@@ -97,6 +97,13 @@ export async function installSkill(
|
|
|
97
97
|
copyDirSync(scriptsSrc, scriptsDest);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
// Copy skills/ sub-directory for sub-skill invocation
|
|
101
|
+
const skillsSrc = path.join(templatesDir, '.workspace-templates', 'skills');
|
|
102
|
+
if (fs.existsSync(skillsSrc)) {
|
|
103
|
+
const skillsDest = path.join(skillDir, 'skills');
|
|
104
|
+
copyDirSync(skillsSrc, skillsDest);
|
|
105
|
+
}
|
|
106
|
+
|
|
100
107
|
return { success: true, skillPath: skillDir };
|
|
101
108
|
} catch (error) {
|
|
102
109
|
const message = error instanceof Error ? error.message : String(error);
|
package/templates/SKILL.md
CHANGED
|
@@ -18,6 +18,72 @@ Autonomous workflow system that creates, validates, and improves ICM-compliant w
|
|
|
18
18
|
- User asks to run test cases against a workspace
|
|
19
19
|
- **User asks to create an agent for a specific task** (e.g., "create a daily digest agent", "make a news aggregator agent")
|
|
20
20
|
|
|
21
|
+
## Tool Discovery & Agent Harness
|
|
22
|
+
|
|
23
|
+
This skill is designed to **fully utilize its agent harness**. When running:
|
|
24
|
+
|
|
25
|
+
### 1. Tool Discovery
|
|
26
|
+
|
|
27
|
+
At the start of execution (especially during RESEARCH or ARCHITECTURE phases):
|
|
28
|
+
- Scan available tools in the workspace (check `00-meta/tools.md` or `tools/` directory)
|
|
29
|
+
- Look for MCP tools that could assist with the workflow
|
|
30
|
+
- Use the **tooling** sub-skill to assess and install needed tools: `/skill tooling --workspace ./workspace`
|
|
31
|
+
- Tools should be leveraged to enhance research, validation, and iteration
|
|
32
|
+
|
|
33
|
+
### 2. Sub-Skill Invocation
|
|
34
|
+
|
|
35
|
+
All sub-skills are invokable via **slash command** in your AI agent session:
|
|
36
|
+
|
|
37
|
+
| Command | Sub-Skill | Purpose |
|
|
38
|
+
|---------|-----------|---------|
|
|
39
|
+
| `/skill research` | `research` | Conduct research phase |
|
|
40
|
+
| `/skill architecture` | `architecture` | Design workspace architecture |
|
|
41
|
+
| `/skill validation` | `validation` | Validate workspace ICM compliance |
|
|
42
|
+
| `/skill iteration` | `iteration` | Run improvement iteration |
|
|
43
|
+
| `/skill testing` | `testing` | Generate and run tests |
|
|
44
|
+
| `/skill tooling` | `tooling` | Assess and install tools |
|
|
45
|
+
| `/skill prompt-engineering` | `prompt-engineering` | Improve prompt quality |
|
|
46
|
+
| `/skill worker` | `worker` | Execute worker task |
|
|
47
|
+
| `/skill fixer` | `fixer` | Fix failing test cases |
|
|
48
|
+
|
|
49
|
+
**To invoke a sub-skill**, use the dispatch script:
|
|
50
|
+
```bash
|
|
51
|
+
node skills/dispatch.ts --skill <sub-skill-name> --workspace ./workspace
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Or if your agent supports slash commands:
|
|
55
|
+
```
|
|
56
|
+
/skill research --workspace ./workspace
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Full Agent Harness Usage
|
|
60
|
+
|
|
61
|
+
This skill provides a complete agent development harness:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
65
|
+
│ workspace-maxxing │
|
|
66
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
67
|
+
│ TOOLS: Look for available tools, install via tooling skill │
|
|
68
|
+
│ ↓ │
|
|
69
|
+
│ RESEARCH: Use /skill research to gather requirements │
|
|
70
|
+
│ ↓ │
|
|
71
|
+
│ ARCHITECTURE: Use /skill architecture to design structure │
|
|
72
|
+
│ ↓ │
|
|
73
|
+
│ BUILD: Use scaffold.ts to create workspace │
|
|
74
|
+
│ ↓ │
|
|
75
|
+
│ VALIDATE: Use /skill validation to check ICM compliance │
|
|
76
|
+
│ ↓ │
|
|
77
|
+
│ ITERATE: Use /skill iteration for autonomous improvement │
|
|
78
|
+
│ ↓ │
|
|
79
|
+
│ TOOLING: Use /skill tooling to add more tools │
|
|
80
|
+
│ ↓ │
|
|
81
|
+
│ DELIVER: Complete workspace with validated agents │
|
|
82
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Never skip sub-skills** - each one contributes to a robust workspace.
|
|
86
|
+
|
|
21
87
|
## Agent Creation Workflow
|
|
22
88
|
|
|
23
89
|
When you invoke `workspace-maxxing` with a request to create an agent (e.g., "create a daily digest agent"), follow this flow:
|
|
@@ -42,6 +108,7 @@ User: "Create a daily digest agent"
|
|
|
42
108
|
|
|
43
109
|
```
|
|
44
110
|
-> Extract purpose: "Daily Digest"
|
|
111
|
+
-> DISCOVER TOOLS: Use /skill tooling to find relevant tools (e.g., RSS, web scraping, summarization)
|
|
45
112
|
-> Create workspace with stages: 01-input, 02-process, 03-output
|
|
46
113
|
-> Create agent: @daily-digest in .agents/skills/daily-digest/
|
|
47
114
|
-> Run iteration:
|
|
@@ -52,6 +119,8 @@ User: "Create a daily digest agent"
|
|
|
52
119
|
-> Agent is ready to invoke with @daily-digest
|
|
53
120
|
```
|
|
54
121
|
|
|
122
|
+
**Key**: Always look for and leverage tools when creating agents or workspaces.
|
|
123
|
+
|
|
55
124
|
## When Not to Use
|
|
56
125
|
|
|
57
126
|
- Simple file creation or editing (use direct file operations)
|
|
@@ -143,6 +212,25 @@ node scripts/orchestrator.ts --workspace ./workspace --batch-size 3 --score-thre
|
|
|
143
212
|
|
|
144
213
|
## Sub-Skill Dispatch
|
|
145
214
|
|
|
215
|
+
**All sub-skills are invokable via slash command in your AI agent session:**
|
|
216
|
+
|
|
217
|
+
| Command | Sub-Skill | Purpose |
|
|
218
|
+
|---------|-----------|---------|
|
|
219
|
+
| `/skill research` | `research` | Conduct research phase |
|
|
220
|
+
| `/skill architecture` | `architecture` | Design workspace architecture |
|
|
221
|
+
| `/skill validation` | `validation` | Validate workspace ICM compliance |
|
|
222
|
+
| `/skill iteration` | `iteration` | Run improvement iteration |
|
|
223
|
+
| `/skill testing` | `testing` | Generate and run tests |
|
|
224
|
+
| `/skill tooling` | `tooling` | Assess and install tools |
|
|
225
|
+
| `/skill prompt-engineering` | `prompt-engineering` | Improve prompt quality |
|
|
226
|
+
| `/skill worker` | `worker` | Execute worker task |
|
|
227
|
+
| `/skill fixer` | `fixer` | Fix failing test cases |
|
|
228
|
+
|
|
229
|
+
**To invoke a sub-skill**, use the dispatch script:
|
|
230
|
+
```bash
|
|
231
|
+
node skills/dispatch.ts --skill <sub-skill-name> --workspace ./workspace
|
|
232
|
+
```
|
|
233
|
+
|
|
146
234
|
| Condition | Sub-Skill | Command |
|
|
147
235
|
|-----------|-----------|---------|
|
|
148
236
|
| Starting new workflow | `research` | `node scripts/dispatch.ts --skill research --workspace ./workspace` |
|