claude-code-arcane 2.9.9 → 2.11.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +45 -43
  3. package/dist/cli.js +79 -33
  4. package/docs/SKILLS-CATALOG.md +4 -2
  5. package/docs/USER-GUIDE.md +24 -22
  6. package/docs/templates/skill-test-spec.md +0 -1
  7. package/package.json +1 -1
  8. package/profiles/ai.yaml +3 -0
  9. package/profiles/android-native.yaml +2 -0
  10. package/profiles/backend-dotnet.yaml +2 -0
  11. package/profiles/backend-go.yaml +2 -8
  12. package/profiles/backend-nestjs.yaml +2 -0
  13. package/profiles/backend-nextjs.yaml +2 -0
  14. package/profiles/backend-ts.yaml +4 -8
  15. package/profiles/backend-typescript.yaml +53 -0
  16. package/profiles/blender.yaml +1 -0
  17. package/profiles/flutter.yaml +2 -0
  18. package/profiles/frontend-react-vite.yaml +39 -0
  19. package/profiles/frontend.yaml +2 -0
  20. package/profiles/infra.yaml +2 -0
  21. package/profiles/integrations.yaml +6 -1
  22. package/profiles/ios-native.yaml +2 -0
  23. package/profiles/meshy.yaml +1 -0
  24. package/profiles/mobile-android-kotlin.yaml +36 -0
  25. package/profiles/mobile-flutter.yaml +37 -0
  26. package/profiles/mobile-ios-swift.yaml +37 -0
  27. package/profiles/mobile-react-native.yaml +39 -0
  28. package/profiles/mobile.yaml +2 -0
  29. package/rules/blender-files.md +72 -0
  30. package/rules/blender-pipeline.md +1 -63
  31. package/rules/gamedev/narrative.md +1 -1
  32. package/rules/meshy-assets.md +9 -78
  33. package/rules/meshy-files.md +83 -0
  34. package/skills/agent-protocol/SKILL.md +1 -1
  35. package/skills/agent-protocol/references/communication-standard.md +2 -2
  36. package/skills/ai-security/SKILL.md +4 -0
  37. package/skills/arcane-add/SKILL.md +1 -1
  38. package/skills/arcane-list/SKILL.md +3 -3
  39. package/skills/arcane-status/SKILL.md +1 -1
  40. package/skills/audit-dev/SKILL.md +1 -1
  41. package/skills/blender-animation/SKILL.md +1 -1
  42. package/skills/blender-export/SKILL.md +1 -1
  43. package/skills/blender-materials/SKILL.md +1 -1
  44. package/skills/blender-modeling/SKILL.md +1 -1
  45. package/skills/check/SKILL.md +1 -1
  46. package/skills/chief-of-staff/SKILL.md +1 -1
  47. package/skills/cloud-security/SKILL.md +4 -0
  48. package/skills/freelance-kickoff/SKILL.md +1 -1
  49. package/skills/isms-audit-expert/SKILL.md +2 -0
  50. package/skills/meshy-derive/SKILL.md +1 -1
  51. package/skills/meshy-generate/SKILL.md +1 -1
  52. package/skills/meshy-setup/SKILL.md +1 -1
  53. package/skills/owasp-top10-check/SKILL.md +1 -1
  54. package/skills/qms-audit-expert/SKILL.md +2 -0
  55. package/skills/security-pen-testing/SKILL.md +1 -1
  56. package/skills/seo-audit/SKILL.md +1 -1
  57. package/skills/skill-auditor/SKILL.md +0 -1
  58. package/skills/skill-improve/SKILL.md +6 -7
  59. package/skills/skill-test/SKILL.md +3 -3
  60. package/skills/skill-test/references/static-checks.md +13 -8
  61. package/skills/standup-report/SKILL.md +1 -1
  62. package/skills/vn-gdd/SKILL.md +2 -0
  63. package/skills/web-security/SKILL.md +4 -0
  64. package/skills/worktree-isolation/README.md +6 -6
  65. package/skills/worktree-isolation/SKILL.md +5 -2
  66. package/skills/worktree-isolation-setup/README.md +7 -11
  67. package/skills/worktree-isolation-setup/SKILL.md +15 -6
  68. package/skills/worktree-isolation-setup/scripts/apply.py +0 -178
  69. package/skills/worktree-isolation-setup/scripts/install_hook.py +0 -118
  70. package/skills/worktree-isolation-setup/scripts/lib.py +0 -371
@@ -1,7 +1,6 @@
1
1
  # Blender Pipeline
2
2
 
3
- Reglas para trabajar assets en Blender con destino a un engine o a la web. Aplican a cualquier
4
- operacion que toque un `.blend` o exporte desde uno.
3
+ Reglas que tienen que estar presentes antes de operar Blender, por MCP o headless, aunque todavia no se haya tocado un `.blend`. Ejes, topologia, materiales, animacion y Git estan en `.claude/rules/blender-files.md`, que se carga al tocar un `.blend` o un archivo exportado.
5
4
 
6
5
  ## El MCP es opcional, el headless no
7
6
 
@@ -32,64 +31,3 @@ barrera**. Consecuencias que no son negociables:
32
31
  3. No apuntarlo a una maquina con material sensible ni a credenciales.
33
32
  4. Un script que borra (`bpy.data.*.remove`, `object.delete`) se muestra al usuario **antes** de
34
33
  correrlo, siempre, incluso si lo pidio.
