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.
- package/CHANGELOG.md +17 -0
- package/README.md +8 -8
- package/dist/cli.js +15 -0
- package/docs/SKILLS-CATALOG.md +4 -2
- package/docs/USER-GUIDE.md +1 -1
- package/docs/templates/skill-test-spec.md +0 -1
- package/package.json +1 -1
- package/profiles/backend-dotnet.yaml +2 -0
- package/profiles/backend-go.yaml +2 -0
- package/profiles/backend-nestjs.yaml +2 -0
- package/profiles/backend-nextjs.yaml +2 -0
- package/profiles/backend-ts.yaml +2 -0
- package/profiles/backend-typescript.yaml +2 -0
- package/profiles/blender.yaml +1 -0
- package/profiles/infra.yaml +2 -0
- package/profiles/meshy.yaml +1 -0
- package/rules/blender-files.md +72 -0
- package/rules/blender-pipeline.md +1 -63
- package/rules/gamedev/narrative.md +1 -1
- package/rules/meshy-assets.md +9 -78
- package/rules/meshy-files.md +83 -0
- package/skills/agent-protocol/SKILL.md +1 -1
- package/skills/agent-protocol/references/communication-standard.md +2 -2
- package/skills/ai-security/SKILL.md +4 -0
- package/skills/audit-dev/SKILL.md +1 -1
- package/skills/blender-animation/SKILL.md +1 -1
- package/skills/blender-export/SKILL.md +1 -1
- package/skills/blender-materials/SKILL.md +1 -1
- package/skills/blender-modeling/SKILL.md +1 -1
- package/skills/check/SKILL.md +1 -1
- package/skills/chief-of-staff/SKILL.md +1 -1
- package/skills/cloud-security/SKILL.md +4 -0
- package/skills/isms-audit-expert/SKILL.md +2 -0
- package/skills/meshy-derive/SKILL.md +1 -1
- package/skills/meshy-generate/SKILL.md +1 -1
- package/skills/meshy-setup/SKILL.md +1 -1
- package/skills/owasp-top10-check/SKILL.md +1 -1
- package/skills/qms-audit-expert/SKILL.md +2 -0
- package/skills/security-pen-testing/SKILL.md +1 -1
- package/skills/seo-audit/SKILL.md +1 -1
- package/skills/skill-auditor/SKILL.md +0 -1
- package/skills/skill-improve/SKILL.md +6 -7
- package/skills/skill-test/SKILL.md +3 -3
- package/skills/skill-test/references/static-checks.md +13 -8
- package/skills/standup-report/SKILL.md +1 -1
- package/skills/vn-gdd/SKILL.md +2 -0
- package/skills/web-security/SKILL.md +4 -0
- package/skills/worktree-isolation/README.md +6 -6
- package/skills/worktree-isolation/SKILL.md +5 -2
- package/skills/worktree-isolation-setup/README.md +7 -11
- package/skills/worktree-isolation-setup/SKILL.md +15 -6
- package/skills/worktree-isolation-setup/scripts/apply.py +0 -178
- package/skills/worktree-isolation-setup/scripts/install_hook.py +0 -118
- 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
|
|
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 |
|
|
194
|
-
| `backend-go` | Backend Go — Clean Arch, DB, auth, API, CI |
|
|
195
|
-
| `backend-dotnet` | Backend .NET — ASP.NET Core, Vertical Slice/Clean, EF Core, JWT |
|
|
196
|
-
| `backend-nestjs` | Backend NestJS — feature modules, DI, Prisma, JWT, microservices |
|
|
197
|
-
| `backend-nextjs` | Next.js full-stack — App Router, RSC, Server Actions, SEO, AI SDK |
|
|
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 |
|
|
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/ #
|
|
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(
|
package/docs/SKILLS-CATALOG.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Los 437 skills disponibles para proyectos consumidores, organizados por division.
|
|
4
4
|
|
|
5
|
-
La tabla cubre
|
|
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 (
|
|
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
|
|
package/docs/USER-GUIDE.md
CHANGED
|
@@ -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 **
|
|
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
package/profiles/backend-go.yaml
CHANGED
package/profiles/backend-ts.yaml
CHANGED
package/profiles/blender.yaml
CHANGED
package/profiles/infra.yaml
CHANGED
package/profiles/meshy.yaml
CHANGED
|
@@ -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
|
|
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
|
|
15
|
+
- No line of dialogue should exceed 200 characters for dialogue box constraints
|
package/rules/meshy-assets.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Meshy Assets
|
|
2
2
|
|
|
3
|
-
Reglas
|
|
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
|
-
##
|
|
32
|
+
## Antes de gastar
|
|
33
33
|
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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. **
|
|
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
|
-
(
|
|
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. **
|
|
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-
|
|
167
|
+
> → Bake de constraints, frame rate y ejes estan en `.claude/rules/blender-files.md`.
|