aicores 1.0.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/README.md ADDED
@@ -0,0 +1,559 @@
1
+ # AI Core CLI
2
+
3
+ The CLI for the open agent ecosystem. Install and manage **agents** and **skills** for your favorite AI tools using `npx aicore`, `npx agents`, or `npx skills`.
4
+
5
+ <!-- agent-list:start -->
6
+ Supports **OpenCode**, **Claude Code**, **Codex**, **Cursor**, and [37 more](#available-agents).
7
+ <!-- agent-list:end -->
8
+
9
+ > [!TIP]
10
+ > **Three interchangeable commands**: `aicore`, `agents`, and `skills` all work the same way. Use `npx aicore` to install a bundled package of agents + skills at once, or use `npx agents` / `npx skills` to install them separately.
11
+
12
+ ## `npx aicore` — Install Agents & Skills Together
13
+
14
+ `aicore` is the unified command for installing a package that contains both agents (subagents) and skills in one shot.
15
+
16
+ ```bash
17
+ npx aicore wizeline/my-aicore
18
+ ```
19
+
20
+ An **aicore package** follows this directory structure:
21
+
22
+ ```text
23
+ my-aicore/
24
+ ├── agents/
25
+ │ └── agent-name.md ← Required: YAML frontmatter + instructions
26
+ └── skills/
27
+ └── skill-name/
28
+ ├── SKILL.md ← Required: YAML frontmatter + instructions
29
+ ├── references/
30
+ │ └── reference.md ← Optional: reference documents
31
+ ├── assets/
32
+ │ └── template.md ← Optional: template files
33
+ └── scripts/
34
+ └── helper.py ← Optional: helper scripts
35
+ ```
36
+
37
+ When you run `npx aicore <source>`, the CLI:
38
+
39
+ 1. Clones (or reads) the source
40
+ 2. Discovers all agent `.md` files in the `agents/` subfolder → installs them to `.agents/agents/`
41
+ 3. Discovers all skill directories in the `skills/` subfolder → installs them to `.agents/skills/`
42
+ 4. Creates symlinks for each installed AI assistant (e.g. `.claude/agents/`, `.claude/skills/`)
43
+
44
+ ### Source Formats
45
+
46
+ ```bash
47
+ # GitHub shorthand (owner/repo)
48
+ npx aicore wizeline/my-aicore
49
+
50
+ # Full GitHub URL
51
+ npx aicore https://github.com/wizeline/my-aicore
52
+
53
+ # Direct path to a specific subfolder
54
+ npx aicore https://github.com/wizeline/my-aicore/tree/main/packages/backend
55
+
56
+ # Local path
57
+ npx aicore ./my-local-aicore
58
+ ```
59
+
60
+ ### Options
61
+
62
+ | Option | Description |
63
+ | ------------------------- | ------------------------------------------------------ |
64
+ | `-g, --global` | Install to user directory instead of project |
65
+ | `-a, --agent <agents...>` | Target specific AI assistants (e.g., `claude-code`) |
66
+ | `-s, --skill <skills...>` | Install specific skills by name (use `'*'` for all) |
67
+ | `-l, --list` | List available agents and skills without installing |
68
+ | `--copy` | Copy files instead of symlinking |
69
+ | `-y, --yes` | Skip all confirmation prompts |
70
+ | `--all` | Install all items to all AI assistants without prompts |
71
+
72
+ ### Examples
73
+
74
+ ```bash
75
+ # List agents and skills in a package without installing
76
+ npx aicore wizeline/my-aicore --list
77
+
78
+ # Install everything globally and skip all prompts
79
+ npx aicore wizeline/my-aicore -g -y
80
+
81
+ # Install to specific AI assistants only
82
+ npx aicore wizeline/my-aicore -a claude-code -a opencode
83
+
84
+ # Install only specific skills (agents are always fully installed)
85
+ npx aicore wizeline/my-aicore --skill frontend-design
86
+
87
+ # Non-interactive CI/CD install
88
+ npx aicore wizeline/my-aicore -g -y --all
89
+ ```
90
+
91
+ ### Scaffold a New AICore Package
92
+
93
+ ```bash
94
+ # Create an aicore structure in a new subdirectory
95
+ npx aicore init my-aicore
96
+
97
+ # Create in the current directory
98
+ npx aicore init
99
+ ```
100
+
101
+ This generates:
102
+
103
+ ```text
104
+ my-aicore/
105
+ ├── agents/
106
+ │ └── my-agent.md
107
+ └── skills/
108
+ └── my-skill/
109
+ └── SKILL.md
110
+ ```
111
+
112
+ ### Installation Layout
113
+
114
+ | Content | Canonical Path | Agent-Specific Symlink |
115
+ | ------- | ----------------------- | -------------------------- |
116
+ | Agents | `.agents/agents/<name>` | `.claude/agents/<name>.md` |
117
+ | Skills | `.agents/skills/<name>` | `.claude/skills/<name>/` |
118
+
119
+ ---
120
+
121
+ ## `npx agents` / `npx skills` — Install Separately
122
+
123
+ Use these commands to install agents or skills independently from any repository (not required to follow the aicore structure).
124
+
125
+ ```bash
126
+ npx agents add wizeline/agent-skills
127
+ npx skills add wizeline/agent-skills
128
+ ```
129
+
130
+ ### Supported Source Formats
131
+
132
+ ```bash
133
+ # GitHub shorthand (owner/repo)
134
+ npx agents add wizeline/agent-skills
135
+
136
+ # Full GitHub URL
137
+ npx agents add https://github.com/wizeline/agent-skills
138
+
139
+ # Direct path to a skill or agent in a repo
140
+ npx agents add https://github.com/wizeline/agent-skills/tree/main/skills/web-design-guidelines
141
+
142
+ # GitLab URL
143
+ npx agents add https://gitlab.com/org/repo
144
+
145
+ # Any git URL
146
+ npx agents add git@github.com:wizeline/agent-skills.git
147
+
148
+ # Local path
149
+ npx agents add ./my-local-skills
150
+ ```
151
+
152
+ ### Add Options
153
+
154
+ | Option | Description |
155
+ | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
156
+ | `-g, --global` | Install to user directory instead of project |
157
+ | `-a, --agent <agents...>` | <!-- agent-names:start -->Target specific agents (e.g., `claude-code`, `codex`). See [Available Agents](#available-agents)<!-- agent-names:end --> |
158
+ | `-s, --skill <skills...>` | Install specific items by name (use `'*'` for all) |
159
+ | `-l, --list` | List available items without installing |
160
+ | `--copy` | Copy files instead of symlinking to agent directories |
161
+ | `-y, --yes` | Skip all confirmation prompts |
162
+ | `--all` | Install all items to all agents without prompts |
163
+
164
+ ### Add Examples
165
+
166
+ ```bash
167
+ # List items in a repository
168
+ npx agents add wizeline/agent-skills --list
169
+
170
+ # Install specific items
171
+ npx agents add wizeline/agent-skills --skill frontend-design --skill skill-creator
172
+
173
+ # Install with spaces in the name (must be quoted)
174
+ npx agents add owner/repo --skill "Convex Best Practices"
175
+
176
+ # Install to specific agents
177
+ npx agents add wizeline/agent-skills -a claude-code -a opencode
178
+
179
+ # Non-interactive installation (CI/CD friendly)
180
+ npx agents add wizeline/agent-skills --skill frontend-design -g -a claude-code -y
181
+
182
+ # Install all items from a repo to all agents
183
+ npx agents add wizeline/agent-skills --all
184
+
185
+ # Install all items to specific agents
186
+ npx agents add wizeline/agent-skills --skill '*' -a claude-code
187
+
188
+ # Install specific items to all agents
189
+ npx agents add wizeline/agent-skills --agent '*' --skill frontend-design
190
+ ```
191
+
192
+ ### Installation Scope
193
+
194
+ | Scope | Flag | Location | Use Case |
195
+ | ----------- | --------- | ------------------- | --------------------------------------------- |
196
+ | **Project** | (default) | `./<agent>/skills/` | Committed with your project, shared with team |
197
+ | **Global** | `-g` | `~/<agent>/skills/` | Available across all projects |
198
+
199
+ ### Installation Methods
200
+
201
+ When installing interactively, you can choose:
202
+
203
+ | Method | Description |
204
+ | ------------------------- | ------------------------------------------------------------------------------------------- |
205
+ | **Symlink** (Recommended) | Creates symlinks from each agent to a canonical copy. Single source of truth, easy updates. |
206
+ | **Copy** | Creates independent copies for each agent. Use when symlinks aren't supported. |
207
+
208
+ ---
209
+
210
+ ## Other Commands
211
+
212
+ These commands work with all three CLIs (`aicore`, `agents`, `skills`):
213
+
214
+ | Command | Description |
215
+ | ------------------------------ | ---------------------------------------------- |
216
+ | `npx aicore list` | List installed items (alias: `ls`) |
217
+ | `npx aicore find [query]` | Search for items interactively or by keyword |
218
+ | `npx aicore remove [items]` | Remove installed items from agents |
219
+ | `npx aicore check` | Check for available updates |
220
+ | `npx aicore update` | Update all installed items to latest versions |
221
+ | `npx aicore init [name]` | Scaffold a new aicore package structure |
222
+
223
+ ### `list`
224
+
225
+ List all installed items. Similar to `npm ls`.
226
+
227
+ ```bash
228
+ # List all installed items (project and global)
229
+ npx aicore list
230
+
231
+ # List only global items
232
+ npx aicore ls -g
233
+
234
+ # Filter by specific agents
235
+ npx aicore ls -a claude-code -a cursor
236
+ ```
237
+
238
+ ### `find`
239
+
240
+ Search for items interactively or by keyword.
241
+
242
+ ```bash
243
+ # Interactive search (fzf-style)
244
+ npx aicore find
245
+
246
+ # Search by keyword
247
+ npx aicore find typescript
248
+ ```
249
+
250
+ ### `check` / `update`
251
+
252
+ ```bash
253
+ # Check if any installed items have updates
254
+ npx aicore check
255
+
256
+ # Update all items to latest versions
257
+ npx aicore update
258
+ ```
259
+
260
+ ### `init`
261
+
262
+ ```bash
263
+ # Scaffold an aicore package in the current directory
264
+ npx aicore init
265
+
266
+ # Scaffold an aicore package in a new subdirectory
267
+ npx aicore init my-aicore
268
+
269
+ # Create a single SKILL.md (using the skills command)
270
+ npx skills init my-skill
271
+ ```
272
+
273
+ ### `remove`
274
+
275
+ Remove installed items from agents.
276
+
277
+ ```bash
278
+ # Remove interactively (select from installed items)
279
+ npx aicore remove
280
+
281
+ # Remove specific items by name
282
+ npx aicore remove web-design-guidelines
283
+
284
+ # Remove multiple items
285
+ npx aicore remove frontend-design web-design-guidelines
286
+
287
+ # Remove from global scope
288
+ npx aicore remove --global web-design-guidelines
289
+
290
+ # Remove from specific agents only
291
+ npx aicore remove --agent claude-code cursor my-agent
292
+
293
+ # Remove all installed items without confirmation
294
+ npx aicore remove --all
295
+
296
+ # Remove all items from a specific agent
297
+ npx aicore remove --skill '*' -a cursor
298
+
299
+ # Remove a specific item from all agents
300
+ npx aicore remove my-item --agent '*'
301
+
302
+ # Use 'rm' alias
303
+ npx aicore rm my-item
304
+ ```
305
+
306
+ | Option | Description |
307
+ | -------------- | ------------------------------------------------ |
308
+ | `-g, --global` | Remove from global scope (~/) instead of project |
309
+ | `-a, --agent` | Remove from specific agents (use `'*'` for all) |
310
+ | `-s, --skill` | Specify skills to remove (use `'*'` for all) |
311
+ | `-y, --yes` | Skip confirmation prompts |
312
+ | `--all` | Shorthand for `--skill '*' --agent '*' -y` |
313
+
314
+ ---
315
+
316
+ ## What are Agents & Skills?
317
+
318
+ **Skills** are reusable instruction sets that extend your coding agent's capabilities. They're defined in `SKILL.md`
319
+ files with YAML frontmatter containing a `name` and `description`.
320
+
321
+ **Agents** (subagents) are specialized personas or automated workflows that can be "hired" to perform tasks.
322
+
323
+ **AICores** are bundled packages that combine agents and skills in a standard directory layout, installable with a single `npx aicore` command.
324
+
325
+ They let agents perform specialized tasks like:
326
+
327
+ - Generating release notes from git history
328
+ - Creating PRs following your team's conventions
329
+ - Integrating with external tools (Linear, Notion, etc.)
330
+
331
+ Discover more at **[skills.sh](https://skills.sh)**
332
+
333
+ ## Supported Agents
334
+
335
+ Items can be installed to any of these agents:
336
+
337
+ <!-- supported-agents:start -->
338
+ | Agent | `--agent` | Project Path | Global Path |
339
+ |-------|-----------|--------------|-------------|
340
+ | Amp, Kimi Code CLI, Replit, Universal | `amp`, `kimi-cli`, `replit`, `universal` | `.agents/skills/` | `~\.config\agents\skills/` |
341
+ | Antigravity | `antigravity` | `.agent/skills/` | `~\.gemini\antigravity\skills/` |
342
+ | Augment | `augment` | `.augment/skills/` | `~\.augment\skills/` |
343
+ | Claude Code | `claude-code` | `.claude/skills/` | `~\.claude\skills/` |
344
+ | OpenClaw | `openclaw` | `skills/` | `~\.openclaw\skills/` |
345
+ | Cline | `cline` | `.agents/skills/` | `~\.agents\skills/` |
346
+ | CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~\.codebuddy\skills/` |
347
+ | Codex | `codex` | `.agents/skills/` | `~\.codex\skills/` |
348
+ | Command Code | `command-code` | `.commandcode/skills/` | `~\.commandcode\skills/` |
349
+ | Continue | `continue` | `.continue/skills/` | `~\.continue\skills/` |
350
+ | Cortex Code | `cortex` | `.cortex/skills/` | `~\.snowflake\cortex\skills/` |
351
+ | Crush | `crush` | `.crush/skills/` | `~\.config\crush\skills/` |
352
+ | Cursor | `cursor` | `.agents/skills/` | `~\.cursor\skills/` |
353
+ | Droid | `droid` | `.factory/skills/` | `~\.factory\skills/` |
354
+ | Gemini CLI | `gemini-cli` | `.agents/skills/` | `~\.gemini\skills/` |
355
+ | GitHub Copilot | `github-copilot` | `.agents/skills/` | `~\.copilot\skills/` |
356
+ | Goose | `goose` | `.goose/skills/` | `~\.config\goose\skills/` |
357
+ | Junie | `junie` | `.junie/skills/` | `~\.junie\skills/` |
358
+ | iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~\.iflow\skills/` |
359
+ | Kilo Code | `kilo` | `.kilocode/skills/` | `~\.kilocode\skills/` |
360
+ | Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~\.kiro\skills/` |
361
+ | Kode | `kode` | `.kode/skills/` | `~\.kode\skills/` |
362
+ | MCPJam | `mcpjam` | `.mcpjam/skills/` | `~\.mcpjam\skills/` |
363
+ | Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~\.vibe\skills/` |
364
+ | Mux | `mux` | `.mux/skills/` | `~\.mux\skills/` |
365
+ | OpenCode | `opencode` | `.agents/skills/` | `~\.config\opencode\skills/` |
366
+ | OpenHands | `openhands` | `.openhands/skills/` | `~\.openhands\skills/` |
367
+ | Pi | `pi` | `.pi/skills/` | `~\.pi\agent\skills/` |
368
+ | Qoder | `qoder` | `.qoder/skills/` | `~\.qoder\skills/` |
369
+ | Qwen Code | `qwen-code` | `.qwen/skills/` | `~\.qwen\skills/` |
370
+ | Roo Code | `roo` | `.roo/skills/` | `~\.roo\skills/` |
371
+ | Trae | `trae` | `.trae/skills/` | `~\.trae\skills/` |
372
+ | Trae CN | `trae-cn` | `.trae/skills/` | `~\.trae-cn\skills/` |
373
+ | Windsurf | `windsurf` | `.windsurf/skills/` | `~\.codeium\windsurf\skills/` |
374
+ | Zencoder | `zencoder` | `.zencoder/skills/` | `~\.zencoder\skills/` |
375
+ | Neovate | `neovate` | `.neovate/skills/` | `~\.neovate\skills/` |
376
+ | Pochi | `pochi` | `.pochi/skills/` | `~\.pochi\skills/` |
377
+ | AdaL | `adal` | `.adal/skills/` | `~\.adal\skills/` |
378
+ <!-- supported-agents:end -->
379
+
380
+ > [!NOTE]
381
+ > **Kiro CLI users:** After installing skills, manually add them to your custom agent's `resources` in
382
+ > `.kiro/agents/<agent>.json`:
383
+ >
384
+ > ```json
385
+ > {
386
+ > "resources": ["skill://.kiro/skills/**/SKILL.md"]
387
+ > }
388
+ > ```
389
+
390
+ The CLI automatically detects which coding agents you have installed. If none are detected, you'll be prompted to select
391
+ which agents to install to.
392
+
393
+ ## Creating an AICore Package
394
+
395
+ An aicore package bundles agents and skills together. Use `npx aicore init` to scaffold the structure, then fill in your content.
396
+
397
+ ### Agent Files (`agents/*.md`)
398
+
399
+ Agent files define a specialized AI persona or subagent. They are plain `.md` files with YAML frontmatter:
400
+
401
+ ```markdown
402
+ ---
403
+ name: my-agent
404
+ description: A specialized agent for code review
405
+ ---
406
+
407
+ # My Agent
408
+
409
+ Instructions for the AI agent. Define the persona, goals, and behavior here.
410
+
411
+ ## Role
412
+
413
+ You are a senior code reviewer focused on security and maintainability.
414
+
415
+ ## Instructions
416
+
417
+ 1. Review all changes for security vulnerabilities
418
+ 2. Check for code duplication and suggest refactors
419
+ 3. Verify test coverage for new code
420
+ ```
421
+
422
+ ### Skill Files (`skills/<name>/SKILL.md`)
423
+
424
+ Skills are reusable instruction sets. Each skill lives in its own subdirectory with a `SKILL.md` file:
425
+
426
+ ```markdown
427
+ ---
428
+ name: my-skill
429
+ description: What this skill does and when to use it
430
+ ---
431
+
432
+ # My Skill
433
+
434
+ Instructions for the agent to follow when this skill is activated.
435
+
436
+ ## When to Use
437
+
438
+ Describe the scenarios where this skill should be used.
439
+
440
+ ## Steps
441
+
442
+ 1. First, do this
443
+ 2. Then, do that
444
+ ```
445
+
446
+ ### Required Fields (both agents and skills)
447
+
448
+ - `name`: Unique identifier (lowercase, hyphens allowed)
449
+ - `description`: Brief explanation of what the agent/skill does
450
+
451
+ ### Optional Skill Fields
452
+
453
+ - `metadata.internal`: Set to `true` to hide the skill from normal discovery. Internal skills are only visible and
454
+ installable when `INSTALL_INTERNAL_SKILLS=1` is set.
455
+
456
+ ```markdown
457
+ ---
458
+ name: my-internal-skill
459
+ description: An internal skill not shown by default
460
+ metadata:
461
+ internal: true
462
+ ---
463
+ ```
464
+
465
+ ### Skill Directory Structure
466
+
467
+ Each skill folder can optionally include:
468
+
469
+ ```text
470
+ skills/my-skill/
471
+ ├── SKILL.md ← Required
472
+ ├── references/ ← Optional: reference documents the skill can cite
473
+ ├── assets/ ← Optional: templates and other static assets
474
+ └── scripts/ ← Optional: helper scripts the skill can invoke
475
+ ```
476
+
477
+ ### Skill Discovery
478
+
479
+ The CLI searches for skills in these locations within a repository:
480
+
481
+ <!-- skill-discovery:start -->
482
+ - Root directory (looks for `SKILL.md`)
483
+ - `skills/` subdirectory and sub-folders (like `.curated/`, `.experimental/`)
484
+ - Agent-specific directories (e.g., `.agents/skills/`, `.claude/skills/`, etc.)
485
+ - Plugin manifest files (`marketplace.json`, `plugin.json`)
486
+ <!-- skill-discovery:end -->
487
+
488
+ ### Plugin Manifest Discovery
489
+
490
+ If `.claude-plugin/marketplace.json` or `.claude-plugin/plugin.json` exists, skills declared in those files are also discovered:
491
+
492
+ ```json
493
+ // .claude-plugin/marketplace.json
494
+ {
495
+ "metadata": { "pluginRoot": "./plugins" },
496
+ "plugins": [
497
+ {
498
+ "name": "my-plugin",
499
+ "source": "my-plugin",
500
+ "skills": ["./skills/review", "./skills/test"]
501
+ }
502
+ ]
503
+ }
504
+ ```
505
+
506
+ This enables compatibility with the [Claude Code plugin marketplace](https://code.claude.com/docs/en/plugin-marketplaces) ecosystem.
507
+
508
+ If no skills are found in standard locations, a recursive search is performed.
509
+
510
+ ## Compatibility
511
+
512
+ Skills are generally compatible across agents since they follow a
513
+ shared [Agent Skills specification](https://agentskills.io). However, some features may be agent-specific:
514
+
515
+ | Feature | OpenCode | OpenHands | Claude Code | Cline | CodeBuddy | Codex | Command Code | Kiro CLI | Cursor | Antigravity | Roo Code | Github Copilot | Amp | OpenClaw | Neovate | Pi | Qoder | Zencoder |
516
+ | --------------- | -------- | --------- | ----------- | ----- | --------- | ----- | ------------ | -------- | ------ | ----------- | -------- | -------------- | --- | -------- | ------- | --- | ----- | -------- |
517
+ | Basic skills | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
518
+ | `allowed-tools` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
519
+ | `context: fork` | No | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
520
+ | Hooks | No | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
521
+
522
+ ## Troubleshooting
523
+
524
+ ### "No agents or skills found"
525
+
526
+ Ensure the repository follows the aicore structure with an `agents/` and/or `skills/` subfolder, or contains valid `SKILL.md` files with both `name` and `description` in the frontmatter.
527
+
528
+ ### Skill not loading in agent
529
+
530
+ - Verify the skill was installed to the correct path
531
+ - Check the agent's documentation for skill loading requirements
532
+ - Ensure the `SKILL.md` frontmatter is valid YAML
533
+
534
+ ### Permission errors
535
+
536
+ Ensure you have write access to the target directory.
537
+
538
+ ## Environment Variables
539
+
540
+ | Variable | Description |
541
+ | ------------------------- | -------------------------------------------------------------------------- |
542
+ | `INSTALL_INTERNAL_SKILLS` | Set to `1` or `true` to show and install skills marked as `internal: true` |
543
+ | `DISABLE_TELEMETRY` | Set to disable anonymous usage telemetry |
544
+ | `DO_NOT_TRACK` | Alternative way to disable telemetry |
545
+
546
+ ```bash
547
+ # Install internal items
548
+ INSTALL_INTERNAL_SKILLS=1 npx aicore wizeline/my-aicore --list
549
+ ```
550
+
551
+ ## Telemetry
552
+
553
+ This CLI collects anonymous usage data to help improve the tool. No personal information is collected.
554
+
555
+ Telemetry is automatically disabled in CI environments.
556
+
557
+ ## License
558
+
559
+ MIT