claude-code-arcane 2.6.1 → 2.7.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.
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: blender-modeling
3
+ description: "Modelado en Blender para assets de juego: presupuesto de triangulos, topologia (quads, edge loops, poles), stack de modifiers, booleans, LODs y retopo, bmesh via script. Usar para: modelar en blender, topologia, modifiers, retopo, LOD, decimate."
4
+ category: "gamedev"
5
+ argument-hint: "[asset-slug] [--budget <tris>] [--lod]"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep, Bash, Write, Edit
8
+ ---
9
+ # blender-modeling — Geometria
10
+
11
+ Modela o corrige geometria con destino a un engine. Lo que sale de aca tiene que deformar bien,
12
+ entrar en presupuesto y exportar sin sorpresas.
13
+
14
+ > Requiere `/blender-context`. Si no corrio, correrlo primero: sin destino definido el presupuesto
15
+ > de tris y los ejes son adivinanza.
16
+
17
+ ---
18
+
19
+ ## Phase 1: Presupuesto antes de modelar
20
+
21
+ El presupuesto se declara primero y se mide despues. Al reves no funciona: nadie borra la mitad de
22
+ un asset terminado.
23
+
24
+ | Rol del asset | Rango de tris | Nota |
25
+ |---|---|---|
26
+ | Prop de fondo, mobile | 300 - 2k | Un solo material |
27
+ | Prop interactivo | 2k - 8k | |
28
+ | Personaje mobile / VR | 8k - 20k | VR paga doble: se renderiza dos veces |
29
+ | Personaje desktop | 20k - 60k | |
30
+ | Hero / cinematica | 60k+ | Necesita LODs propios |
31
+
32
+ Si el usuario da un numero, ese manda. Si no, proponer el rango segun rol y destino y **pedir
33
+ confirmacion** — no elegir en silencio.
34
+
35
+ En UE5 los static meshes van a Nanite y el presupuesto de tris deja de importar; los **skeletal
36
+ meshes no van a Nanite** y siguen necesitando LODs. Distinguirlo antes de dar un numero.
37
+
38
+ ---
39
+
40
+ ## Phase 2: Diagnostico de la malla
41
+
42
+ Sobre un asset que ya existe, medir antes de opinar. Headless:
43
+
44
+ ```bash
45
+ blender --background <archivo.blend> --python-expr "
46
+ import bpy
47
+ for o in bpy.data.objects:
48
+ if o.type != 'MESH': continue
49
+ m = o.data
50
+ ngons = sum(1 for p in m.polygons if len(p.vertices) > 4)
51
+ tris = sum(len(p.vertices) - 2 for p in m.polygons)
52
+ print(f'{o.name}: verts={len(m.vertices)} tris={tris} ngons={ngons} '
53
+ f'uv_layers={len(m.uv_layers)} materials={len(o.material_slots)} scale={tuple(o.scale)}')
54
+ "
55
+ ```
56
+
57
+ Que se mira, en este orden:
58
+
59
+ 1. **Escala distinta de 1** → conversion de unidades sin aplicar. Se arregla antes que nada.
60
+ 2. **N-gons en geometria que deforma** → se resuelven, no se documentan.
61
+ 3. **Tris fuera de presupuesto** → decidir si se reduce o si se sube el presupuesto, con el usuario.
62
+ 4. **Cero UV layers** → el asset no puede texturizarse; es trabajo de `/blender-materials`.
63
+ 5. **Muchos materiales** → cada uno es un draw call.
64
+
65
+ ---
66
+
67
+ ## Phase 3: Topologia
68
+
69
+ Reglas que no se negocian en geometria que deforma:
70
+
71
+ - **Quads.** Tris solo en estatico, n-gons en nada.
72
+ - **Edge loops en articulaciones**: hombro, codo, rodilla, mandibula. Sin loops no hay deformacion
73
+ posible, y eso no se arregla con weights.
74
+ - **Poles de 5 aristas o menos.** Un pole de 6+ pincha el shading.
75
+ - Densidad proporcional a la deformacion: la cara lleva mas malla que el torso.
76
+
77
+ En geometria estatica lo unico que importa es la silueta y la eficiencia. Un cubo con 12 tris esta
78
+ perfecto; subdividirlo "por prolijidad" es desperdicio.
79
+
80
+ ---
81
+
82
+ ## Phase 4: Modifiers
83
+
84
+ El stack es no destructivo y **el orden cambia el resultado**. Orden que funciona casi siempre:
85
+
86
+ ```
87
+ Mirror → Array → Solidify → Bevel → Subdivision Surface → Triangulate (solo al exportar)
88
+ ```
89
+
90
+ - **Mirror antes de Subdivision**, nunca al reves: si no, la costura queda subdividida dos veces.
91
+ - **Bevel antes de Subdivision** para bordes duros; con `Harden Normals` si el destino no tiene
92
+ soporte de custom normals.
93
+ - **Triangulate no va en el stack de trabajo.** El exporter triangula solo; tenerlo puesto solo
94
+ ensucia la edicion.
95
+ - No aplicar el stack "para dejarlo limpio". Se aplica cuando hace falta editar el resultado, y
96
+ ahi se pierde la vuelta atras.
97
+
98
+ Booleans: solver `Exact` para precision, `Fast` para volumen. Los dos dejan basura — despues de un
99
+ boolean va limpieza de topologia, siempre. Un boolean sin limpiar en algo que deforma es un bug
100
+ esperando.
101
+
102
+ ---
103
+
104
+ ## Phase 5: LODs y reduccion
105
+
106
+ | Metodo | Cuando | Que rompe |
107
+ |---|---|---|
108
+ | Decimate `Collapse` | LOD1/LOD2 de props | Topologia; no sirve para deformar |
109
+ | Decimate `Planar` | Geometria dura, superficies planas | Detalle en curvas |
110
+ | Retopo a mano | Heroes, cualquier cosa que deforme | Nada, cuesta tiempo |
111
+ | Remesh (o `meshy_remesh`) | Escaneos y salidas de IA con topologia inservible | UVs, hay que rehacerlas |
112
+
113
+ Cadena tipica de LODs: 100% → 50% → 25%. Verificar la silueta a distancia de juego, no en el
114
+ viewport de cerca.
115
+
116
+ **Un Decimate no es un LOD terminado**, es un borrador. Para heroes se dice explicitamente que
117
+ hace falta retopo y no se entrega como final.
118
+
119
+ ---
120
+
121
+ ## Phase 6: Scripting con bmesh
122
+
123
+ Para ediciones programaticas, `bmesh` sobre `bpy.ops`:
124
+
125
+ - `bpy.ops.*` depende del contexto (modo, seleccion, area activa) y en `--background` falla o hace
126
+ otra cosa.
127
+ - `bmesh.from_edit_mesh(me)` / `bmesh.new()` + `bm.to_mesh(me)` es determinista.
128
+ - **Nunca `bpy.ops` dentro de un loop**: cada llamada revalida la escena entera y el costo es
129
+ cuadratico.
130
+
131
+ Todo script que borra datos (`bpy.data.meshes.remove`, `objects.remove`) se le muestra al usuario
132
+ antes de correrlo. Sin excepcion.
133
+
134
+ Los scripts se versionan en el repo. **Pedir aprobacion antes de escribir** cualquier `.py` nuevo o
135
+ de modificar uno existente, mostrando que va a hacer.
136
+
137
+ ---
138
+
139
+ ## Phase 7: Resumen
140
+
141
+ Reportar por objeto: verts, tris, n-gons, materiales, escala, y tris contra el presupuesto.
142
+
143
+ **Verdict:**
144
+ - **PASS** — dentro de presupuesto, sin n-gons donde importa, escala aplicada.
145
+ - **CONCERNS** — entra pero con deuda: n-gons en estatico, materiales de sobra, LOD por Decimate
146
+ en algo que deforma. Listar cada punto.
147
+ - **FAIL** — fuera de presupuesto, n-gons en geometria que deforma, o escala sin aplicar.
148
+ Indicar el fix por objeto.
149
+
150
+ ## Next Steps
151
+
152
+ - `/blender-materials` para UVs, shader nodes y bake
153
+ - `/blender-animation` si el asset lleva rig
154
+ - `/blender-export` cuando la geometria esta cerrada
155
+ - `/asset-audit` para validar el resultado ya integrado en el proyecto
156
+
157
+ ---
158
+
159
+ > → Topologia, presupuestos, ejes y las reglas de scripts destructivos estan en
160
+ > `.claude/rules/blender-pipeline.md`.
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: fiverr-gig
3
+ description: "Construye el gig de Fiverr: titulo I will, tags de busqueda, los tres packages con precio derivado del piso neto, gallery, FAQ y requirements. Triggers: gig de fiverr, fiverr, packages basic standard premium, precio del gig, tags de fiverr, vender en fiverr."
4
+ argument-hint: "[audit | title | packages | gallery | faq | price]"
5
+ category: "career"
6
+ user-invocable: true
7
+ allowed-tools: Read, Glob, Grep, Write, Edit, WebFetch
8
+ ---
9
+
10
+ # Fiverr Gig - El lado de la oferta
11
+
12
+ Fiverr funciona al revés que Upwork: **no te postulás, publicás.** El gig queda parado y el
13
+ comprador te encuentra buscando. Los Buyer Requests ya no existen, así que no hay cola de ofertas
14
+ que scorear - por eso `/freelance-scan` excluye Fiverr a propósito, y este skill es el que cubre lo
15
+ que ahí falta.
16
+
17
+ Consecuencia práctica: un gig es un **activo**, no una postulación. Se escribe una vez bien y se
18
+ itera con datos (impresiones → clicks → órdenes), no se reescribe por cada cliente.
19
+
20
+ Rutas relativas al career workspace (`--workspace`, env `CAREER_WORKSPACE`, o `./career-workspace/`).
21
+
22
+ Modo: `$ARGUMENTS`
23
+
24
+ ## Inputs
25
+
26
+ - **El perfil maestro** de `01-Perfiles/` - la fuente de verdad del nicho, el stack y los números.
27
+ Si no existe, correr `/master-profile` primero.
28
+ - **El piso de tarifa neto** definido en `/freelance-hunt`. Sin piso no se puede fijar precio: se
29
+ estaría adivinando.
30
+ - **El gig actual**, si ya existe: URL pública → WebFetch, o pegado.
31
+
32
+ ## Modos
33
+
34
+ ### `audit` - Revisar el gig actual
35
+
36
+ Recorrer los cinco elementos de abajo y reportar qué falta, priorizado por impacto. Empezar siempre
37
+ por **título, primera imagen de la gallery y precio del Basic**: son los únicos tres que se ven en
38
+ los resultados de búsqueda, antes de que alguien haga click.
39
+
40
+ ### `title` - El título
41
+
42
+ Arranca con `I will` por convención de la plataforma, y es lo que indexa la búsqueda.
43
+
44
+ - **Nicho concreto, no rol.** "I will develop your Unity game" compite con todo el mundo. "I will
45
+ build multiplayer gameplay for your Unity mobile game" compite con pocos y aparece en la búsqueda
46
+ que importa.
47
+ - Las palabras que usa el comprador, no las tuyas. El comprador no busca "gameplay architecture",
48
+ busca "multiplayer".
49
+ - Sin superlativos ni "professional": no aportan y ocupan caracteres que sí indexan.
50
+ - **Los tags (hasta 5) son parte del título, funcionalmente.** Elegirlos del mismo vocabulario, sin
51
+ repetir la misma palabra cinco veces.
52
+
53
+ Proponer siempre **2 variantes** para elegir.
54
+
55
+ ### `packages` - Los tres niveles
56
+
57
+ El error clásico es hacer tres versiones del mismo trabajo con distinto precio. Los packages tienen
58
+ que separarse por **alcance**, no por velocidad ni por ganas.
59
+
60
+ | | Basic | Standard | Premium |
61
+ |---|---|---|---|
62
+ | Qué es | La unidad mínima entregable y útil | **El que se quiere vender** | El techo, para el comprador que ya decidió |
63
+ | Alcance | Una cosa, definida | Lo del Basic más lo que casi todos terminan pidiendo | Alcance completo, con lo que consume tiempo real |
64
+ | Rol | Filtro de entrada y precio de referencia | Ancla: se compara contra los otros dos y gana | Sube el promedio y hace que el Standard parezca razonable |
65
+
66
+ Reglas duras:
67
+
68
+ - **El alcance va escrito en el package.** Lo que no está escrito es scope creep sin change order
69
+ posible: en Fiverr no hay renegociación a mitad de camino, hay una orden con un alcance.
70
+ - **Revisiones con número.** "Unlimited revisions" es una promesa que destruye el margen y no se
71
+ puede retirar sin cancelar la orden.
72
+ - **Delivery time realista, no competitivo.** Entregar tarde pega en el nivel de la cuenta, que no
73
+ se edita. Un día extra en el gig cuesta menos que una entrega tarde.
74
+ - Los **gig extras** son para lo que es genuinamente opcional (fuente editable, licencia comercial,
75
+ entrega express), no para partir en pedazos algo que el package ya prometió.
76
+
77
+ ### `gallery` - Lo que se ve
78
+
79
+ - **La primera imagen es el gig en la búsqueda.** Tiene que leerse en miniatura: una idea, texto
80
+ grande, cero decoración.
81
+ - Después: el resultado real, no el proceso. Un before/after gana a cualquier mockup.
82
+ - Video corto si el trabajo se entiende mejor en movimiento (animación, gameplay, motion).
83
+ - Nunca material de un cliente sin permiso ni bajo NDA. Si no se puede mostrar, se reconstruye un
84
+ ejemplo propio equivalente y **se dice que es un ejemplo**.
85
+
86
+ ### `faq` - Las objeciones, adelantadas
87
+
88
+ Cada FAQ existe para sacar una objeción del camino antes de que alguien escriba un mensaje. Las que
89
+ casi siempre hacen falta: qué necesitás para arrancar, qué pasa si no gusta, si el precio incluye
90
+ la fuente editable, si se puede usar comercialmente, qué **no** incluye el gig.
91
+
92
+ Decir qué no hacés filtra al comprador equivocado, que es el que después califica mal.
93
+
94
+ ### `price` - El precio
95
+
96
+ - Se deriva del **piso neto** de `01-Perfiles/` más la comisión de la plataforma. Fiverr retiene un
97
+ porcentaje del valor de la orden (históricamente 20%): verificar el vigente antes de fijar, y
98
+ cargarlo sobre el piso, no descontarlo del precio pensado.
99
+ - El precio del Basic es el que aparece en la búsqueda: es filtro de tráfico, no la venta esperada.
100
+ - **Arrancar barato para conseguir las primeras reviews es una trampa conocida**: atrae compradores
101
+ de precio, que son los que más piden y peor califican, y las reviews que dejan son las que
102
+ después determinan el nivel de la cuenta. Si falta historial, la palanca es **acotar el nicho**,
103
+ no bajar el precio.
104
+ - Un gig con precio arriba del mercado y nicho angosto convierte peor en volumen y mejor en plata.
105
+ Esa es la elección, y la hace el usuario, no el skill.
106
+
107
+ ## Lo que el gig no controla
108
+
109
+ El **nivel de la cuenta** (New Seller → Level 1 → Level 2 → Top Rated) y la métrica de respuesta no
110
+ se editan: salen de órdenes completadas, calificaciones, entregas a tiempo y tiempo de respuesta.
111
+ Es el mismo problema que el Job Success Score en Upwork, y se protege igual - eligiendo qué órdenes
112
+ se aceptan y qué alcance se promete, no escribiendo mejor el gig.
113
+
114
+ Las **impresiones** tampoco: dependen del algoritmo de búsqueda. Lo que el gig sí controla es la
115
+ conversión de impresión a click (título y primera imagen) y de click a orden (packages y FAQ). Si
116
+ las impresiones son bajas, el problema es el nicho o los tags; si son altas y no hay órdenes, el
117
+ problema son los packages o el precio.
118
+
119
+ ## Proceso
120
+
121
+ 1. Leer el perfil maestro y el piso de tarifa. Si falta el piso, parar y mandar a `/freelance-hunt`.
122
+ 2. Correr el modo pedido (o `audit` si no se indicó ninguno).
123
+ 3. Proponer los textos como borradores en el chat, con 2 variantes de título y la tabla de los tres
124
+ packages completa, incluyendo delivery time y revisiones.
125
+ 4. Con approval, guardar en `01-Perfiles/Fiverr-<slug-del-gig>.md` (derivado del maestro, no
126
+ reemplazo). El usuario copia y pega en la plataforma - **este skill nunca toca la cuenta.**
127
+ 5. Anotar la fecha de publicación o del último ajuste, para poder correlacionarla después con
128
+ impresiones y órdenes.
129
+
130
+ Un gig por nicho. Dos gigs que compiten por la misma búsqueda se canibalizan las impresiones.
131
+
132
+ ## Reglas
133
+
134
+ - Nunca inventar experiencia, clientes ni números.
135
+ - Nunca prometer en el package algo que no está en el alcance escrito.
136
+ - Nunca "unlimited" nada.
137
+ - El precio se deriva del piso, nunca de la competencia.
138
+ - Sin guiones largos en los textos generados.
139
+
140
+ ## Handoff
141
+
142
+ Pedí aprobación (approval) antes de escribir en `01-Perfiles/`. Gig **READY** cuando título, los
143
+ tres packages con alcance y delivery, primera imagen definida y al menos tres FAQ están completos.
144
+
145
+ Después: `/freelance-pipeline` para medir el gig con las órdenes que entren (el embudo de Fiverr es
146
+ impresiones → clicks → órdenes, no propuestas enviadas), `/freelance-profile` si además va a
147
+ trabajar en Upwork, y `/portfolio-site` si quiere un portfolio propio fuera de las plataformas.
@@ -114,6 +114,8 @@ Nota lateral útil: Lemon.io y Proxify (marketplaces con screening) publican sus
114
114
 
