@nomad-e/bluma-cli 0.0.112 → 0.1.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/dist/main.js +48 -20
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -4023,6 +4023,37 @@ var SYSTEM_PROMPT = `
|
|
|
4023
4023
|
|
|
4024
4024
|
---
|
|
4025
4025
|
|
|
4026
|
+
<skills_knowledge>
|
|
4027
|
+
## Skills vs Base Knowledge (CRITICAL)
|
|
4028
|
+
|
|
4029
|
+
**You have TWO types of knowledge:**
|
|
4030
|
+
|
|
4031
|
+
1. **Base Training Knowledge** - General programming knowledge from your training:
|
|
4032
|
+
- Testing patterns, Git workflows, Docker, React, Python, etc.
|
|
4033
|
+
- This is your GENERAL EXPERTISE
|
|
4034
|
+
- This knowledge is ALWAYS available
|
|
4035
|
+
- This is NOT loadable via \`load_skill\` - it's already in you
|
|
4036
|
+
|
|
4037
|
+
2. **Pluggable Skills** - Specialized modules the user installs:
|
|
4038
|
+
- Listed in the \`<available_skills>\` section (if present)
|
|
4039
|
+
- These are LOADABLE via \`load_skill\` tool
|
|
4040
|
+
- These override/extend your base knowledge with project-specific workflows
|
|
4041
|
+
- These are files in \`.bluma/skills/\` or \`~/.bluma/skills/\`
|
|
4042
|
+
|
|
4043
|
+
**IMPORTANT RULES:**
|
|
4044
|
+
|
|
4045
|
+
- If you see \`<available_skills>\` section below \u2192 those are your pluggable skills
|
|
4046
|
+
- If you DON'T see \`<available_skills>\` section \u2192 you have NO pluggable skills installed
|
|
4047
|
+
- When asked "what skills do you have?":
|
|
4048
|
+
- If \`<available_skills>\` exists: list ONLY what's there
|
|
4049
|
+
- If \`<available_skills>\` doesn't exist: say "No pluggable skills installed. I have general knowledge about programming, testing, git, etc. but no specialized skills loaded."
|
|
4050
|
+
- NEVER invent skill names that aren't in \`<available_skills>\`
|
|
4051
|
+
- NEVER try to \`load_skill\` with a name that isn't in \`<available_skills>\`
|
|
4052
|
+
- Your base knowledge (testing, git, docker...) is NOT a skill - it's just knowledge you have
|
|
4053
|
+
</skills_knowledge>
|
|
4054
|
+
|
|
4055
|
+
---
|
|
4056
|
+
|
|
4026
4057
|
<environment>
|
|
4027
4058
|
## Machine Context (Your Deep Knowledge)
|
|
4028
4059
|
|
|
@@ -4070,7 +4101,7 @@ You MUST adapt all commands to this environment. Use the correct package manager
|
|
|
4070
4101
|
- No TODO needed for single operations
|
|
4071
4102
|
|
|
4072
4103
|
### Testing Philosophy:
|
|
4073
|
-
Run tests when modifying code.
|
|
4104
|
+
Run tests when modifying code. If a testing skill is listed in available_skills, load it for best practices.
|
|
4074
4105
|
|
|
4075
4106
|
**Commands:**
|
|
4076
4107
|
- Run tests: {test_command}
|
|
@@ -4317,9 +4348,11 @@ function getUnifiedSystemPrompt(availableSkills) {
|
|
|
4317
4348
|
|
|
4318
4349
|
You have access to specialized knowledge modules called **skills**. Skills extend your capabilities with domain-specific expertise, workflows, and best practices.
|
|
4319
4350
|
|
|
4320
|
-
**Available skills:**
|
|
4351
|
+
**Available skills (ONLY these exist):**
|
|
4321
4352
|
${skillsList}
|
|
4322
4353
|
|
|
4354
|
+
**IMPORTANT:** The list above is EXHAUSTIVE. Do NOT invent or assume skills that are not listed. If no skills are listed, you have NO skills available.
|
|
4355
|
+
|
|
4323
4356
|
**Skill Lifecycle:**
|
|
4324
4357
|
- Skills are **ephemeral** - they exist only for the current task
|
|
4325
4358
|
- After completing a task, skill context is discarded
|
|
@@ -4333,30 +4366,25 @@ ${skillsList}
|
|
|
4333
4366
|
**BEFORE starting any task, follow this decision process:**
|
|
4334
4367
|
|
|
4335
4368
|
1. **Understand the task** - What is the user trying to accomplish?
|
|
4336
|
-
2. **Identify the domain** - What area of expertise does this task require?
|
|
4337
|
-
3. **
|
|
4338
|
-
4. **Load if
|
|
4369
|
+
2. **Identify the domain** - What area of expertise does this task require?
|
|
4370
|
+
3. **Check the list above** - Is there a skill in the "Available skills" list that matches this domain?
|
|
4371
|
+
4. **Load ONLY if it exists** - If a skill from the list matches, load it with \`load_skill\`
|
|
4339
4372
|
5. **Follow skill instructions** - Once loaded, the skill provides specific workflows to follow
|
|
4340
4373
|
|
|
4341
4374
|
**Decision examples:**
|
|
4342
4375
|
\`\`\`
|
|
4343
|
-
Task: "
|
|
4344
|
-
\u2192
|
|
4345
|
-
\u2192 Check skills
|
|
4346
|
-
\u2192 If
|
|
4347
|
-
|
|
4348
|
-
Task: "Make sure this code works correctly"
|
|
4349
|
-
\u2192 Domain: Testing, validation, quality assurance
|
|
4350
|
-
\u2192 Check skills: Is there a skill for testing?
|
|
4351
|
-
\u2192 If yes: load_skill({ skill_name: "<matching-skill>" })
|
|
4352
|
-
|
|
4353
|
-
Task: "Release this to users"
|
|
4354
|
-
\u2192 Domain: Publishing, deployment, release
|
|
4355
|
-
\u2192 Check skills: Is there a skill for publishing/releasing?
|
|
4356
|
-
\u2192 If yes: load_skill({ skill_name: "<matching-skill>" })
|
|
4376
|
+
Task: "Do X"
|
|
4377
|
+
\u2192 Identify domain of X
|
|
4378
|
+
\u2192 Check "Available skills" list above
|
|
4379
|
+
\u2192 If skill exists in list: load_skill({ skill_name: "<exact-name-from-list>" })
|
|
4380
|
+
\u2192 If NO skill matches: proceed without skill
|
|
4357
4381
|
\`\`\`
|
|
4358
4382
|
|
|
4359
|
-
**
|
|
4383
|
+
**CRITICAL:**
|
|
4384
|
+
- ONLY load skills that appear in the "Available skills" list above
|
|
4385
|
+
- NEVER invent skill names
|
|
4386
|
+
- If asked "what skills do you have?", list ONLY what is in "Available skills" above
|
|
4387
|
+
- If the list is empty or says "none", answer that no skills are currently available
|
|
4360
4388
|
|
|
4361
4389
|
---
|
|
4362
4390
|
|