35
-
36
- ## Ejes, escala y unidades
37
-
38
- Verificar una vez por proyecto, anotarlo, no volver a pensarlo.
39
-
40
- | Destino | Convencion | Al exportar desde Blender |
41
- |---|---|---|
42
- | Blender | Z-up, right-handed, 1 unidad = 1 m | — |
43
- | glTF / GLB | Y-up, metros | El exporter convierte solo (`+Y up`) |
44
- | Unity | Y-up, left-handed, 1 unidad = 1 m | glTF sale derecho; en FBX revisar el eje |
45
- | UE5 | Z-up, left-handed, 1 unidad = 1 cm | Factor 100 |
46
-
47
- Reglas duras:
48
-
49
- - **Aplicar escala antes de exportar** (`Object → Apply → Scale`). Un objeto que sale con `scale`
50
- distinto de 1 arrastra el problema al engine y rompe la fisica y el skinning.
51
- - Origen al piso para props y personajes; al centro para objetos que rotan sobre si mismos.
52
- - Un nodo con escala `100` o `0.01` en el archivo exportado es una conversion de unidades sin
53
- aplicar, no una decision de diseno. Se corrige, no se documenta.
54
-
55
- ## Topologia
56
-
57
- - **Quads en todo lo que deforma.** Tris solo en geometria estatica. N-gons en nada que deforme.
58
- - Edge loops en articulaciones, poles de 5 aristas o menos.
59
- - Presupuesto de triangulos declarado **antes** de modelar, no medido despues.
60
- - Un LOD generado con Decimate es un borrador. Para heroes va retopo a mano.
61
-
62
- ## Materiales y texturas
63
-
64
- - **Principled BSDF y nada mas** en lo que se exporta. Los nodos procedurales no sobreviven a
65
- glTF ni a FBX: si el look depende de ellos, hay que bakearlo a textura.
66
- - Color space: Base Color en sRGB; Normal, Roughness, Metallic y AO en **Non-Color**. Es el bug
67
- mas comun y el mas silencioso.
68
- - Normal maps: Blender, glTF y Unity usan OpenGL (+Y). **UE5 usa DirectX (-Y)**: hay que invertir
69
- el canal verde o marcarlo en el import.
70
- - Resoluciones potencia de dos. Texel density consistente entre assets del mismo set.
71
- - Cantidad de materiales = draw calls. Atlas antes de sumar materiales.
72
-
73
- ## Animacion
74
-
75
- - **Los constraints no se exportan, los keyframes si.** Todo rig con IK, drivers o constraints se
76
- bakea (`nla.bake` con visual keying) antes de exportar.
77
- - Frame rate del `.blend` igual al del engine. Un mismatch se ve como animacion lenta o acelerada,
78
- no como error.
79
- - Huesos con sufijo `.L` / `.R` para que la simetria funcione.
80
- - Root motion: hueso raiz en el origen. Decidir in-place vs root motion **antes** de animar.
81
-
82
- ## Git
83
-
84
- - `*.blend *.fbx *.glb *.gltf` por **Git LFS**. Verificar `git lfs version` antes de agregar las
85
- entradas: peor que no tenerlas es tenerlas sin LFS instalado.
86
- - `*.blend1` y `*.blend2` (backups de Blender) van al `.gitignore`, nunca al repo.
87
- - Las texturas fuente (`.psd`, `.kra`, `.exr` de bake) por LFS; los `.png` finales tambien.
88
-
89
- ## Integracion con el resto del stack
90
-
91
- `asset-spec` define que asset hace falta → Meshy o modelado a mano lo produce → **Blender lo
92
- limpia y lo exporta** → `asset-audit` valida el resultado en el proyecto.
93
-
94
- Blender es el paso del medio, no el principio ni el final. Si el asset vino de `meshy-derive`, el
95
- `.blend` que bajo es el punto de entrada; no se regenera desde Meshy para arreglar topologia.
@@ -12,4 +12,4 @@ paths:
12
12
  - Mysteries must have documented "true answers" even if players never learn them
13
13
  - Faction motivations, relationships, and power structures must be internally logical
14
14
  - All narrative text must be localization-ready: no idioms that don't translate, named placeholders for variables
15
- - No line of dialogue should exceed 120 characters for dialogue box constraints
15
+ - No line of dialogue should exceed 200 characters for dialogue box constraints
@@ -1,6 +1,6 @@
1
1
  # Meshy Assets
2
2
 
3
- Reglas para produccion de assets 3D con Meshy. Aplican a cualquier operacion que toque `assets/3d/`.
3
+ Reglas que tienen que estar presentes antes de cualquier llamada a Meshy, aunque no se toque ningun archivo: cada llamada gasta creditos. Estructura en disco, ledger, ejes, rigging y Git estan en `.claude/rules/meshy-files.md`, que se carga al tocar `assets/3d/`.
4
4
 
5
5
  ## Creditos — cada llamada cuesta plata real
6
6
 
@@ -29,83 +29,14 @@ Reglas para produccion de assets 3D con Meshy. Aplican a cualquier operacion que
29
29
 
30
30
  Ante cualquier duda sobre si una operacion gasta, correr `meshy_check_balance` antes y despues y reportar el delta real.
31
31
 
32
- ## Master unico, derivados baratos
32
+ ## Antes de gastar
33
33
 
