@yemi33/minions 0.1.1563 → 0.1.1564

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1564 (2026-04-27)
4
+
5
+ ### Other
6
+ - Harden skill creation guidance
7
+
3
8
  ## 0.1.1563 (2026-04-27)
4
9
 
5
10
  ### Fixes
package/README.md CHANGED
@@ -457,7 +457,7 @@ All playbooks use `{{template_variables}}` filled from project config. Condition
457
457
 
458
458
  Every playbook has an explicit "When to Stop" section telling agents exactly what constitutes completion. Code-pushing playbooks enforce **build → test → repo checks → push** ordering. Per-type max-turns prevent runaway tool loops (explore=30, ask=20, implement=75, verify=100).
459
459
 
460
- Playbooks are fully customizable — edit them to match your workflow. System prompts for CC and plan advisor live in `prompts/` with `{{variable}}` substitution.
460
+ Playbooks are fully customizable — edit the shared templates in `playbooks/` to change the repo-wide defaults. You can also create machine-local overrides in `projects/<name>/playbooks/<type>.md`; Minions will prefer those for that project, but they are treated as user data and remain gitignored. System prompts for CC and plan advisor live in `prompts/` with `{{variable}}` substitution.
461
461
 
462
462
  ## Health Monitoring
463
463
 
@@ -503,7 +503,7 @@ When a reviewer flags issues, the engine creates `feedback-<author>-from-<review
503
503
  `engine/metrics.json` tracks per agent: tasks completed, errors, PRs created/approved/rejected, reviews done. Visible in CLI (`status`) and dashboard with color-coded approval rates.
504
504
 
505
505
  ### 5. Skills
506
- Agents save repeatable workflows to `skills/<name>.md` with Claude Code-compatible frontmatter. Engine builds an index injected into all prompts. Skills can also be stored per-project at `<project>/.claude/skills/<name>/SKILL.md` (requires a PR). Visible in the dashboard Skills section.
506
+ Agents save Minions-wide repeatable workflows as user-level Claude skills in `~/.claude/skills/<name>/SKILL.md`, so they are usable both inside Minions and in normal Claude windows. Repo-specific skills can also be stored per-project at `<project>/.claude/skills/<name>/SKILL.md` (requires a PR). Visible in the dashboard Skills section.
507
507
 
508
508
  See `docs/self-improvement.md` for the full breakdown.
509
509
 
@@ -730,5 +730,3 @@ Per-project engine state remains centralized:
730
730
  work-items.json <- Per-project work queue
731
731
  pull-requests.json <- PR tracker
732
732
  ```
733
-
734
-
@@ -257,14 +257,14 @@ Metrics are currently informational — displayed in status and dashboard. Plann
257
257
 
258
258
  When an agent discovers a repeatable multi-step procedure, it can save it as a **skill** — a structured, reusable workflow compatible with Claude Code's skill system. Skills are stored in two locations:
259
259
 
260
- - **Minions-wide:** `~/.minions/skills/<name>.md` — shared across all agents, no PR required
260
+ - **Minions-wide:** `~/.claude/skills/<name>/SKILL.md` — user-level Claude skill, shared across Minions and normal Claude windows, no PR required
261
261
  - **Project-specific:** `<project>/.claude/skills/<name>/SKILL.md` — scoped to one repo, requires a PR
262
262
 
263
263
  ### Flow
264
264
 
