claude-code-arcane 2.7.1 → 2.8.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 +19 -0
- package/README.md +1 -1
- package/agents/ai/ai-architect.md +1 -1
- package/agents/ai/data-engineer.md +1 -1
- package/agents/ai/data-scientist.md +1 -1
- package/agents/ai/ml-engineer.md +1 -1
- package/agents/audio/audio-director.md +32 -40
- package/agents/audio/audio-programmer.md +32 -45
- package/agents/audio/audio-qa.md +36 -47
- package/agents/audio/composer.md +32 -42
- package/agents/audio/technical-sound-designer.md +32 -43
- package/agents/audio/voice-director.md +33 -42
- package/agents/business/business-ops-lead.md +1 -0
- package/agents/business/financial-analyst.md +1 -0
- package/agents/business/sales-engineer.md +1 -0
- package/agents/career/career-strategist.md +1 -1
- package/agents/career/cv-reviewer.md +1 -1
- package/agents/career/hiring-manager.md +1 -1
- package/agents/career/mock-interviewer.md +1 -1
- package/agents/clevel/ceo-advisor.md +2 -2
- package/agents/clevel/cfo-advisor.md +2 -2
- package/agents/clevel/chief-of-staff.md +2 -2
- package/agents/clevel/cmo-advisor.md +2 -2
- package/agents/clevel/coo-advisor.md +2 -2
- package/agents/clevel/cto-advisor.md +2 -2
- package/agents/devops/cloud-architect.md +2 -3
- package/agents/devops/devops-engineer.md +48 -0
- package/agents/devops/platform-lead.md +2 -3
- package/agents/devops/sre-lead.md +2 -3
- package/agents/ecommerce/ecommerce-architect.md +1 -0
- package/agents/engineering/android-engineer.md +1 -0
- package/agents/engineering/backend-architect.md +3 -4
- package/agents/engineering/chief-technology-officer.md +53 -0
- package/agents/engineering/database-architect.md +2 -3
- package/agents/engineering/dotnet-engineer.md +2 -1
- package/agents/engineering/e2e-tester.md +2 -1
- package/agents/engineering/flutter-engineer.md +1 -0
- package/agents/engineering/frontend-architect.md +3 -4
- package/agents/engineering/go-engineer.md +2 -1
- package/agents/engineering/ios-engineer.md +1 -0
- package/agents/engineering/mobile-lead.md +59 -0
- package/agents/engineering/nestjs-engineer.md +2 -1
- package/agents/engineering/nextjs-engineer.md +2 -1
- package/agents/engineering/nextjs-reviewer.md +4 -3
- package/agents/engineering/node-engineer.md +2 -1
- package/agents/engineering/react-engineer.md +2 -1
- package/agents/engineering/react-native-engineer.md +2 -1
- package/agents/engineering/sql-specialist.md +3 -2
- package/agents/engineering/vp-engineering.md +54 -0
- package/agents/freelance/client-screener.md +1 -1
- package/agents/freelance/discovery-call.md +1 -1
- package/agents/freelance/pipeline-strategist.md +1 -1
- package/agents/freelance/proposal-reviewer.md +1 -1
- package/agents/game/accessibility-specialist.md +39 -51
- package/agents/game/ai-programmer.md +32 -44
- package/agents/game/analytics-engineer.md +32 -44
- package/agents/game/art-director.md +1 -0
- package/agents/game/creative-director.md +48 -0
- package/agents/game/economy-designer.md +35 -60
- package/agents/game/game-designer.md +1 -0
- package/agents/game/gameplay-programmer.md +32 -46
- package/agents/game/lead-programmer.md +2 -1
- package/agents/game/level-designer.md +35 -60
- package/agents/game/live-ops-designer.md +36 -56
- package/agents/game/narrative-director.md +1 -0
- package/agents/game/network-programmer.md +32 -44
- package/agents/game/performance-analyst.md +32 -44
- package/agents/game/producer.md +50 -0
- package/agents/game/qa-lead.md +3 -2
- package/agents/game/qa-tester-gamedev.md +33 -45
- package/agents/game/release-manager.md +2 -1
- package/agents/game/sound-designer.md +33 -45
- package/agents/game/systems-designer.md +35 -60
- package/agents/game/technical-artist.md +32 -44
- package/agents/game/technical-director.md +2 -1
- package/agents/game/ue-blueprint-specialist.md +36 -48
- package/agents/game/ue-gas-specialist.md +36 -48
- package/agents/game/ue-replication-specialist.md +36 -48
- package/agents/game/ue-umg-specialist.md +36 -48
- package/agents/game/unity-shader-specialist.md +36 -48
- package/agents/game/unity-specialist.md +36 -51
- package/agents/game/unreal-specialist.md +36 -48
- package/agents/game/ux-designer.md +35 -55
- package/agents/game/world-builder.md +35 -60
- package/agents/game/writer.md +32 -50
- package/agents/integrations/api-tools-specialist.md +2 -2
- package/agents/integrations/comms-tools-specialist.md +2 -2
- package/agents/integrations/design-tools-specialist.md +53 -7
- package/agents/integrations/docs-tools-specialist.md +18 -2
- package/agents/integrations/integrations-architect.md +2 -2
- package/agents/integrations/project-tools-specialist.md +18 -2
- package/agents/management/delivery-manager.md +2 -1
- package/agents/management/program-director.md +2 -1
- package/agents/management/project-manager.md +2 -2
- package/agents/management/scrum-master.md +2 -2
- package/agents/marketing/content-lead.md +1 -0
- package/agents/marketing/growth-lead.md +1 -0
- package/agents/marketing/marketing-analyst.md +1 -0
- package/agents/marketing/marketing-director.md +1 -0
- package/agents/marketing/seo-lead.md +1 -0
- package/agents/product/chief-product-officer.md +1 -0
- package/agents/product/design-system-lead.md +3 -3
- package/agents/product/product-manager.md +2 -2
- package/agents/product/ui-lead.md +2 -4
- package/agents/product/ux-lead.md +2 -5
- package/agents/quality/qa-director.md +2 -5
- package/agents/quality/qa-engineer.md +1 -0
- package/agents/quality/security-architect.md +2 -5
- package/agents/regulatory/compliance-officer.md +1 -0
- package/agents/regulatory/quality-manager.md +1 -0
- package/agents/regulatory/regulatory-director.md +1 -0
- package/agents/visualnovel/vn-comfyui-artist.md +35 -14
- package/agents/visualnovel/vn-narrative-director.md +36 -30
- package/agents/visualnovel/vn-producer.md +36 -12
- package/agents/visualnovel/vn-renpy-developer.md +34 -12
- package/agents/visualnovel/vn-scene-director.md +34 -9
- package/agents/visualnovel/vn-ui-designer.md +36 -20
- package/dist/cli.js +366 -316
- package/docs/USER-GUIDE.md +26 -1
- package/docs/agent-hierarchy.md +42 -2
- package/docs/collaborative-design.md +2 -1
- package/docs/directory-structure.md +18 -13
- package/package.json +1 -1
- package/profiles/backend-go.yaml +1 -0
- package/profiles/docs.yaml +0 -2
- package/profiles/security.yaml +1 -1
- package/profiles/unity-design.yaml +2 -0
- package/profiles/unity-dev.yaml +2 -0
- package/profiles/unreal-dev.yaml +1 -0
- package/profiles/visual-novel.yaml +1 -0
- package/skills/architecture-review/SKILL.md +1 -0
- package/skills/balance-check/SKILL.md +1 -0
- package/skills/code-review/SKILL.md +49 -16
- package/skills/create-epics/SKILL.md +2 -1
- package/skills/create-stories/SKILL.md +5 -4
- package/skills/database-indexing/SKILL.md +2 -1
- package/skills/help/SKILL.md +6 -2
- package/skills/hotfix/SKILL.md +11 -3
- package/skills/patch-notes/SKILL.md +2 -1
- package/skills/perf-profile/SKILL.md +0 -1
- package/skills/prototype/SKILL.md +0 -2
- package/skills/qa-plan/SKILL.md +2 -1
- package/skills/retrospective/SKILL.md +4 -2
- package/skills/security-audit/SKILL.md +2 -1
- package/skills/skill-auditor/SKILL.md +16 -4
- package/skills/skill-auditor/references/frontmatter-spec.md +93 -86
- package/skills/slo-sli/SKILL.md +2 -2
- package/skills/sprint-plan/SKILL.md +4 -2
- package/skills/story-readiness/SKILL.md +1 -1
- package/skills/ux-design/SKILL.md +2 -1
- package/skills/ux-review/SKILL.md +2 -1
|
@@ -1,113 +1,120 @@
|
|
|
1
1
|
# Frontmatter Specification -- Arcane Skills
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Formato de frontmatter para todas las skills del repo Claude Code Arcane.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**Fuente de verdad:** la lista de campos que Claude Code realmente lee está en
|
|
6
|
+
`code.claude.com/docs/en/skills`. Este documento la refleja y agrega la única
|
|
7
|
+
convención local del repo (`category`). No inventar campos: un campo que no está
|
|
8
|
+
en la tabla de abajo lo ignora el runtime, y ese silencio es donde el drift se
|
|
9
|
+
esconde.
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
## Formato requerido
|
|
8
12
|
|
|
9
13
|
```yaml
|
|
10
14
|
---
|
|
11
15
|
name: skill-name
|
|
12
|
-
description: "
|
|
16
|
+
description: "Qué hace la skill y cuándo usarla, 1-2 oraciones."
|
|
13
17
|
category: "domain-name"
|
|
14
18
|
user-invocable: true
|
|
15
19
|
allowed-tools: Read, Glob, Grep, Bash
|
|
16
20
|
---
|
|
17
21
|
```
|
|
18
22
|
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### `
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
##
|
|
61
|
-
|
|
62
|
-
|
|
23
|
+
## Campos oficiales de Claude Code
|
|
24
|
+
|
|
25
|
+
Todos son opcionales para el runtime; las columnas "Arcane" marcan lo que este
|
|
26
|
+
repo exige por convención propia.
|
|
27
|
+
|
|
28
|
+
| Campo | Arcane | Qué hace |
|
|
29
|
+
|-------|--------|----------|
|
|
30
|
+
| `name` | **requerido** | Etiqueta mostrada en los listados. En skills personales o de proyecto el comando sale del nombre del directorio, no de este campo. |
|
|
31
|
+
| `description` | **requerido** | Qué hace y cuándo usarla. Claude decide con esto si aplicar la skill. `description` + `when_to_use` se truncan juntos a 1.536 caracteres. |
|
|
32
|
+
| `when_to_use` | opcional | Contexto extra de invocación: frases gatillo, ejemplos de pedido. Se anexa a `description` y cuenta para el tope de 1.536. |
|
|
33
|
+
| `argument-hint` | opcional | Hint de autocompletado. Ej: `[issue-number]`, `[filename] [format]`. |
|
|
34
|
+
| `arguments` | opcional | Declaración estructurada de argumentos. |
|
|
35
|
+
| `user-invocable` | **requerido** | `false` cuando solo Claude debe invocarla: la oculta del menú `/`. Default `true`. |
|
|
36
|
+
| `disable-model-invocation` | opcional | `true` impide que Claude la cargue sola. También impide precargarla en subagentes. |
|
|
37
|
+
| `allowed-tools` | **requerido** | Tools que Claude puede usar sin pedir permiso durante el turno que invoca la skill. El permiso se limpia con el mensaje siguiente. |
|
|
38
|
+
| `disallowed-tools` | opcional | Denylist de tools. |
|
|
39
|
+
| `model` | opcional | Modelo para el turno en que la skill está activa. Con `context: fork`, define el modelo del subagente. |
|
|
40
|
+
| `effort` | opcional | Nivel de esfuerzo de razonamiento. |
|
|
41
|
+
| `context` | opcional | **Único valor válido: `fork`.** Corre la skill en un subagente forkeado. |
|
|
42
|
+
| `agent` | opcional | Qué tipo de subagente usar. **Solo tiene efecto si `context: fork` está puesto.** |
|
|
43
|
+
| `background` | opcional | Corre en background. |
|
|
44
|
+
| `hooks` | opcional | Hooks con alcance de esta skill. |
|
|
45
|
+
| `paths` | opcional | Paths asociados. |
|
|
46
|
+
| `shell` | opcional | Shell para los `` !`comando` `` del body: `bash` (default) o `powershell`. |
|
|
47
|
+
| `metadata` | opcional | Map YAML libre para datos propios. **Claude Code no actúa sobre su contenido** — es el lugar correcto para campos que solo lee tooling nuestro. Descarta el valor si no es un map. |
|
|
48
|
+
| `license` | opcional | Licencia. |
|
|
49
|
+
| `compatibility` | opcional | Compatibilidad declarada. |
|
|
50
|
+
|
|
51
|
+
### `category` — convención local, no campo oficial
|
|
52
|
+
|
|
53
|
+
`category` no existe en la doc de Claude Code: el runtime lo ignora. Arcane lo
|
|
54
|
+
exige igual porque `src/skills-catalog.ts` y los profiles lo usan para agrupar.
|
|
55
|
+
Es inocuo. Si en algún momento deja de usarse desde `src/`, moverlo a
|
|
56
|
+
`metadata:` en vez de dejarlo suelto.
|
|
57
|
+
|
|
58
|
+
Categorías estándar: `arcane`, `backend`, `frontend`, `ai`, `devops`,
|
|
59
|
+
`security`, `testing`, `gamedev`, `agile`, `business`, `marketing-content`,
|
|
60
|
+
`marketing-growth`, `marketing-seo`, `marketing-strategy`, `finance`,
|
|
61
|
+
`regulatory`, `git`, `clevel-advisors`, `clevel-operations`, `observability`,
|
|
62
|
+
`database`, `workflow`, `visualnovel`, `audio`.
|
|
63
|
+
|
|
64
|
+
## Reglas por campo
|
|
65
|
+
|
|
66
|
+
### `name`
|
|
67
|
+
- kebab-case, y tiene que coincidir con el directorio que contiene el SKILL.md.
|
|
68
|
+
|
|
69
|
+
### `description`
|
|
70
|
+
- 1-2 oraciones. Bajo 200 caracteres preferido, 300 máximo.
|
|
71
|
+
- Entre comillas dobles.
|
|
72
|
+
- No repetir solo el nombre de la skill.
|
|
73
|
+
- Poner el caso de uso principal primero: se trunca a 1.536 caracteres.
|
|
74
|
+
|
|
75
|
+
### `allowed-tools`
|
|
76
|
+
- Read-only: `Read, Glob, Grep, Bash`
|
|
77
|
+
- Authoring: `Read, Write, Edit, Bash, Glob, Grep`
|
|
78
|
+
- Orquestación: `Read, Write, Edit, Bash, Glob, Grep, Task`
|
|
79
|
+
- Nombres válidos: `Read`, `Write`, `Edit`, `Bash`, `Glob`, `Grep`, `Task`,
|
|
80
|
+
`WebFetch`, `WebSearch`, `NotebookEdit`
|
|
81
|
+
|
|
82
|
+
### `agent` + `context`
|
|
83
|
+
Van siempre juntos. `agent:` sin `context: fork` **no hace nada**:
|
|
63
84
|
|
|
64
85
|
```yaml
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
author: Alireza Rezvani
|
|
72
|
-
category: business-growth
|
|
73
|
-
domain: customer-success
|
|
74
|
-
updated: 2026-02-06
|
|
75
|
-
python-tools: tool1.py, tool2.py
|
|
76
|
-
tech-stack: keyword1, keyword2
|
|
77
|
-
---
|
|
86
|
+
# MAL - el agente declarado nunca entra en juego
|
|
87
|
+
agent: qa-director
|
|
88
|
+
|
|
89
|
+
# BIEN
|
|
90
|
+
context: fork
|
|
91
|
+
agent: qa-director
|
|
78
92
|
```
|
|
79
93
|
|
|
80
|
-
|
|
94
|
+
Y el agente nombrado tiene que existir en `agents/` **y** su división tiene que
|
|
95
|
+
estar en la lista `agents:` de todos los profiles que traen la skill. Si no, el
|
|
96
|
+
fork cae en un agente genérico sin system prompt especializado.
|
|
81
97
|
|
|
82
|
-
|
|
83
|
-
2. **Drop entirely**: `license`, `metadata` (and all nested: `version`, `author`, `updated`, `python-tools`, `tech-stack`, `domain`)
|
|
84
|
-
3. **Add**: `category` -- infer from the `skills-*` parent folder, NOT from `metadata.category`
|
|
85
|
-
4. **Add**: `user-invocable: true`
|
|
86
|
-
5. **Add**: `allowed-tools` -- default `Read, Glob, Grep, Bash`; add `Write, Edit` if the skill body contains generation/authoring instructions
|
|
98
|
+
## Inyección de contexto dinámico
|
|
87
99
|
|
|
88
|
-
|
|
100
|
+
No hay campo de frontmatter para esto. El mecanismo es `` !`comando` `` **en el
|
|
101
|
+
body**, y la salida reemplaza el placeholder antes de que Claude vea la skill:
|
|
89
102
|
|
|
90
|
-
|
|
103
|
+
```markdown
|
|
104
|
+
## Estado actual
|
|
91
105
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
name: "mcp-server-builder"
|
|
95
|
-
description: "MCP Server Builder" # <- too short, needs expansion
|
|
96
|
-
---
|
|
106
|
+
- Branch: !`git branch --show-current`
|
|
107
|
+
- Sprints: !`ls production/sprints/ 2>/dev/null || echo "sin sprints"`
|
|
97
108
|
```
|
|
98
109
|
|
|
99
|
-
|
|
110
|
+
El `!` se reconoce solo al principio de línea o después de whitespace, y el
|
|
111
|
+
comando va entre backticks. `!echo foo` sin backticks es texto literal.
|
|
100
112
|
|
|
101
|
-
##
|
|
113
|
+
## Formato a convertir (legacy)
|
|
102
114
|
|
|
103
|
-
|
|
115
|
+
Si el frontmatter tiene `version`, `author`, `updated`, `python-tools` o
|
|
116
|
+
`tech-stack`, es formato importado y hay que convertirlo: esos campos no existen
|
|
117
|
+
en la doc oficial ni en Arcane.
|
|
104
118
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
3. Is `name` present and kebab-case?
|
|
108
|
-
4. Does `name` match directory name?
|
|
109
|
-
5. Is `description` present and substantive (not just the name)?
|
|
110
|
-
6. Is `category` present?
|
|
111
|
-
7. Is `user-invocable` present and boolean?
|
|
112
|
-
8. Is `allowed-tools` present with valid tool names?
|
|
113
|
-
9. Are there any alirezarezvani-only fields that should be removed?
|
|
119
|
+
**`license` y `metadata` NO son parte de este grupo** — los dos son campos
|
|
120
|
+
oficiales de Claude Code y no hay que tocarlos.
|
package/skills/slo-sli/SKILL.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: slo-sli
|
|
3
3
|
description: "Define and operate SLIs, SLOs, and error budgets for Educabot services (Go + TS, GCP, Prometheus). Trigger: SLO, SLI, error budget, burn rate."
|
|
4
4
|
category: "observability"
|
|
5
|
-
stack: Go, TypeScript, Prometheus, GCP Cloud Monitoring, Terraform, Alertmanager
|
|
6
|
-
context: Educabot EdTech LatAm — servicios con peak en horario escolar AM
|
|
7
5
|
argument-hint: "[service-name] [--availability|--latency|--error]"
|
|
8
6
|
user-invocable: true
|
|
9
7
|
allowed-tools: Read, Glob, Grep, Bash, Write, Edit, Task
|
|
10
8
|
metadata:
|
|
11
9
|
category: reliability
|
|
10
|
+
stack: Go, TypeScript, Prometheus, GCP Cloud Monitoring, Terraform, Alertmanager
|
|
11
|
+
business-context: Educabot EdTech LatAm — servicios con peak en horario escolar AM
|
|
12
12
|
sources:
|
|
13
13
|
- Google SRE Handbook (sre.google/sre-book)
|
|
14
14
|
- Google SRE Workbook — Implementing SLOs
|
|
@@ -5,9 +5,11 @@ category: "agile"
|
|
|
5
5
|
argument-hint: "[new|update|status] [--review full|lean|solo]"
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Glob, Grep, Write, Edit, Task, AskUserQuestion
|
|
8
|
-
context: |
|
|
9
|
-
!ls production/sprints/ 2>/dev/null
|
|
10
8
|
---
|
|
9
|
+
## Sprints existentes
|
|
10
|
+
|
|
11
|
+
!`ls production/sprints/ 2>/dev/null || echo "sin sprints"`
|
|
12
|
+
|
|
11
13
|
## Phase 0: Parse Arguments
|
|
12
14
|
|
|
13
15
|
Mode: `new`, `update`, or `status`. Resolve review mode: `--review` arg → `production/review-mode.txt` → default `lean`.
|
|
@@ -46,7 +46,7 @@ Resolve: `--review` arg → `production/review-mode.txt` → default `lean`.
|
|
|
46
46
|
|
|
47
47
|
## Phase 8: Director Gate
|
|
48
48
|
|
|
49
|
-
Solo/lean → skip. Full → spawn `qa-
|
|
49
|
+
Solo/lean → skip. Full → spawn `qa-director` gate QL-STORY-READY with story title, ACs, dependency status, verdict. ADEQUATE → cleared. GAPS/INADEQUATE → surface to user.
|
|
50
50
|
|
|
51
51
|
## Protocol
|
|
52
52
|
|
|
@@ -5,7 +5,8 @@ category: "design"
|
|
|
5
5
|
argument-hint: "[screen/flow name] or 'hud' or 'patterns'"
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Glob, Grep, Write, Edit, AskUserQuestion, Task
|
|
8
|
-
|
|
8
|
+
context: fork
|
|
9
|
+
agent: ux-lead
|
|
9
10
|
---
|
|
10
11
|
# ux-design — UX Spec Authoring
|
|
11
12
|
|