34
- El GLB refined es la fuente de verdad y es **inmutable**. Ningun target se genera desde el prompt: todos salen del master.
34
+ - Ningun target se genera desde el prompt: todos salen del master con `meshy_convert` (1).
35
+ - Nunca usar `remesh` (5) cuando `convert` (1) alcanza, ni para LODs de web: `gltf-transform` los hace gratis.
36
+ - `meshy_rig` (5) es solo para humanoides: con otro modelo se gastan los creditos y no sirve.
37
+ - Si existe un art bible en el proyecto, el prompt de generacion se deriva de ahi, no se inventa.
38
+ - `meshy_analyze_printability` (gratis) **siempre** antes de `meshy_repair_printability` (10). Print (20 white / 40 multicolor): doble confirmacion.
35
39
 
36
- | Target | Como | Creditos |
37
- |---|---|---|
38
- | Unity y UE5 | `meshy_convert` -> `fbx` (un solo archivo sirve para los dos) | 1 |
39
- | Blender | `meshy_convert` -> `blend` | 1 |
40
- | Impresion | `meshy_convert` -> `stl` (`3mf` si es multicolor) | 1 |
41
- | Web / three.js | `npx gltf-transform optimize --simplify` | **0** |
40
+ ## Secretos
42
41
 
43
- - Nunca usar `remesh` (5) cuando `convert` (1) alcanza. `remesh` es para cambiar topologia de verdad, no para cambiar de formato.
44
- - Nunca usar `remesh` para LODs de web: `gltf-transform` hace decimation, meshopt y KTX2 en local y gratis.
45
-
46
- ## Estructura en disco
47
-
48
- ```
49
- assets/3d/<slug>/
50
- meshy.json # ledger, ver abajo
51
- master.glb # refined, inmutable
52
- thumb.png
53
- targets/
54
- web.glb # <=15k tris, texturas 1024, KTX2 + draco
55
- game.fbx # Unity + UE5
56
- edit.blend
57
- print.stl
58
- ```
59
-
60
- Slugs en kebab-case, sin fechas ni task_ids en el path.
61
-
62
- ## Ledger: `meshy.json`
63
-
64
- Obligatorio por asset. Sin esto cada sesion nueva arranca ciega y se paga dos veces el mismo modelo.
65
-
66
- ```json
67
- {
68
- "slug": "rune-pedestal",
69
- "prompt": "...",
70
- "ai_model": "meshy-5",
71
- "tasks": [
72
- { "id": "...", "op": "text_to_3d_preview", "credits": 5, "at": "2026-08-18T14:02:00Z" },
73
- { "id": "...", "op": "text_to_3d_refine", "credits": 25, "at": "2026-08-18T14:11:00Z" }
74
- ],
75
- "credits_total": 30,
76
- "derived": ["targets/web.glb", "targets/game.fbx"]
77
- }
78
- ```
79
-
80
- Actualizar `meshy.json` **en el mismo turno** en que se genera. No dejarlo para despues.
81
-
82
- ## Ejes y escala
83
-
84
- Verificar una vez, anotar en el ledger, no volver a pensarlo.
85
-
86
- | Destino | Convencion |
87
- |---|---|
88
- | GLB | Y-up, metros |
89
- | Unity | Y-up, 1 unidad = 1 m |
90
- | UE5 | Z-up, 1 unidad = 1 cm (rotacion + factor 100) |
91
- | Blender | Z-up, metros |
92
-
93
- ## Impresion 3D
94
-
95
- Correr `meshy_analyze_printability` (gratis) **siempre** antes de `meshy_repair_printability` (10). `meshy_resize` a milimetros reales antes de exportar STL. Las operaciones de print (20 white / 40 multicolor) son las mas caras del catalogo: doble confirmacion.
96
-
97
- ## Rigging
98
-
99
- `meshy_rig` es solo humanoides. El esqueleto que devuelve **no** es el mannequin de UE5: el retargeting es manual. En UE5 los static meshes van a Nanite y no necesitan decimation; los skeletal meshes si necesitan LODs propios.
100
-
101
- ## Git y secretos
102
-
103
- - `*.glb *.fbx *.blend *.stl *.3mf` por **Git LFS**.
104
- - `meshy.json` y `thumb.png` van como archivos normales — son chicos y son lo que hace grepeable el catalogo.
105
- - `MESHY_API_KEY` (formato `msy_...`) va en `.env`, **nunca** en el repo ni en un SKILL.md.
106
-
107
- ## Integracion con el resto del stack
108
-
109
- `asset-spec` define que asset hace falta -> Meshy lo genera -> `asset-audit` valida el resultado. Meshy no reemplaza a ninguno de los dos.
110
-
111
- Si existe un art bible en el proyecto, el prompt de generacion se deriva de ahi, no se inventa.
42
+ `MESHY_API_KEY` (formato `msy_...`) va en `.env`, **nunca** en el repo ni en un SKILL.md.
@@ -0,0 +1,83 @@
1
+ ---
2
+ paths:
3
+ - "assets/3d/**"
4
+ ---
5
+
6
+ # Meshy Files
7
+
8
+ Como se guardan los assets de Meshy. Los creditos y las reglas de gasto estan en `.claude/rules/meshy-assets.md`, que se carga siempre.
9
+
10
+ ## Master unico, derivados baratos
11
+
12
+ El GLB refined es la fuente de verdad y es **inmutable**. Ningun target se genera desde el prompt: todos salen del master.
13
+
14
+ | Target | Como | Creditos |
15
+ |---|---|---|
16
+ | Unity y UE5 | `meshy_convert` -> `fbx` (un solo archivo sirve para los dos) | 1 |
17
+ | Blender | `meshy_convert` -> `blend` | 1 |
18
+ | Impresion | `meshy_convert` -> `stl` (`3mf` si es multicolor) | 1 |
19
+ | Web / three.js | `npx gltf-transform optimize --simplify` | **0** |
20
+
21
+ ## Estructura en disco
22
+
23
+ ```
24
+ assets/3d/<slug>/
25
+ meshy.json # ledger, ver abajo
26
+ master.glb # refined, inmutable
27
+ thumb.png
28
+ targets/
29
+ web.glb # <=15k tris, texturas 1024, KTX2 + draco
30
+ game.fbx # Unity + UE5
31
+ edit.blend
32
+ print.stl
33
+ ```
34
+
35
+ Slugs en kebab-case, sin fechas ni task_ids en el path.
36
+
37
+ ## Ledger: `meshy.json`
38
+
39
+ Obligatorio por asset. Sin esto cada sesion nueva arranca ciega y se paga dos veces el mismo modelo.
40
+
41
+ ```json
42
+ {
43
+ "slug": "rune-pedestal",
44
+ "prompt": "...",
45
+ "ai_model": "meshy-5",
46
+ "tasks": [
47
+ { "id": "...", "op": "text_to_3d_preview", "credits": 5, "at": "2026-08-18T14:02:00Z" },
48
+ { "id": "...", "op": "text_to_3d_refine", "credits": 25, "at": "2026-08-18T14:11:00Z" }
49
+ ],
50
+ "credits_total": 30,
51
+ "derived": ["targets/web.glb", "targets/game.fbx"]
52
+ }
53
+ ```
54
+
55
+ Actualizar `meshy.json` **en el mismo turno** en que se genera. No dejarlo para despues.
56
+
57
+ ## Ejes y escala
58
+
59
+ Verificar una vez, anotar en el ledger, no volver a pensarlo.
60
+
61
+ | Destino | Convencion |
62
+ |---|---|
63
+ | GLB | Y-up, metros |
64
+ | Unity | Y-up, 1 unidad = 1 m |
65
+ | UE5 | Z-up, 1 unidad = 1 cm (rotacion + factor 100) |
66
+ | Blender | Z-up, metros |
67
+
68
+ ## Impresion 3D
69
+
70
+ `meshy_resize` a milimetros reales antes de exportar STL.
71
+
72
+ ## Rigging
73
+
74
+ El esqueleto que devuelve `meshy_rig` **no** es el mannequin de UE5: el retargeting es manual. En UE5 los static meshes van a Nanite y no necesitan decimation; los skeletal meshes si necesitan LODs propios.
75
+
76
+ ## Git
77
+
78
+ - `*.glb *.fbx *.blend *.stl *.3mf` por **Git LFS**.
79
+ - `meshy.json` y `thumb.png` van como archivos normales — son chicos y son lo que hace grepeable el catalogo.
80
+
81
+ ## Integracion con el resto del stack
82
+
83
+ `asset-spec` define que asset hace falta -> Meshy lo genera -> `asset-audit` valida el resultado. Meshy no reemplaza a ninguno de los dos.
@@ -90,7 +90,7 @@ All C-suite output follows ONE format. See `references/communication-standard.md
90
90
 
91
91
  1. **Bottom line first.** The founder's time is the scarcest resource.
92
92
  2. **Results and decisions only.** No process narration.
93
- 3. **Max 5 bullets per section.** Longer = reference doc.
93
+ 3. **About 5 bullets per section, ranked by impact.** Keep what changes the decision; the rest goes to a reference doc. Never drop a critical finding to fit the number: show it, and point to the doc for detail.
94
94
  4. **Actions have owners and deadlines.** "We should consider" is banned.
95
95
  5. **Decisions framed as options** with trade-offs and recommendation.
96
96
  6. **Risks are concrete.** "If X happens, Y breaks, costing $Z."
@@ -16,7 +16,7 @@ WHAT
16
16
  • [Finding 1 — most critical]
17
17
  • [Finding 2]
18
18
  • [Finding 3]
19
- (Max 5 bullets. If more needed → reference doc.)
19
+ (About 5, ranked by impact. More only if critical; detail → reference doc.)
20
20
 
21
21
  WHY THIS MATTERS
22
22
  [1-2 sentences. Business impact. Not theory — consequence.]
@@ -106,7 +106,7 @@ ACTION ITEMS
106
106
  1. **Bottom line first.** Always. The founder's time is the scarcest resource.
107
107
  2. **Results and decisions only.** No process narration ("First I analyzed..."). No thinking out loud.
108
108
  3. **What + Why + How.** Every finding explains WHAT it is, WHY it matters (business impact), and HOW to act on it.
109
- 4. **Max 5 bullets per section.** Longer = reference doc.
109
+ 4. **About 5 bullets per section, ranked by impact.** Keep what changes the decision; the rest goes to a reference doc. Never drop a critical finding to fit the number: show it, and point to the doc for detail.
110
110
  5. **Actions have owners and deadlines.** "We should consider" is banned. Who does what by when.
111
111
  6. **Decisions framed as options.** Not "what do you think?" — "Option A or B, here's the trade-off, here's my recommendation."
112
112
  7. **The founder decides.** Roles recommend. The founder approves, modifies, or rejects. Every output respects this hierarchy.
@@ -72,6 +72,10 @@ Injection score (0.0-1.0) measures proportion of matched signatures. Score above
72
72
 
73
73
  Full ATLAS technique coverage and guardrail patterns: `references/atlas-coverage.md`
74
74
 
75
+ ### Step 5: Verdict
76
+
77
+ **Verdict:** **FAIL** if any finding is Critical or High; **CONCERNS** if only Medium or Low findings remain; **PASS** if nothing actionable turned up. A prompt-injection score above 0.5 counts as High.
78
+
75
79
  ---
76
80
 
77
81
  ## Tool Reference
@@ -27,7 +27,7 @@ Mismo criterio que el picker de `arcane install`: mostrar solo lo que **no** est
27
27
  elegir. No listar los 400 skills.
28
28
 
29
29
  1. Read `.claude/arcane-manifest.json` (`profiles`, `installed_skills`)
30
- 2. List `profiles/*.yaml` from the source, skip `core.yaml` and the ones already in `profiles`
30
+ 2. List `profiles/*.yaml` from the source, skip `core.yaml`, the ones already in `profiles`, and bridge files (those with a `renamed_to` field: an old name kept for older CLIs). An installed old name counts as its `renamed_to` profile
31
31
  3. Print the remaining profiles grouped by their `category` field, in the order of
32
32
  `CATEGORY_ORDER` (Backend, Frontend & Design, Mobile, Gamedev, Platform & Quality,
33
33
  Project Management, Business, Personal, Utilities), each with its description
@@ -15,7 +15,7 @@ List all profiles and skills available in the Arcane source repo, so you can see
15
15
  1. Read `.claude/arcane-manifest.json` to find the `source` path (Arcane repo location)
16
16
  2. If no manifest, ask the user for the Arcane repo path
17
17
  3. From the source repo, list:
18
- - **Profiles** from `profiles/*.yaml`, grouped by their `category` field (backend, frontend, mobile, gamedev, platform, management, business, personal, utilities)
18
+ - **Profiles** from `profiles/*.yaml`, skipping bridge files (those with a `renamed_to` field), grouped by their `category` field (backend, frontend, mobile, gamedev, platform, management, business, personal, utilities)
19
19
  - **All skills** in `skills/` directory, grouped by category from SKILL.md frontmatter
20
20
  4. Mark skills that are already installed in the current project with `[installed]`
21
21
  5. Close with a one-line summary (`COMPLETE — N profiles, M skills, K installed`)
@@ -25,8 +25,8 @@ List all profiles and skills available in the Arcane source repo, so you can see
25
25
  ```
26
26
  === Available Profiles ===
27
27
  Backend:
28
- backend-ts Backend TypeScript — Fastify, Prisma, Zod
29
- backend-go Backend Go — scaffold, DB, auth, API design
28
+ backend-typescript Backend TypeScript — Fastify, Prisma, Zod
29
+ backend-go Backend Go — scaffold, DB, auth, API design
30
30
  ...
31
31
 
32
32
  Project Management:
@@ -27,7 +27,7 @@ Show what profiles, skills, rules, and agents are installed in the current proje
27
27
 
28
28
  ```
29
29
  === Arcane Status ===
30
- Profiles: backend-ts + agile + testing
30
+ Profiles: backend-typescript + agile + testing
31
31
  Installed: 2026-05-01T12:00:00Z
32
32
  Source: /path/to/Claude-Code-Arcane
33
33
 
@@ -30,7 +30,7 @@ Identificar lenguajes/frameworks/package manager. Leer configs raíz. Mapear car
30
30
 
31
31
  ## Phase 3 — Producir reporte
32
32
 
33
- Guardar como `AUDIT.md` en raíz. Secciones: fecha/stack/estado general, resumen ejecutivo (3-5 oraciones), scorecard (tabla dimensión/estado OK-WARN-CRIT/nota), hallazgos críticos, hallazgos importantes, observaciones, lo que está bien, plan de acción recomendado, detalles por dimensión con evidencia (paths, líneas).
33
+ Guardar como `AUDIT.md` en raíz. Secciones: fecha/stack/estado general (**SALUDABLE** si todas las dimensiones del scorecard están en OK, **NECESITA ATENCIÓN** si alguna quedó en WARN, **CRÍTICO** si alguna quedó en CRIT), resumen ejecutivo (3-5 oraciones), scorecard (tabla dimensión/estado OK-WARN-CRIT/nota), hallazgos críticos, hallazgos importantes, observaciones, lo que está bien, plan de acción recomendado, detalles por dimensión con evidencia (paths, líneas).
34
34
 
35
35
  ## Rules
36
36
 
@@ -164,4 +164,4 @@ influencias maximas por vertice, que se bakeo, y decision de root motion por cli
164
164
 
165
165
  ---
166
166
 
167
- > → Bake de constraints, frame rate y ejes estan en `.claude/rules/blender-pipeline.md`.
167
+ > → Bake de constraints, frame rate y ejes estan en `.claude/rules/blender-files.md`.
@@ -140,4 +140,4 @@ verdict.
140
140
 
141
141
  ---
142
142
 
143
- > → Formatos, ejes, escala y reglas de Git LFS estan en `.claude/rules/blender-pipeline.md`.
143
+ > → Formatos, ejes, escala y reglas de Git LFS estan en `.claude/rules/blender-files.md`.
@@ -162,4 +162,4 @@ que se bakeo, y convencion de normal map elegida.
162
162
  ---
163
163
 
164
164
  > → Color space, convenciones de normal map y presupuesto de materiales estan en
165
- > `.claude/rules/blender-pipeline.md`.
165
+ > `.claude/rules/blender-files.md`.
@@ -157,4 +157,4 @@ Reportar por objeto: verts, tris, n-gons, materiales, escala, y tris contra el p
157
157
  ---
158
158
 
159
159
  > → Topologia, presupuestos, ejes y las reglas de scripts destructivos estan en
160
- > `.claude/rules/blender-pipeline.md`.
160
+ > `.claude/rules/blender-files.md`.
@@ -17,6 +17,6 @@ Run a comprehensive code quality and security check on the current project:
17
17
  - Hardcoded secrets, API keys, tokens in source code
18
18
  - Known vulnerable dependencies (npm audit, pip audit, etc.)
19
19
  - SQL injection, XSS, or command injection patterns
20
- 6. **Report** — Summarize findings with severity levels and suggested fixes
20
+ 6. **Report** — Summarize findings with severity levels and suggested fixes, then close with a verdict: **FAIL** if tests or type checks fail, or a secret or critical vulnerability turned up; **CONCERNS** if only lint issues or lower-severity findings remain; **PASS** if nothing actionable came up
21
21
 
22
22
  Focus on actionable issues, not style nitpicks.
@@ -59,7 +59,7 @@ Before delivering ANY output to the founder:
59
59
  - Company context loaded (not generic advice)
60
60
  - Actions have owners and deadlines
61
61
  - Conflicts named, not smoothed
62
- - Max 5 bullets per section
62
+ - About 5 bullets per section, ranked by impact; a critical finding is never dropped to fit
63
63
 
64
64
  ## Ecosystem Awareness
65
65
 
@@ -73,6 +73,10 @@ Full escalation combos, severity guide, and least privilege recommendations: `re
73
73
 
74
74
  Catch misconfigurations at definition time in Terraform, CloudFormation, Kubernetes manifests, and Helm charts. Integrate into CI/CD as a pre-apply gate.
75
75
 
76
+ ### Step 6: Verdict
77
+
78
+ **Verdict:** **FAIL** if any finding is Critical or High; **CONCERNS** if only Medium or Low findings remain; **PASS** if nothing actionable turned up. Apply the severity modifier first: an internet-facing or regulated-data resource raises the finding's severity before the verdict is taken.
79
+
76
80
  ---
77
81
 
78
82
  ## Cloud Provider Coverage
@@ -77,7 +77,7 @@ Después **rutear al trabajo técnico**, que ya existe en el repo:
77
77
  | Si el proyecto es | Seguí con |
78
78
  |---|---|
79
79
  | Historias y tickets | `/create-stories`, `/create-epics` |
80
- | Backend, frontend, mobile | El perfil técnico que corresponda (`+backend-ts`, `+frontend`, ...) |
80
+ | Backend, frontend, mobile | El perfil técnico que corresponda (`+backend-typescript`, `+frontend-react-vite`, ...) |
81
81
  | Algo sin especificar del lado del cliente | `/product-discovery` antes de codear |
82
82
  | Documentar lo que ya existe | `/reverse-document` |
83
83
 
@@ -54,6 +54,8 @@ For detailed control testing procedures by Annex A control, see [references/secu
54
54
  | Minor Nonconformity | Isolated deviation with limited impact | 90 days |
55
55
  | Observation | Improvement opportunity | Next audit cycle |
56
56
 
57
+ **Audit conclusion:** **CONFORMING** (observations at most), **MINOR NONCONFORMITIES** (minor only), or **MAJOR NONCONFORMITY** (at least one major, which blocks a certification recommendation until it is corrected).
58
+
57
59
  ### Corrective Action Workflow
58
60
 
59
61
  1. Auditee acknowledges finding
@@ -116,4 +116,4 @@ Reportar: targets generados, creditos gastados reales (delta de `check_balance`)
116
116
 
117
117
  ---
118
118
 
119
- > Presupuestos, estructura de `targets/`, formato del ledger y la tabla de creditos completa: `.claude/rules/meshy-assets.md`.
119
+ > Presupuestos, estructura de `targets/` y formato del ledger: `.claude/rules/meshy-files.md`. Tabla de creditos completa: `.claude/rules/meshy-assets.md`.
@@ -115,4 +115,4 @@ Reportar:
115
115
 
116
116
  ---
117
117
 
118
- > Tabla de creditos completa, reglas de gasto, formato del ledger y convenciones de ejes/escala: `.claude/rules/meshy-assets.md`. Leerla antes de la Phase 3.
118
+ > Tabla de creditos completa, reglas de gasto, formato del ledger y convenciones de ejes/escala: `.claude/rules/meshy-assets.md` y `.claude/rules/meshy-files.md`. Leerlas antes de la Phase 3.
@@ -113,4 +113,4 @@ Reportar:
113
113
 
114
114
  ---
115
115
 
116
- > Las reglas de gasto, estructura de `assets/3d/`, ledger `meshy.json` y tabla de derivados estan en `.claude/rules/meshy-assets.md`. Leerlas antes de cualquier operacion que gaste creditos.
116
+ > Las reglas de gasto, estructura de `assets/3d/`, ledger `meshy.json` y tabla de derivados estan en `.claude/rules/meshy-assets.md` y `.claude/rules/meshy-files.md`. Leerlas antes de cualquier operacion que gaste creditos.
@@ -86,7 +86,7 @@ Auditoría contra OWASP Top 10 2021. Go backend + TS/React frontend. Datos de me
86
86
 
87
87
  ## Reporte Output
88
88
 
89
- Formato: Resumen ejecutivo (hallazgos por severidad) → Hallazgos por categoría (archivo:línea, descripción, PoC, remediación, ticket Jira) → Plan priorizado → Herramientas ejecutadas.
89
+ Formato: Resumen ejecutivo (hallazgos por severidad y veredicto: **FAIL** si hay algún hallazgo Critical o High, **CONCERNS** si quedan solo Medium o Low, **PASS** si no hay nada accionable) → Hallazgos por categoría (archivo:línea, descripción, PoC, remediación, ticket Jira) → Plan priorizado → Herramientas ejecutadas.
90
90
 
91
91
  ## Educabot Specifics
92
92
 
@@ -63,6 +63,8 @@ Gap: [How evidence fails to meet requirement]
63
63
  | Minor | Isolated lapse or partial implementation | Recommended | 60 days |
64
64
  | Observation | Improvement opportunity | Optional | As appropriate |
65
65
 
66
+ **Audit conclusion:** **CONFORMING** (observations at most), **MINOR NONCONFORMITIES** (minor only), or **MAJOR NONCONFORMITY** (at least one major, which blocks a certification recommendation until it is corrected).
67
+
66
68
  ### Corrective Action Integration
67
69
 
68
70
  | Severity | CAPA Depth | Verification |
@@ -74,7 +74,7 @@ Key tests: XSS (reflected, stored, DOM-based), CSRF (token replay, SameSite), SQ
74
74
  python scripts/pentest_report_generator.py --findings findings.json --format md --output report.md
75
75
  ```
76
76
 
77
- Report structure: executive summary, scope, methodology, findings table (by severity/CVSS), detailed findings with evidence and remediation, priority matrix.
77
+ Report structure: executive summary with a verdict (**FAIL** if any finding is Critical or High, **CONCERNS** if only Medium or Low remain, **PASS** if nothing actionable turned up), scope, methodology, findings table (by severity/CVSS), detailed findings with evidence and remediation, priority matrix.
78
78
 
79
79
  Responsible disclosure timeline and templates: `references/responsible_disclosure.md`
80
80
 
@@ -43,7 +43,7 @@ Before auditing, understand:
43
43
  ### Audit Report Structure
44
44
 
45
45
  **Executive Summary**
46
- - Overall health assessment
46
+ - Overall health: **HEALTHY** (no critical or high-impact issues), **NEEDS WORK** (high-impact issues, nothing blocking), or **CRITICAL** (something blocks indexation or ranking)
47
47
  - Top 3-5 priority issues
48
48
  - Quick wins identified
49
49
 
@@ -68,7 +68,6 @@ Scan the body for required elements:
68
68
 
69
69
  - **Sections**: At least 2 phase headings (`## Phase`, `## Step`, `## Workflow`, or `###` subsections)
70
70
  - **Verdict keywords**: For review/analysis skills: APPROVED, PASS, FAIL, NEEDS REVISION (or equivalent)
71
- - **Collaborative protocol**: For file-modifying skills (Write/Edit in allowed-tools): must contain "May I write" or equivalent approval gate
72
71
  - **Next-step handoff**: Last section should guide what to do after the skill completes
73
72
 
74
73
  ### 1.4 Detect hallucinations
@@ -17,7 +17,7 @@ Read skill name from first arg. Verify `skills/[name]/SKILL.md` exists. If missi
17
17
 
18
18
  ## Phase 2: Baseline Test
19
19
 
20
- Run `/skill-test static [name]`. Record FAILs, WARNs, which checks failed (1-7).
20
+ Run `/skill-test static [name]`. Record FAILs, WARNs, which checks failed (1-6).
21
21
 
22
22
  ### Phase 2b: Category Baseline
23
23
 
@@ -30,12 +30,11 @@ Read full skill file. For each failing/warning check, identify exact gap:
30
30
  | Check | Gap if failing |
31
31
  |-------|---------------|
32
32
  | 1 | Missing frontmatter field |
33
- | 2 | Fewer phases than minimum |
34
- | 3 | No verdict keywords in body |
35
- | 4 | Write/Edit in tools but no ask-before-write language |
36
- | 5 (warn) | No follow-up/next-step section |
37
- | 6 (warn) | `context: fork` with <5 phases |
38
- | 7 (warn) | argument-hint empty or mismatched with modes |
33
+ | 2 | Over 40 lines with fewer than two `##` sections |
34
+ | 3 | A value from the catalog's `verdict:` list missing from the skill |
35
+ | 4 (warn) | No follow-up/next-step section |
36
+ | 5 (warn) | `context: fork` with <5 phases |
37
+ | 6 (warn) | argument-hint mismatched with modes |
39
38
 
40
39
  For category checks: identify text gaps (e.g., G2: missing director prompts, A2: no per-section May-I-write, T3: BLOCKED not surfaced). Show full diagnosis before proposing changes.
41
40
 
@@ -15,18 +15,18 @@ Validates `skills/*/SKILL.md` for structural compliance and behavioral correctne
15
15
 
16
16
  | Mode | Command | Purpose | Cost |
17
17
  |------|---------|---------|------|
18
- | `static` | `/skill-test static [name\|all]` | 7 structural checks per skill | Low (~1k/skill) |
18
+ | `static` | `/skill-test static [name\|all]` | 6 structural checks per skill | Low (~1k/skill) |
19
19
  | `spec` | `/skill-test spec [name]` | Behavioral assertions from test spec | Medium (~5k/skill) |
20
20
  | `category` | `/skill-test category [name\|all]` | Category-specific rubric metrics | Low (~2k/skill) |
21
21
  | `audit` | `/skill-test audit` | Coverage report — skills, agents, test dates | Low (~3k total) |
22
22
 
23
23
  ## Phase 1: Parse Arguments
24
24
 
25
- `static [name]` → 7 checks on one skill. `static all` → all skills (Glob `skills/*/SKILL.md`). `spec [name]` → read skill + test spec, evaluate assertions. `category [name|all]` → category rubric from `CCGS Skill Testing Framework/quality-rubric.md`. `audit` (or no arg) → read catalog, list all, show coverage. Missing/unrecognized → output usage and stop.
25
+ `static [name]` → 6 checks on one skill. `static all` → all skills (Glob `skills/*/SKILL.md`). `spec [name]` → read skill + test spec, evaluate assertions. `category [name|all]` → category rubric from `skills-selftest/quality-rubric.md`. `audit` (or no arg) → read catalog, list all, show coverage. Missing/unrecognized → output usage and stop.
26
26
 
27
27
  ## Phase 2A: Static Mode
28
28
 
29
- > → Read references/static-checks.md for the 7 structural validation checks and verdict criteria
29
+ > → Read references/static-checks.md for the 6 structural validation checks and verdict criteria
30
30
 
31
31
  ## Phase 2B: Spec Mode
32
32
 
@@ -1,13 +1,18 @@
1
- # Static Checks — 7 Structural Validations
1
+ # Static Checks — 6 Structural Validations
2
+
3
+ Checks 1-3 are also enforced in CI by `src/__tests__/skill-static.test.ts`, so in this repo a skill that fails them never merges. Apply them here anyway: the skill may be running in a project with its own skills, where no test covers them.
2
4
 
3
5
  | Check | What | Verdict |
4
6
  |-------|------|---------|
5
- | 1 — Frontmatter | `name`, `description`, `argument-hint`, `user-invocable`, `allowed-tools` present | FAIL if any absent |
6
- | 2 — Phases | >=2 numbered phase headings (`## Phase N`, `## N.`, or >=2 `##` headings) | FAIL if <2 |
7
- | 3 — Verdict Keywords | Contains >=1 of: PASS, FAIL, CONCERNS, APPROVED, BLOCKED, COMPLETE, READY, COMPLIANT, NON-COMPLIANT | FAIL if none |
8
- | 4 — Collaborative Protocol | "May I write" / "before writing" / "approval" near file-write instructions | WARN if absent; FAIL if `allowed-tools` includes Write/Edit but no ask-before-write |
9
- | 5 — Next-Step Handoff | Final section mentions another skill, "next step", or follow-up | WARN if absent |
10
- | 6 — Fork Complexity | If `context: fork`, must have >=5 phase headings | WARN if <5 |
11
- | 7 — Argument Hint | Non-empty; documented modes should match hint | WARN if empty or mismatch |
7
+ | 1 — Frontmatter | `name` (matching the directory), `description`, `argument-hint`, `user-invocable`, `allowed-tools` present; an empty `argument-hint` still counts as present | FAIL if any absent |
8
+ | 2 — Sections | A skill longer than 40 lines has at least two `##` sections. Shorter skills are exempt | FAIL if longer than 40 lines with fewer than two |
9
+ | 3 — Verdict | Only for skills that judge something: those with `verdict:` in `skills-selftest/catalog.yaml`. Every value listed there appears in the skill (SKILL.md or `references/`), in the skill's own vocabulary. Skills that build, write or advise do not need a verdict | FAIL if a listed value is missing |
10
+ | 4 — Next-Step Handoff | Final section mentions another skill, "next step", or follow-up | WARN if absent |
11
+ | 5 — Fork Complexity | If `context: fork`, must have >=5 phase headings | WARN if <5 |
12
+ | 6 — Argument Hint | Documented modes should match the hint | WARN if mismatch |
13
+
14
+ A new skill that judges something gets a `verdict:` list in the catalog when it is added; that is what makes check 3 apply to it.
15
+
16
+ There is no check for ask-before-write language. Whether Claude may write without asking is set by the permission mode of each session, not by the skill, so a skill with `Write` or `Edit` is not non-compliant for leaving the decision there.
12
17
 
