@agents-inc/cli 0.46.0 → 0.48.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/CHANGELOG.md +26 -0
- package/README.md +114 -118
- package/config/skill-categories.yaml +344 -0
- package/config/skill-rules.yaml +740 -0
- package/dist/{chunk-LFZXMQOH.js → chunk-2BVZOYJP.js} +2 -2
- package/dist/{chunk-4C7PDDLY.js → chunk-2DNDAXF6.js} +5 -5
- package/dist/{chunk-C7BO2ASM.js → chunk-34BP5BC4.js} +2 -2
- package/dist/{chunk-TOWP4T5L.js → chunk-37QYD33C.js} +2 -2
- package/dist/{chunk-YT7UHV67.js → chunk-5MN5S3DV.js} +11 -9
- package/dist/chunk-5MN5S3DV.js.map +1 -0
- package/dist/{chunk-72GS6PIH.js → chunk-5O6GKXAN.js} +7 -7
- package/dist/{chunk-KWQ2BQXF.js → chunk-7IAKVZL5.js} +3 -3
- package/dist/{chunk-CTQHZELA.js → chunk-AMNCCZSG.js} +14 -14
- package/dist/{chunk-PZLUO4OY.js → chunk-AXV7NFFJ.js} +4 -4
- package/dist/{chunk-ODQ2BKWU.js → chunk-AXZNJ5PN.js} +3 -3
- package/dist/{chunk-J64CA4V6.js → chunk-C7DLY64D.js} +2 -2
- package/dist/{chunk-G2WNOT3R.js → chunk-DG2U2WY3.js} +2 -2
- package/dist/{chunk-3WKFSTG6.js → chunk-F7KTUFGU.js} +2 -2
- package/dist/{chunk-5M6JI76P.js → chunk-FHKNG3UA.js} +2 -2
- package/dist/{chunk-I26YP2Q3.js → chunk-FPTUCWBY.js} +5 -5
- package/dist/{chunk-VH3PI43B.js → chunk-G5OZQ376.js} +4 -4
- package/dist/{chunk-RWR56UVK.js → chunk-GSPPOXMG.js} +11 -2
- package/dist/chunk-GSPPOXMG.js.map +1 -0
- package/dist/{chunk-YVMYQSED.js → chunk-I52THVF6.js} +2 -2
- package/dist/{chunk-FKBCYT7B.js → chunk-IS7GP6XC.js} +5 -5
- package/dist/{chunk-UK3AMBR7.js → chunk-KPJJOLAQ.js} +13 -6
- package/dist/{chunk-UK3AMBR7.js.map → chunk-KPJJOLAQ.js.map} +1 -1
- package/dist/{chunk-74HSA7C4.js → chunk-LESHL6SM.js} +9 -5
- package/dist/chunk-LESHL6SM.js.map +1 -0
- package/dist/{chunk-NMXNHRAK.js → chunk-NJVJ7VO5.js} +3 -3
- package/dist/{chunk-GVLYNP2I.js → chunk-OHDEJEYB.js} +4 -4
- package/dist/{chunk-CD64ZNYI.js → chunk-OTTITQ7C.js} +11 -3
- package/dist/chunk-OTTITQ7C.js.map +1 -0
- package/dist/{chunk-RT6IBH37.js → chunk-P2SFRDWI.js} +191 -109
- package/dist/chunk-P2SFRDWI.js.map +1 -0
- package/dist/{chunk-FUEZQ2H6.js → chunk-PY2XZUBF.js} +4 -4
- package/dist/{chunk-CDGHSTB6.js → chunk-SPVSWDFM.js} +7 -5
- package/dist/chunk-SPVSWDFM.js.map +1 -0
- package/dist/{chunk-DO5OZHSS.js → chunk-U2AEK4ZL.js} +2 -2
- package/dist/{chunk-HM3DHMW7.js → chunk-VBAAATPU.js} +8 -8
- package/dist/chunk-VBAAATPU.js.map +1 -0
- package/dist/{chunk-7LDSHHKN.js → chunk-W62XVWXB.js} +3 -3
- package/dist/{chunk-D7JTL3DJ.js → chunk-WSGKCBY5.js} +2 -2
- package/dist/{chunk-XE6RTHUD.js → chunk-X3SZIBVW.js} +34 -4
- package/dist/chunk-X3SZIBVW.js.map +1 -0
- package/dist/{chunk-QBUOZVNZ.js → chunk-YDASDMTH.js} +2 -2
- package/dist/{chunk-5QRJUBK7.js → chunk-YMUWTPOM.js} +41 -29
- package/dist/chunk-YMUWTPOM.js.map +1 -0
- package/dist/{chunk-SGXUMZWL.js → chunk-ZML3OCYA.js} +2 -2
- package/dist/commands/build/marketplace.js +4 -4
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +6 -6
- package/dist/commands/config/get.js +4 -4
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/set-project.js +4 -4
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/config/unset-project.js +4 -4
- package/dist/commands/diff.js +4 -4
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/edit.js +29 -29
- package/dist/commands/eject.js +4 -4
- package/dist/commands/import/skill.js +7 -8
- package/dist/commands/import/skill.js.map +1 -1
- package/dist/commands/info.js +5 -5
- package/dist/commands/init.js +28 -28
- package/dist/commands/list.js +4 -4
- package/dist/commands/new/agent.js +6 -6
- package/dist/commands/new/marketplace.js +5 -5
- package/dist/commands/new/skill.js +10 -8
- package/dist/commands/new/skill.js.map +1 -1
- package/dist/commands/outdated.js +4 -4
- package/dist/commands/search.js +7 -8
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/uninstall.js +6 -6
- package/dist/commands/update.js +6 -6
- package/dist/commands/validate.js +267 -24
- package/dist/commands/validate.js.map +1 -1
- package/dist/components/skill-search/skill-search.js +3 -3
- package/dist/components/wizard/category-grid.js +2 -2
- package/dist/components/wizard/category-grid.test.js +122 -2
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +3 -3
- package/dist/components/wizard/checkbox-grid.test.js +3 -3
- package/dist/components/wizard/domain-selection.js +9 -9
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/menu-item.js +1 -1
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/section-progress.js +2 -2
- package/dist/components/wizard/section-progress.test.js +2 -2
- package/dist/components/wizard/selection-card.js +2 -2
- package/dist/components/wizard/source-grid.js +3 -3
- package/dist/components/wizard/source-grid.test.js +3 -3
- package/dist/components/wizard/stack-selection.js +8 -8
- package/dist/components/wizard/step-agents.js +8 -8
- package/dist/components/wizard/step-agents.test.js +9 -9
- package/dist/components/wizard/step-build.js +8 -8
- package/dist/components/wizard/step-build.test.js +74 -46
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +4 -4
- package/dist/components/wizard/step-confirm.test.js +8 -8
- package/dist/components/wizard/step-refine.js +2 -2
- package/dist/components/wizard/step-refine.test.js +2 -2
- package/dist/components/wizard/step-settings.js +5 -5
- package/dist/components/wizard/step-settings.test.js +8 -8
- package/dist/components/wizard/step-sources.js +10 -10
- package/dist/components/wizard/step-sources.test.js +11 -11
- package/dist/components/wizard/step-stack.js +12 -12
- package/dist/components/wizard/step-stack.test.js +13 -13
- package/dist/components/wizard/view-title.js +2 -2
- package/dist/components/wizard/wizard-layout.js +8 -8
- package/dist/components/wizard/wizard-tabs.js +2 -2
- package/dist/components/wizard/wizard-tabs.test.js +2 -2
- package/dist/components/wizard/wizard.js +25 -25
- package/dist/config/skill-categories.yaml +344 -0
- package/dist/config/skill-rules.yaml +740 -0
- package/dist/hooks/init.js +3 -3
- package/dist/{source-manager-6QZ2GDUA.js → source-manager-Y7R6WPOW.js} +4 -4
- package/dist/src/agents/meta/documentor/examples.md +35 -36
- package/dist/src/agents/meta/documentor/workflow.md +91 -105
- package/dist/stores/wizard-store.js +5 -5
- package/dist/stores/wizard-store.test.js +48 -6
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +5 -1
- package/src/agents/meta/documentor/examples.md +35 -36
- package/src/agents/meta/documentor/workflow.md +91 -105
- package/src/schemas/agent.schema.json +3 -0
- package/src/schemas/metadata.schema.json +5 -5
- package/src/schemas/project-source-config.schema.json +4 -1
- package/config/skills-matrix.yaml +0 -918
- package/dist/chunk-5QRJUBK7.js.map +0 -1
- package/dist/chunk-74HSA7C4.js.map +0 -1
- package/dist/chunk-CD64ZNYI.js.map +0 -1
- package/dist/chunk-CDGHSTB6.js.map +0 -1
- package/dist/chunk-HM3DHMW7.js.map +0 -1
- package/dist/chunk-RT6IBH37.js.map +0 -1
- package/dist/chunk-RWR56UVK.js.map +0 -1
- package/dist/chunk-XE6RTHUD.js.map +0 -1
- package/dist/chunk-YT7UHV67.js.map +0 -1
- package/dist/config/skills-matrix.yaml +0 -918
- package/src/schemas/skills-matrix.schema.json +0 -179
- /package/dist/{chunk-LFZXMQOH.js.map → chunk-2BVZOYJP.js.map} +0 -0
- /package/dist/{chunk-4C7PDDLY.js.map → chunk-2DNDAXF6.js.map} +0 -0
- /package/dist/{chunk-C7BO2ASM.js.map → chunk-34BP5BC4.js.map} +0 -0
- /package/dist/{chunk-TOWP4T5L.js.map → chunk-37QYD33C.js.map} +0 -0
- /package/dist/{chunk-72GS6PIH.js.map → chunk-5O6GKXAN.js.map} +0 -0
- /package/dist/{chunk-KWQ2BQXF.js.map → chunk-7IAKVZL5.js.map} +0 -0
- /package/dist/{chunk-CTQHZELA.js.map → chunk-AMNCCZSG.js.map} +0 -0
- /package/dist/{chunk-PZLUO4OY.js.map → chunk-AXV7NFFJ.js.map} +0 -0
- /package/dist/{chunk-ODQ2BKWU.js.map → chunk-AXZNJ5PN.js.map} +0 -0
- /package/dist/{chunk-J64CA4V6.js.map → chunk-C7DLY64D.js.map} +0 -0
- /package/dist/{chunk-G2WNOT3R.js.map → chunk-DG2U2WY3.js.map} +0 -0
- /package/dist/{chunk-3WKFSTG6.js.map → chunk-F7KTUFGU.js.map} +0 -0
- /package/dist/{chunk-5M6JI76P.js.map → chunk-FHKNG3UA.js.map} +0 -0
- /package/dist/{chunk-I26YP2Q3.js.map → chunk-FPTUCWBY.js.map} +0 -0
- /package/dist/{chunk-VH3PI43B.js.map → chunk-G5OZQ376.js.map} +0 -0
- /package/dist/{chunk-YVMYQSED.js.map → chunk-I52THVF6.js.map} +0 -0
- /package/dist/{chunk-FKBCYT7B.js.map → chunk-IS7GP6XC.js.map} +0 -0
- /package/dist/{chunk-NMXNHRAK.js.map → chunk-NJVJ7VO5.js.map} +0 -0
- /package/dist/{chunk-GVLYNP2I.js.map → chunk-OHDEJEYB.js.map} +0 -0
- /package/dist/{chunk-FUEZQ2H6.js.map → chunk-PY2XZUBF.js.map} +0 -0
- /package/dist/{chunk-DO5OZHSS.js.map → chunk-U2AEK4ZL.js.map} +0 -0
- /package/dist/{chunk-7LDSHHKN.js.map → chunk-W62XVWXB.js.map} +0 -0
- /package/dist/{chunk-D7JTL3DJ.js.map → chunk-WSGKCBY5.js.map} +0 -0
- /package/dist/{chunk-QBUOZVNZ.js.map → chunk-YDASDMTH.js.map} +0 -0
- /package/dist/{chunk-SGXUMZWL.js.map → chunk-ZML3OCYA.js.map} +0 -0
- /package/dist/{source-manager-6QZ2GDUA.js.map → source-manager-Y7R6WPOW.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
+
## [0.48.0] - 2026-02-27
|
|
13
|
+
|
|
14
|
+
**Matrix decomposition, displayName rename, E2E test infrastructure**
|
|
15
|
+
|
|
16
|
+
- Decompose `skills-matrix.yaml` into `skill-categories.yaml` + `skill-rules.yaml` with directory-based skill discovery
|
|
17
|
+
- Rename `cliName` to `displayName` in metadata schema, loaders, and validators
|
|
18
|
+
- Remove per-skill `categoryExclusive` — exclusivity now driven by category definitions
|
|
19
|
+
- Full PTY-based E2E test suite with 264 tests covering all commands and interactive flows
|
|
20
|
+
|
|
21
|
+
See [changelogs/0.48.0.md](./changelogs/0.48.0.md) for full details.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## [0.47.0] - 2026-02-25
|
|
26
|
+
|
|
27
|
+
**Custom domain support, source validation, wizard improvements, dead code cleanup**
|
|
28
|
+
|
|
29
|
+
- Domain field on skill metadata and agent YAML for custom marketplace support
|
|
30
|
+
- `validate --source` command for source repository validation
|
|
31
|
+
- Fix custom skill ID rejection in stacks validation
|
|
32
|
+
- Remove redundant verifyHash and legacy slash-in-skill-ID code
|
|
33
|
+
|
|
34
|
+
See [changelogs/0.47.0.md](./changelogs/0.47.0.md) for full details.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
12
38
|
## [0.46.0] - 2026-02-24
|
|
13
39
|
|
|
14
40
|
**Custom extensibility, new commands, agent-mapping removal, wizard improvements**
|
package/README.md
CHANGED
|
@@ -4,190 +4,186 @@
|
|
|
4
4
|
|
|
5
5
|
# Agents Inc
|
|
6
6
|
|
|
7
|
-
An agent composition framework that builds stacks and compiles specialized subagents for [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
|
|
7
|
+
An agent composition framework that builds stacks and compiles specialized subagents for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Manage your subagents and skills with code via a unified CLI.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@agents-inc/cli)
|
|
10
10
|
[](https://www.typescriptlang.org/)
|
|
11
11
|
[](./LICENSE)
|
|
12
12
|
[](https://nodejs.org/)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
npx @agents-inc/cli init
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
<!-- TODO: Add animated GIF of the full init wizard flow (stack selection → skill grid → agent config → done).
|
|
14
|
+
<!-- TODO: Add animated GIF of the full init wizard flow (stack selection -> skill grid -> agent config -> done).
|
|
19
15
|
This is the hero image. It should show the complete happy path in ~15-20 seconds.
|
|
20
16
|
<p align="center">
|
|
21
17
|
<img src="./assets/init-wizard.gif" alt="Agents Inc init wizard" width="700">
|
|
22
18
|
</p>
|
|
23
19
|
-->
|
|
24
20
|
|
|
25
|
-
##
|
|
21
|
+
## Overview
|
|
26
22
|
|
|
27
|
-
|
|
23
|
+
Agents Inc comprises two parts:
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
- **[Marketplace](https://github.com/agents-inc/skills):** 87+ atomic, best-practice skills spanning web, API, CLI, infra, and meta domains
|
|
26
|
+
- **CLI:** installs, ejects, creates, compiles, and updates skills and subagents
|
|
30
27
|
|
|
31
|
-
|
|
28
|
+
Skills are composed into 18+ domain-specific subagents through templates and modular agent partials, all validated against strict Zod schemas. Everything is ejectable so there's endless customisation with no lock-in.
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
## How It Works
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
Each subagent is composed from modular partials (role, workflow, output format) plus a set of atomic skills. The CLI manages the full lifecycle:
|
|
33
|
+
|
|
34
|
+
- **Install:** pull skills from the public marketplace, your own, or a local directory either as plugins or directly as source files
|
|
35
|
+
- **Compose:** map skills to subagents, configure preloaded vs dynamic loading
|
|
36
|
+
- **Compile:** resolve skill mappings, Liquid templates, and agent partials into `.claude/agents/`
|
|
37
|
+
- **Eject:** take progressive ownership of any layer (partials, templates, skills, subagents)
|
|
38
|
+
- **Update:** pull upstream skill changes without losing local customizations
|
|
39
|
+
|
|
40
|
+
## Getting Started
|
|
36
41
|
|
|
37
42
|
```bash
|
|
38
|
-
# Run the wizard
|
|
39
43
|
npx @agents-inc/cli init
|
|
40
|
-
|
|
41
|
-
# Or install globally
|
|
42
|
-
npm install -g @agents-inc/cli
|
|
43
44
|
```
|
|
44
45
|
|
|
45
46
|
Requires Node 18+ and [Claude Code](https://docs.anthropic.com/en/docs/claude-code).
|
|
46
47
|
|
|
47
|
-
The wizard
|
|
48
|
-
|
|
49
|
-
### 1. Pick a stack or start from scratch
|
|
48
|
+
The wizard has three steps:
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
Shows the list of available stacks (nextjs-fullstack, angular-stack, vue-stack, etc.)
|
|
53
|
-
with descriptions and skill counts.
|
|
54
|
-
<img src="./assets/screenshot-stacks.png" alt="Stack selection" width="700">
|
|
55
|
-
-->
|
|
56
|
-
|
|
57
|
-
Stacks bundle skills together with pre-configured agents. Instead of picking skills individually, grab a stack that matches your setup:
|
|
58
|
-
|
|
59
|
-
- **nextjs-fullstack**: Next.js + React + Hono + Drizzle + PostHog + Zustand + React Query
|
|
60
|
-
- **angular-stack**: Angular 19 + Signals + NgRx SignalStore + Hono + Drizzle
|
|
61
|
-
- **vue-stack**: Vue 3 Composition API + Pinia + Hono + Drizzle
|
|
62
|
-
- **nuxt-stack**: Nuxt + Vue 3 full-stack + Pinia + Hono + Drizzle
|
|
63
|
-
- **remix-stack**: Remix + React + Hono + Drizzle
|
|
64
|
-
- **solidjs-stack**: SolidJS + Hono + Drizzle
|
|
65
|
-
- **react-native-stack**: React Native + Expo + Zustand + React Query
|
|
66
|
-
- **meta-stack**: Agents for creating agents, skills, docs, and extracting patterns
|
|
67
|
-
|
|
68
|
-
Or select "Start from scratch" to browse domains and pick skills one by one.
|
|
50
|
+
**1. Pick a stack or start from scratch** (or create your own in your custom marketplace):
|
|
69
51
|
|
|
70
|
-
|
|
52
|
+
| Stack | Technologies |
|
|
53
|
+
| ------------------ | ------------------------------------------------------------------ |
|
|
54
|
+
| `nextjs-fullstack` | Next.js + React + Hono + Drizzle + PostHog + Zustand + React Query |
|
|
55
|
+
| `angular-stack` | Angular 19 + Signals + NgRx SignalStore + Hono + Drizzle |
|
|
56
|
+
| `vue-stack` | Vue 3 Composition API + Pinia + Hono + Drizzle |
|
|
57
|
+
| `nuxt-stack` | Nuxt + Vue 3 full-stack + Pinia + Hono + Drizzle |
|
|
58
|
+
| `remix-stack` | Remix + React + Hono + Drizzle |
|
|
59
|
+
| `solidjs-stack` | SolidJS + Hono + Drizzle |
|
|
71
60
|
|
|
72
|
-
|
|
73
|
-
Shows skills organized by category (web, api, mobile, etc.) with checkboxes,
|
|
74
|
-
tagged by source when multiple sources are configured.
|
|
75
|
-
<img src="./assets/screenshot-skills.png" alt="Skill selection" width="700">
|
|
76
|
-
-->
|
|
61
|
+
**2. Customize skills.** Add or remove from the interactive grid.
|
|
77
62
|
|
|
78
|
-
|
|
63
|
+
**3. Select subagents.** Choose which role-based subagents to include.
|
|
79
64
|
|
|
80
|
-
**
|
|
81
|
-
`React` `Vue` `Angular` `SolidJS` `Next.js` `Remix` `Nuxt` `SCSS Modules` `CVA` `Zustand` `Pinia` `NgRx SignalStore` `Jotai` `React Query` `SWR` `tRPC` `GraphQL` `React Hook Form` `Zod` `shadcn/ui` `Radix UI` `TanStack Table` `Vitest` `Playwright` `Cypress` `MSW` `Framer Motion` `Storybook` `Accessibility`
|
|
65
|
+
**4. Compile.** After init, use `agentsinc edit` to change selections and `agentsinc compile` to rebuild.
|
|
82
66
|
|
|
83
|
-
|
|
84
|
-
`Hono` `Express` `Fastify` `Drizzle` `Prisma` `Better Auth` `PostHog` `Resend` `Axiom + Pino + Sentry` `GitHub Actions`
|
|
67
|
+
## Skills
|
|
85
68
|
|
|
86
|
-
|
|
87
|
-
`React Native` `Expo`
|
|
69
|
+
87+ skills organized by category:
|
|
88
70
|
|
|
89
|
-
**
|
|
90
|
-
`Commander` `oclif + Ink`
|
|
71
|
+
**Web:** `React` `Vue` `Angular` `SolidJS` `Next.js` `Remix` `Nuxt` `SCSS Modules` `CVA` `Zustand` `Pinia` `NgRx SignalStore` `Jotai` `React Query` `SWR` `tRPC` `GraphQL` `React Hook Form` `Zod` `shadcn/ui` `Radix UI` `TanStack Table` `Vitest` `Playwright` `Cypress` `MSW` `Framer Motion` `Storybook` `Accessibility`
|
|
91
72
|
|
|
92
|
-
**
|
|
93
|
-
`Turborepo` `Tooling` `Env config`
|
|
73
|
+
**API:** `Hono` `Express` `Fastify` `Drizzle` `Prisma` `Better Auth` `PostHog` `Resend` `Axiom + Pino + Sentry` `GitHub Actions`
|
|
94
74
|
|
|
95
|
-
**
|
|
96
|
-
`Code reviewing` `Research methodology` `Investigation requirements` `Anti-over-engineering` `Context management`
|
|
75
|
+
**Mobile:** `React Native` `Expo`
|
|
97
76
|
|
|
98
|
-
|
|
77
|
+
**CLI:** `Commander` `oclif + Ink`
|
|
99
78
|
|
|
100
|
-
|
|
79
|
+
**Infra:** `Turborepo` `Tooling` `Env config`
|
|
101
80
|
|
|
102
|
-
|
|
103
|
-
Shows which agents will be compiled (web-developer, web-reviewer, web-tester, etc.)
|
|
104
|
-
and which skills are mapped to each one.
|
|
105
|
-
<img src="./assets/screenshot-agents.png" alt="Subagent configuration" width="700">
|
|
106
|
-
-->
|
|
81
|
+
**Meta:** `Code reviewing` `Research methodology` `Investigation requirements` `Anti-over-engineering` `Context management`
|
|
107
82
|
|
|
108
|
-
|
|
83
|
+
## Subagents
|
|
109
84
|
|
|
110
|
-
|
|
85
|
+
18 roles across 8 categories:
|
|
111
86
|
|
|
112
|
-
|
|
87
|
+
| Category | Subagents |
|
|
88
|
+
| ---------------- | ------------------------------------------------------------------ |
|
|
89
|
+
| Developers | `web-developer` `api-developer` `cli-developer` `web-architecture` |
|
|
90
|
+
| Reviewers | `web-reviewer` `api-reviewer` `cli-reviewer` |
|
|
91
|
+
| Testers | `web-tester` `cli-tester` |
|
|
92
|
+
| Researchers | `web-researcher` `api-researcher` |
|
|
93
|
+
| Planning | `web-pm` |
|
|
94
|
+
| Pattern Analysis | `pattern-scout` `web-pattern-critique` |
|
|
95
|
+
| Migration | `cli-migrator` |
|
|
96
|
+
| Documentation | `documentor` |
|
|
97
|
+
| Meta | `skill-summoner` `agent-summoner` |
|
|
113
98
|
|
|
114
99
|
## Commands
|
|
115
100
|
|
|
116
|
-
|
|
117
|
-
| -------------- | ---------------------------------------------------------- |
|
|
118
|
-
| `init` | Interactive setup: pick skills, configure agents |
|
|
119
|
-
| `edit` | Modify your skill selection |
|
|
120
|
-
| `compile` | Recompile agents after changes |
|
|
121
|
-
| `update` | Pull latest skills from source |
|
|
122
|
-
| `search` | Search skills across sources (interactive or static query) |
|
|
123
|
-
| `eject` | Export skills or agent partials for customization |
|
|
124
|
-
| `new skill` | Scaffold a custom skill |
|
|
125
|
-
| `new agent` | Scaffold a custom agent |
|
|
126
|
-
| `import skill` | Import a skill from an external GitHub repository |
|
|
127
|
-
| `doctor` | Diagnose setup issues |
|
|
128
|
-
| `uninstall` | Remove Agents Inc from your project |
|
|
101
|
+
### Primary
|
|
129
102
|
|
|
130
|
-
|
|
103
|
+
| Command | Description |
|
|
104
|
+
| --------- | --------------------------------------------------------------------------- |
|
|
105
|
+
| `init` | Interactive setup wizard: pick a stack, customize skills, compile subagents |
|
|
106
|
+
| `edit` | Modify skill selection in the interactive wizard |
|
|
107
|
+
| `compile` | Recompile subagents after changes |
|
|
108
|
+
| `update` | Pull latest skills from source |
|
|
131
109
|
|
|
132
|
-
|
|
110
|
+
### Customization
|
|
133
111
|
|
|
134
|
-
|
|
112
|
+
| Command | Description |
|
|
113
|
+
| -------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
114
|
+
| `eject <type>` | Export for customization (`agent-partials`, `templates`, `skills`, `all`) |
|
|
115
|
+
| `new skill` | Scaffold a custom skill  |
|
|
116
|
+
| `new agent` | Scaffold a custom agent  |
|
|
117
|
+
| `import skill` | Import a skill from an external GitHub repository  |
|
|
118
|
+
| `search` | Search skills across sources  |
|
|
135
119
|
|
|
136
|
-
|
|
137
|
-
# List available skills from a repository
|
|
138
|
-
agentsinc import skill github:your-org/skills --list
|
|
120
|
+
### Diagnostics
|
|
139
121
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
122
|
+
| Command | Description |
|
|
123
|
+
| ----------- | ------------------------------------------------------------------------------------------------------------ |
|
|
124
|
+
| `doctor` | Diagnose setup issues |
|
|
125
|
+
| `diff` | Show changes between local and source skills  |
|
|
126
|
+
| `outdated` | Check for skill updates |
|
|
127
|
+
| `validate` | Validate config and skill structure |
|
|
128
|
+
| `info` | Show project configuration details |
|
|
129
|
+
| `uninstall` | Remove Agents Inc from your project |
|
|
146
130
|
|
|
147
|
-
|
|
131
|
+
Run `agentsinc --help` for full usage.
|
|
148
132
|
|
|
149
133
|
## Customization
|
|
150
134
|
|
|
151
|
-
|
|
135
|
+
Progressive layers from config to full extension:
|
|
152
136
|
|
|
153
|
-
|
|
137
|
+
| Layer | How |
|
|
138
|
+
| --------------- | ---------------------------------------------------------------------------------------------- |
|
|
139
|
+
| Edit config | `.claude-src/config.yaml`; skill-to-subagent mappings, preloaded/dynamic |
|
|
140
|
+
| Wizard | `agentsinc edit`; add/remove skills interactively |
|
|
141
|
+
| Eject partials | `agentsinc eject agent-partials`; customize agent partials such as intro, workflow, and output |
|
|
142
|
+
| Eject templates | `agentsinc eject templates`; modify Liquid templates |
|
|
143
|
+
| Eject skills | `agentsinc eject skills`; fork skills for local editing |
|
|
144
|
+
| Custom skills | `agentsinc new skill`; scaffold with proper metadata |
|
|
145
|
+
| Custom agents | `agentsinc new agent`; scaffold agent files |
|
|
146
|
+
| Custom sources | Point to a private repo or local directory as a skill source |
|
|
147
|
+
| Plugins | Package skills/subagents as Claude Code plugins for distribution |
|
|
154
148
|
|
|
155
|
-
|
|
156
|
-
web-developer:
|
|
157
|
-
web-framework:
|
|
158
|
-
id: web-framework-react
|
|
159
|
-
preloaded: true
|
|
160
|
-
web-styling: web-styling-tailwind-v3
|
|
161
|
-
```
|
|
149
|
+
Templates apply globally across all subagents; partials apply to specific roles. Put shared conventions in a template for consistency, and role-specific behaviour in partials.
|
|
162
150
|
|
|
163
|
-
|
|
151
|
+
Import skills from any GitHub repository:
|
|
164
152
|
|
|
165
153
|
```bash
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
# Eject the Liquid templates that control how agents are compiled
|
|
170
|
-
npx @agents-inc/cli eject agent-partials --templates
|
|
171
|
-
|
|
172
|
-
# Eject skills for local editing
|
|
173
|
-
npx @agents-inc/cli eject skills
|
|
154
|
+
agentsinc import skill github:your-org/skills --list
|
|
155
|
+
agentsinc import skill github:your-org/skills --skill react-best-practices
|
|
156
|
+
agentsinc import skill github:your-org/skills --all
|
|
174
157
|
```
|
|
175
158
|
|
|
176
|
-
|
|
159
|
+
## Tech Stack
|
|
177
160
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
161
|
+
| Component | Technology |
|
|
162
|
+
| ------------ | ------------------------------------- |
|
|
163
|
+
| Commands | oclif |
|
|
164
|
+
| Terminal UI | Ink + React |
|
|
165
|
+
| Wizard state | Zustand |
|
|
166
|
+
| Validation | Zod (30+ schemas at parse boundaries) |
|
|
167
|
+
| Compilation | LiquidJS |
|
|
168
|
+
| Testing | Vitest |
|
|
181
169
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
170
|
+
```
|
|
171
|
+
src/cli/
|
|
172
|
+
commands/ # oclif command definitions
|
|
173
|
+
components/ # Ink/React terminal UI components
|
|
174
|
+
lib/ # Core logic (compiler, loader, resolver, schemas)
|
|
175
|
+
stores/ # Zustand state management
|
|
176
|
+
utils/ # Shared utilities
|
|
177
|
+
src/agents/ # Subagent definitions (18 roles)
|
|
178
|
+
config/ # Skills matrix, stacks, default mappings
|
|
179
|
+
```
|
|
185
180
|
|
|
186
181
|
See [docs/reference/architecture.md](./docs/reference/architecture.md) for the full reference.
|
|
187
182
|
|
|
188
183
|
## Links
|
|
189
184
|
|
|
190
|
-
- [
|
|
185
|
+
- [Plugin Marketplace](https://github.com/agents-inc/skills): browse and discover skills
|
|
186
|
+
- [Architecture Reference](./docs/reference/architecture.md): full system documentation
|
|
191
187
|
|
|
192
188
|
## License
|
|
193
189
|
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
version: "1.0.0"
|
|
2
|
+
|
|
3
|
+
categories:
|
|
4
|
+
web-framework:
|
|
5
|
+
id: web-framework
|
|
6
|
+
displayName: Framework
|
|
7
|
+
description: UI framework (React, Vue, Angular, SolidJS, Next.js, Remix, Nuxt)
|
|
8
|
+
domain: web
|
|
9
|
+
exclusive: true
|
|
10
|
+
required: true
|
|
11
|
+
order: 1
|
|
12
|
+
|
|
13
|
+
web-styling:
|
|
14
|
+
id: web-styling
|
|
15
|
+
displayName: Styling
|
|
16
|
+
description: CSS approach (SCSS Modules, Tailwind, CVA)
|
|
17
|
+
domain: web
|
|
18
|
+
exclusive: false
|
|
19
|
+
required: true
|
|
20
|
+
order: 3
|
|
21
|
+
|
|
22
|
+
web-client-state:
|
|
23
|
+
id: web-client-state
|
|
24
|
+
displayName: Client State Management
|
|
25
|
+
description: UI state, forms, local data (Zustand, Redux, MobX)
|
|
26
|
+
domain: web
|
|
27
|
+
exclusive: true
|
|
28
|
+
required: false
|
|
29
|
+
order: 4
|
|
30
|
+
|
|
31
|
+
web-server-state:
|
|
32
|
+
id: web-server-state
|
|
33
|
+
displayName: Server State / Data Fetching
|
|
34
|
+
description: API data caching (React Query, SWR)
|
|
35
|
+
domain: web
|
|
36
|
+
exclusive: true
|
|
37
|
+
required: false
|
|
38
|
+
order: 5
|
|
39
|
+
|
|
40
|
+
web-forms:
|
|
41
|
+
id: web-forms
|
|
42
|
+
displayName: Forms & Validation
|
|
43
|
+
description: Form handling and schema validation
|
|
44
|
+
domain: web
|
|
45
|
+
exclusive: false
|
|
46
|
+
required: false
|
|
47
|
+
order: 6
|
|
48
|
+
|
|
49
|
+
web-testing:
|
|
50
|
+
id: web-testing
|
|
51
|
+
displayName: Testing
|
|
52
|
+
description: Unit, integration, and E2E testing
|
|
53
|
+
domain: web
|
|
54
|
+
exclusive: false
|
|
55
|
+
required: false
|
|
56
|
+
order: 7
|
|
57
|
+
|
|
58
|
+
web-ui-components:
|
|
59
|
+
id: web-ui-components
|
|
60
|
+
displayName: UI Component Library
|
|
61
|
+
description: Pre-built component systems (Radix, shadcn)
|
|
62
|
+
domain: web
|
|
63
|
+
exclusive: false
|
|
64
|
+
required: false
|
|
65
|
+
order: 8
|
|
66
|
+
|
|
67
|
+
web-mocking:
|
|
68
|
+
id: web-mocking
|
|
69
|
+
displayName: API Mocking
|
|
70
|
+
description: Mock Service Worker for development and testing
|
|
71
|
+
domain: web
|
|
72
|
+
exclusive: false
|
|
73
|
+
required: false
|
|
74
|
+
order: 10
|
|
75
|
+
|
|
76
|
+
web-error-handling:
|
|
77
|
+
id: web-error-handling
|
|
78
|
+
displayName: Error Handling
|
|
79
|
+
description: Error boundaries, result types, and error patterns
|
|
80
|
+
domain: web
|
|
81
|
+
exclusive: false
|
|
82
|
+
required: false
|
|
83
|
+
order: 11
|
|
84
|
+
|
|
85
|
+
web-i18n:
|
|
86
|
+
id: web-i18n
|
|
87
|
+
displayName: Internationalization
|
|
88
|
+
description: i18n libraries (next-intl, react-intl, vue-i18n)
|
|
89
|
+
domain: web
|
|
90
|
+
exclusive: true
|
|
91
|
+
required: false
|
|
92
|
+
order: 12
|
|
93
|
+
|
|
94
|
+
web-file-upload:
|
|
95
|
+
id: web-file-upload
|
|
96
|
+
displayName: File Upload
|
|
97
|
+
description: File upload patterns and handling
|
|
98
|
+
domain: web
|
|
99
|
+
exclusive: false
|
|
100
|
+
required: false
|
|
101
|
+
order: 13
|
|
102
|
+
|
|
103
|
+
web-files:
|
|
104
|
+
id: web-files
|
|
105
|
+
displayName: Files & Images
|
|
106
|
+
description: Image handling and file processing
|
|
107
|
+
domain: web
|
|
108
|
+
exclusive: false
|
|
109
|
+
required: false
|
|
110
|
+
order: 14
|
|
111
|
+
|
|
112
|
+
web-utilities:
|
|
113
|
+
id: web-utilities
|
|
114
|
+
displayName: Utilities
|
|
115
|
+
description: Utility libraries (date-fns, native JS patterns)
|
|
116
|
+
domain: web
|
|
117
|
+
exclusive: false
|
|
118
|
+
required: false
|
|
119
|
+
order: 15
|
|
120
|
+
|
|
121
|
+
web-realtime:
|
|
122
|
+
id: web-realtime
|
|
123
|
+
displayName: Realtime
|
|
124
|
+
description: WebSockets, SSE, and real-time communication
|
|
125
|
+
domain: web
|
|
126
|
+
exclusive: true
|
|
127
|
+
required: false
|
|
128
|
+
order: 16
|
|
129
|
+
|
|
130
|
+
web-animation:
|
|
131
|
+
id: web-animation
|
|
132
|
+
displayName: Animation
|
|
133
|
+
description: Animation libraries and CSS animations
|
|
134
|
+
domain: web
|
|
135
|
+
exclusive: false
|
|
136
|
+
required: false
|
|
137
|
+
order: 17
|
|
138
|
+
|
|
139
|
+
web-pwa:
|
|
140
|
+
id: web-pwa
|
|
141
|
+
displayName: Progressive Web App
|
|
142
|
+
description: Service workers, offline-first patterns, and PWA features
|
|
143
|
+
domain: web
|
|
144
|
+
exclusive: false
|
|
145
|
+
required: false
|
|
146
|
+
order: 18
|
|
147
|
+
|
|
148
|
+
web-accessibility:
|
|
149
|
+
id: web-accessibility
|
|
150
|
+
displayName: Accessibility
|
|
151
|
+
description: WCAG compliance, ARIA, and keyboard navigation
|
|
152
|
+
domain: web
|
|
153
|
+
exclusive: false
|
|
154
|
+
required: false
|
|
155
|
+
order: 19
|
|
156
|
+
|
|
157
|
+
web-performance:
|
|
158
|
+
id: web-performance
|
|
159
|
+
displayName: Web Performance
|
|
160
|
+
description: Bundle optimization, render performance, and code splitting
|
|
161
|
+
domain: web
|
|
162
|
+
exclusive: false
|
|
163
|
+
required: false
|
|
164
|
+
order: 20
|
|
165
|
+
|
|
166
|
+
web-base-framework:
|
|
167
|
+
id: web-base-framework
|
|
168
|
+
displayName: Base Framework
|
|
169
|
+
description: Base framework setup and configuration
|
|
170
|
+
domain: web
|
|
171
|
+
exclusive: false
|
|
172
|
+
required: false
|
|
173
|
+
order: 21
|
|
174
|
+
|
|
175
|
+
api-api:
|
|
176
|
+
id: api-api
|
|
177
|
+
displayName: API Framework
|
|
178
|
+
description: Backend framework (Hono, Express, Fastify)
|
|
179
|
+
domain: api
|
|
180
|
+
exclusive: true
|
|
181
|
+
required: true
|
|
182
|
+
order: 1
|
|
183
|
+
|
|
184
|
+
api-database:
|
|
185
|
+
id: api-database
|
|
186
|
+
displayName: Database ORM
|
|
187
|
+
description: Database access layer (Drizzle, Prisma)
|
|
188
|
+
domain: api
|
|
189
|
+
exclusive: true
|
|
190
|
+
required: false
|
|
191
|
+
order: 2
|
|
192
|
+
|
|
193
|
+
api-auth:
|
|
194
|
+
id: api-auth
|
|
195
|
+
displayName: Authentication
|
|
196
|
+
description: Auth solution (Better Auth, Auth.js)
|
|
197
|
+
domain: api
|
|
198
|
+
exclusive: true
|
|
199
|
+
required: false
|
|
200
|
+
order: 3
|
|
201
|
+
|
|
202
|
+
api-observability:
|
|
203
|
+
id: api-observability
|
|
204
|
+
displayName: Observability
|
|
205
|
+
description: Logging, monitoring, error tracking
|
|
206
|
+
domain: api
|
|
207
|
+
exclusive: false
|
|
208
|
+
required: false
|
|
209
|
+
order: 4
|
|
210
|
+
|
|
211
|
+
api-analytics:
|
|
212
|
+
id: api-analytics
|
|
213
|
+
displayName: Analytics
|
|
214
|
+
description: Product analytics and tracking
|
|
215
|
+
domain: api
|
|
216
|
+
exclusive: false
|
|
217
|
+
required: false
|
|
218
|
+
order: 5
|
|
219
|
+
|
|
220
|
+
api-email:
|
|
221
|
+
id: api-email
|
|
222
|
+
displayName: Email
|
|
223
|
+
description: Transactional email (Resend, Sendgrid)
|
|
224
|
+
domain: api
|
|
225
|
+
exclusive: true
|
|
226
|
+
required: false
|
|
227
|
+
order: 6
|
|
228
|
+
|
|
229
|
+
api-performance:
|
|
230
|
+
id: api-performance
|
|
231
|
+
displayName: Performance
|
|
232
|
+
description: API performance patterns and optimization
|
|
233
|
+
domain: api
|
|
234
|
+
exclusive: false
|
|
235
|
+
required: false
|
|
236
|
+
order: 7
|
|
237
|
+
|
|
238
|
+
mobile-framework:
|
|
239
|
+
id: mobile-framework
|
|
240
|
+
displayName: Mobile Framework
|
|
241
|
+
description: Native mobile framework (React Native, Expo)
|
|
242
|
+
domain: mobile
|
|
243
|
+
exclusive: true
|
|
244
|
+
required: true
|
|
245
|
+
order: 1
|
|
246
|
+
|
|
247
|
+
mobile-platform:
|
|
248
|
+
id: mobile-platform
|
|
249
|
+
displayName: Mobile Platform
|
|
250
|
+
description: Mobile platform tooling and configuration
|
|
251
|
+
domain: mobile
|
|
252
|
+
exclusive: false
|
|
253
|
+
required: false
|
|
254
|
+
order: 2
|
|
255
|
+
|
|
256
|
+
shared-monorepo:
|
|
257
|
+
id: shared-monorepo
|
|
258
|
+
displayName: Monorepo
|
|
259
|
+
description: Monorepo tooling (Turborepo, Nx)
|
|
260
|
+
domain: shared
|
|
261
|
+
exclusive: true
|
|
262
|
+
required: false
|
|
263
|
+
order: 1
|
|
264
|
+
|
|
265
|
+
shared-tooling:
|
|
266
|
+
id: shared-tooling
|
|
267
|
+
displayName: Build Tooling
|
|
268
|
+
description: ESLint, Prettier, TypeScript, Vite
|
|
269
|
+
domain: shared
|
|
270
|
+
exclusive: false
|
|
271
|
+
required: false
|
|
272
|
+
order: 2
|
|
273
|
+
|
|
274
|
+
shared-security:
|
|
275
|
+
id: shared-security
|
|
276
|
+
displayName: Security
|
|
277
|
+
description: Authentication security patterns and best practices
|
|
278
|
+
domain: shared
|
|
279
|
+
exclusive: false
|
|
280
|
+
required: false
|
|
281
|
+
order: 3
|
|
282
|
+
|
|
283
|
+
shared-methodology:
|
|
284
|
+
id: shared-methodology
|
|
285
|
+
displayName: Methodology
|
|
286
|
+
description: Development methodology and engineering principles
|
|
287
|
+
domain: shared
|
|
288
|
+
exclusive: false
|
|
289
|
+
required: false
|
|
290
|
+
order: 4
|
|
291
|
+
|
|
292
|
+
shared-research:
|
|
293
|
+
id: shared-research
|
|
294
|
+
displayName: Research
|
|
295
|
+
description: Codebase investigation and research methodology
|
|
296
|
+
domain: shared
|
|
297
|
+
exclusive: false
|
|
298
|
+
required: false
|
|
299
|
+
order: 5
|
|
300
|
+
|
|
301
|
+
shared-reviewing:
|
|
302
|
+
id: shared-reviewing
|
|
303
|
+
displayName: Code Review
|
|
304
|
+
description: Code review patterns and guidance
|
|
305
|
+
domain: shared
|
|
306
|
+
exclusive: false
|
|
307
|
+
required: false
|
|
308
|
+
order: 6
|
|
309
|
+
|
|
310
|
+
shared-ci-cd:
|
|
311
|
+
id: shared-ci-cd
|
|
312
|
+
displayName: CI/CD
|
|
313
|
+
description: Continuous integration and deployment pipelines
|
|
314
|
+
domain: shared
|
|
315
|
+
exclusive: false
|
|
316
|
+
required: false
|
|
317
|
+
order: 7
|
|
318
|
+
|
|
319
|
+
cli-framework:
|
|
320
|
+
id: cli-framework
|
|
321
|
+
displayName: CLI Framework
|
|
322
|
+
description: CLI application framework (Commander, oclif)
|
|
323
|
+
domain: cli
|
|
324
|
+
exclusive: true
|
|
325
|
+
required: true
|
|
326
|
+
order: 1
|
|
327
|
+
|
|
328
|
+
cli-prompts:
|
|
329
|
+
id: cli-prompts
|
|
330
|
+
displayName: CLI Prompts
|
|
331
|
+
description: Interactive prompts and UI
|
|
332
|
+
domain: cli
|
|
333
|
+
exclusive: true
|
|
334
|
+
required: false
|
|
335
|
+
order: 2
|
|
336
|
+
|
|
337
|
+
cli-testing:
|
|
338
|
+
id: cli-testing
|
|
339
|
+
displayName: CLI Testing
|
|
340
|
+
description: CLI testing utilities
|
|
341
|
+
domain: cli
|
|
342
|
+
exclusive: false
|
|
343
|
+
required: false
|
|
344
|
+
order: 3
|