claude-code-arcane 2.7.1 → 2.9.1
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 +46 -0
- package/README.md +2 -2
- 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 -47
- 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 +487 -322
- 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/hooks/statusline.sh +17 -4
- package/output-styles/arcane.md +53 -0
- package/package.json +2 -1
- package/profiles/backend-go.yaml +1 -0
- package/profiles/core.yaml +4 -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/rules/code-comments.md +63 -0
- package/rules/gamedev/audio-code.md +0 -1
- package/rules/gamedev/gameplay-code.md +0 -1
- package/rules/gamedev/shader-code.md +0 -1
- 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
package/skills/hotfix/SKILL.md
CHANGED
|
@@ -19,7 +19,7 @@ allowed-tools: Read, Glob, Grep, Write, Edit, Bash, Task
|
|
|
19
19
|
|
|
20
20
|
## Phase 2: Create Hotfix Record
|
|
21
21
|
|
|
22
|
-
Draft record with: short description, date, severity, reporter, status IN PROGRESS, sections for Problem (player impact), Root Cause (fill during investigation), Fix (fill during implementation), Testing, Approvals (
|
|
22
|
+
Draft record with: short description, date, severity, reporter, status IN PROGRESS, sections for Problem (player impact), Root Cause (fill during investigation), Fix (fill during implementation), Testing, Approvals (qa-engineer, qa-director, delivery-manager checkboxes), Rollback Plan.
|
|
23
23
|
|
|
24
24
|
Ask to write to `production/hotfixes/hotfix-[date]-[short-name].md`.
|
|
25
25
|
|
|
@@ -33,11 +33,19 @@ Minimal change only — NO refactoring, cleanup, or features alongside. Run targ
|
|
|
33
33
|
|
|
34
34
|
## Phase 5: Collect Approvals (Parallel)
|
|
35
35
|
|
|
36
|
-
Spawn via Task
|
|
36
|
+
Spawn via Task, **only the ones installed in `.claude/agents/`** (check first: an uninstalled name falls back to a general-purpose agent that reads broadly and returns nothing useful):
|
|
37
|
+
|
|
38
|
+
| Agent | Question to ask it |
|
|
39
|
+
|-------|--------------------|
|
|
40
|
+
| `qa-engineer` | correctness and side effects of the fix |
|
|
41
|
+
| `qa-director` | regression scope: what else must be re-tested |
|
|
42
|
+
| `delivery-manager` | deploy timing and comms |
|
|
43
|
+
|
|
44
|
+
Every agent that ran must APPROVE before proceeding. If none is installed, do the three checks inline and record that in the hotfix record instead of claiming approvals that never happened.
|
|
37
45
|
|
|
38
46
|
## Phase 5b: QA Re-Entry Gate
|
|
39
47
|
|
|
40
|
-
Spawn `qa-
|
|
48
|
+
Spawn `qa-director` (or `qa-engineer` if that is what is installed) with hotfix description, affected system, regression results, caller list (grep).
|
|
41
49
|
|
|
42
50
|
| QA Verdict | Action |
|
|
43
51
|
|------------|--------|
|
package/skills/qa-plan/SKILL.md
CHANGED
|
@@ -5,9 +5,11 @@ category: "agile"
|
|
|
5
5
|
argument-hint: "[sprint-N|milestone-name]"
|
|
6
6
|
user-invocable: true
|
|
7
7
|
allowed-tools: Read, Glob, Grep, Write
|
|
8
|
-
context: |
|
|
9
|
-
!git log --oneline --since="2 weeks ago" 2>/dev/null
|
|
10
8
|
---
|
|
9
|
+
## Commits de las ultimas 2 semanas
|
|
10
|
+
|
|
11
|
+
!`git log --oneline --since="2 weeks ago" 2>/dev/null || echo "sin commits"`
|
|
12
|
+
|
|
11
13
|
## Phase 1: Parse & Check Existing
|
|
12
14
|
|
|
13
15
|
Determine scope: sprint (`sprint-N`) or milestone. Check for existing retro (`production/retrospectives/retro-[slug]-*.md` or `production/sprints/sprint-[N]-retrospective.md`). If found → offer update existing or start fresh.
|
|
@@ -38,7 +38,19 @@ Parse the YAML block between `---` markers. Check against our spec (see `referen
|
|
|
38
38
|
| `user-invocable` | yes | present, boolean |
|
|
39
39
|
| `allowed-tools` | yes | present, comma-separated list of valid tool names |
|
|
40
40
|
|
|
41
|
-
Flag **
|
|
41
|
+
Flag **legacy imported format** if frontmatter contains `version`, `author`, `updated`, `python-tools`, or `tech-stack` -- these need conversion.
|
|
42
|
+
|
|
43
|
+
Do NOT flag `license` or `metadata`: both are official Claude Code fields. `metadata` is a free-form map that Claude Code deliberately ignores, and it is the correct home for repo-local keys.
|
|
44
|
+
|
|
45
|
+
Also check the `agent:` / `context:` pair:
|
|
46
|
+
|
|
47
|
+
| Check | Fail condition |
|
|
48
|
+
|-------|----------------|
|
|
49
|
+
| `agent:` needs `context: fork` | `agent:` present without `context: fork` -- the field is inert |
|
|
50
|
+
| `context:` value | any value other than `fork` |
|
|
51
|
+
| `agent:` target exists | the named agent has no file in `agents/` |
|
|
52
|
+
| `agent:` reachable | a profile shipping this skill does not install the agent's division |
|
|
53
|
+
| unknown field | any key outside the official list plus `category` |
|
|
42
54
|
|
|
43
55
|
### 1.2 Measure weight
|
|
44
56
|
|
|
@@ -77,7 +89,7 @@ Compute grade from checks:
|
|
|
77
89
|
| **A** | All 5 frontmatter fields correct, <= 200 lines, 2+ sections, no hallucinations |
|
|
78
90
|
| **B** | Frontmatter complete but minor issues (description too long, missing handoff) |
|
|
79
91
|
| **C** | Frontmatter incomplete (1-2 missing fields) OR 201-400 lines |
|
|
80
|
-
| **D** | Frontmatter uses
|
|
92
|
+
| **D** | Frontmatter uses legacy imported format OR `agent:` without `context: fork` OR 400+ lines OR hallucinations found |
|
|
81
93
|
| **F** | No frontmatter at all OR file is empty/broken |
|
|
82
94
|
|
|
83
95
|
### 1.6 Output report
|
|
@@ -92,10 +104,10 @@ Given a path to a SKILL.md, apply fixes in order:
|
|
|
92
104
|
|
|
93
105
|
### 2.1 Convert frontmatter
|
|
94
106
|
|
|
95
|
-
If
|
|
107
|
+
If legacy imported format detected (has `version`, `author`, `updated`, `python-tools`, `tech-stack`):
|
|
96
108
|
|
|
97
109
|
1. Keep `name` and `description` (trim description to under 200 chars if needed)
|
|
98
|
-
2. Drop `
|
|
110
|
+
2. Drop `version`, `author`, `updated`, `python-tools`, `tech-stack`. Keep `license` and `metadata` -- both are official. Move any repo-local key into the `metadata:` map instead of deleting it.
|
|
99
111
|
3. Add `category` -- infer from parent folder: `skills-backend` -> `"backend"`, `skills-ai` -> `"ai"`, etc.
|
|
100
112
|
4. Add `user-invocable: true` (default; set `false` only for sub-skills under another skill's directory)
|
|
101
113
|
5. Add `allowed-tools: Read, Glob, Grep, Bash` (default read-only set; upgrade to include `Write, Edit` if skill body contains authoring/generation instructions)
|
|
@@ -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
|
|