13
18
  **Output:** per-skill table of check results + verdict (COMPLIANT / WARNINGS / NON-COMPLIANT). For `static all`: summary table + aggregate counts.
@@ -48,4 +48,4 @@ Flujo: detectar team/proyecto → pull data en paralelo (git, ClickUp, Jira, Git
48
48
  - NO incluir contenido sensible (PII, passwords, secrets)
49
49
  - Grouping lógico: mergear commits del mismo ticket
50
50
  - Sugerencias "hoy" basadas en tickets In Progress + priorities
51
- - Max 5 bullets per section, collapsar el resto
51
+ - Unos 5 bullets por sección, ordenados por impacto, y el resto colapsado. Un blocker nunca se colapsa para respetar el número
@@ -7,6 +7,8 @@ user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Edit, WebSearch, AskUserQuestion
8
8
  ---
9
9
 
10
+ ## Process
11
+
10
12
  When this skill is invoked:
11
13
 
12
14
  1. **Check for existing work**:
@@ -82,6 +82,10 @@ HSTS rollout: start with short `max-age` (300s), escalate to 2 years, then submi
82
82
  - **Threat modeling**: complex trust boundaries need STRIDE before implementation
83
83
  - **CSP breaks prod**: revert to report-only immediately; analyze before re-enforcing
84
84
 
85
+ ## Verdict
86
+
87
+ **Verdict:** **FAIL** if any finding is Critical or High; **CONCERNS** if only Medium or Low findings remain; **PASS** if nothing actionable turned up.
88
+
85
89
  ## Checklist
86
90
 
87
91
  - [ ] All required security headers present and returning correct values (target A+ on securityheaders.com)