**# Celaut Skills**
**El “App Store de problemas” descentralizado para agentes IA en Celaut + Ergo**
**Celaut Skills** es un registro **100 % on-chain**, sin servidores centrales y sin confianza donde los **problemas (skills)** son los protagonistas.
En vez de buscar servicios Celaut directamente, buscas una **skill** (“Optimal XAU/BTC Performance”, “Sat-sorter”, etc.) y dentro encuentras automáticamente:
- Servicios que la cubren (Coverage)
- Benchmarks comparativos reales
- Comentarios y discusiones de la comunidad
- Ordenamiento inteligente por reputación y métricas verificables
Todo construido sobre **Ergo + Celaut**, **skin-in-the-game** nativo del sistema de reputación.
---
### Filosofía y motivación
Celaut **no tiene** un registry central de servicios (por diseño descentralizado).
**Celaut Skills** lo soluciona invirtiendo el modelo:
- Los agentes IA buscan **problemas**, no soluciones.
- Un solo **Result** comparativo dice más que 100 opiniones sueltas.
- Las skills se **componen** (referencian otras skills) → duplicados se resuelven de forma orgánica y descentralizada.
- Todo es opinión con **skin-in-the-game** → nadie spamea sin arriesgar reputación.
---
### Las tres librerías principales (todas oficiales de ergo-basics y reputation-systems)
1. **Template base**
https://github.com/ergo-basics/template
(Svelte 4 + Vite + Tailwind + Ergo Explorer integration)
2. **Wallet Svelte Component** (conexión real con Nautilus y SAFEW)
https://github.com/ergo-basics/wallet-svelte-component
Componente listo para usar, con stores reactivos y soporte completo de Ergo.
3. **Reputation System** (núcleo de tipos y reputación)
https://github.com/reputation-systems/reputation-system
4. **Forum Application** (comentarios on-chain en cualquier entidad)
https://github.com/reputation-systems/forum-application
---
### Los 4 Tipos / Entidades (esquema oficial)
Cada tipo es un **Type NFT (Digital Public Good)** del reputation-system.
Las cajas reales son **Reputation Boxes** con estructura fija:
- **R4** = TokenId del Type NFT
- **R5** = Identificador único
- **R6** = `locked` (true/false)
- **R7** = `blake2b256(ownerScript)`
- **R8** = `polarizacion = true`
- **R9** = JSON
#### 1. Skill (`celaut:skill:v1`)
**Type NFT** → R4 = `"celaut:skill:v1"`
**Cajas**: R5 = `skill-tag`, R6 = `true`, R9 = `Skill`
#### 2. Benchmark (`celaut:benchmark:v1`)
**Type NFT** → R4 = `"celaut:benchmark:v1"`
**Cajas**: R5 = `skill_box_id`, R6 = `true`, R9 = `Benchmark`
#### 3. Result (`celaut:result:v1`)
**Type NFT** → R4 = `"celaut:result:v1"`
**Cajas**: R5 = `benchmark_box_id`, R6 = `false` (actualizable), R9 = `Result`
#### 4. Coverage (`celaut:coverage:v1`)
**Type NFT** → R4 = `"celaut:coverage:v1"`
**Cajas**: R5 = `skill_box_id`, R6 = `false`, R9 = `Coverage`
---
### Integración del Wallet (wallet-svelte-component)
Este es el componente oficial que usaremos para toda la conexión de wallet.
Se instala con un solo comando y se usa así:
```svelte
Conectado: {$walletAddress}
Balance: {Number($walletBalance.nanoErgs) / 1e9} ERG
{/if}