conductor-4-all 0.1.0 β 0.1.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 +21 -6
- package/dist/index.cjs +16 -47
- package/dist/index.js +16 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,6 +16,19 @@ Originally tied to the Gemini CLI extension, this project aims to decouple the m
|
|
|
16
16
|
- **Agent-Agnostic Setup:** Provide a mechanism to "install" Conductor commands and templates into a project, effectively "enabling" it for consumption by multiple different coding agents.
|
|
17
17
|
- **Standardization:** Create a unified interface for project orchestration that bridges the gap between human intent and AI execution.
|
|
18
18
|
|
|
19
|
+
## π§ Skills Install Mode (Recommended)
|
|
20
|
+
|
|
21
|
+
Conductor supports two primary installation formats: "Slash Custom Prompts (Commands)" and "Skills". We recommend the **Skills** installation mode as the preferred option for most projects.
|
|
22
|
+
|
|
23
|
+
- **What "Skills" does:** Installs Conductor as agentskills.ioβstyle skill files (or agent-specific skill directories) so your Conductor commands and workflows are discoverable and consumable by a wide range of AI agents and tooling.
|
|
24
|
+
- **Why prefer Skills:** Skills are more portable across agents and platforms, easier to version and distribute, and better aligned with agent ecosystems that support skill/skillpack discovery. They avoid relying on agent-specific slash-command syntax and generally offer better long-term compatibility.
|
|
25
|
+
- **When to still use Slash Commands:** Use the slash command / prompt-file form when your environment or agent specifically requires prompt files (for example, some local prompt-driven integrations or editor-specific prompt formats).
|
|
26
|
+
- **Example install targets:**
|
|
27
|
+
- `.agents/skills/` β general skills directory (recommended default)
|
|
28
|
+
- `.claude/skills/` β Claude Code specific
|
|
29
|
+
|
|
30
|
+
When running the installer, choose **Skills** to get the recommended, cross-agent installation by default.
|
|
31
|
+
|
|
19
32
|
## π Usage
|
|
20
33
|
|
|
21
34
|
### 1. Setup Conductor in Your Project
|
|
@@ -53,14 +66,16 @@ This will verify the environment and install the necessary Conductor files:
|
|
|
53
66
|
|
|
54
67
|
### 3. Using Conductor with Your Agent
|
|
55
68
|
|
|
56
|
-
Once installed, you can instruct your AI Agent to perform Conductor tasks using the installed commands. For example:
|
|
69
|
+
Once installed, you can instruct your AI Agent to perform Conductor tasks using the installed commands or the provided skill files. For example:
|
|
57
70
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
71
|
+
- `@agent /conductor-setup` β Initialize the project structure. (skill: `.agents/skills/conductor-setup/SKILL.md`)
|
|
72
|
+
- `@agent /conductor-newTrack` β Start a new feature or bug fix track. (skill: `.agents/skills/conductor-newTrack/SKILL.md`)
|
|
73
|
+
- `@agent /conductor-implement` β Implement the selected track. (skill: `.agents/skills/conductor-implement/SKILL.md`)
|
|
74
|
+
- `@agent /conductor-status` β Check the status of current tracks. (skill: `.agents/skills/conductor-status/SKILL.md`)
|
|
75
|
+
- `@agent /conductor-review` β Run the review protocol for a track. (skill: `.agents/skills/conductor-review/SKILL.md`)
|
|
76
|
+
- `@agent /conductor-revert` β Revert changes related to a track. (skill: `.agents/skills/conductor-revert/SKILL.md`)
|
|
62
77
|
|
|
63
|
-
*Note:
|
|
78
|
+
*Note: many agents can run the skill by opening the skill file (for example, open `.agents/skills/conductor-implement/SKILL.md`), or by selecting/running the skill name in the agent UI. Skills also commonly include a recommended slash invocation so you can keep using the short command form.*
|
|
64
79
|
|
|
65
80
|
|
|
66
81
|
|
package/dist/index.cjs
CHANGED
|
@@ -37,18 +37,18 @@ async function promptForInstallMode() {
|
|
|
37
37
|
const answer = await (0, import_select.default)({
|
|
38
38
|
message: "Select installation mode:",
|
|
39
39
|
choices: [
|
|
40
|
-
{
|
|
41
|
-
name: "Slash Custom Prompts (Commands)",
|
|
42
|
-
value: "prompt",
|
|
43
|
-
description: "Install as standard slash commands (e.g. /conductor:implement)"
|
|
44
|
-
},
|
|
45
40
|
{
|
|
46
41
|
name: "Skills",
|
|
47
42
|
value: "skills",
|
|
48
43
|
description: "Install as agentskills.io compliant skills"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "Slash Custom Prompts (Commands, deprecated)",
|
|
47
|
+
value: "prompt",
|
|
48
|
+
description: "Install as standard slash commands (e.g. /conductor:implement)"
|
|
49
49
|
}
|
|
50
50
|
],
|
|
51
|
-
default: "
|
|
51
|
+
default: "skills"
|
|
52
52
|
});
|
|
53
53
|
return answer;
|
|
54
54
|
}
|
|
@@ -65,16 +65,6 @@ async function promptForSkillsTarget() {
|
|
|
65
65
|
name: "Claude Code",
|
|
66
66
|
value: "claude-code",
|
|
67
67
|
description: "Install to .claude/skills/ directory"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "Antigravity",
|
|
71
|
-
value: "antigravity",
|
|
72
|
-
description: "Install to .agents/skills/ with GEMINI.md protocol"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
name: "Gemini CLI",
|
|
76
|
-
value: "gemini",
|
|
77
|
-
description: "Install to .agents/skills/ with GEMINI.md protocol"
|
|
78
68
|
}
|
|
79
69
|
],
|
|
80
70
|
default: "general"
|
|
@@ -106,11 +96,6 @@ async function promptForAgent() {
|
|
|
106
96
|
value: "claude-code",
|
|
107
97
|
description: "Anthropic's coding assistant"
|
|
108
98
|
},
|
|
109
|
-
{
|
|
110
|
-
name: "Antigravity",
|
|
111
|
-
value: "antigravity",
|
|
112
|
-
description: "Google's agentic coding assistant"
|
|
113
|
-
},
|
|
114
99
|
{
|
|
115
100
|
name: "Cursor",
|
|
116
101
|
value: "cursor",
|
|
@@ -367,26 +352,6 @@ var ClaudeCodeGenerator = class {
|
|
|
367
352
|
}
|
|
368
353
|
};
|
|
369
354
|
|
|
370
|
-
// src/generators/antigravity/config.ts
|
|
371
|
-
var antigravityConfig = {
|
|
372
|
-
agentType: "antigravity",
|
|
373
|
-
agentDir: ".agent",
|
|
374
|
-
commandsDir: "workflows",
|
|
375
|
-
displayName: "Antigravity",
|
|
376
|
-
protocolFilename: "GEMINI.md"
|
|
377
|
-
};
|
|
378
|
-
|
|
379
|
-
// src/generators/antigravity/generator.ts
|
|
380
|
-
var AntigravityGenerator = class {
|
|
381
|
-
generator = createGenerator(antigravityConfig);
|
|
382
|
-
validate(targetDir) {
|
|
383
|
-
return this.generator.validate(targetDir);
|
|
384
|
-
}
|
|
385
|
-
generate(targetDir) {
|
|
386
|
-
return this.generator.generate(targetDir);
|
|
387
|
-
}
|
|
388
|
-
};
|
|
389
|
-
|
|
390
355
|
// src/generators/cursor/config.ts
|
|
391
356
|
var cursorConfig = {
|
|
392
357
|
agentType: "cursor",
|
|
@@ -602,13 +567,20 @@ var GeminiGenerator = class {
|
|
|
602
567
|
}
|
|
603
568
|
};
|
|
604
569
|
|
|
570
|
+
// src/generators/antigravity/config.ts
|
|
571
|
+
var antigravityConfig = {
|
|
572
|
+
agentType: "antigravity",
|
|
573
|
+
agentDir: ".agent",
|
|
574
|
+
commandsDir: "workflows",
|
|
575
|
+
displayName: "Antigravity",
|
|
576
|
+
protocolFilename: "GEMINI.md"
|
|
577
|
+
};
|
|
578
|
+
|
|
605
579
|
// src/generators/index.ts
|
|
606
580
|
function getGenerator(agentType) {
|
|
607
581
|
switch (agentType) {
|
|
608
582
|
case "claude-code":
|
|
609
583
|
return new ClaudeCodeGenerator();
|
|
610
|
-
case "antigravity":
|
|
611
|
-
return new AntigravityGenerator();
|
|
612
584
|
case "cursor":
|
|
613
585
|
return new CursorGenerator();
|
|
614
586
|
case "vscode-copilot":
|
|
@@ -762,8 +734,6 @@ var ClaudeCodeSkillsGenerator = class extends BaseSkillsGenerator {
|
|
|
762
734
|
function getSkillsGenerator(target, agentConfig) {
|
|
763
735
|
switch (target) {
|
|
764
736
|
case "general":
|
|
765
|
-
case "antigravity":
|
|
766
|
-
case "gemini":
|
|
767
737
|
return new GeneralSkillsGenerator(agentConfig);
|
|
768
738
|
case "claude-code":
|
|
769
739
|
return new ClaudeCodeSkillsGenerator(agentConfig);
|
|
@@ -783,7 +753,7 @@ async function installHandler(argv) {
|
|
|
783
753
|
console.log("Step 1: Prompting for skills target selection...");
|
|
784
754
|
const target = await promptForSkillsTarget();
|
|
785
755
|
console.log(`\u2714 Selected skills target: ${target}`);
|
|
786
|
-
const selectedAgent = target === "
|
|
756
|
+
const selectedAgent = target === "claude-code" ? "claude-code" : "opencode";
|
|
787
757
|
const agentConfig = getGeneratorConfig(selectedAgent);
|
|
788
758
|
const skillsGenerator = getSkillsGenerator(target, agentConfig);
|
|
789
759
|
console.log("\nStep 2: Generating skills...");
|
|
@@ -832,7 +802,6 @@ var cli = (0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).s
|
|
|
832
802
|
choices: [
|
|
833
803
|
"opencode",
|
|
834
804
|
"claude-code",
|
|
835
|
-
"antigravity",
|
|
836
805
|
"cursor",
|
|
837
806
|
"vscode-copilot",
|
|
838
807
|
"codex",
|
package/dist/index.js
CHANGED
|
@@ -10,18 +10,18 @@ async function promptForInstallMode() {
|
|
|
10
10
|
const answer = await select({
|
|
11
11
|
message: "Select installation mode:",
|
|
12
12
|
choices: [
|
|
13
|
-
{
|
|
14
|
-
name: "Slash Custom Prompts (Commands)",
|
|
15
|
-
value: "prompt",
|
|
16
|
-
description: "Install as standard slash commands (e.g. /conductor:implement)"
|
|
17
|
-
},
|
|
18
13
|
{
|
|
19
14
|
name: "Skills",
|
|
20
15
|
value: "skills",
|
|
21
16
|
description: "Install as agentskills.io compliant skills"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "Slash Custom Prompts (Commands, deprecated)",
|
|
20
|
+
value: "prompt",
|
|
21
|
+
description: "Install as standard slash commands (e.g. /conductor:implement)"
|
|
22
22
|
}
|
|
23
23
|
],
|
|
24
|
-
default: "
|
|
24
|
+
default: "skills"
|
|
25
25
|
});
|
|
26
26
|
return answer;
|
|
27
27
|
}
|
|
@@ -38,16 +38,6 @@ async function promptForSkillsTarget() {
|
|
|
38
38
|
name: "Claude Code",
|
|
39
39
|
value: "claude-code",
|
|
40
40
|
description: "Install to .claude/skills/ directory"
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "Antigravity",
|
|
44
|
-
value: "antigravity",
|
|
45
|
-
description: "Install to .agents/skills/ with GEMINI.md protocol"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "Gemini CLI",
|
|
49
|
-
value: "gemini",
|
|
50
|
-
description: "Install to .agents/skills/ with GEMINI.md protocol"
|
|
51
41
|
}
|
|
52
42
|
],
|
|
53
43
|
default: "general"
|
|
@@ -79,11 +69,6 @@ async function promptForAgent() {
|
|
|
79
69
|
value: "claude-code",
|
|
80
70
|
description: "Anthropic's coding assistant"
|
|
81
71
|
},
|
|
82
|
-
{
|
|
83
|
-
name: "Antigravity",
|
|
84
|
-
value: "antigravity",
|
|
85
|
-
description: "Google's agentic coding assistant"
|
|
86
|
-
},
|
|
87
72
|
{
|
|
88
73
|
name: "Cursor",
|
|
89
74
|
value: "cursor",
|
|
@@ -340,26 +325,6 @@ var ClaudeCodeGenerator = class {
|
|
|
340
325
|
}
|
|
341
326
|
};
|
|
342
327
|
|
|
343
|
-
// src/generators/antigravity/config.ts
|
|
344
|
-
var antigravityConfig = {
|
|
345
|
-
agentType: "antigravity",
|
|
346
|
-
agentDir: ".agent",
|
|
347
|
-
commandsDir: "workflows",
|
|
348
|
-
displayName: "Antigravity",
|
|
349
|
-
protocolFilename: "GEMINI.md"
|
|
350
|
-
};
|
|
351
|
-
|
|
352
|
-
// src/generators/antigravity/generator.ts
|
|
353
|
-
var AntigravityGenerator = class {
|
|
354
|
-
generator = createGenerator(antigravityConfig);
|
|
355
|
-
validate(targetDir) {
|
|
356
|
-
return this.generator.validate(targetDir);
|
|
357
|
-
}
|
|
358
|
-
generate(targetDir) {
|
|
359
|
-
return this.generator.generate(targetDir);
|
|
360
|
-
}
|
|
361
|
-
};
|
|
362
|
-
|
|
363
328
|
// src/generators/cursor/config.ts
|
|
364
329
|
var cursorConfig = {
|
|
365
330
|
agentType: "cursor",
|
|
@@ -575,13 +540,20 @@ var GeminiGenerator = class {
|
|
|
575
540
|
}
|
|
576
541
|
};
|
|
577
542
|
|
|
543
|
+
// src/generators/antigravity/config.ts
|
|
544
|
+
var antigravityConfig = {
|
|
545
|
+
agentType: "antigravity",
|
|
546
|
+
agentDir: ".agent",
|
|
547
|
+
commandsDir: "workflows",
|
|
548
|
+
displayName: "Antigravity",
|
|
549
|
+
protocolFilename: "GEMINI.md"
|
|
550
|
+
};
|
|
551
|
+
|
|
578
552
|
// src/generators/index.ts
|
|
579
553
|
function getGenerator(agentType) {
|
|
580
554
|
switch (agentType) {
|
|
581
555
|
case "claude-code":
|
|
582
556
|
return new ClaudeCodeGenerator();
|
|
583
|
-
case "antigravity":
|
|
584
|
-
return new AntigravityGenerator();
|
|
585
557
|
case "cursor":
|
|
586
558
|
return new CursorGenerator();
|
|
587
559
|
case "vscode-copilot":
|
|
@@ -735,8 +707,6 @@ var ClaudeCodeSkillsGenerator = class extends BaseSkillsGenerator {
|
|
|
735
707
|
function getSkillsGenerator(target, agentConfig) {
|
|
736
708
|
switch (target) {
|
|
737
709
|
case "general":
|
|
738
|
-
case "antigravity":
|
|
739
|
-
case "gemini":
|
|
740
710
|
return new GeneralSkillsGenerator(agentConfig);
|
|
741
711
|
case "claude-code":
|
|
742
712
|
return new ClaudeCodeSkillsGenerator(agentConfig);
|
|
@@ -756,7 +726,7 @@ async function installHandler(argv) {
|
|
|
756
726
|
console.log("Step 1: Prompting for skills target selection...");
|
|
757
727
|
const target = await promptForSkillsTarget();
|
|
758
728
|
console.log(`\u2714 Selected skills target: ${target}`);
|
|
759
|
-
const selectedAgent = target === "
|
|
729
|
+
const selectedAgent = target === "claude-code" ? "claude-code" : "opencode";
|
|
760
730
|
const agentConfig = getGeneratorConfig(selectedAgent);
|
|
761
731
|
const skillsGenerator = getSkillsGenerator(target, agentConfig);
|
|
762
732
|
console.log("\nStep 2: Generating skills...");
|
|
@@ -805,7 +775,6 @@ var cli = yargs(hideBin(process.argv)).scriptName("conductor").usage("$0 <cmd> [
|
|
|
805
775
|
choices: [
|
|
806
776
|
"opencode",
|
|
807
777
|
"claude-code",
|
|
808
|
-
"antigravity",
|
|
809
778
|
"cursor",
|
|
810
779
|
"vscode-copilot",
|
|
811
780
|
"codex",
|