spawn-skill 1.2.5 → 1.2.6
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/bin/CLAUDE.md +6 -0
- package/bin/cli.js +28 -7
- package/package.json +1 -1
package/bin/CLAUDE.md
CHANGED
|
@@ -8,4 +8,10 @@
|
|
|
8
8
|
| ID | Time | T | Title | Read |
|
|
9
9
|
|----|------|---|-------|------|
|
|
10
10
|
| #913 | 10:14 PM | 🔵 | Spawn-skill CLI tool provides Python SDK implementation | ~343 |
|
|
11
|
+
|
|
12
|
+
### Jan 30, 2026
|
|
13
|
+
|
|
14
|
+
| ID | Time | T | Title | Read |
|
|
15
|
+
|----|------|---|-------|------|
|
|
16
|
+
| #984 | 1:56 AM | 🟣 | Added Moltbot Agent Name Configuration Prompt | ~402 |
|
|
11
17
|
</claude-mem-context>
|
package/bin/cli.js
CHANGED
|
@@ -473,7 +473,8 @@ class SpawnAgent:
|
|
|
473
473
|
`;
|
|
474
474
|
}
|
|
475
475
|
|
|
476
|
-
function getMoltbotBridge(token, agentName) {
|
|
476
|
+
function getMoltbotBridge(token, agentName, moltbotAgent = '') {
|
|
477
|
+
const agentFlag = moltbotAgent ? `, '--agent', '${moltbotAgent}'` : '';
|
|
477
478
|
return `/**
|
|
478
479
|
* Spawn.wtf → Moltbot Bridge
|
|
479
480
|
* Routes messages from Spawn iOS app to your Moltbot backend
|
|
@@ -569,15 +570,17 @@ async function askMoltbot(message) {
|
|
|
569
570
|
|
|
570
571
|
// Build command based on whether we're using npx or direct path
|
|
571
572
|
let proc;
|
|
573
|
+
const baseArgs = ['agent', '--message', message, '--thinking', 'high'${agentFlag}];
|
|
574
|
+
|
|
572
575
|
if (cmd.startsWith('npx ')) {
|
|
573
576
|
// npx moltbot or npx clawdbot
|
|
574
577
|
const pkgName = cmd.split(' ')[1];
|
|
575
|
-
proc = spawn('npx', [pkgName,
|
|
578
|
+
proc = spawn('npx', [pkgName, ...baseArgs], {
|
|
576
579
|
shell: true,
|
|
577
580
|
env: { ...process.env }
|
|
578
581
|
});
|
|
579
582
|
} else {
|
|
580
|
-
proc = spawn(cmd,
|
|
583
|
+
proc = spawn(cmd, baseArgs, {
|
|
581
584
|
shell: true,
|
|
582
585
|
env: { ...process.env }
|
|
583
586
|
});
|
|
@@ -653,7 +656,7 @@ process.on('SIGINT', () => { ws?.close(); process.exit(0); });
|
|
|
653
656
|
`;
|
|
654
657
|
}
|
|
655
658
|
|
|
656
|
-
async function createSkillFiles(token, agentName, language, useMoltbot = false) {
|
|
659
|
+
async function createSkillFiles(token, agentName, language, useMoltbot = false, moltbotAgent = '') {
|
|
657
660
|
const skillDir = path.join(process.cwd(), 'spawn');
|
|
658
661
|
|
|
659
662
|
// Create spawn directory
|
|
@@ -676,7 +679,7 @@ async function createSkillFiles(token, agentName, language, useMoltbot = false)
|
|
|
676
679
|
if (language === 'typescript') {
|
|
677
680
|
// TypeScript/Node setup
|
|
678
681
|
if (useMoltbot) {
|
|
679
|
-
fs.writeFileSync(path.join(skillDir, 'connect.js'), getMoltbotBridge(token, agentName));
|
|
682
|
+
fs.writeFileSync(path.join(skillDir, 'connect.js'), getMoltbotBridge(token, agentName, moltbotAgent));
|
|
680
683
|
} else {
|
|
681
684
|
fs.writeFileSync(path.join(skillDir, 'connect.js'), getTypeScriptConnector(token, agentName));
|
|
682
685
|
}
|
|
@@ -765,7 +768,7 @@ async function main() {
|
|
|
765
768
|
questions.push({
|
|
766
769
|
type: 'confirm',
|
|
767
770
|
name: 'useMoltbot',
|
|
768
|
-
message: 'Use Moltbot as your AI backend?
|
|
771
|
+
message: 'Use Moltbot/Clawdbot as your AI backend?',
|
|
769
772
|
default: false
|
|
770
773
|
});
|
|
771
774
|
|
|
@@ -776,6 +779,24 @@ async function main() {
|
|
|
776
779
|
language = language || answers.language;
|
|
777
780
|
const useMoltbot = answers.useMoltbot || false;
|
|
778
781
|
|
|
782
|
+
// If using Moltbot, ask for the agent name
|
|
783
|
+
let moltbotAgent = '';
|
|
784
|
+
if (useMoltbot) {
|
|
785
|
+
const moltbotAnswers = await inquirer.prompt([{
|
|
786
|
+
type: 'input',
|
|
787
|
+
name: 'moltbotAgent',
|
|
788
|
+
message: 'Moltbot/Clawdbot agent name (from your config):',
|
|
789
|
+
default: '',
|
|
790
|
+
validate: (input) => {
|
|
791
|
+
if (!input.trim()) {
|
|
792
|
+
return 'Agent name is required. Check your moltbot/clawdbot config.';
|
|
793
|
+
}
|
|
794
|
+
return true;
|
|
795
|
+
}
|
|
796
|
+
}]);
|
|
797
|
+
moltbotAgent = moltbotAnswers.moltbotAgent;
|
|
798
|
+
}
|
|
799
|
+
|
|
779
800
|
console.log('');
|
|
780
801
|
|
|
781
802
|
// Check for Moltbot if needed (also check old name 'clawdbot')
|
|
@@ -829,7 +850,7 @@ async function main() {
|
|
|
829
850
|
// Create files
|
|
830
851
|
const createSpinner = ora('Creating skill files...').start();
|
|
831
852
|
try {
|
|
832
|
-
const { skillDir } = await createSkillFiles(token, agentName, language, useMoltbot);
|
|
853
|
+
const { skillDir } = await createSkillFiles(token, agentName, language, useMoltbot, moltbotAgent);
|
|
833
854
|
createSpinner.succeed('Created skill files');
|
|
834
855
|
} catch (err) {
|
|
835
856
|
createSpinner.fail('Failed to create skill files');
|