From 0880af4f54752c725c3737fc0bd38e5c10498e3d Mon Sep 17 00:00:00 2001
From: Harlan Wilton
Date: Tue, 6 Oct 2026 11:50:29 +1100
Subject: [PATCH] feat(agents): add the seven missing Agent targets
skilld 3.6.0 installs into 19 Agents, and the "Check it worked" list knew
12. Each new confirm step comes from that Agent's own docs. The list now
follows target.rs order, so /cli reads it instead of keeping its own copy
of the --agent values.
Co-Authored-By: Claude Opus 5.5
---
app/utils/agents.ts | 89 +++++++++++++++++-------
layers/marketing/app/pages/cli/index.vue | 36 ++--------
2 files changed, 68 insertions(+), 57 deletions(-)
diff --git a/app/utils/agents.ts b/app/utils/agents.ts
index ce02997f..c950034d 100644
--- a/app/utils/agents.ts
+++ b/app/utils/agents.ts
@@ -2,8 +2,10 @@
* The coding agents skilld can install into.
*
* Mirrored by hand from the CLI's agent registry at
- * `crates/skilld-core/src/target.rs`. The site and the CLI share no code, so
- * this table drifts if a target is added there without being added here.
+ * `crates/skilld-core/src/target.rs`, in the same order, as of skilld 3.6.0.
+ * The site and the CLI share no code, so this table drifts if a target is
+ * added there without being added here. `/cli` lists these ids as the
+ * `--agent` values and counts them.
*
* The site never builds a per-agent command. The CLI detects the agent and
* reports where it installed. Only `verify` survives here, because nothing the
@@ -24,35 +26,40 @@ export const AGENT_TARGETS: readonly AgentTarget[] = [
label: 'Claude Code',
verify: 'Start a new Claude Code session. Skills load automatically.',
},
+ {
+ id: 'cursor',
+ label: 'Cursor',
+ verify: 'Restart Cursor. Skills appear under Settings, Cursor Rules.',
+ },
+ {
+ id: 'windsurf',
+ label: 'Windsurf',
+ verify: 'Restart Windsurf. Skills invoke when their description matches.',
+ },
+ {
+ id: 'cline',
+ label: 'Cline',
+ verify: 'Restart your editor. Cline reads skill descriptions at startup.',
+ },
{
id: 'codex',
label: 'Codex',
verify: 'Start a new Codex session. Skills are discovered at startup.',
},
- {
- id: 'gemini-cli',
- label: 'Gemini CLI',
- verify: 'Start a new Gemini CLI session. Verify with /skills list.',
- },
{
id: 'github-copilot',
label: 'GitHub Copilot',
verify: 'Restart your editor. Copilot reads .github/skills at startup.',
},
{
- id: 'cursor',
- label: 'Cursor',
- verify: 'Restart Cursor. Skills appear under Settings, Cursor Rules.',
- },
- {
- id: 'windsurf',
- label: 'Windsurf',
- verify: 'Restart Windsurf. Skills invoke when their description matches.',
+ id: 'gemini-cli',
+ label: 'Gemini CLI',
+ verify: 'Start a new Gemini CLI session. Verify with /skills list.',
},
{
- id: 'opencode',
- label: 'OpenCode',
- verify: 'Start a new OpenCode session. Skills are discovered at startup.',
+ id: 'goose',
+ label: 'Goose',
+ verify: 'Start a new Goose session. Skills are discovered at startup.',
},
{
id: 'amp',
@@ -60,23 +67,53 @@ export const AGENT_TARGETS: readonly AgentTarget[] = [
verify: 'Start a new Amp session. Skill descriptions load at startup.',
},
{
- id: 'cline',
- label: 'Cline',
- verify: 'Restart your editor. Cline reads skill descriptions at startup.',
+ id: 'opencode',
+ label: 'OpenCode',
+ verify: 'Start a new OpenCode session. Skills are discovered at startup.',
},
{
id: 'roo',
label: 'Roo Code',
verify: 'Restart your editor. Roo reads skill descriptions at startup.',
},
- {
- id: 'goose',
- label: 'Goose',
- verify: 'Start a new Goose session. Skills are discovered at startup.',
- },
{
id: 'antigravity',
label: 'Antigravity',
verify: 'Restart Antigravity. Skills are discovered at startup.',
},
+ {
+ id: 'openclaw',
+ label: 'OpenClaw',
+ verify: 'Start a new OpenClaw session. Verify with openclaw skills list.',
+ },
+ {
+ id: 'hermes',
+ label: 'Hermes Agent',
+ verify: 'Start a new Hermes session. Verify with /skills. Project Skills load after hermes skills trust.',
+ },
+ {
+ id: 'kiro',
+ label: 'Kiro CLI',
+ verify: 'Start a new Kiro CLI session. Type / to see Skills as slash commands.',
+ },
+ {
+ id: 'kilo',
+ label: 'Kilo Code',
+ verify: 'Run /reload in Kilo Code, or start a new session. Then ask which Skills it has.',
+ },
+ {
+ id: 'droid',
+ label: 'Droid',
+ verify: 'Start a new Droid session. Verify with /skills.',
+ },
+ {
+ id: 'trae',
+ label: 'Trae',
+ verify: 'Open Trae. Skills appear under Settings, Skills & Commands.',
+ },
+ {
+ id: 'zed',
+ label: 'Zed',
+ verify: 'No restart needed. Type / in the Zed message editor to pick a Skill.',
+ },
] as const
diff --git a/layers/marketing/app/pages/cli/index.vue b/layers/marketing/app/pages/cli/index.vue
index 6cbcaca9..fbc177e6 100644
--- a/layers/marketing/app/pages/cli/index.vue
+++ b/layers/marketing/app/pages/cli/index.vue
@@ -28,34 +28,8 @@ import SetupSnippet from '../../components/_SetupSnippet.vue'
import { setupSnippets } from '../../utils/developer-setup'
import { pageRobots } from '../../utils/page-admissions'
-/**
- * Every `--agent` value, copied from `skilld install --help` in skilld 3.6.0.
- * The CLI defines them in `crates/skilld-core/src/target.rs`. The site's
- * `AGENT_TARGETS` carries a confirm step for only some of them, so the count
- * comes from this list.
- */
-const CLI_AGENT_TARGETS = [
- 'claude-code',
- 'cursor',
- 'windsurf',
- 'cline',
- 'codex',
- 'github-copilot',
- 'gemini-cli',
- 'goose',
- 'amp',
- 'opencode',
- 'roo',
- 'antigravity',
- 'openclaw',
- 'hermes',
- 'kiro',
- 'kilo',
- 'droid',
- 'trae',
- 'zed',
-] as const
-const targetCount = CLI_AGENT_TARGETS.length
+/** Every `--agent` value of `skilld install --help`, mirrored in `AGENT_TARGETS`. */
+const targetCount = AGENT_TARGETS.length
/** The README's example Skill. Its installed name is the last segment. */
const EXAMPLE = { owner: 'antfu', repo: 'skills', skill: 'vue' } as const
@@ -320,11 +294,11 @@ const codeClass = 'font-mono text-xs text-default'
-
- {{ agent }}
+ {{ agent.id }}