265
265
  ```
266
266
  Agent discovers repeatable pattern during task
267
- → writes skills/<name>.md with frontmatter (name, description, trigger, allowed-tools)
267
+ → writes ~/.claude/skills/<name>/SKILL.md with frontmatter (name, description, trigger, allowed-tools)
268
268
  → engine detects new skill files on next tick
269
269
  → builds skill index (name + trigger + file path)
270
270
  → index injected into every agent's system prompt
@@ -314,10 +314,11 @@ When a git merge or rebase produces conflicts in yarn.lock.
314
314
 
315
315
  ### When agents should create skills
316
316
 
317
- - Multi-step procedures they had to figure out (build setup, deployment, migration)
318
- - Error recovery patterns (how to fix a specific class of failure)
319
- - Project-specific workflows that aren't documented elsewhere
320
- - Cross-repo coordination steps
317
+ - Only when the workflow is durable, multi-step, and likely to be reused on future tasks
318
+ - Only when the workflow is not already documented in repo docs, notes, playbooks, or existing skills
319
+ - Good candidates: build setup, deployment, migrations, recurring error-recovery patterns, cross-repo coordination steps
320
+ - Prefer zero skills over a weak skill; one-off findings and task-specific notes belong in inbox notes or `notes.md`
321
+ - Do not create skills for isolated fixes, obvious repository facts, or instructions already covered elsewhere
321
322
 
322
323
  ## Configuration
323
324
 
@@ -362,14 +362,15 @@ function renderPlaybook(type, vars) {
362
362
  content += `- Conventions to follow\n`;
363
363
  content += `- **SOURCE REFERENCES for every finding** — file paths with line numbers, PR URLs, API endpoints, config keys. Format: \`(source: path/to/file.ts:42)\` or \`(source: PR-12345)\`. Without references, findings cannot be verified.\n\n`;
364
364
  content += `### Skill Extraction (IMPORTANT)\n\n`;
365
- content += `If during this task you discovered a **repeatable workflow** — a multi-step procedure, workaround, build process, or pattern that other agents should follow in similar situations — output it as a fenced skill block. The engine will automatically extract it.\n\n`;
365
+ content += `If during this task you discovered a **repeatable workflow** — a multi-step procedure, workaround, build process, or pattern that other agents should follow in similar situations — only output it as a fenced skill block when **all** of these are true: (1) you had to discover it during this task, (2) it is not already captured in team memory, repo docs, existing playbooks, or existing skills, and (3) another agent is likely to reuse it on future tasks. **Zero skills is the default.** Prefer the inbox findings for one-off notes, repo facts, and task-specific observations.\n\n`;
366
366
  content += `Format your skill as a fenced code block with the \`skill\` language tag:\n\n`;
367
367
  content += '````\n```skill\n';
368
368
  content += `---\nname: short-descriptive-name\ndescription: One-line description of what this skill does\nallowed-tools: Bash, Read, Edit\ntrigger: when should an agent use this\nscope: minions\nproject: any\n---\n\n# Skill Title\n\n## Steps\n1. ...\n2. ...\n\n## Notes\n...\n`;
369
369
  content += '```\n````\n\n';
370
- content += `- Set \`scope: minions\` for cross-project skills (engine writes to ~/.claude/skills/ automatically)\n`;
371
- content += `- Set \`scope: project\` + \`project: <name>\` for repo-specific skills (engine queues a PR to <project>/.claude/skills/)\n`;
372
- content += `- Only output a skill block if you genuinely discovered something reusable don't force it\n`;
370
+ content += `- Set \`scope: minions\` for cross-project or Minions-wide skills; the engine writes them to ~/.claude/skills/ so they are available in normal Claude windows too\n`;
371
+ content += `- Set \`scope: project\` + \`project: <name>\` only for repo-specific skills; the engine queues a PR to <project>/.claude/skills/\n`;
372
+ content += `- Emit at most one skill block per task unless you uncovered two clearly distinct reusable workflows\n`;
373
+ content += `- Do NOT create a skill for one-off bug fixes, isolated command output, obvious repo facts, or anything already covered by existing docs/playbooks/skills\n`;
373
374
 
374
375
  // Inject project-level variables from config
375
376
  const config = getConfig();
@@ -471,7 +472,7 @@ function buildSystemPrompt(agentId, config, project) {
471
472
  prompt += `3. Follow the project conventions in CLAUDE.md if present\n`;
472
473
  prompt += `4. Write learnings to the path specified in the task prompt (format: \`notes/inbox/{agent}-{work-item-id}-{date}-{time}.md\`)\n`;
473
474
  prompt += `5. Agent status is managed by the engine via dispatch.json — agents do not need to track their own status\n`;
474
- prompt += `6. If you discover a repeatable workflow, output it as a \\\`\\\`\\\`skill fenced block — the engine auto-extracts it to ~/.claude/skills/\n\n`;
475
+ prompt += `6. If you discover a repeatable workflow, output it as a \\\`\\\`\\\`skill fenced block — minions-scoped skills are auto-extracted to ~/.claude/skills/ so they are available in normal Claude windows too\n\n`;
475
476
 
476
477
  return prompt;
477
478
  }