115
115
  Modelo invertido: no te postulás a trabajos, publicás gigs y el comprador te encuentra. Los "Buyer Requests" ya no existen como los conocía la gente. No hay cola que scorear.
116
116
 
117
+ Queda fuera del scanner por eso, no porque no valga la pena: el lado de la oferta lo cubre `/fiverr-gig` (título, packages, gallery, FAQ y precio derivado del piso).
118
+
117
119
  ### Toptal, Gun.io, Braintrust, Arc, Lemon.io
118
120
 
119
121
  Verticales con screening previo. No hay board público consumible; el acceso se gana pasando su proceso de admisión. Fuera del alcance de un scanner.
@@ -110,6 +110,9 @@ Reportar: targets generados, creditos gastados reales (delta de `check_balance`)
110
110
 
111
111
  - `/asset-audit` para validar naming, budgets y formatos contra los standards
112
112
  - `/meshy-print <slug>` si ademas va a impresion (tiene su propio flujo de printability)
113
+ - `/blender-context` si el derivado `.blend` necesita limpieza: la topologia que sale de Meshy no
114
+ esta pensada para deformar, y las UVs suelen necesitar rehacerse. Ahi siguen `/blender-modeling`,
115
+ `/blender-materials` y `/blender-export` con su validador de glTF
113
116
 
114
117
  ---
115
118