cli-five 0.2.9 → 0.2.10

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 CHANGED
@@ -116,7 +116,9 @@ cli-five searches **two sources** for skills matching your detected stack:
116
116
  | **awesome-copilot** | Skills, instructions, agents, plugins from the GitHub community | 30k+ |
117
117
  | **skills.sh** | Curated skill repos (Vercel, Anthropic, Microsoft, etc.) | — |
118
118
 
119
- Recommendations show with source attribution and are pre-selected for one-click install. After installation, you get breadcrumbs for ongoing discovery:
119
+ Recommendations show with source attribution. Only cli-five core skills are pre-selected; suggested skills from skills.sh and awesome-copilot require manual selection (press Space) before install. After installation, you get breadcrumbs for ongoing discovery:
120
+
121
+ Take time to read each installed skill so you understand what it does and can catch overlap or conflicts before they affect your workflow.
120
122
 
121
123
  - **Suggest skill** — `copilot plugin install awesome-copilot@suggest` (AI-driven repo analysis)
122
124
  - **MCP server** — `awesome-copilot-mcp` for programmatic search from any agent
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cli-five",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Code Like I'm Five — scaffold a 5-agent VS Code Copilot team into any repo.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,6 +22,15 @@ const SKILL_CATALOG = [
22
22
  { terms: ['rust'], repo: 'anthropics/skills', skills: ['code-review'] },
23
23
  ];
24
24
 
25
+ // Core skills are the always-on baseline curated by cli-five.
26
+ // Stack-specific and discovered skills are suggestions and must be opted-in.
27
+ const CORE_CATALOG_SKILLS = new Set([
28
+ 'anthropics/skills@frontend-design',
29
+ 'anthropics/skills@skill-creator',
30
+ 'vercel-labs/agent-skills@vercel-react-best-practices',
31
+ 'vercel-labs/agent-skills@web-design-guidelines',
32
+ ]);
33
+
25
34
  // ── Environment detection ─────────────────────────────────────────────
26
35
 
27
36
  function resolveSkillsBin() {
@@ -189,19 +198,20 @@ export async function skillDiscovery({ cwd, answers, args }) {
189
198
  choices.push({
190
199
  title: `${kleur.cyan('⬡')} ${r.skill} ${kleur.dim(`(${r.installs})`)} ${kleur.cyan('← awesome-copilot')}`,
191
200
  value: { source: 'awesome', repo: r.repo, skill: r.skill, ref: r.ref },
192
- selected: true,
201
+ selected: false,
193
202
  });
194
203
  }
195
204
 
196
205
  // Static catalog recs (verified repos)
197
206
  for (const r of catalogRecs) {
198
207
  const ref = `${r.repo}@${r.skill}`;
208
+ const core = isCoreCatalogSkill(r.repo, r.skill);
199
209
  if (seen.has(ref)) continue;
200
210
  seen.add(ref);
201
211
  choices.push({
202
- title: `${kleur.yellow('◆')} ${r.skill} ${kleur.dim(`(${r.repo})`)} ${kleur.yellow('← skills.sh')}`,
212
+ title: `${kleur.yellow('◆')} ${r.skill} ${kleur.dim(`(${r.repo})`)} ${kleur.yellow(core ? '← core' : '← skills.sh (suggested)')}`,
203
213
  value: { source: 'catalog', ref, repo: r.repo, skill: r.skill },
204
- selected: true,
214
+ selected: core,
205
215
  });
206
216
  }
207
217
 
@@ -222,6 +232,8 @@ export async function skillDiscovery({ cwd, answers, args }) {
222
232
 
223
233
  if (choices.length > 0) {
224
234
  log.raw('');
235
+ log.dim('Suggested skills are not pre-selected. Press Space to install only what you need.');
236
+ log.dim('Read every installed skill so you understand behavior and catch potential conflicts early.');
225
237
  const { toInstall } = await prompts({
226
238
  type: 'multiselect',
227
239
  name: 'toInstall',
@@ -490,6 +502,10 @@ function buildRecommendations(a) {
490
502
  return out;
491
503
  }
492
504
 
505
+ function isCoreCatalogSkill(repo, skill) {
506
+ return CORE_CATALOG_SKILLS.has(`${repo}@${skill}`);
507
+ }
508
+
493
509
  function suggestSearches(a) {
494
510
  const out = new Set();
495
511
  for (const s of a.stack || []) {
@@ -601,6 +617,7 @@ export const __testables = {
601
617
  buildBreadcrumbBox,
602
618
  detectEnv,
603
619
  formatBoxLine,
620
+ isCoreCatalogSkill,
604
621
  shouldOfferPnpmInstall,
605
622
  stripAnsi,
606
623
  };