claude-code-arcane 2.10.0 → 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 (54) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +8 -8
  3. package/dist/cli.js +15 -0
  4. package/docs/SKILLS-CATALOG.md +4 -2
  5. package/docs/USER-GUIDE.md +1 -1
  6. package/docs/templates/skill-test-spec.md +0 -1
  7. package/package.json +1 -1
  8. package/profiles/backend-dotnet.yaml +2 -0
  9. package/profiles/backend-go.yaml +2 -0
  10. package/profiles/backend-nestjs.yaml +2 -0
  11. package/profiles/backend-nextjs.yaml +2 -0
  12. package/profiles/backend-ts.yaml +2 -0
  13. package/profiles/backend-typescript.yaml +2 -0
  14. package/profiles/blender.yaml +1 -0
  15. package/profiles/infra.yaml +2 -0
  16. package/profiles/meshy.yaml +1 -0
  17. package/rules/blender-files.md +72 -0
  18. package/rules/blender-pipeline.md +1 -63
  19. package/rules/gamedev/narrative.md +1 -1
  20. package/rules/meshy-assets.md +9 -78
  21. package/rules/meshy-files.md +83 -0
  22. package/skills/agent-protocol/SKILL.md +1 -1
  23. package/skills/agent-protocol/references/communication-standard.md +2 -2
  24. package/skills/ai-security/SKILL.md +4 -0
  25. package/skills/audit-dev/SKILL.md +1 -1
  26. package/skills/blender-animation/SKILL.md +1 -1
  27. package/skills/blender-export/SKILL.md +1 -1
  28. package/skills/blender-materials/SKILL.md +1 -1
  29. package/skills/blender-modeling/SKILL.md +1 -1
  30. package/skills/check/SKILL.md +1 -1
  31. package/skills/chief-of-staff/SKILL.md +1 -1
  32. package/skills/cloud-security/SKILL.md +4 -0
  33. package/skills/isms-audit-expert/SKILL.md +2 -0
  34. package/skills/meshy-derive/SKILL.md +1 -1
  35. package/skills/meshy-generate/SKILL.md +1 -1
  36. package/skills/meshy-setup/SKILL.md +1 -1
  37. package/skills/owasp-top10-check/SKILL.md +1 -1
  38. package/skills/qms-audit-expert/SKILL.md +2 -0
  39. package/skills/security-pen-testing/SKILL.md +1 -1
  40. package/skills/seo-audit/SKILL.md +1 -1
  41. package/skills/skill-auditor/SKILL.md +0 -1
  42. package/skills/skill-improve/SKILL.md +6 -7
  43. package/skills/skill-test/SKILL.md +3 -3
  44. package/skills/skill-test/references/static-checks.md +13 -8
  45. package/skills/standup-report/SKILL.md +1 -1
  46. package/skills/vn-gdd/SKILL.md +2 -0
  47. package/skills/web-security/SKILL.md +4 -0
  48. package/skills/worktree-isolation/README.md +6 -6
  49. package/skills/worktree-isolation/SKILL.md +5 -2
  50. package/skills/worktree-isolation-setup/README.md +7 -11
  51. package/skills/worktree-isolation-setup/SKILL.md +15 -6
  52. package/skills/worktree-isolation-setup/scripts/apply.py +0 -178
  53. package/skills/worktree-isolation-setup/scripts/install_hook.py +0 -118
  54. package/skills/worktree-isolation-setup/scripts/lib.py +0 -371
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ # [2.11.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.10.0...v2.11.0) (2026-10-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **global:** refuse to rewrite a malformed settings.json ([fa1a15b](https://github.com/SebastianLuser/claude-code-arcane/commit/fa1a15be969fe56fd865319df30b4e3bd985285e))
7
+ * **rules:** align the narrative dialogue limit with the VN rule at 200 ([3cc5f60](https://github.com/SebastianLuser/claude-code-arcane/commit/3cc5f60b0836c6a817018ca8af3b9ebf981499dc))
8
+ * **skill-test:** drop the ask-before-write static check ([28e504f](https://github.com/SebastianLuser/claude-code-arcane/commit/28e504f29ab2114d8f27f732d3fd148ccd3dc2be))
9
+ * **skills:** complete the skill catalog and the frontmatter it relies on ([5665fdf](https://github.com/SebastianLuser/claude-code-arcane/commit/5665fdfd60766ce663c26060d8f042d873f12ac1))
10
+ * **skills:** make the five-bullet limit a guide that never drops a critical finding ([466bf55](https://github.com/SebastianLuser/claude-code-arcane/commit/466bf554d862d55350c0d1cfb86caea4520779e6))
11
+ * **worktree:** ship the isolation skills with the profiles that run Docker ([f0a1589](https://github.com/SebastianLuser/claude-code-arcane/commit/f0a15894c6c064088c1fe55150f7145e04f5848a))
12
+
13
+
14
+ ### Features
15
+
16
+ * **skills:** give the ten evaluator skills that lacked one a verdict ([26e9682](https://github.com/SebastianLuser/claude-code-arcane/commit/26e968235dbaf4babd7c93aa15c348639f7e6b8d))
17
+
1
18
  # [2.10.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.9.9...v2.10.0) (2026-10-10)
2
19
 
3
20
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Claude Code Arcane
2
2
 
3
- > **437 skills, 115 agents, 17 hooks and 31 rules for Claude Code — selective deploy by profile.**
3
+ > **437 skills, 115 agents, 17 hooks and 33 rules for Claude Code — selective deploy by profile.**
4
4
 
5
5
  A configuration harness installable via `npx`. Pick a **profile** that matches your stack and only the relevant tools get installed into your project's `.claude/` directory.
6
6
 
@@ -190,11 +190,11 @@ Older names still install and update: `backend-ts`, `frontend`, `mobile`, `flutt
190
190
 
191
191
  | Profile | Stack | Skills | Agents |
192
192
  |---------|-------|--------|--------|
193
- | `backend-typescript` | Backend TypeScript — Fastify, Prisma, Zod, API design | 25 | engineering |
194
- | `backend-go` | Backend Go — Clean Arch, DB, auth, API, CI | 24 | engineering |
195
- | `backend-dotnet` | Backend .NET — ASP.NET Core, Vertical Slice/Clean, EF Core, JWT | 25 | engineering |
196
- | `backend-nestjs` | Backend NestJS — feature modules, DI, Prisma, JWT, microservices | 25 | engineering |
197
- | `backend-nextjs` | Next.js full-stack — App Router, RSC, Server Actions, SEO, AI SDK | 22 | engineering |
193
+ | `backend-typescript` | Backend TypeScript — Fastify, Prisma, Zod, API design | 27 | engineering |
194
+ | `backend-go` | Backend Go — Clean Arch, DB, auth, API, CI | 26 | engineering |
195
+ | `backend-dotnet` | Backend .NET — ASP.NET Core, Vertical Slice/Clean, EF Core, JWT | 27 | engineering |
196
+ | `backend-nestjs` | Backend NestJS — feature modules, DI, Prisma, JWT, microservices | 27 | engineering |
197
+ | `backend-nextjs` | Next.js full-stack — App Router, RSC, Server Actions, SEO, AI SDK | 24 | engineering |
198
198
 
199
199
  ### Frontend & Design
200
200
 
@@ -228,7 +228,7 @@ Older names still install and update: `backend-ts`, `frontend`, `mobile`, `flutt
228
228
 
229
229
  | Profile | Adds | Skills | Agents |
230
230
  |---------|------|--------|--------|
231
- | `infra` | Terraform, observability, secrets, rollback, K8s | 24 | devops |
231
+ | `infra` | Terraform, observability, secrets, rollback, K8s | 26 | devops |
232
232
  | `database` | Indexing, migrations, seeding, replicas, optimization | 8 | — |
233
233
  | `security` | Audits, OWASP, secrets, backups | 10 | — |
234
234
  | `testing` | Contract, performance, regression, flakiness | 11 | quality |
@@ -461,7 +461,7 @@ claude-code-arcane/
461
461
  ├── profiles/ # 38 profiles (YAML)
462
462
  ├── agents/ # 17 dirs, 109 agents (Markdown)
463
463
  ├── hooks/ # 17 lifecycle hooks (Bash)
464
- ├── rules/ # 31 rules (Markdown)
464
+ ├── rules/ # 33 rules (Markdown)
465
465
  ├── templates/ # Gamedev templates
466
466
  ├── docs/ # Documentation
467
467
  └── skills-selftest/ # QA framework
package/dist/cli.js CHANGED
@@ -3205,12 +3205,27 @@ async function globalCommand(opts) {
3205
3205
  showStatus();
3206
3206
  return;
3207
3207
  }
3208
+ if (!settingsParseable()) {
3209
+ console.error(
3210
+ chalk10.red(` Refusing to modify malformed ${SETTINGS_PATH}. Fix it and re-run.`)
3211
+ );
3212
+ process.exit(1);
3213
+ }
3208
3214
  if (opts.remove) {
3209
3215
  removeGlobal();
3210
3216
  return;
3211
3217
  }
3212
3218
  installGlobal();
3213
3219
  }
3220
+ function settingsParseable() {
3221
+ if (!fs17.existsSync(SETTINGS_PATH)) return true;
3222
+ try {
3223
+ JSON.parse(fs17.readFileSync(SETTINGS_PATH, "utf-8"));
3224
+ return true;
3225
+ } catch {
3226
+ return false;
3227
+ }
3228
+ }
3214
3229
  function showStatus() {
3215
3230
  console.log(chalk10.bold("\n=== Arcane Global Status ===\n"));
3216
3231
  const hasScripts = fs17.existsSync(
@@ -2,7 +2,7 @@
2
2
 
3
3
  Los 437 skills disponibles para proyectos consumidores, organizados por division.
4
4
 
5
- La tabla cubre 395: hay 42 skills instalables que todavia no estan catalogados aca. Un test de CI (`src/__tests__/doc-counts.test.ts`) verifica que estos numeros coincidan con el filesystem y que el header de cada seccion coincida con sus filas.
5
+ La tabla cubre 397: hay 40 skills instalables que todavia no estan catalogados aca. Un test de CI (`src/__tests__/doc-counts.test.ts`) verifica que estos numeros coincidan con el filesystem y que el header de cada seccion coincida con sus filas.
6
6
 
7
7
  ## Como ejecutar un skill
8
8
 
@@ -376,7 +376,7 @@ Instalables con el perfil `unreal-dev`. Procedencia y licencias en `ATTRIBUTION.
376
376
 
377
377
  ---
378
378
 
379
- ## DevOps (6 skills)
379
+ ## DevOps (8 skills)
380
380
 
381
381
  | Skill | Descripcion | Uso |
382
382
  |-------|-------------|-----|
@@ -386,6 +386,8 @@ Instalables con el perfil `unreal-dev`. Procedencia y licencias en `ATTRIBUTION.
386
386
  | `/helm-chart-builder` | Build production-grade Helm charts: scaffolding, values design, template patterns, dependency management, and security hardening | `[scaffold\|lint\|test]` |
387
387
  | `/incident-commander` | Manage technology incidents end-to-end: severity classification, timeline reconstruction, stakeholder communication, and RCA | `[classify\|timeline\|communicate]` |
388
388
  | `/incident-response` | Classify and triage security incidents through the full NIST SP 800-61 lifecycle: SEV1-4 scoring and forensic evidence collection | `[classify\|triage\|forensics]` |
389
+ | `/worktree-isolation` | Regenera o muestra los puertos de Docker de este worktree para que varios worktrees corran en paralelo sin chocar | `[apply\|status]` |
390
+ | `/worktree-isolation-setup` | Prepara el repo una vez: parametriza puertos y container_name del docker-compose, `.gitignore`, CLAUDE.md y el hook global | |
389
391
 
390
392
  ---
391
393
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## What is Arcane?
4
4
 
5
- Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **437 skills**, **115 agents**, **17 hooks**, and **31 rules** that you selectively deploy into any project. Instead of shipping everything to every project (wasting tokens and degrading performance), you pick a **profile** that matches your stack and only the relevant tools get installed.
5
+ Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **437 skills**, **115 agents**, **17 hooks**, and **33 rules** that you selectively deploy into any project. Instead of shipping everything to every project (wasting tokens and degrading performance), you pick a **profile** that matches your stack and only the relevant tools get installed.
6
6
 
7
7
  ## Table of Contents
8
8
 
@@ -15,7 +15,6 @@ Verified automatically by `/skill-test static` — no fixture needed.
15
15
  - [ ] Has required frontmatter fields: `name`, `description`, `argument-hint`, `user-invocable`, `allowed-tools`
16
16
  - [ ] Has ≥2 phase headings (## Phase N or numbered ## sections)
17
17
  - [ ] Contains verdict keywords: [list the ones expected, e.g., PASS, FAIL, CONCERNS]
18
- - [ ] Contains "May I write" collaborative protocol language (if skill writes files)
19
18
  - [ ] Has a next-step handoff at the end
20
19
 
21
20
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-arcane",
3
- "version": "2.10.0",
3
+ "version": "2.11.0",
4
4
  "description": "Skills, agents, hooks and rules for Claude Code — installable via npx claude-code-arcane",
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,6 +32,8 @@ skills:
32
32
  - performance
33
33
  - async-ops
34
34
  - ci-cd-setup
35
+ - worktree-isolation
36
+ - worktree-isolation-setup
35
37
 
36
38
  rules:
37
39
  universal:
@@ -27,6 +27,8 @@ skills:
27
27
  - audit-log
28
28
  - slo-sli
29
29
  - ci-cd-setup
30
+ - worktree-isolation
31
+ - worktree-isolation-setup
30
32
 
31
33
  rules:
32
34
  universal:
@@ -32,6 +32,8 @@ skills:
32
32
  - performance
33
33
  - async-ops
34
34
  - ci-cd-setup
35
+ - worktree-isolation
36
+ - worktree-isolation-setup
35
37
 
36
38
  rules:
37
39
  universal:
@@ -30,6 +30,8 @@ skills:
30
30
  - observability
31
31
  - ci-cd-setup
32
32
  - cdn-setup
33
+ - worktree-isolation
34
+ - worktree-isolation-setup
33
35
 
34
36
  rules:
35
37
  universal:
@@ -30,6 +30,8 @@ skills:
30
30
  - websocket-realtime-rooms
31
31
  - search-setup
32
32
  - ci-cd-setup
33
+ - worktree-isolation
34
+ - worktree-isolation-setup
33
35
 
34
36
  rules:
35
37
  universal:
@@ -28,6 +28,8 @@ skills:
28
28
  - websocket-realtime-rooms
29
29
  - search-setup
30
30
  - ci-cd-setup
31
+ - worktree-isolation
32
+ - worktree-isolation-setup
31
33
 
32
34
  rules:
33
35
  universal:
@@ -17,6 +17,7 @@ skills:
17
17
  rules:
18
18
  universal:
19
19
  - blender-pipeline
20
+ - blender-files
20
21
  gamedev:
21
22
  []
22
23
 
@@ -27,6 +27,8 @@ skills:
27
27
  - incident-commander
28
28
  - incident-response
29
29
  - git-worktree-manager
30
+ - worktree-isolation
31
+ - worktree-isolation-setup
30
32
 
31
33
  rules:
32
34
  universal:
@@ -15,6 +15,7 @@ skills:
15
15
  rules:
16
16
  universal:
17
17
  - meshy-assets
18
+ - meshy-files
18
19
  gamedev:
19
20
  []
20
21
 
@@ -0,0 +1,72 @@
1
+ ---
2
+ paths:
3
+ - "**/*.blend"
4
+ - "**/*.fbx"
5
+ - "**/*.glb"
6
+ - "**/*.gltf"
7
+ ---
8
+
9
+ # Blender Files
10
+
11
+ Como tiene que salir un asset de Blender hacia un engine o la web. Como operar Blender sin romper nada esta en `.claude/rules/blender-pipeline.md`, que se carga siempre.
12
+
13
+ ## Ejes, escala y unidades
14
+
15
+ Verificar una vez por proyecto, anotarlo, no volver a pensarlo.
16
+
17
+ | Destino | Convencion | Al exportar desde Blender |
18
+ |---|---|---|
19
+ | Blender | Z-up, right-handed, 1 unidad = 1 m | — |
20
+ | glTF / GLB | Y-up, metros | El exporter convierte solo (`+Y up`) |
21
+ | Unity | Y-up, left-handed, 1 unidad = 1 m | glTF sale derecho; en FBX revisar el eje |
22
+ | UE5 | Z-up, left-handed, 1 unidad = 1 cm | Factor 100 |
23
+
24
+ Reglas duras:
25
+
26
+ - **Aplicar escala antes de exportar** (`Object → Apply → Scale`). Un objeto que sale con `scale`
27
+ distinto de 1 arrastra el problema al engine y rompe la fisica y el skinning.
28
+ - Origen al piso para props y personajes; al centro para objetos que rotan sobre si mismos.
29
+ - Un nodo con escala `100` o `0.01` en el archivo exportado es una conversion de unidades sin
30
+ aplicar, no una decision de diseno. Se corrige, no se documenta.
31
+
32
+ ## Topologia
33
+
34
+ - **Quads en todo lo que deforma.** Tris solo en geometria estatica. N-gons en nada que deforme.
35
+ - Edge loops en articulaciones, poles de 5 aristas o menos.
36
+ - Presupuesto de triangulos declarado **antes** de modelar, no medido despues.
37
+ - Un LOD generado con Decimate es un borrador. Para heroes va retopo a mano.
38
+
39
+ ## Materiales y texturas
40
+
41
+ - **Principled BSDF y nada mas** en lo que se exporta. Los nodos procedurales no sobreviven a
42
+ glTF ni a FBX: si el look depende de ellos, hay que bakearlo a textura.
43
+ - Color space: Base Color en sRGB; Normal, Roughness, Metallic y AO en **Non-Color**. Es el bug
44
+ mas comun y el mas silencioso.
45
+ - Normal maps: Blender, glTF y Unity usan OpenGL (+Y). **UE5 usa DirectX (-Y)**: hay que invertir
46
+ el canal verde o marcarlo en el import.
47
+ - Resoluciones potencia de dos. Texel density consistente entre assets del mismo set.
48
+ - Cantidad de materiales = draw calls. Atlas antes de sumar materiales.
49
+
50
+ ## Animacion
51
+
52
+ - **Los constraints no se exportan, los keyframes si.** Todo rig con IK, drivers o constraints se
53
+ bakea (`nla.bake` con visual keying) antes de exportar.
54
+ - Frame rate del `.blend` igual al del engine. Un mismatch se ve como animacion lenta o acelerada,
55
+ no como error.
56
+ - Huesos con sufijo `.L` / `.R` para que la simetria funcione.
57
+ - Root motion: hueso raiz en el origen. Decidir in-place vs root motion **antes** de animar.
58
+
59
+ ## Git
60
+
61
+ - `*.blend *.fbx *.glb *.gltf` por **Git LFS**. Verificar `git lfs version` antes de agregar las
62
+ entradas: peor que no tenerlas es tenerlas sin LFS instalado.
63
+ - `*.blend1` y `*.blend2` (backups de Blender) van al `.gitignore`, nunca al repo.
64
+ - Las texturas fuente (`.psd`, `.kra`, `.exr` de bake) por LFS; los `.png` finales tambien.
65
+
66
+ ## Integracion con el resto del stack
67
+
68
+ `asset-spec` define que asset hace falta → Meshy o modelado a mano lo produce → **Blender lo
69
+ limpia y lo exporta** → `asset-audit` valida el resultado en el proyecto.
70
+
71
+ Blender es el paso del medio, no el principio ni el final. Si el asset vino de `meshy-derive`, el
72
+ `.blend` que bajo es el punto de entrada; no se regenera desde Meshy para arreglar topologia.
@@ -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
@@ -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`.