@@ -504,7 +505,7 @@ function buildAgentContext(agentId, config, project) {
504
505
 
505
506
  // KB and skills: NOT injected — agents can Glob/Read when needed
506
507
  // This saves ~27KB per dispatch. Reference note so agents know they exist:
507
- context += `## Reference Files\n\nKnowledge base entries are in \`knowledge/{category}/*.md\`. Skills are in \`skills/*.md\` and \`.claude/skills/\`. Use Glob/Read to browse when relevant.\n\n`;
508
+ context += `## Reference Files\n\nKnowledge base entries are in \`knowledge/{category}/*.md\`. User-level Minions skills live in \`~/.claude/skills/\`, and project-specific skills live in \`<project>/.claude/skills/\`. Use Glob/Read when relevant.\n\n`;
508
509
 
509
510
  // Minions awareness: what's in flight, who's doing what
510
511
  const dispatch = getDispatch();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yemi33/minions",
3
- "version": "0.1.1563",
3
+ "version": "0.1.1564",
4
4
  "description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
5
5
  "bin": {
6
6
  "minions": "bin/minions.js"
@@ -60,7 +60,7 @@ Use subagents only for genuinely parallel, independent tasks. For reading files,
60
60
  - Use the appropriate MCP tools for PR creation — check available tools before starting.
61
61
  - Do NOT checkout branches in the main working tree — use worktrees.
62
62
  - Read `notes.md` for all team rules before starting.
63
- - If you discover a repeatable workflow, output it as a ```skill block (the engine auto-extracts it to ~/.claude/skills/)
63
+ - Only emit a ```skill block if you uncovered a durable reusable workflow that is not already documented and is likely to help future tasks; zero skills is the default, and one-off findings belong in the inbox notes instead.
64
64
 
65
65
  ## When to Stop
66
66
 
@@ -33,7 +33,7 @@ Your context window may be compacted or summarized mid-task by Claude's automati
33
33
  5. Previous agent output in `agents/*/live-output.log` for related tasks
34
34
  6. Work item descriptions and `resultSummary` for prior completed work on the same topic
35
35
  Only after exhausting team memory should you look outside (web search, codebase exploration, external docs). This avoids duplicating research another agent already completed and ensures team decisions are respected.
36
- - If you discover a repeatable workflow, output it as a fenced skill block. The engine auto-extracts it to `~/.claude/skills/<name>/SKILL.md`. Required format:
36
+ - Only output a fenced skill block when **all** of these are true: (1) you discovered a durable multi-step workflow that was not already documented in team memory, repo docs, existing playbooks, or existing skills, (2) another agent is likely to need it on future tasks, and (3) the workflow is specific enough to be actionable but general enough to stand alone. **Zero skills is the default.** Prefer writing one-off findings, repo facts, or task-specific notes to the inbox findings instead of creating a skill. Emit **at most one skill block per task** unless the task clearly uncovered two unrelated reusable workflows. The engine auto-extracts valid skill blocks to `~/.claude/skills/<name>/SKILL.md`, so `scope: minions` skills become user-level Claude skills available in normal Claude windows too. Required format:
37
37
  ````
38
38
  ```skill
39
39
  ---
@@ -45,7 +45,8 @@ Your context window may be compacted or summarized mid-task by Claude's automati
45
45
  Instructions for the skill go here.
46
46
  ```
47
47
  ````
48
- The `name` and `description` fields are required. `scope` defaults to `minions` (global). Use `scope: project` + `project: ProjectName` for project-specific skills.
48
+ The `name` and `description` fields are required. `scope` defaults to `minions` (global). Use `scope: minions` for user-level reusable skills; use `scope: project` + `project: ProjectName` only for repo-specific skills that should land in that project via PR.
49
+ Do **not** create a skill for one-off bug fixes, isolated command outputs, obvious repo facts, or anything already covered by existing docs/playbooks/skills.
49
50
  - Do TDD where it makes sense — write failing tests first, then implement, then verify tests pass. Especially for bug fixes (write a test that reproduces the bug) and new utility functions.
50
51
 
51
52
  ## Checking PR and Build Status