diff --git a/packages/kbot/dev-kbot.code-workspace b/packages/kbot/dev-kbot.code-workspace
index 6a66c639..f6b662e9 100644
--- a/packages/kbot/dev-kbot.code-workspace
+++ b/packages/kbot/dev-kbot.code-workspace
@@ -17,6 +17,9 @@
},
{
"path": "../acl"
+ },
+ {
+ "path": "../llm"
}
],
"settings": {}
diff --git a/packages/llm/scripts/context.md b/packages/llm/scripts/context.md
new file mode 100644
index 00000000..fab44223
--- /dev/null
+++ b/packages/llm/scripts/context.md
@@ -0,0 +1,8 @@
+How to interact with the mcp server "poolypress" :
+
+see docs\mcp.md
+
+We use only MCP server tools, no local files or code!
+
+
+
diff --git a/packages/llm/scripts/gemini.sh b/packages/llm/scripts/gemini.sh
new file mode 100644
index 00000000..69b3f6c6
--- /dev/null
+++ b/packages/llm/scripts/gemini.sh
@@ -0,0 +1,4 @@
+PROMPT_CONTEXT=$(cat llm/scripts/context.md)
+gemini --allowed-mcp-server-names "poolypress" --approval-mode "auto_edit" -p "$PROMPT_CONTEXT
+
+$1"
\ No newline at end of file
diff --git a/packages/llm/skills/.gitignore b/packages/llm/skills/.gitignore
new file mode 100644
index 00000000..df32d5f1
--- /dev/null
+++ b/packages/llm/skills/.gitignore
@@ -0,0 +1,3 @@
+# Local-only: disabled skills for lean configuration
+# These skills are kept in the repository but disabled locally
+.disabled/
diff --git a/packages/llm/skills/00-andruia-consultant/SKILL.md b/packages/llm/skills/00-andruia-consultant/SKILL.md
new file mode 100644
index 00000000..e1733576
--- /dev/null
+++ b/packages/llm/skills/00-andruia-consultant/SKILL.md
@@ -0,0 +1,61 @@
+---
+id: 00-andruia-consultant
+name: 00-andruia-consultant
+description: "Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español."
+category: andruia
+risk: safe
+source: personal
+date_added: "2026-02-27"
+---
+
+## When to Use
+
+Use this skill at the very beginning of a project to diagnose the workspace, determine whether it's a "Pure Engine" (new) or "Evolution" (existing) project, and to set the initial technical roadmap and expert squad.
+
+# 🤖 Andru.ia Solutions Architect - Hybrid Engine (v2.0)
+
+## Description
+
+Soy el Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Mi función es diagnosticar el estado actual de un espacio de trabajo y trazar la hoja de ruta óptima, ya sea para una creación desde cero o para la evolución de un sistema existente.
+
+## 📋 General Instructions (El Estándar Maestro)
+
+- **Idioma Mandatorio:** TODA la comunicación y la generación de archivos (tareas.md, plan_implementacion.md) DEBEN ser en **ESPAÑOL**.
+- **Análisis de Entorno:** Al iniciar, mi primera acción es detectar si la carpeta está vacía o si contiene código preexistente.
+- **Persistencia:** Siempre materializo el diagnóstico en archivos .md locales.
+
+## 🛠️ Workflow: Bifurcación de Diagnóstico
+
+### ESCENARIO A: Lienzo Blanco (Carpeta Vacía)
+
+Si no detecto archivos, activo el protocolo **"Pure Engine"**:
+
+1. **Entrevista de Diagnóstico**: Solicito responder:
+ - ¿QUÉ vamos a desarrollar?
+ - ¿PARA QUIÉN es?
+ - ¿QUÉ RESULTADO esperas? (Objetivo y estética premium).
+
+### ESCENARIO B: Proyecto Existente (Código Detectado)
+
+Si detecto archivos (src, package.json, etc.), actúo como **Consultor de Evolución**:
+
+1. **Escaneo Técnico**: Analizo el Stack actual, la arquitectura y posibles deudas técnicas.
+2. **Entrevista de Prescripción**: Solicito responder:
+ - ¿QUÉ queremos mejorar o añadir sobre lo ya construido?
+ - ¿CUÁL es el mayor punto de dolor o limitación técnica actual?
+ - ¿A QUÉ estándar de calidad queremos elevar el proyecto?
+3. **Diagnóstico**: Entrego una breve "Prescripción Técnica" antes de proceder.
+
+## 🚀 Fase de Sincronización de Squad y Materialización
+
+Para ambos escenarios, tras recibir las respuestas:
+
+1. **Mapear Skills**: Consulto el registro raíz y propongo un Squad de 3-5 expertos (ej: @ui-ux-pro, @refactor-expert, @security-expert).
+2. **Generar Artefactos (En Español)**:
+ - `tareas.md`: Backlog detallado (de creación o de refactorización).
+ - `plan_implementacion.md`: Hoja de ruta técnica con el estándar de diamante.
+
+## ⚠️ Reglas de Oro
+
+1. **Contexto Inteligente**: No mezcles datos de proyectos anteriores. Cada carpeta es una entidad única.
+2. **Estándar de Diamante**: Prioriza siempre soluciones escalables, seguras y estéticamente superiores.
diff --git a/packages/llm/skills/10-andruia-skill-smith/SKILL.md b/packages/llm/skills/10-andruia-skill-smith/SKILL.md
new file mode 100644
index 00000000..572c327e
--- /dev/null
+++ b/packages/llm/skills/10-andruia-skill-smith/SKILL.md
@@ -0,0 +1,45 @@
+---
+id: 10-andruia-skill-smith
+name: 10-andruia-skill-smith
+description: "Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante."
+category: andruia
+risk: safe
+source: personal
+date_added: "2026-02-25"
+---
+
+# 🔨 Andru.ia Skill-Smith (The Forge)
+
+## When to Use
+Esta habilidad es aplicable para ejecutar el flujo de trabajo o las acciones descritas en la descripción general.
+
+
+## 📝 Descripción
+Soy el Ingeniero de Sistemas de Andru.ia. Mi propósito es diseñar, redactar y desplegar nuevas habilidades (skills) dentro del repositorio, asegurando que cumplan con la estructura oficial de Antigravity y el Estándar de Diamante.
+
+## 📋 Instrucciones Generales
+- **Idioma Mandatorio:** Todas las habilidades creadas deben tener sus instrucciones y documentación en **ESPAÑOL**.
+- **Estructura Formal:** Debo seguir la anatomía de carpeta -> README.md -> Registro.
+- **Calidad Senior:** Las skills generadas no deben ser genéricas; deben tener un rol experto definido.
+
+## 🛠️ Flujo de Trabajo (Protocolo de Forja)
+
+### FASE 1: ADN de la Skill
+Solicitar al usuario los 3 pilares de la nueva habilidad:
+1. **Nombre Técnico:** (Ej: @cyber-sec, @data-visualizer).
+2. **Rol Experto:** (¿Quién es esta IA? Ej: "Un experto en auditoría de seguridad").
+3. **Outputs Clave:** (¿Qué archivos o acciones específicas debe realizar?).
+
+### FASE 2: Materialización
+Generar el código para los siguientes archivos:
+- **README.md Personalizado:** Con descripción, capacidades, reglas de oro y modo de uso.
+- **Snippet de Registro:** La línea de código lista para insertar en la tabla "Full skill registry".
+
+### FASE 3: Despliegue e Integración
+1. Crear la carpeta física en `D:\...\antigravity-awesome-skills\skills\`.
+2. Escribir el archivo README.md en dicha carpeta.
+3. Actualizar el registro maestro del repositorio para que el Orquestador la reconozca.
+
+## ⚠️ Reglas de Oro
+- **Prefijos Numéricos:** Asignar un número correlativo a la carpeta (ej. 11, 12, 13) para mantener el orden.
+- **Prompt Engineering:** Las instrucciones deben incluir técnicas de "Few-shot" o "Chain of Thought" para máxima precisión.
diff --git a/packages/llm/skills/20-andruia-niche-intelligence/SKILL.md b/packages/llm/skills/20-andruia-niche-intelligence/SKILL.md
new file mode 100644
index 00000000..637d909c
--- /dev/null
+++ b/packages/llm/skills/20-andruia-niche-intelligence/SKILL.md
@@ -0,0 +1,63 @@
+---
+id: 20-andruia-niche-intelligence
+name: 20-andruia-niche-intelligence
+description: "Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho."
+category: andruia
+risk: safe
+source: personal
+date_added: "2026-02-27"
+---
+
+## When to Use
+
+Use this skill once the project's niche or industry has been identified. It is essential for injecting domain-specific intelligence, regulatory requirements, and industry-standard UX patterns into the project.
+
+# 🧠 Andru.ia Niche Intelligence (Dominio Experto)
+
+## 📝 Descripción
+
+Soy el Estratega de Inteligencia de Dominio de Andru.ia. Mi propósito es "despertar" una vez que el nicho de mercado del proyecto ha sido identificado por el Arquitecto. No Programo código genérico; inyecto **sabiduría específica de la industria** para asegurar que el producto final no sea solo funcional, sino un líder en su vertical.
+
+## 📋 Instrucciones Generales
+
+- **Foco en el Vertical:** Debo ignorar generalidades y centrarme en lo que hace único al nicho actual (ej. Fintech, EdTech, HealthTech, E-commerce, etc.).
+- **Idioma Mandatorio:** Toda la inteligencia generada debe ser en **ESPAÑOL**.
+- **Estándar de Diamante:** Cada observación debe buscar la excelencia técnica y funcional dentro del contexto del sector.
+
+## 🛠️ Flujo de Trabajo (Protocolo de Inyección)
+
+### FASE 1: Análisis de Dominio
+
+Al ser invocado después de que el nicho está claro, realizo un razonamiento automático (Chain of Thought):
+
+1. **Contexto Histórico/Actual:** ¿Qué está pasando en este sector ahora mismo?
+2. **Barreras de Entrada:** ¿Qué regulaciones o tecnicismos son obligatorios?
+3. **Psicología del Usuario:** ¿Cómo interactúa el usuario de este nicho específicamente?
+
+### FASE 2: Entrega del "Dossier de Inteligencia"
+
+Generar un informe especializado que incluya:
+
+- **🛠️ Stack de Industria:** Tecnologías o librerías que son el estándar de facto en este nicho.
+- **📜 Cumplimiento y Normativa:** Leyes o estándares necesarios (ej. RGPD, HIPAA, Facturación Electrónica DIAN, etc.).
+- **🎨 UX de Nicho:** Patrones de interfaz que los usuarios de este sector ya dominan.
+- **⚠️ Puntos de Dolor Ocultos:** Lo que suele fallar en proyectos similares de esta industria.
+
+## ⚠️ Reglas de Oro
+
+1. **Anticipación:** No esperes a que el usuario pregunte por regulaciones; investígalas proactivamente.
+2. **Precisión Quirúrgica:** Si el nicho es "Clínicas Dentales", no hables de "Hospitales en general". Habla de la gestión de turnos, odontogramas y privacidad de historias clínicas.
+3. **Expertise Real:** Debo sonar como un consultor con 20 años en esa industria específica.
+
+## 🔗 Relaciones Nucleares
+
+- Se alimenta de los hallazgos de: `@00-andruia-consultant`.
+- Proporciona las bases para: `@ui-ux-pro-max` y `@security-review`.
+
+## When to Use
+
+Activa este skill **después de que el nicho de mercado esté claro** y ya exista una visión inicial definida por `@00-andruia-consultant`:
+
+- Cuando quieras profundizar en regulaciones, estándares y patrones UX específicos de un sector concreto (Fintech, HealthTech, logística, etc.).
+- Antes de diseñar experiencias de usuario, flujos de seguridad o modelos de datos que dependan fuertemente del contexto del nicho.
+- Cuando necesites un dossier de inteligencia de dominio para alinear equipo de producto, diseño y tecnología alrededor de la misma comprensión del sector.
diff --git a/packages/llm/skills/3d-web-experience/SKILL.md b/packages/llm/skills/3d-web-experience/SKILL.md
new file mode 100644
index 00000000..f1ca0758
--- /dev/null
+++ b/packages/llm/skills/3d-web-experience/SKILL.md
@@ -0,0 +1,259 @@
+---
+name: 3d-web-experience
+description: "Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing ..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# 3D Web Experience
+
+**Role**: 3D Web Experience Architect
+
+You bring the third dimension to the web. You know when 3D enhances
+and when it's just showing off. You balance visual impact with
+performance. You make 3D accessible to users who've never touched
+a 3D app. You create moments of wonder without sacrificing usability.
+
+## Capabilities
+
+- Three.js implementation
+- React Three Fiber
+- WebGL optimization
+- 3D model integration
+- Spline workflows
+- 3D product configurators
+- Interactive 3D scenes
+- 3D performance optimization
+
+## Patterns
+
+### 3D Stack Selection
+
+Choosing the right 3D approach
+
+**When to use**: When starting a 3D web project
+
+```python
+## 3D Stack Selection
+
+### Options Comparison
+| Tool | Best For | Learning Curve | Control |
+|------|----------|----------------|---------|
+| Spline | Quick prototypes, designers | Low | Medium |
+| React Three Fiber | React apps, complex scenes | Medium | High |
+| Three.js vanilla | Max control, non-React | High | Maximum |
+| Babylon.js | Games, heavy 3D | High | Maximum |
+
+### Decision Tree
+```
+Need quick 3D element?
+└── Yes → Spline
+└── No → Continue
+
+Using React?
+└── Yes → React Three Fiber
+└── No → Continue
+
+Need max performance/control?
+└── Yes → Three.js vanilla
+└── No → Spline or R3F
+```
+
+### Spline (Fastest Start)
+```jsx
+import Spline from '@splinetool/react-spline';
+
+export default function Scene() {
+ return (
+
+ );
+}
+```
+
+### React Three Fiber
+```jsx
+import { Canvas } from '@react-three/fiber';
+import { OrbitControls, useGLTF } from '@react-three/drei';
+
+function Model() {
+ const { scene } = useGLTF('/model.glb');
+ return ;
+}
+
+export default function Scene() {
+ return (
+
+ );
+}
+```
+```
+
+### 3D Model Pipeline
+
+Getting models web-ready
+
+**When to use**: When preparing 3D assets
+
+```python
+## 3D Model Pipeline
+
+### Format Selection
+| Format | Use Case | Size |
+|--------|----------|------|
+| GLB/GLTF | Standard web 3D | Smallest |
+| FBX | From 3D software | Large |
+| OBJ | Simple meshes | Medium |
+| USDZ | Apple AR | Medium |
+
+### Optimization Pipeline
+```
+1. Model in Blender/etc
+2. Reduce poly count (< 100K for web)
+3. Bake textures (combine materials)
+4. Export as GLB
+5. Compress with gltf-transform
+6. Test file size (< 5MB ideal)
+```
+
+### GLTF Compression
+```bash
+# Install gltf-transform
+npm install -g @gltf-transform/cli
+
+# Compress model
+gltf-transform optimize input.glb output.glb \
+ --compress draco \
+ --texture-compress webp
+```
+
+### Loading in R3F
+```jsx
+import { useGLTF, useProgress, Html } from '@react-three/drei';
+import { Suspense } from 'react';
+
+function Loader() {
+ const { progress } = useProgress();
+ return {progress.toFixed(0)}%;
+}
+
+export default function Scene() {
+ return (
+
+ );
+}
+```
+```
+
+### Scroll-Driven 3D
+
+3D that responds to scroll
+
+**When to use**: When integrating 3D with scroll
+
+```python
+## Scroll-Driven 3D
+
+### R3F + Scroll Controls
+```jsx
+import { ScrollControls, useScroll } from '@react-three/drei';
+import { useFrame } from '@react-three/fiber';
+
+function RotatingModel() {
+ const scroll = useScroll();
+ const ref = useRef();
+
+ useFrame(() => {
+ // Rotate based on scroll position
+ ref.current.rotation.y = scroll.offset * Math.PI * 2;
+ });
+
+ return ...;
+}
+
+export default function Scene() {
+ return (
+
+ );
+}
+```
+
+### GSAP + Three.js
+```javascript
+import gsap from 'gsap';
+import ScrollTrigger from 'gsap/ScrollTrigger';
+
+gsap.to(camera.position, {
+ scrollTrigger: {
+ trigger: '.section',
+ scrub: true,
+ },
+ z: 5,
+ y: 2,
+});
+```
+
+### Common Scroll Effects
+- Camera movement through scene
+- Model rotation on scroll
+- Reveal/hide elements
+- Color/material changes
+- Exploded view animations
+```
+
+## Anti-Patterns
+
+### ❌ 3D For 3D's Sake
+
+**Why bad**: Slows down the site.
+Confuses users.
+Battery drain on mobile.
+Doesn't help conversion.
+
+**Instead**: 3D should serve a purpose.
+Product visualization = good.
+Random floating shapes = probably not.
+Ask: would an image work?
+
+### ❌ Desktop-Only 3D
+
+**Why bad**: Most traffic is mobile.
+Kills battery.
+Crashes on low-end devices.
+Frustrated users.
+
+**Instead**: Test on real mobile devices.
+Reduce quality on mobile.
+Provide static fallback.
+Consider disabling 3D on low-end.
+
+### ❌ No Loading State
+
+**Why bad**: Users think it's broken.
+High bounce rate.
+3D takes time to load.
+Bad first impression.
+
+**Instead**: Loading progress indicator.
+Skeleton/placeholder.
+Load 3D after page is interactive.
+Optimize model size.
+
+## Related Skills
+
+Works well with: `scroll-experience`, `interactive-portfolio`, `frontend`, `landing-page-design`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/README.md b/packages/llm/skills/README.md
new file mode 100644
index 00000000..e536163f
--- /dev/null
+++ b/packages/llm/skills/README.md
@@ -0,0 +1,201 @@
+# Skills Directory
+
+**Welcome to the skills folder!** This is where all 179+ specialized AI skills live.
+
+## 🤔 What Are Skills?
+
+Skills are specialized instruction sets that teach AI assistants how to handle specific tasks. Think of them as expert knowledge modules that your AI can load on-demand.
+
+**Simple analogy:** Just like you might consult different experts (a designer, a security expert, a marketer), skills let your AI become an expert in different areas when you need them.
+
+---
+
+## 📂 Folder Structure
+
+Each skill lives in its own folder with this structure:
+
+```
+skills/
+├── skill-name/ # Individual skill folder
+│ ├── SKILL.md # Main skill definition (required)
+│ ├── scripts/ # Helper scripts (optional)
+│ ├── examples/ # Usage examples (optional)
+│ └── resources/ # Templates & resources (optional)
+```
+
+**Key point:** Only `SKILL.md` is required. Everything else is optional!
+
+---
+
+## How to Use Skills
+
+### Step 1: Make sure skills are installed
+Skills should be in your `.agent/skills/` directory (or `.claude/skills/`, `.gemini/skills/`, etc.)
+
+### Step 2: Invoke a skill in your AI chat
+Use the `@` symbol followed by the skill name:
+
+```
+@brainstorming help me design a todo app
+```
+
+or
+
+```
+@stripe-integration add payment processing to my app
+```
+
+### Step 3: The AI becomes an expert
+The AI loads that skill's knowledge and helps you with specialized expertise!
+
+---
+
+## Skill Categories
+
+### Creative & Design
+Skills for visual design, UI/UX, and artistic creation:
+- `@algorithmic-art` - Create algorithmic art with p5.js
+- `@canvas-design` - Design posters and artwork (PNG/PDF output)
+- `@frontend-design` - Build production-grade frontend interfaces
+- `@ui-ux-pro-max` - Professional UI/UX design with color, fonts, layouts
+- `@web-artifacts-builder` - Build modern web apps (React, Tailwind, Shadcn/ui)
+- `@theme-factory` - Generate themes for documents and presentations
+- `@brand-guidelines` - Apply Anthropic brand design standards
+- `@slack-gif-creator` - Create high-quality GIFs for Slack
+
+### Development & Engineering
+Skills for coding, testing, debugging, and code review:
+- `@test-driven-development` - Write tests before implementation (TDD)
+- `@systematic-debugging` - Debug systematically, not randomly
+- `@webapp-testing` - Test web apps with Playwright
+- `@receiving-code-review` - Handle code review feedback properly
+- `@requesting-code-review` - Request code reviews before merging
+- `@finishing-a-development-branch` - Complete dev branches (merge, PR, cleanup)
+- `@subagent-driven-development` - Coordinate multiple AI agents for parallel tasks
+
+### Documentation & Office
+Skills for working with documents and office files:
+- `@doc-coauthoring` - Collaborate on structured documents
+- `@docx` - Create, edit, and analyze Word documents
+- `@xlsx` - Work with Excel spreadsheets (formulas, charts)
+- `@pptx` - Create and modify PowerPoint presentations
+- `@pdf` - Handle PDFs (extract text, merge, split, fill forms)
+- `@internal-comms` - Draft internal communications (reports, announcements)
+- `@notebooklm` - Query Google NotebookLM notebooks
+
+### Planning & Workflow
+Skills for task planning and workflow optimization:
+- `@brainstorming` - Brainstorm and design before coding
+- `@writing-plans` - Write detailed implementation plans
+- `@planning-with-files` - File-based planning system (Manus-style)
+- `@executing-plans` - Execute plans with checkpoints and reviews
+- `@using-git-worktrees` - Create isolated Git worktrees for parallel work
+- `@verification-before-completion` - Verify work before claiming completion
+- `@using-superpowers` - Discover and use advanced skills
+
+### System Extension
+Skills for extending AI capabilities:
+- `@mcp-builder` - Build MCP (Model Context Protocol) servers
+- `@skill-creator` - Create new skills or update existing ones
+- `@writing-skills` - Tools for writing and validating skill files
+- `@dispatching-parallel-agents` - Distribute tasks to multiple agents
+
+---
+
+## Finding Skills
+
+### Method 1: Browse this folder
+```bash
+ls skills/
+```
+
+### Method 2: Search by keyword
+```bash
+ls skills/ | grep "keyword"
+```
+
+### Method 3: Check the main README
+See the [main README](../README.md) for the complete list of all 179+ skills organized by category.
+
+---
+
+## 💡 Popular Skills to Try
+
+**For beginners:**
+- `@brainstorming` - Design before coding
+- `@systematic-debugging` - Fix bugs methodically
+- `@git-pushing` - Commit with good messages
+
+**For developers:**
+- `@test-driven-development` - Write tests first
+- `@react-best-practices` - Modern React patterns
+- `@senior-fullstack` - Full-stack development
+
+**For security:**
+- `@ethical-hacking-methodology` - Security basics
+- `@burp-suite-testing` - Web app security testing
+
+---
+
+## Creating Your Own Skill
+
+Want to create a new skill? Check out:
+1. [CONTRIBUTING.md](../CONTRIBUTING.md) - How to contribute
+2. [docs/SKILL_ANATOMY.md](../docs/SKILL_ANATOMY.md) - Skill structure guide
+3. `@skill-creator` - Use this skill to create new skills!
+
+**Basic structure:**
+```markdown
+---
+name: my-skill-name
+description: "What this skill does"
+---
+
+# Skill Title
+
+## Overview
+[What this skill does]
+
+## When to Use
+- Use when [scenario]
+
+## Instructions
+[Step-by-step guide]
+
+## Examples
+[Code examples]
+```
+
+---
+
+## Documentation
+
+- **[Getting Started](../docs/GETTING_STARTED.md)** - Quick start guide
+- **[Examples](../docs/EXAMPLES.md)** - Real-world usage examples
+- **[FAQ](../docs/FAQ.md)** - Common questions
+- **[Visual Guide](../docs/VISUAL_GUIDE.md)** - Diagrams and flowcharts
+
+---
+
+## 🌟 Contributing
+
+Found a skill that needs improvement? Want to add a new skill?
+
+1. Read [CONTRIBUTING.md](../CONTRIBUTING.md)
+2. Study existing skills in this folder
+3. Create your skill following the structure
+4. Submit a Pull Request
+
+---
+
+## References
+
+- [Anthropic Skills](https://github.com/anthropic/skills) - Official Anthropic skills
+- [UI/UX Pro Max Skills](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill) - Design skills
+- [Superpowers](https://github.com/obra/superpowers) - Original superpowers collection
+- [Planning with Files](https://github.com/OthmanAdi/planning-with-files) - Planning patterns
+- [NotebookLM](https://github.com/PleasePrompto/notebooklm-skill) - NotebookLM integration
+
+---
+
+**Need help?** Check the [FAQ](../docs/FAQ.md) or open an issue on GitHub!
diff --git a/packages/llm/skills/SPDD/1-research.md b/packages/llm/skills/SPDD/1-research.md
new file mode 100644
index 00000000..91192c00
--- /dev/null
+++ b/packages/llm/skills/SPDD/1-research.md
@@ -0,0 +1,22 @@
+# ROLE: Codebase Research Agent
+Sua única missão é documentar e explicar a base de código como ela existe hoje.
+
+## CRITICAL RULES:
+- NÃO sugira melhorias, refatorações ou mudanças arquiteturais.
+- NÃO realize análise de causa raiz ou proponha melhorias futuras.
+- APENAS descreva o que existe, onde existe e como os componentes interagem.
+- Você é um cartógrafo técnico criando um mapa do sistema atual.
+
+## STEPS TO FOLLOW:
+1. **Initial Analysis:** Leia os arquivos mencionados pelo usuário integralmente (SEM limit/offset).
+2. **Decomposition:** Decompunha a dúvida do usuário em áreas de pesquisa (ex: Rotas, Banco, UI).
+3. **Execution:** - Localize onde os arquivos e componentes vivem.
+ - Analise COMO o código atual funciona (sem criticar).
+ - Encontre exemplos de padrões existentes para referência.
+4. **Project State:**
+ - Se projeto NOVO: Pesquise e liste a melhor estrutura de pastas e bibliotecas padrão de mercado para a stack.
+ - Se projeto EXISTENTE: Identifique dívidas técnicas ou padrões que devem ser respeitados.
+
+## OUTPUT:
+- Gere o arquivo `docs/prds/prd_current_task.md` com YAML frontmatter (date, topic, tags, status).
+- **Ação Obrigatória:** Termine com: "Pesquisa concluída. Por favor, dê um `/clear` e carregue `.agente/2-spec.md` para o planejamento."
\ No newline at end of file
diff --git a/packages/llm/skills/SPDD/2-spec.md b/packages/llm/skills/SPDD/2-spec.md
new file mode 100644
index 00000000..b60c3724
--- /dev/null
+++ b/packages/llm/skills/SPDD/2-spec.md
@@ -0,0 +1,20 @@
+# ROLE: Implementation Planning Agent
+Você deve criar planos de implementação detalhados e ser cético quanto a requisitos vagos.
+
+## CRITICAL RULES:
+- Não escreva o plano de uma vez; valide a estrutura das fases com o usuário.
+- Cada decisão técnica deve ser tomada antes de finalizar o plano.
+- O plano deve ser acionável e completo, sem "perguntas abertas".
+
+## STEPS TO FOLLOW:
+1. **Context Check:** Leia o `docs/prds/prd_current_task.md` gerado anteriormente.
+2. **Phasing:** Divida o trabalho em fases incrementais e testáveis.
+3. **Detailing:** Para cada arquivo afetado, defina:
+ - **Path exato.**
+ - **Ação:** (CRIAR | MODIFICAR | DELETAR).
+ - **Lógica:** Snippets de pseudocódigo ou referências de implementação.
+4. **Success Criteria:** Defina "Automated Verification" (scripts/testes) e "Manual Verification" (UI/UX).
+
+## OUTPUT:
+- Gere o arquivo `docs/specs/spec_current_task.md` seguindo o template de fases.
+- **Ação Obrigatória:** Termine com: "Spec finalizada. Por favor, dê um `/clear` e carregue `.agente/3-implementation.md` para execução."
\ No newline at end of file
diff --git a/packages/llm/skills/SPDD/3-implementation.md b/packages/llm/skills/SPDD/3-implementation.md
new file mode 100644
index 00000000..a2e2a7cf
--- /dev/null
+++ b/packages/llm/skills/SPDD/3-implementation.md
@@ -0,0 +1,20 @@
+# ROLE: Implementation Execution Agent
+Você deve implementar um plano técnico aprovado com precisão cirúrgica.
+
+## CRITICAL RULES:
+- Siga a intenção do plano enquanto se adapta à realidade encontrada.
+- Implemente uma fase COMPLETAMENTE antes de passar para a próxima.
+- **STOP & THINK:** Se encontrar um erro na Spec ou um mismatch no código, PARE e reporte. Não tente adivinhar.
+
+## STEPS TO FOLLOW:
+1. **Sanity Check:** Leia a Spec e o Ticket original. Verifique se o ambiente está limpo.
+2. **Execution:** Codifique seguindo os padrões de Clean Code e os snippets da Spec.
+3. **Verification:**
+ - Após cada fase, execute os comandos de "Automated Verification" descritos na Spec.
+ - PAUSE para confirmação manual do usuário após cada fase concluída.
+4. **Progress:** Atualize os checkboxes (- [x]) no arquivo de Spec conforme avança.
+
+## OUTPUT:
+- Código fonte implementado.
+- Relatório de conclusão de fase com resultados de testes.
+- **Ação Final:** Pergunte se o usuário deseja realizar testes de regressão ou seguir para a próxima task.
\ No newline at end of file
diff --git a/packages/llm/skills/ab-test-setup/SKILL.md b/packages/llm/skills/ab-test-setup/SKILL.md
new file mode 100644
index 00000000..e72382ee
--- /dev/null
+++ b/packages/llm/skills/ab-test-setup/SKILL.md
@@ -0,0 +1,238 @@
+---
+name: ab-test-setup
+description: "Structured guide for setting up A/B tests with mandatory gates for hypothesis, metrics, and execution readiness."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# A/B Test Setup
+
+## 1️⃣ Purpose & Scope
+
+Ensure every A/B test is **valid, rigorous, and safe** before a single line of code is written.
+
+- Prevents "peeking"
+- Enforces statistical power
+- Blocks invalid hypotheses
+
+---
+
+## 2️⃣ Pre-Requisites
+
+You must have:
+
+- A clear user problem
+- Access to an analytics source
+- Roughly estimated traffic volume
+
+### Hypothesis Quality Checklist
+
+A valid hypothesis includes:
+
+- Observation or evidence
+- Single, specific change
+- Directional expectation
+- Defined audience
+- Measurable success criteria
+
+---
+
+### 3️⃣ Hypothesis Lock (Hard Gate)
+
+Before designing variants or metrics, you MUST:
+
+- Present the **final hypothesis**
+- Specify:
+ - Target audience
+ - Primary metric
+ - Expected direction of effect
+ - Minimum Detectable Effect (MDE)
+
+Ask explicitly:
+
+> “Is this the final hypothesis we are committing to for this test?”
+
+**Do NOT proceed until confirmed.**
+
+---
+
+### 4️⃣ Assumptions & Validity Check (Mandatory)
+
+Explicitly list assumptions about:
+
+- Traffic stability
+- User independence
+- Metric reliability
+- Randomization quality
+- External factors (seasonality, campaigns, releases)
+
+If assumptions are weak or violated:
+
+- Warn the user
+- Recommend delaying or redesigning the test
+
+---
+
+### 5️⃣ Test Type Selection
+
+Choose the simplest valid test:
+
+- **A/B Test** – single change, two variants
+- **A/B/n Test** – multiple variants, higher traffic required
+- **Multivariate Test (MVT)** – interaction effects, very high traffic
+- **Split URL Test** – major structural changes
+
+Default to **A/B** unless there is a clear reason otherwise.
+
+---
+
+### 6️⃣ Metrics Definition
+
+#### Primary Metric (Mandatory)
+
+- Single metric used to evaluate success
+- Directly tied to the hypothesis
+- Pre-defined and frozen before launch
+
+#### Secondary Metrics
+
+- Provide context
+- Explain _why_ results occurred
+- Must not override the primary metric
+
+#### Guardrail Metrics
+
+- Metrics that must not degrade
+- Used to prevent harmful wins
+- Trigger test stop if significantly negative
+
+---
+
+### 7️⃣ Sample Size & Duration
+
+Define upfront:
+
+- Baseline rate
+- MDE
+- Significance level (typically 95%)
+- Statistical power (typically 80%)
+
+Estimate:
+
+- Required sample size per variant
+- Expected test duration
+
+**Do NOT proceed without a realistic sample size estimate.**
+
+---
+
+### 8️⃣ Execution Readiness Gate (Hard Stop)
+
+You may proceed to implementation **only if all are true**:
+
+- Hypothesis is locked
+- Primary metric is frozen
+- Sample size is calculated
+- Test duration is defined
+- Guardrails are set
+- Tracking is verified
+
+If any item is missing, stop and resolve it.
+
+---
+
+## Running the Test
+
+### During the Test
+
+**DO:**
+
+- Monitor technical health
+- Document external factors
+
+**DO NOT:**
+
+- Stop early due to “good-looking” results
+- Change variants mid-test
+- Add new traffic sources
+- Redefine success criteria
+
+---
+
+## Analyzing Results
+
+### Analysis Discipline
+
+When interpreting results:
+
+- Do NOT generalize beyond the tested population
+- Do NOT claim causality beyond the tested change
+- Do NOT override guardrail failures
+- Separate statistical significance from business judgment
+
+### Interpretation Outcomes
+
+| Result | Action |
+| -------------------- | -------------------------------------- |
+| Significant positive | Consider rollout |
+| Significant negative | Reject variant, document learning |
+| Inconclusive | Consider more traffic or bolder change |
+| Guardrail failure | Do not ship, even if primary wins |
+
+---
+
+## Documentation & Learning
+
+### Test Record (Mandatory)
+
+Document:
+
+- Hypothesis
+- Variants
+- Metrics
+- Sample size vs achieved
+- Results
+- Decision
+- Learnings
+- Follow-up ideas
+
+Store records in a shared, searchable location to avoid repeated failures.
+
+---
+
+## Refusal Conditions (Safety)
+
+Refuse to proceed if:
+
+- Baseline rate is unknown and cannot be estimated
+- Traffic is insufficient to detect the MDE
+- Primary metric is undefined
+- Multiple variables are changed without proper design
+- Hypothesis cannot be clearly stated
+
+Explain why and recommend next steps.
+
+---
+
+## Key Principles (Non-Negotiable)
+
+- One hypothesis per test
+- One primary metric
+- Commit before launch
+- No peeking
+- Learning over winning
+- Statistical rigor first
+
+---
+
+## Final Reminder
+
+A/B testing is not about proving ideas right.
+It is about **learning the truth with confidence**.
+
+If you feel tempted to rush, simplify, or “just try it” —
+that is the signal to **slow down and re-check the design**.
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/activecampaign-automation/SKILL.md b/packages/llm/skills/activecampaign-automation/SKILL.md
new file mode 100644
index 00000000..a3c6d2cb
--- /dev/null
+++ b/packages/llm/skills/activecampaign-automation/SKILL.md
@@ -0,0 +1,213 @@
+---
+name: activecampaign-automation
+description: "Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# ActiveCampaign Automation via Rube MCP
+
+Automate ActiveCampaign CRM and marketing automation operations through Composio's ActiveCampaign toolkit via Rube MCP.
+
+## Prerequisites
+
+- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
+- Active ActiveCampaign connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`
+- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
+
+## Setup
+
+**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
+
+
+1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
+2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `active_campaign`
+3. If connection is not ACTIVE, follow the returned auth link to complete ActiveCampaign authentication
+4. Confirm connection status shows ACTIVE before running any workflows
+
+## Core Workflows
+
+### 1. Create and Find Contacts
+
+**When to use**: User wants to create new contacts or look up existing ones
+
+**Tool sequence**:
+1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Search for an existing contact [Optional]
+2. `ACTIVE_CAMPAIGN_CREATE_CONTACT` - Create a new contact [Required]
+
+**Key parameters for find**:
+- `email`: Search by email address
+- `id`: Search by ActiveCampaign contact ID
+- `phone`: Search by phone number
+
+**Key parameters for create**:
+- `email`: Contact email address (required)
+- `first_name`: Contact first name
+- `last_name`: Contact last name
+- `phone`: Contact phone number
+- `organization_name`: Contact's organization
+- `job_title`: Contact's job title
+- `tags`: Comma-separated list of tags to apply
+
+**Pitfalls**:
+- `email` is the only required field for contact creation
+- Phone search uses a general search parameter internally; it may return partial matches
+- When combining `email` and `phone` in FIND_CONTACT, results are filtered client-side
+- Tags provided during creation are applied immediately
+- Creating a contact with an existing email may update the existing contact
+
+### 2. Manage Contact Tags
+
+**When to use**: User wants to add or remove tags from contacts
+
+**Tool sequence**:
+1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find contact by email or ID [Prerequisite]
+2. `ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG` - Add or remove tags [Required]
+
+**Key parameters**:
+- `action`: 'Add' or 'Remove' (required)
+- `tags`: Tag names as comma-separated string or array of strings (required)
+- `contact_id`: Contact ID (provide this or contact_email)
+- `contact_email`: Contact email address (alternative to contact_id)
+
+**Pitfalls**:
+- `action` values are capitalized: 'Add' or 'Remove' (not lowercase)
+- Tags can be a comma-separated string ('tag1, tag2') or an array (['tag1', 'tag2'])
+- Either `contact_id` or `contact_email` must be provided; `contact_id` takes precedence
+- Adding a tag that does not exist creates it automatically
+- Removing a non-existent tag is a no-op (does not error)
+
+### 3. Manage List Subscriptions
+
+**When to use**: User wants to subscribe or unsubscribe contacts from lists
+
+**Tool sequence**:
+1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact [Prerequisite]
+2. `ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION` - Subscribe or unsubscribe [Required]
+
+**Key parameters**:
+- `action`: 'subscribe' or 'unsubscribe' (required)
+- `list_id`: Numeric list ID string (required)
+- `email`: Contact email address (provide this or contact_id)
+- `contact_id`: Numeric contact ID string (alternative to email)
+
+**Pitfalls**:
+- `action` values are lowercase: 'subscribe' or 'unsubscribe'
+- `list_id` is a numeric string (e.g., '2'), not the list name
+- List IDs can be retrieved via the GET /api/3/lists endpoint (not available as a Composio tool; use the ActiveCampaign UI)
+- If both `email` and `contact_id` are provided, `contact_id` takes precedence
+- Unsubscribing changes status to '2' (unsubscribed) but the relationship record persists
+
+### 4. Add Contacts to Automations
+
+**When to use**: User wants to enroll a contact in an automation workflow
+
+**Tool sequence**:
+1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Verify contact exists [Prerequisite]
+2. `ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION` - Enroll contact in automation [Required]
+
+**Key parameters**:
+- `contact_email`: Email of the contact to enroll (required)
+- `automation_id`: ID of the target automation (required)
+
+**Pitfalls**:
+- The contact must already exist in ActiveCampaign
+- Automations can only be created through the ActiveCampaign UI, not via API
+- `automation_id` must reference an existing, active automation
+- The tool performs a two-step process: lookup contact by email, then enroll
+- Automation IDs can be found in the ActiveCampaign UI or via GET /api/3/automations
+
+### 5. Create Contact Tasks
+
+**When to use**: User wants to create follow-up tasks associated with contacts
+
+**Tool sequence**:
+1. `ACTIVE_CAMPAIGN_FIND_CONTACT` - Find the contact to associate the task with [Prerequisite]
+2. `ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK` - Create the task [Required]
+
+**Key parameters**:
+- `relid`: Contact ID to associate the task with (required)
+- `duedate`: Due date in ISO 8601 format with timezone (required, e.g., '2025-01-15T14:30:00-05:00')
+- `dealTasktype`: Task type ID based on available types (required)
+- `title`: Task title
+- `note`: Task description/content
+- `assignee`: User ID to assign the task to
+- `edate`: End date in ISO 8601 format (must be later than duedate)
+- `status`: 0 for incomplete, 1 for complete
+
+**Pitfalls**:
+- `duedate` must be a valid ISO 8601 datetime with timezone offset; do NOT use placeholder values
+- `edate` must be later than `duedate`
+- `dealTasktype` is a string ID referencing task types configured in ActiveCampaign
+- `relid` is the numeric contact ID, not the email address
+- `assignee` is a user ID; resolve user names to IDs via the ActiveCampaign UI
+
+## Common Patterns
+
+### Contact Lookup Flow
+
+```
+1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email
+2. If found, extract contact ID for subsequent operations
+3. If not found, create contact with ACTIVE_CAMPAIGN_CREATE_CONTACT
+4. Use contact ID for tags, subscriptions, or automations
+```
+
+### Bulk Contact Tagging
+
+```
+1. For each contact, call ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG
+2. Use contact_email to avoid separate lookup calls
+3. Batch with reasonable delays to respect rate limits
+```
+
+### ID Resolution
+
+**Contact email -> Contact ID**:
+```
+1. Call ACTIVE_CAMPAIGN_FIND_CONTACT with email
+2. Extract id from the response
+```
+
+## Known Pitfalls
+
+**Action Capitalization**:
+- Tag actions: 'Add', 'Remove' (capitalized)
+- Subscription actions: 'subscribe', 'unsubscribe' (lowercase)
+- Mixing up capitalization causes errors
+
+**ID Types**:
+- Contact IDs: numeric strings (e.g., '123')
+- List IDs: numeric strings
+- Automation IDs: numeric strings
+- All IDs should be passed as strings, not integers
+
+**Automations**:
+- Automations cannot be created via API; only enrollment is possible
+- Automation must be active to accept new contacts
+- Enrolling a contact already in the automation may have no effect
+
+**Rate Limits**:
+- ActiveCampaign API has rate limits per account
+- Implement backoff on 429 responses
+- Batch operations should be spaced appropriately
+
+**Response Parsing**:
+- Response data may be nested under `data` or `data.data`
+- Parse defensively with fallback patterns
+- Contact search may return multiple results; match by email for accuracy
+
+## Quick Reference
+
+| Task | Tool Slug | Key Params |
+|------|-----------|------------|
+| Find contact | ACTIVE_CAMPAIGN_FIND_CONTACT | email, id, phone |
+| Create contact | ACTIVE_CAMPAIGN_CREATE_CONTACT | email, first_name, last_name, tags |
+| Add/remove tags | ACTIVE_CAMPAIGN_MANAGE_CONTACT_TAG | action, tags, contact_email |
+| Subscribe/unsubscribe | ACTIVE_CAMPAIGN_MANAGE_LIST_SUBSCRIPTION | action, list_id, email |
+| Add to automation | ACTIVE_CAMPAIGN_ADD_CONTACT_TO_AUTOMATION | contact_email, automation_id |
+| Create task | ACTIVE_CAMPAIGN_CREATE_CONTACT_TASK | relid, duedate, dealTasktype, title |
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/address-github-comments/SKILL.md b/packages/llm/skills/address-github-comments/SKILL.md
new file mode 100644
index 00000000..f65e6724
--- /dev/null
+++ b/packages/llm/skills/address-github-comments/SKILL.md
@@ -0,0 +1,61 @@
+---
+name: address-github-comments
+description: "Use when you need to address review or issue comments on an open GitHub Pull Request using the gh CLI."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Address GitHub Comments
+
+## Overview
+
+Efficiently address PR review comments or issue feedback using the GitHub CLI (`gh`). This skill ensures all feedback is addressed systematically.
+
+## Prerequisites
+
+Ensure `gh` is authenticated.
+
+```bash
+gh auth status
+```
+
+If not logged in, run `gh auth login`.
+
+## Workflow
+
+### 1. Inspect Comments
+
+Fetch the comments for the current branch's PR.
+
+```bash
+gh pr view --comments
+```
+
+Or use a custom script if available to list threads.
+
+### 2. Categorize and Plan
+
+- List the comments and review threads.
+- Propose a fix for each.
+- **Wait for user confirmation** on which comments to address first if there are many.
+
+### 3. Apply Fixes
+
+Apply the code changes for the selected comments.
+
+### 4. Respond to Comments
+
+Once fixed, respond to the threads as resolved.
+
+```bash
+gh pr comment --body "Addressed in latest commit."
+```
+
+## Common Mistakes
+
+- **Applying fixes without understanding context**: Always read the surrounding code of a comment.
+- **Not verifying auth**: Check `gh auth status` before starting.
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agent-evaluation/SKILL.md b/packages/llm/skills/agent-evaluation/SKILL.md
new file mode 100644
index 00000000..36a97c1f
--- /dev/null
+++ b/packages/llm/skills/agent-evaluation/SKILL.md
@@ -0,0 +1,69 @@
+---
+name: agent-evaluation
+description: "Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring\u2014where even top agents achieve less than 50% on re..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# Agent Evaluation
+
+You're a quality engineer who has seen agents that aced benchmarks fail spectacularly in
+production. You've learned that evaluating LLM agents is fundamentally different from
+testing traditional software—the same input can produce different outputs, and "correct"
+often has no single answer.
+
+You've built evaluation frameworks that catch issues before production: behavioral regression
+tests, capability assessments, and reliability metrics. You understand that the goal isn't
+100% test pass rate—it
+
+## Capabilities
+
+- agent-testing
+- benchmark-design
+- capability-assessment
+- reliability-metrics
+- regression-testing
+
+## Requirements
+
+- testing-fundamentals
+- llm-fundamentals
+
+## Patterns
+
+### Statistical Test Evaluation
+
+Run tests multiple times and analyze result distributions
+
+### Behavioral Contract Testing
+
+Define and test agent behavioral invariants
+
+### Adversarial Testing
+
+Actively try to break agent behavior
+
+## Anti-Patterns
+
+### ❌ Single-Run Testing
+
+### ❌ Only Happy Path Tests
+
+### ❌ Output String Matching
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| Agent scores well on benchmarks but fails in production | high | // Bridge benchmark and production evaluation |
+| Same test passes sometimes, fails other times | high | // Handle flaky tests in LLM agent evaluation |
+| Agent optimized for metric, not actual task | medium | // Multi-dimensional evaluation to prevent gaming |
+| Test data accidentally used in training or prompts | critical | // Prevent data leakage in agent evaluation |
+
+## Related Skills
+
+Works well with: `multi-agent-orchestration`, `agent-communication`, `autonomous-agents`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agent-framework-azure-ai-py/SKILL.md b/packages/llm/skills/agent-framework-azure-ai-py/SKILL.md
new file mode 100644
index 00000000..6407dea3
--- /dev/null
+++ b/packages/llm/skills/agent-framework-azure-ai-py/SKILL.md
@@ -0,0 +1,338 @@
+---
+name: agent-framework-azure-ai-py
+description: "Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code int..."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Agent Framework Azure Hosted Agents
+
+Build persistent agents on Azure AI Foundry using the Microsoft Agent Framework Python SDK.
+
+## Architecture
+
+```
+User Query → AzureAIAgentsProvider → Azure AI Agent Service (Persistent)
+ ↓
+ Agent.run() / Agent.run_stream()
+ ↓
+ Tools: Functions | Hosted (Code/Search/Web) | MCP
+ ↓
+ AgentThread (conversation persistence)
+```
+
+## Installation
+
+```bash
+# Full framework (recommended)
+pip install agent-framework --pre
+
+# Or Azure-specific package only
+pip install agent-framework-azure-ai --pre
+```
+
+## Environment Variables
+
+```bash
+export AZURE_AI_PROJECT_ENDPOINT="https://.services.ai.azure.com/api/projects/"
+export AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-4o-mini"
+export BING_CONNECTION_ID="your-bing-connection-id" # For web search
+```
+
+## Authentication
+
+```python
+from azure.identity.aio import AzureCliCredential, DefaultAzureCredential
+
+# Development
+credential = AzureCliCredential()
+
+# Production
+credential = DefaultAzureCredential()
+```
+
+## Core Workflow
+
+### Basic Agent
+
+```python
+import asyncio
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="MyAgent",
+ instructions="You are a helpful assistant.",
+ )
+
+ result = await agent.run("Hello!")
+ print(result.text)
+
+asyncio.run(main())
+```
+
+### Agent with Function Tools
+
+```python
+from typing import Annotated
+from pydantic import Field
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+def get_weather(
+ location: Annotated[str, Field(description="City name to get weather for")],
+) -> str:
+ """Get the current weather for a location."""
+ return f"Weather in {location}: 72°F, sunny"
+
+def get_current_time() -> str:
+ """Get the current UTC time."""
+ from datetime import datetime, timezone
+ return datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S UTC")
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="WeatherAgent",
+ instructions="You help with weather and time queries.",
+ tools=[get_weather, get_current_time], # Pass functions directly
+ )
+
+ result = await agent.run("What's the weather in Seattle?")
+ print(result.text)
+```
+
+### Agent with Hosted Tools
+
+```python
+from agent_framework import (
+ HostedCodeInterpreterTool,
+ HostedFileSearchTool,
+ HostedWebSearchTool,
+)
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="MultiToolAgent",
+ instructions="You can execute code, search files, and search the web.",
+ tools=[
+ HostedCodeInterpreterTool(),
+ HostedWebSearchTool(name="Bing"),
+ ],
+ )
+
+ result = await agent.run("Calculate the factorial of 20 in Python")
+ print(result.text)
+```
+
+### Streaming Responses
+
+```python
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="StreamingAgent",
+ instructions="You are a helpful assistant.",
+ )
+
+ print("Agent: ", end="", flush=True)
+ async for chunk in agent.run_stream("Tell me a short story"):
+ if chunk.text:
+ print(chunk.text, end="", flush=True)
+ print()
+```
+
+### Conversation Threads
+
+```python
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="ChatAgent",
+ instructions="You are a helpful assistant.",
+ tools=[get_weather],
+ )
+
+ # Create thread for conversation persistence
+ thread = agent.get_new_thread()
+
+ # First turn
+ result1 = await agent.run("What's the weather in Seattle?", thread=thread)
+ print(f"Agent: {result1.text}")
+
+ # Second turn - context is maintained
+ result2 = await agent.run("What about Portland?", thread=thread)
+ print(f"Agent: {result2.text}")
+
+ # Save thread ID for later resumption
+ print(f"Conversation ID: {thread.conversation_id}")
+```
+
+### Structured Outputs
+
+```python
+from pydantic import BaseModel, ConfigDict
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+class WeatherResponse(BaseModel):
+ model_config = ConfigDict(extra="forbid")
+
+ location: str
+ temperature: float
+ unit: str
+ conditions: str
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="StructuredAgent",
+ instructions="Provide weather information in structured format.",
+ response_format=WeatherResponse,
+ )
+
+ result = await agent.run("Weather in Seattle?")
+ weather = WeatherResponse.model_validate_json(result.text)
+ print(f"{weather.location}: {weather.temperature}°{weather.unit}")
+```
+
+## Provider Methods
+
+| Method | Description |
+|--------|-------------|
+| `create_agent()` | Create new agent on Azure AI service |
+| `get_agent(agent_id)` | Retrieve existing agent by ID |
+| `as_agent(sdk_agent)` | Wrap SDK Agent object (no HTTP call) |
+
+## Hosted Tools Quick Reference
+
+| Tool | Import | Purpose |
+|------|--------|---------|
+| `HostedCodeInterpreterTool` | `from agent_framework import HostedCodeInterpreterTool` | Execute Python code |
+| `HostedFileSearchTool` | `from agent_framework import HostedFileSearchTool` | Search vector stores |
+| `HostedWebSearchTool` | `from agent_framework import HostedWebSearchTool` | Bing web search |
+| `HostedMCPTool` | `from agent_framework import HostedMCPTool` | Service-managed MCP |
+| `MCPStreamableHTTPTool` | `from agent_framework import MCPStreamableHTTPTool` | Client-managed MCP |
+
+## Complete Example
+
+```python
+import asyncio
+from typing import Annotated
+from pydantic import BaseModel, Field
+from agent_framework import (
+ HostedCodeInterpreterTool,
+ HostedWebSearchTool,
+ MCPStreamableHTTPTool,
+)
+from agent_framework.azure import AzureAIAgentsProvider
+from azure.identity.aio import AzureCliCredential
+
+
+def get_weather(
+ location: Annotated[str, Field(description="City name")],
+) -> str:
+ """Get weather for a location."""
+ return f"Weather in {location}: 72°F, sunny"
+
+
+class AnalysisResult(BaseModel):
+ summary: str
+ key_findings: list[str]
+ confidence: float
+
+
+async def main():
+ async with (
+ AzureCliCredential() as credential,
+ MCPStreamableHTTPTool(
+ name="Docs MCP",
+ url="https://learn.microsoft.com/api/mcp",
+ ) as mcp_tool,
+ AzureAIAgentsProvider(credential=credential) as provider,
+ ):
+ agent = await provider.create_agent(
+ name="ResearchAssistant",
+ instructions="You are a research assistant with multiple capabilities.",
+ tools=[
+ get_weather,
+ HostedCodeInterpreterTool(),
+ HostedWebSearchTool(name="Bing"),
+ mcp_tool,
+ ],
+ )
+
+ thread = agent.get_new_thread()
+
+ # Non-streaming
+ result = await agent.run(
+ "Search for Python best practices and summarize",
+ thread=thread,
+ )
+ print(f"Response: {result.text}")
+
+ # Streaming
+ print("\nStreaming: ", end="")
+ async for chunk in agent.run_stream("Continue with examples", thread=thread):
+ if chunk.text:
+ print(chunk.text, end="", flush=True)
+ print()
+
+ # Structured output
+ result = await agent.run(
+ "Analyze findings",
+ thread=thread,
+ response_format=AnalysisResult,
+ )
+ analysis = AnalysisResult.model_validate_json(result.text)
+ print(f"\nConfidence: {analysis.confidence}")
+
+
+if __name__ == "__main__":
+ asyncio.run(main())
+```
+
+## Conventions
+
+- Always use async context managers: `async with provider:`
+- Pass functions directly to `tools=` parameter (auto-converted to AIFunction)
+- Use `Annotated[type, Field(description=...)]` for function parameters
+- Use `get_new_thread()` for multi-turn conversations
+- Prefer `HostedMCPTool` for service-managed MCP, `MCPStreamableHTTPTool` for client-managed
+
+## Reference Files
+
+- references/tools.md: Detailed hosted tool patterns
+- references/mcp.md: MCP integration (hosted + local)
+- references/threads.md: Thread and conversation management
+- references/advanced.md: OpenAPI, citations, structured outputs
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agent-manager-skill/SKILL.md b/packages/llm/skills/agent-manager-skill/SKILL.md
new file mode 100644
index 00000000..f898fca1
--- /dev/null
+++ b/packages/llm/skills/agent-manager-skill/SKILL.md
@@ -0,0 +1,43 @@
+---
+name: agent-manager-skill
+description: "Manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Agent Manager Skill
+
+## When to use
+
+Use this skill when you need to:
+
+- run multiple local CLI agents in parallel (separate tmux sessions)
+- start/stop agents and tail their logs
+- assign tasks to agents and monitor output
+- schedule recurring agent work (cron)
+
+## Prerequisites
+
+Install `agent-manager-skill` in your workspace:
+
+```bash
+git clone https://github.com/fractalmind-ai/agent-manager-skill.git
+```
+
+## Common commands
+
+```bash
+python3 agent-manager/scripts/main.py doctor
+python3 agent-manager/scripts/main.py list
+python3 agent-manager/scripts/main.py start EMP_0001
+python3 agent-manager/scripts/main.py monitor EMP_0001 --follow
+python3 agent-manager/scripts/main.py assign EMP_0002 <<'EOF'
+Follow teams/fractalmind-ai-maintenance.md Workflow
+EOF
+```
+
+## Notes
+
+- Requires `tmux` and `python3`.
+- Agents are configured under an `agents/` directory (see the repo for examples).
diff --git a/packages/llm/skills/agent-memory-mcp/SKILL.md b/packages/llm/skills/agent-memory-mcp/SKILL.md
new file mode 100644
index 00000000..224a5095
--- /dev/null
+++ b/packages/llm/skills/agent-memory-mcp/SKILL.md
@@ -0,0 +1,87 @@
+---
+name: agent-memory-mcp
+description: "A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions)."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Agent Memory Skill
+
+This skill provides a persistent, searchable memory bank that automatically syncs with project documentation. It runs as an MCP server to allow reading/writing/searching of long-term memories.
+
+## Prerequisites
+
+- Node.js (v18+)
+
+## Setup
+
+1. **Clone the Repository**:
+ Clone the `agentMemory` project into your agent's workspace or a parallel directory:
+
+ ```bash
+ git clone https://github.com/webzler/agentMemory.git .agent/skills/agent-memory
+ ```
+
+2. **Install Dependencies**:
+
+ ```bash
+ cd .agent/skills/agent-memory
+ npm install
+ npm run compile
+ ```
+
+3. **Start the MCP Server**:
+ Use the helper script to activate the memory bank for your current project:
+
+ ```bash
+ npm run start-server
+ ```
+
+ _Example for current directory:_
+
+ ```bash
+ npm run start-server my-project $(pwd)
+ ```
+
+## Capabilities (MCP Tools)
+
+### `memory_search`
+
+Search for memories by query, type, or tags.
+
+- **Args**: `query` (string), `type?` (string), `tags?` (string[])
+- **Usage**: "Find all authentication patterns" -> `memory_search({ query: "authentication", type: "pattern" })`
+
+### `memory_write`
+
+Record new knowledge or decisions.
+
+- **Args**: `key` (string), `type` (string), `content` (string), `tags?` (string[])
+- **Usage**: "Save this architecture decision" -> `memory_write({ key: "auth-v1", type: "decision", content: "..." })`
+
+### `memory_read`
+
+Retrieve specific memory content by key.
+
+- **Args**: `key` (string)
+- **Usage**: "Get the auth design" -> `memory_read({ key: "auth-v1" })`
+
+### `memory_stats`
+
+View analytics on memory usage.
+
+- **Usage**: "Show memory statistics" -> `memory_stats({})`
+
+## Dashboard
+
+This skill includes a standalone dashboard to visualize memory usage.
+
+```bash
+npm run start-dashboard
+```
+
+Access at: `http://localhost:3333`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agent-memory-systems/SKILL.md b/packages/llm/skills/agent-memory-systems/SKILL.md
new file mode 100644
index 00000000..0d6e1e2a
--- /dev/null
+++ b/packages/llm/skills/agent-memory-systems/SKILL.md
@@ -0,0 +1,72 @@
+---
+name: agent-memory-systems
+description: "Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector s..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# Agent Memory Systems
+
+You are a cognitive architect who understands that memory makes agents intelligent.
+You've built memory systems for agents handling millions of interactions. You know
+that the hard part isn't storing - it's retrieving the right memory at the right time.
+
+Your core insight: Memory failures look like intelligence failures. When an agent
+"forgets" or gives inconsistent answers, it's almost always a retrieval problem,
+not a storage problem. You obsess over chunking strategies, embedding quality,
+and
+
+## Capabilities
+
+- agent-memory
+- long-term-memory
+- short-term-memory
+- working-memory
+- episodic-memory
+- semantic-memory
+- procedural-memory
+- memory-retrieval
+- memory-formation
+- memory-decay
+
+## Patterns
+
+### Memory Type Architecture
+
+Choosing the right memory type for different information
+
+### Vector Store Selection Pattern
+
+Choosing the right vector database for your use case
+
+### Chunking Strategy Pattern
+
+Breaking documents into retrievable chunks
+
+## Anti-Patterns
+
+### ❌ Store Everything Forever
+
+### ❌ Chunk Without Testing Retrieval
+
+### ❌ Single Memory Type for All Data
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| Issue | critical | ## Contextual Chunking (Anthropic's approach) |
+| Issue | high | ## Test different sizes |
+| Issue | high | ## Always filter by metadata first |
+| Issue | high | ## Add temporal scoring |
+| Issue | medium | ## Detect conflicts on storage |
+| Issue | medium | ## Budget tokens for different memory types |
+| Issue | medium | ## Track embedding model in metadata |
+
+## Related Skills
+
+Works well with: `autonomous-agents`, `multi-agent-orchestration`, `llm-architect`, `agent-tool-builder`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agent-orchestration-improve-agent/SKILL.md b/packages/llm/skills/agent-orchestration-improve-agent/SKILL.md
new file mode 100644
index 00000000..b7eb4207
--- /dev/null
+++ b/packages/llm/skills/agent-orchestration-improve-agent/SKILL.md
@@ -0,0 +1,352 @@
+---
+name: agent-orchestration-improve-agent
+description: "Systematic improvement of existing agents through performance analysis, prompt engineering, and continuous iteration."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Agent Performance Optimization Workflow
+
+Systematic improvement of existing agents through performance analysis, prompt engineering, and continuous iteration.
+
+[Extended thinking: Agent optimization requires a data-driven approach combining performance metrics, user feedback analysis, and advanced prompt engineering techniques. Success depends on systematic evaluation, targeted improvements, and rigorous testing with rollback capabilities for production safety.]
+
+## Use this skill when
+
+- Improving an existing agent's performance or reliability
+- Analyzing failure modes, prompt quality, or tool usage
+- Running structured A/B tests or evaluation suites
+- Designing iterative optimization workflows for agents
+
+## Do not use this skill when
+
+- You are building a brand-new agent from scratch
+- There are no metrics, feedback, or test cases available
+- The task is unrelated to agent performance or prompt quality
+
+## Instructions
+
+1. Establish baseline metrics and collect representative examples.
+2. Identify failure modes and prioritize high-impact fixes.
+3. Apply prompt and workflow improvements with measurable goals.
+4. Validate with tests and roll out changes in controlled stages.
+
+## Safety
+
+- Avoid deploying prompt changes without regression testing.
+- Roll back quickly if quality or safety metrics regress.
+
+## Phase 1: Performance Analysis and Baseline Metrics
+
+Comprehensive analysis of agent performance using context-manager for historical data collection.
+
+### 1.1 Gather Performance Data
+
+```
+Use: context-manager
+Command: analyze-agent-performance $ARGUMENTS --days 30
+```
+
+Collect metrics including:
+
+- Task completion rate (successful vs failed tasks)
+- Response accuracy and factual correctness
+- Tool usage efficiency (correct tools, call frequency)
+- Average response time and token consumption
+- User satisfaction indicators (corrections, retries)
+- Hallucination incidents and error patterns
+
+### 1.2 User Feedback Pattern Analysis
+
+Identify recurring patterns in user interactions:
+
+- **Correction patterns**: Where users consistently modify outputs
+- **Clarification requests**: Common areas of ambiguity
+- **Task abandonment**: Points where users give up
+- **Follow-up questions**: Indicators of incomplete responses
+- **Positive feedback**: Successful patterns to preserve
+
+### 1.3 Failure Mode Classification
+
+Categorize failures by root cause:
+
+- **Instruction misunderstanding**: Role or task confusion
+- **Output format errors**: Structure or formatting issues
+- **Context loss**: Long conversation degradation
+- **Tool misuse**: Incorrect or inefficient tool selection
+- **Constraint violations**: Safety or business rule breaches
+- **Edge case handling**: Unusual input scenarios
+
+### 1.4 Baseline Performance Report
+
+Generate quantitative baseline metrics:
+
+```
+Performance Baseline:
+- Task Success Rate: [X%]
+- Average Corrections per Task: [Y]
+- Tool Call Efficiency: [Z%]
+- User Satisfaction Score: [1-10]
+- Average Response Latency: [Xms]
+- Token Efficiency Ratio: [X:Y]
+```
+
+## Phase 2: Prompt Engineering Improvements
+
+Apply advanced prompt optimization techniques using prompt-engineer agent.
+
+### 2.1 Chain-of-Thought Enhancement
+
+Implement structured reasoning patterns:
+
+```
+Use: prompt-engineer
+Technique: chain-of-thought-optimization
+```
+
+- Add explicit reasoning steps: "Let's approach this step-by-step..."
+- Include self-verification checkpoints: "Before proceeding, verify that..."
+- Implement recursive decomposition for complex tasks
+- Add reasoning trace visibility for debugging
+
+### 2.2 Few-Shot Example Optimization
+
+Curate high-quality examples from successful interactions:
+
+- **Select diverse examples** covering common use cases
+- **Include edge cases** that previously failed
+- **Show both positive and negative examples** with explanations
+- **Order examples** from simple to complex
+- **Annotate examples** with key decision points
+
+Example structure:
+
+```
+Good Example:
+Input: [User request]
+Reasoning: [Step-by-step thought process]
+Output: [Successful response]
+Why this works: [Key success factors]
+
+Bad Example:
+Input: [Similar request]
+Output: [Failed response]
+Why this fails: [Specific issues]
+Correct approach: [Fixed version]
+```
+
+### 2.3 Role Definition Refinement
+
+Strengthen agent identity and capabilities:
+
+- **Core purpose**: Clear, single-sentence mission
+- **Expertise domains**: Specific knowledge areas
+- **Behavioral traits**: Personality and interaction style
+- **Tool proficiency**: Available tools and when to use them
+- **Constraints**: What the agent should NOT do
+- **Success criteria**: How to measure task completion
+
+### 2.4 Constitutional AI Integration
+
+Implement self-correction mechanisms:
+
+```
+Constitutional Principles:
+1. Verify factual accuracy before responding
+2. Self-check for potential biases or harmful content
+3. Validate output format matches requirements
+4. Ensure response completeness
+5. Maintain consistency with previous responses
+```
+
+Add critique-and-revise loops:
+
+- Initial response generation
+- Self-critique against principles
+- Automatic revision if issues detected
+- Final validation before output
+
+### 2.5 Output Format Tuning
+
+Optimize response structure:
+
+- **Structured templates** for common tasks
+- **Dynamic formatting** based on complexity
+- **Progressive disclosure** for detailed information
+- **Markdown optimization** for readability
+- **Code block formatting** with syntax highlighting
+- **Table and list generation** for data presentation
+
+## Phase 3: Testing and Validation
+
+Comprehensive testing framework with A/B comparison.
+
+### 3.1 Test Suite Development
+
+Create representative test scenarios:
+
+```
+Test Categories:
+1. Golden path scenarios (common successful cases)
+2. Previously failed tasks (regression testing)
+3. Edge cases and corner scenarios
+4. Stress tests (complex, multi-step tasks)
+5. Adversarial inputs (potential breaking points)
+6. Cross-domain tasks (combining capabilities)
+```
+
+### 3.2 A/B Testing Framework
+
+Compare original vs improved agent:
+
+```
+Use: parallel-test-runner
+Config:
+ - Agent A: Original version
+ - Agent B: Improved version
+ - Test set: 100 representative tasks
+ - Metrics: Success rate, speed, token usage
+ - Evaluation: Blind human review + automated scoring
+```
+
+Statistical significance testing:
+
+- Minimum sample size: 100 tasks per variant
+- Confidence level: 95% (p < 0.05)
+- Effect size calculation (Cohen's d)
+- Power analysis for future tests
+
+### 3.3 Evaluation Metrics
+
+Comprehensive scoring framework:
+
+**Task-Level Metrics:**
+
+- Completion rate (binary success/failure)
+- Correctness score (0-100% accuracy)
+- Efficiency score (steps taken vs optimal)
+- Tool usage appropriateness
+- Response relevance and completeness
+
+**Quality Metrics:**
+
+- Hallucination rate (factual errors per response)
+- Consistency score (alignment with previous responses)
+- Format compliance (matches specified structure)
+- Safety score (constraint adherence)
+- User satisfaction prediction
+
+**Performance Metrics:**
+
+- Response latency (time to first token)
+- Total generation time
+- Token consumption (input + output)
+- Cost per task (API usage fees)
+- Memory/context efficiency
+
+### 3.4 Human Evaluation Protocol
+
+Structured human review process:
+
+- Blind evaluation (evaluators don't know version)
+- Standardized rubric with clear criteria
+- Multiple evaluators per sample (inter-rater reliability)
+- Qualitative feedback collection
+- Preference ranking (A vs B comparison)
+
+## Phase 4: Version Control and Deployment
+
+Safe rollout with monitoring and rollback capabilities.
+
+### 4.1 Version Management
+
+Systematic versioning strategy:
+
+```
+Version Format: agent-name-v[MAJOR].[MINOR].[PATCH]
+Example: customer-support-v2.3.1
+
+MAJOR: Significant capability changes
+MINOR: Prompt improvements, new examples
+PATCH: Bug fixes, minor adjustments
+```
+
+Maintain version history:
+
+- Git-based prompt storage
+- Changelog with improvement details
+- Performance metrics per version
+- Rollback procedures documented
+
+### 4.2 Staged Rollout
+
+Progressive deployment strategy:
+
+1. **Alpha testing**: Internal team validation (5% traffic)
+2. **Beta testing**: Selected users (20% traffic)
+3. **Canary release**: Gradual increase (20% → 50% → 100%)
+4. **Full deployment**: After success criteria met
+5. **Monitoring period**: 7-day observation window
+
+### 4.3 Rollback Procedures
+
+Quick recovery mechanism:
+
+```
+Rollback Triggers:
+- Success rate drops >10% from baseline
+- Critical errors increase >5%
+- User complaints spike
+- Cost per task increases >20%
+- Safety violations detected
+
+Rollback Process:
+1. Detect issue via monitoring
+2. Alert team immediately
+3. Switch to previous stable version
+4. Analyze root cause
+5. Fix and re-test before retry
+```
+
+### 4.4 Continuous Monitoring
+
+Real-time performance tracking:
+
+- Dashboard with key metrics
+- Anomaly detection alerts
+- User feedback collection
+- Automated regression testing
+- Weekly performance reports
+
+## Success Criteria
+
+Agent improvement is successful when:
+
+- Task success rate improves by ≥15%
+- User corrections decrease by ≥25%
+- No increase in safety violations
+- Response time remains within 10% of baseline
+- Cost per task doesn't increase >5%
+- Positive user feedback increases
+
+## Post-Deployment Review
+
+After 30 days of production use:
+
+1. Analyze accumulated performance data
+2. Compare against baseline and targets
+3. Identify new improvement opportunities
+4. Document lessons learned
+5. Plan next optimization cycle
+
+## Continuous Improvement Cycle
+
+Establish regular improvement cadence:
+
+- **Weekly**: Monitor metrics and collect feedback
+- **Monthly**: Analyze patterns and plan improvements
+- **Quarterly**: Major version updates with new capabilities
+- **Annually**: Strategic review and architecture updates
+
+Remember: Agent optimization is an iterative process. Each cycle builds upon previous learnings, gradually improving performance while maintaining stability and safety.
diff --git a/packages/llm/skills/agent-orchestration-multi-agent-optimize/SKILL.md b/packages/llm/skills/agent-orchestration-multi-agent-optimize/SKILL.md
new file mode 100644
index 00000000..bd4e5184
--- /dev/null
+++ b/packages/llm/skills/agent-orchestration-multi-agent-optimize/SKILL.md
@@ -0,0 +1,242 @@
+---
+name: agent-orchestration-multi-agent-optimize
+description: "Optimize multi-agent systems with coordinated profiling, workload distribution, and cost-aware orchestration. Use when improving agent performance, throughput, or reliability."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Multi-Agent Optimization Toolkit
+
+## Use this skill when
+
+- Improving multi-agent coordination, throughput, or latency
+- Profiling agent workflows to identify bottlenecks
+- Designing orchestration strategies for complex workflows
+- Optimizing cost, context usage, or tool efficiency
+
+## Do not use this skill when
+
+- You only need to tune a single agent prompt
+- There are no measurable metrics or evaluation data
+- The task is unrelated to multi-agent orchestration
+
+## Instructions
+
+1. Establish baseline metrics and target performance goals.
+2. Profile agent workloads and identify coordination bottlenecks.
+3. Apply orchestration changes and cost controls incrementally.
+4. Validate improvements with repeatable tests and rollbacks.
+
+## Safety
+
+- Avoid deploying orchestration changes without regression testing.
+- Roll out changes gradually to prevent system-wide regressions.
+
+## Role: AI-Powered Multi-Agent Performance Engineering Specialist
+
+### Context
+
+The Multi-Agent Optimization Tool is an advanced AI-driven framework designed to holistically improve system performance through intelligent, coordinated agent-based optimization. Leveraging cutting-edge AI orchestration techniques, this tool provides a comprehensive approach to performance engineering across multiple domains.
+
+### Core Capabilities
+
+- Intelligent multi-agent coordination
+- Performance profiling and bottleneck identification
+- Adaptive optimization strategies
+- Cross-domain performance optimization
+- Cost and efficiency tracking
+
+## Arguments Handling
+
+The tool processes optimization arguments with flexible input parameters:
+
+- `$TARGET`: Primary system/application to optimize
+- `$PERFORMANCE_GOALS`: Specific performance metrics and objectives
+- `$OPTIMIZATION_SCOPE`: Depth of optimization (quick-win, comprehensive)
+- `$BUDGET_CONSTRAINTS`: Cost and resource limitations
+- `$QUALITY_METRICS`: Performance quality thresholds
+
+## 1. Multi-Agent Performance Profiling
+
+### Profiling Strategy
+
+- Distributed performance monitoring across system layers
+- Real-time metrics collection and analysis
+- Continuous performance signature tracking
+
+#### Profiling Agents
+
+1. **Database Performance Agent**
+ - Query execution time analysis
+ - Index utilization tracking
+ - Resource consumption monitoring
+
+2. **Application Performance Agent**
+ - CPU and memory profiling
+ - Algorithmic complexity assessment
+ - Concurrency and async operation analysis
+
+3. **Frontend Performance Agent**
+ - Rendering performance metrics
+ - Network request optimization
+ - Core Web Vitals monitoring
+
+### Profiling Code Example
+
+```python
+def multi_agent_profiler(target_system):
+ agents = [
+ DatabasePerformanceAgent(target_system),
+ ApplicationPerformanceAgent(target_system),
+ FrontendPerformanceAgent(target_system)
+ ]
+
+ performance_profile = {}
+ for agent in agents:
+ performance_profile[agent.__class__.__name__] = agent.profile()
+
+ return aggregate_performance_metrics(performance_profile)
+```
+
+## 2. Context Window Optimization
+
+### Optimization Techniques
+
+- Intelligent context compression
+- Semantic relevance filtering
+- Dynamic context window resizing
+- Token budget management
+
+### Context Compression Algorithm
+
+```python
+def compress_context(context, max_tokens=4000):
+ # Semantic compression using embedding-based truncation
+ compressed_context = semantic_truncate(
+ context,
+ max_tokens=max_tokens,
+ importance_threshold=0.7
+ )
+ return compressed_context
+```
+
+## 3. Agent Coordination Efficiency
+
+### Coordination Principles
+
+- Parallel execution design
+- Minimal inter-agent communication overhead
+- Dynamic workload distribution
+- Fault-tolerant agent interactions
+
+### Orchestration Framework
+
+```python
+class MultiAgentOrchestrator:
+ def __init__(self, agents):
+ self.agents = agents
+ self.execution_queue = PriorityQueue()
+ self.performance_tracker = PerformanceTracker()
+
+ def optimize(self, target_system):
+ # Parallel agent execution with coordinated optimization
+ with concurrent.futures.ThreadPoolExecutor() as executor:
+ futures = {
+ executor.submit(agent.optimize, target_system): agent
+ for agent in self.agents
+ }
+
+ for future in concurrent.futures.as_completed(futures):
+ agent = futures[future]
+ result = future.result()
+ self.performance_tracker.log(agent, result)
+```
+
+## 4. Parallel Execution Optimization
+
+### Key Strategies
+
+- Asynchronous agent processing
+- Workload partitioning
+- Dynamic resource allocation
+- Minimal blocking operations
+
+## 5. Cost Optimization Strategies
+
+### LLM Cost Management
+
+- Token usage tracking
+- Adaptive model selection
+- Caching and result reuse
+- Efficient prompt engineering
+
+### Cost Tracking Example
+
+```python
+class CostOptimizer:
+ def __init__(self):
+ self.token_budget = 100000 # Monthly budget
+ self.token_usage = 0
+ self.model_costs = {
+ 'gpt-5': 0.03,
+ 'claude-4-sonnet': 0.015,
+ 'claude-4-haiku': 0.0025
+ }
+
+ def select_optimal_model(self, complexity):
+ # Dynamic model selection based on task complexity and budget
+ pass
+```
+
+## 6. Latency Reduction Techniques
+
+### Performance Acceleration
+
+- Predictive caching
+- Pre-warming agent contexts
+- Intelligent result memoization
+- Reduced round-trip communication
+
+## 7. Quality vs Speed Tradeoffs
+
+### Optimization Spectrum
+
+- Performance thresholds
+- Acceptable degradation margins
+- Quality-aware optimization
+- Intelligent compromise selection
+
+## 8. Monitoring and Continuous Improvement
+
+### Observability Framework
+
+- Real-time performance dashboards
+- Automated optimization feedback loops
+- Machine learning-driven improvement
+- Adaptive optimization strategies
+
+## Reference Workflows
+
+### Workflow 1: E-Commerce Platform Optimization
+
+1. Initial performance profiling
+2. Agent-based optimization
+3. Cost and performance tracking
+4. Continuous improvement cycle
+
+### Workflow 2: Enterprise API Performance Enhancement
+
+1. Comprehensive system analysis
+2. Multi-layered agent optimization
+3. Iterative performance refinement
+4. Cost-efficient scaling strategy
+
+## Key Considerations
+
+- Always measure before and after optimization
+- Maintain system stability during optimization
+- Balance performance gains with resource consumption
+- Implement gradual, reversible changes
+
+Target Optimization: $ARGUMENTS
diff --git a/packages/llm/skills/agent-tool-builder/SKILL.md b/packages/llm/skills/agent-tool-builder/SKILL.md
new file mode 100644
index 00000000..06f5a08e
--- /dev/null
+++ b/packages/llm/skills/agent-tool-builder/SKILL.md
@@ -0,0 +1,58 @@
+---
+name: agent-tool-builder
+description: "Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessar..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# Agent Tool Builder
+
+You are an expert in the interface between LLMs and the outside world.
+You've seen tools that work beautifully and tools that cause agents to
+hallucinate, loop, or fail silently. The difference is almost always
+in the design, not the implementation.
+
+Your core insight: The LLM never sees your code. It only sees the schema
+and description. A perfectly implemented tool with a vague description
+will fail. A simple tool with crystal-clear documentation will succeed.
+
+You push for explicit error hand
+
+## Capabilities
+
+- agent-tools
+- function-calling
+- tool-schema-design
+- mcp-tools
+- tool-validation
+- tool-error-handling
+
+## Patterns
+
+### Tool Schema Design
+
+Creating clear, unambiguous JSON Schema for tools
+
+### Tool with Input Examples
+
+Using examples to guide LLM tool usage
+
+### Tool Error Handling
+
+Returning errors that help the LLM recover
+
+## Anti-Patterns
+
+### ❌ Vague Descriptions
+
+### ❌ Silent Failures
+
+### ❌ Too Many Tools
+
+## Related Skills
+
+Works well with: `multi-agent-orchestration`, `api-designer`, `llm-architect`, `backend`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/agentfolio/SKILL.md b/packages/llm/skills/agentfolio/SKILL.md
new file mode 100644
index 00000000..088e63fc
--- /dev/null
+++ b/packages/llm/skills/agentfolio/SKILL.md
@@ -0,0 +1,97 @@
+---
+name: agentfolio
+description: "Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory."
+risk: unknown
+source: agentfolio.io
+date_added: "2026-02-27"
+---
+
+# AgentFolio
+
+**Role**: Autonomous Agent Discovery Guide
+
+Use this skill when you want to **discover, compare, and research autonomous AI agents** across ecosystems.
+AgentFolio is a curated directory at https://agentfolio.io that tracks agent frameworks, products, and tools.
+
+This skill helps you:
+
+- Find existing agents before building your own from scratch.
+- Map the landscape of agent frameworks and hosted products.
+- Collect concrete examples and benchmarks for agent capabilities.
+
+## Capabilities
+
+- Discover autonomous AI agents, frameworks, and tools by use case.
+- Compare agents by capabilities, target users, and integration surfaces.
+- Identify gaps in the market or inspiration for new skills/workflows.
+- Gather example agent behavior and UX patterns for your own designs.
+- Track emerging trends in agent architectures and deployments.
+
+## How to Use AgentFolio
+
+1. **Open the directory**
+ - Visit `https://agentfolio.io` in your browser.
+ - Optionally filter by category (e.g., Dev Tools, Ops, Marketing, Productivity).
+
+2. **Search by intent**
+ - Start from the problem you want to solve:
+ - “customer support agents”
+ - “autonomous coding agents”
+ - “research / analysis agents”
+ - Use keywords in the AgentFolio search bar that match your domain or workflow.
+
+3. **Evaluate candidates**
+ - For each interesting agent, capture:
+ - **Core promise** (what outcome it automates).
+ - **Input / output shape** (APIs, UI, data sources).
+ - **Autonomy model** (one-shot, multi-step, tool-using, human-in-the-loop).
+ - **Deployment model** (SaaS, self-hosted, browser, IDE, etc.).
+
+4. **Synthesize insights**
+ - Use findings to:
+ - Decide whether to integrate an existing agent vs. build your own.
+ - Borrow successful UX and safety patterns.
+ - Position your own agent skills and workflows relative to the ecosystem.
+
+## Example Workflows
+
+### 1) Landscape scan before building a new agent
+
+- Define the problem: “autonomous test failure triage for CI pipelines”.
+- Use AgentFolio to search for:
+ - “testing agent”, “CI agent”, “DevOps assistant”, “incident triage”.
+- For each relevant agent:
+ - Note supported platforms (GitHub, GitLab, Jenkins, etc.).
+ - Capture how they explain autonomy and safety boundaries.
+ - Record pricing/licensing constraints if you plan to adopt instead of build.
+
+### 2) Competitive and inspiration research for a new skill
+
+- If you plan to add a new skill (e.g., observability agent, security agent):
+ - Use AgentFolio to find similar agents and features.
+ - Extract 3–5 concrete patterns you want to emulate or avoid.
+ - Translate those patterns into clear requirements for your own skill.
+
+### 3) Vendor shortlisting
+
+- When choosing between multiple agent vendors:
+ - Use AgentFolio entries as a neutral directory.
+ - Build a comparison table (columns: capabilities, integrations, pricing, trust & security).
+ - Use that table to drive a more formal evaluation or proof-of-concept.
+
+## Example Prompts
+
+Use these prompts when working with this skill in an AI coding agent:
+
+- “Use AgentFolio to find 3 autonomous AI agents focused on code review. For each, summarize the core value prop, supported languages, and how they integrate into developer workflows.”
+- “Scan AgentFolio for agents that help with customer support triage. List the top options, their target customer size (SMB vs. enterprise), and any notable UX patterns.”
+- “Before we build our own research assistant, use AgentFolio to map existing research / analysis agents and highlight gaps we could fill.”
+
+## When to Use
+
+This skill is applicable when you need to **discover or compare autonomous AI agents** instead of building in a vacuum:
+
+- At the start of a new agent or workflow project.
+- When evaluating vendors or tools to integrate.
+- When you want inspiration or best practices from existing agent products.
+
diff --git a/packages/llm/skills/agentmail/SKILL.md b/packages/llm/skills/agentmail/SKILL.md
new file mode 100644
index 00000000..6c4bd7f4
--- /dev/null
+++ b/packages/llm/skills/agentmail/SKILL.md
@@ -0,0 +1,247 @@
+---
+name: agentmail
+description: Email infrastructure for AI agents. Create accounts, send/receive emails, manage webhooks, and check karma balance via the AgentMail API.
+risk: safe
+source: community
+---
+
+# AgentMail — Email for AI Agents
+
+AgentMail gives AI agents real email addresses (`@theagentmail.net`) with a REST API. Agents can send and receive email, sign up for services (GitHub, AWS, Slack, etc.), and get verification codes. A karma system prevents spam and keeps the shared domain's reputation high.
+
+Base URL: `https://api.theagentmail.net`
+
+## Quick start
+
+All requests require `Authorization: Bearer am_...` header (API key from dashboard).
+
+### Create an email account (-10 karma)
+
+```bash
+curl -X POST https://api.theagentmail.net/v1/accounts \
+ -H "Authorization: Bearer am_..." \
+ -H "Content-Type: application/json" \
+ -d '{"address": "my-agent@theagentmail.net"}'
+```
+
+Response: `{"data": {"id": "...", "address": "my-agent@theagentmail.net", "displayName": null, "createdAt": 123}}`
+
+### Send email (-1 karma)
+
+```bash
+curl -X POST https://api.theagentmail.net/v1/accounts/{accountId}/messages \
+ -H "Authorization: Bearer am_..." \
+ -H "Content-Type: application/json" \
+ -d '{
+ "to": ["recipient@example.com"],
+ "subject": "Hello from my agent",
+ "text": "Plain text body",
+ "html": "
Optional HTML body
"
+ }'
+```
+
+Optional fields: `cc`, `bcc` (string arrays), `inReplyTo`, `references` (strings for threading), `attachments` (array of `{filename, contentType, content}` where content is base64).
+
+### Read inbox
+
+```bash
+# List messages
+curl https://api.theagentmail.net/v1/accounts/{accountId}/messages \
+ -H "Authorization: Bearer am_..."
+
+# Get full message (with body and attachments)
+curl https://api.theagentmail.net/v1/accounts/{accountId}/messages/{messageId} \
+ -H "Authorization: Bearer am_..."
+```
+
+### Check karma
+
+```bash
+curl https://api.theagentmail.net/v1/karma \
+ -H "Authorization: Bearer am_..."
+```
+
+Response: `{"data": {"balance": 90, "events": [...]}}`
+
+### Register webhook (real-time inbound)
+
+```bash
+curl -X POST https://api.theagentmail.net/v1/accounts/{accountId}/webhooks \
+ -H "Authorization: Bearer am_..." \
+ -H "Content-Type: application/json" \
+ -d '{"url": "https://my-agent.example.com/inbox"}'
+```
+
+Webhook deliveries include two security headers:
+- `X-AgentMail-Signature` -- HMAC-SHA256 hex digest of the request body, signed with the webhook secret
+- `X-AgentMail-Timestamp` -- millisecond timestamp of when the delivery was sent
+
+Verify the signature and reject requests with timestamps older than 5 minutes to prevent replay attacks:
+
+```typescript
+import { createHmac } from "crypto";
+
+const verifyWebhook = (body: string, signature: string, timestamp: string, secret: string) => {
+ if (Date.now() - Number(timestamp) > 5 * 60 * 1000) return false;
+ return createHmac("sha256", secret).update(body).digest("hex") === signature;
+};
+```
+
+### Download attachment
+
+```bash
+curl https://api.theagentmail.net/v1/accounts/{accountId}/messages/{messageId}/attachments/{attachmentId} \
+ -H "Authorization: Bearer am_..."
+```
+
+Returns `{"data": {"url": "https://signed-download-url..."}}`.
+
+## Full API reference
+
+| Method | Path | Description | Karma |
+|--------|------|-------------|-------|
+| POST | `/v1/accounts` | Create email account | -10 |
+| GET | `/v1/accounts` | List all accounts | |
+| GET | `/v1/accounts/:id` | Get account details | |
+| DELETE | `/v1/accounts/:id` | Delete account | +10 |
+| POST | `/v1/accounts/:id/messages` | Send email | -1 |
+| GET | `/v1/accounts/:id/messages` | List messages | |
+| GET | `/v1/accounts/:id/messages/:msgId` | Get full message | |
+| GET | `/v1/accounts/:id/messages/:msgId/attachments/:attId` | Get attachment URL | |
+| POST | `/v1/accounts/:id/webhooks` | Register webhook | |
+| GET | `/v1/accounts/:id/webhooks` | List webhooks | |
+| DELETE | `/v1/accounts/:id/webhooks/:whId` | Delete webhook | |
+| GET | `/v1/karma` | Get balance + events | |
+
+## Karma system
+
+Every action has a karma cost or reward:
+
+| Event | Karma | Why |
+|---|---|---|
+| `money_paid` | +100 | Purchase credits |
+| `email_received` | +2 | Someone replied from a trusted domain |
+| `account_deleted` | +10 | Karma refunded when you delete an address |
+| `email_sent` | -1 | Sending costs karma |
+| `account_created` | -10 | Creating addresses costs karma |
+
+**Important rules:**
+- Karma is only awarded for inbound emails from trusted providers (Gmail, Outlook, Yahoo, iCloud, ProtonMail, Fastmail, Hey, etc.). Emails from unknown/throwaway domains don't earn karma.
+- You only earn karma once per sender until the agent replies. If sender X emails you 5 times without a reply, only the first earns karma. Reply to X, and the next email from X earns karma again.
+- Deleting an account refunds the 10 karma it cost to create.
+
+When karma reaches 0, sends and account creation return HTTP 402. Always check balance before operations that cost karma.
+
+## TypeScript SDK
+
+```typescript
+import { createClient } from "@agentmail/sdk";
+
+const mail = createClient({ apiKey: "am_..." });
+
+// Create account
+const account = await mail.accounts.create({
+ address: "my-agent@theagentmail.net",
+});
+
+// Send email
+await mail.messages.send(account.id, {
+ to: ["human@example.com"],
+ subject: "Hello",
+ text: "Sent by an AI agent.",
+});
+
+// Read inbox
+const messages = await mail.messages.list(account.id);
+const detail = await mail.messages.get(account.id, messages[0].id);
+
+// Attachments
+const att = await mail.attachments.getUrl(accountId, messageId, attachmentId);
+// att.url is a signed download URL
+
+// Webhooks
+await mail.webhooks.create(account.id, {
+ url: "https://my-agent.example.com/inbox",
+});
+
+// Karma
+const karma = await mail.karma.getBalance();
+console.log(karma.balance);
+```
+
+## Error handling
+
+```typescript
+import { AgentMailError } from "@agentmail/sdk";
+
+try {
+ await mail.messages.send(accountId, { to: ["a@b.com"], subject: "Hi", text: "Hey" });
+} catch (e) {
+ if (e instanceof AgentMailError) {
+ console.log(e.status); // 402, 404, 401, etc.
+ console.log(e.code); // "INSUFFICIENT_KARMA", "NOT_FOUND", etc.
+ console.log(e.message);
+ }
+}
+```
+
+## Common patterns
+
+### Sign up for a service and read verification email
+
+```typescript
+const account = await mail.accounts.create({
+ address: "signup-bot@theagentmail.net",
+});
+
+// Use the address to sign up (browser automation, API, etc.)
+
+// Poll for verification email
+for (let i = 0; i < 30; i++) {
+ const messages = await mail.messages.list(account.id);
+ const verification = messages.find(m =>
+ m.subject.toLowerCase().includes("verify") ||
+ m.subject.toLowerCase().includes("confirm")
+ );
+ if (verification) {
+ const detail = await mail.messages.get(account.id, verification.id);
+ // Parse verification link/code from detail.bodyText or detail.bodyHtml
+ break;
+ }
+ await new Promise(r => setTimeout(r, 2000));
+}
+```
+
+### Send email and wait for reply
+
+```typescript
+const sent = await mail.messages.send(account.id, {
+ to: ["human@company.com"],
+ subject: "Question about order #12345",
+ text: "Can you check the status?",
+});
+
+for (let i = 0; i < 60; i++) {
+ const messages = await mail.messages.list(account.id);
+ const reply = messages.find(m =>
+ m.direction === "inbound" && m.timestamp > sent.timestamp
+ );
+ if (reply) {
+ const detail = await mail.messages.get(account.id, reply.id);
+ // Process reply
+ break;
+ }
+ await new Promise(r => setTimeout(r, 5000));
+}
+```
+
+## Types
+
+```typescript
+type Account = { id: string; address: string; displayName: string | null; createdAt: number };
+type Message = { id: string; from: string; to: string[]; subject: string; direction: "inbound" | "outbound"; status: string; timestamp: number };
+type MessageDetail = Message & { cc: string[] | null; bcc: string[] | null; bodyText: string | null; bodyHtml: string | null; inReplyTo: string | null; references: string | null; attachments: AttachmentMeta[] };
+type AttachmentMeta = { id: string; filename: string; contentType: string; size: number };
+type KarmaBalance = { balance: number; events: KarmaEvent[] };
+type KarmaEvent = { id: string; type: string; amount: number; timestamp: number; metadata?: Record };
+```
diff --git a/packages/llm/skills/agents-v2-py/SKILL.md b/packages/llm/skills/agents-v2-py/SKILL.md
new file mode 100644
index 00000000..aec4c021
--- /dev/null
+++ b/packages/llm/skills/agents-v2-py/SKILL.md
@@ -0,0 +1,326 @@
+---
+name: agents-v2-py
+description: "Build container-based Foundry Agents with Azure AI Projects SDK (ImageBasedHostedAgentDefinition). Use when creating hosted agents with custom container images in Azure AI Foundry."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Azure AI Hosted Agents (Python)
+
+Build container-based hosted agents using `ImageBasedHostedAgentDefinition` from the Azure AI Projects SDK.
+
+## Installation
+
+```bash
+pip install azure-ai-projects>=2.0.0b3 azure-identity
+```
+
+**Minimum SDK Version:** `2.0.0b3` or later required for hosted agent support.
+
+## Environment Variables
+
+```bash
+AZURE_AI_PROJECT_ENDPOINT=https://.services.ai.azure.com/api/projects/
+```
+
+## Prerequisites
+
+Before creating hosted agents:
+
+1. **Container Image** - Build and push to Azure Container Registry (ACR)
+2. **ACR Pull Permissions** - Grant your project's managed identity `AcrPull` role on the ACR
+3. **Capability Host** - Account-level capability host with `enablePublicHostingEnvironment=true`
+4. **SDK Version** - Ensure `azure-ai-projects>=2.0.0b3`
+
+## Authentication
+
+Always use `DefaultAzureCredential`:
+
+```python
+from azure.identity import DefaultAzureCredential
+from azure.ai.projects import AIProjectClient
+
+credential = DefaultAzureCredential()
+client = AIProjectClient(
+ endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ credential=credential
+)
+```
+
+## Core Workflow
+
+### 1. Imports
+
+```python
+import os
+from azure.identity import DefaultAzureCredential
+from azure.ai.projects import AIProjectClient
+from azure.ai.projects.models import (
+ ImageBasedHostedAgentDefinition,
+ ProtocolVersionRecord,
+ AgentProtocol,
+)
+```
+
+### 2. Create Hosted Agent
+
+```python
+client = AIProjectClient(
+ endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ credential=DefaultAzureCredential()
+)
+
+agent = client.agents.create_version(
+ agent_name="my-hosted-agent",
+ definition=ImageBasedHostedAgentDefinition(
+ container_protocol_versions=[
+ ProtocolVersionRecord(protocol=AgentProtocol.RESPONSES, version="v1")
+ ],
+ cpu="1",
+ memory="2Gi",
+ image="myregistry.azurecr.io/my-agent:latest",
+ tools=[{"type": "code_interpreter"}],
+ environment_variables={
+ "AZURE_AI_PROJECT_ENDPOINT": os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ "MODEL_NAME": "gpt-4o-mini"
+ }
+ )
+)
+
+print(f"Created agent: {agent.name} (version: {agent.version})")
+```
+
+### 3. List Agent Versions
+
+```python
+versions = client.agents.list_versions(agent_name="my-hosted-agent")
+for version in versions:
+ print(f"Version: {version.version}, State: {version.state}")
+```
+
+### 4. Delete Agent Version
+
+```python
+client.agents.delete_version(
+ agent_name="my-hosted-agent",
+ version=agent.version
+)
+```
+
+## ImageBasedHostedAgentDefinition Parameters
+
+| Parameter | Type | Required | Description |
+|-----------|------|----------|-------------|
+| `container_protocol_versions` | `list[ProtocolVersionRecord]` | Yes | Protocol versions the agent supports |
+| `image` | `str` | Yes | Full container image path (registry/image:tag) |
+| `cpu` | `str` | No | CPU allocation (e.g., "1", "2") |
+| `memory` | `str` | No | Memory allocation (e.g., "2Gi", "4Gi") |
+| `tools` | `list[dict]` | No | Tools available to the agent |
+| `environment_variables` | `dict[str, str]` | No | Environment variables for the container |
+
+## Protocol Versions
+
+The `container_protocol_versions` parameter specifies which protocols your agent supports:
+
+```python
+from azure.ai.projects.models import ProtocolVersionRecord, AgentProtocol
+
+# RESPONSES protocol - standard agent responses
+container_protocol_versions=[
+ ProtocolVersionRecord(protocol=AgentProtocol.RESPONSES, version="v1")
+]
+```
+
+**Available Protocols:**
+| Protocol | Description |
+|----------|-------------|
+| `AgentProtocol.RESPONSES` | Standard response protocol for agent interactions |
+
+## Resource Allocation
+
+Specify CPU and memory for your container:
+
+```python
+definition=ImageBasedHostedAgentDefinition(
+ container_protocol_versions=[...],
+ image="myregistry.azurecr.io/my-agent:latest",
+ cpu="2", # 2 CPU cores
+ memory="4Gi" # 4 GiB memory
+)
+```
+
+**Resource Limits:**
+| Resource | Min | Max | Default |
+|----------|-----|-----|---------|
+| CPU | 0.5 | 4 | 1 |
+| Memory | 1Gi | 8Gi | 2Gi |
+
+## Tools Configuration
+
+Add tools to your hosted agent:
+
+### Code Interpreter
+
+```python
+tools=[{"type": "code_interpreter"}]
+```
+
+### MCP Tools
+
+```python
+tools=[
+ {"type": "code_interpreter"},
+ {
+ "type": "mcp",
+ "server_label": "my-mcp-server",
+ "server_url": "https://my-mcp-server.example.com"
+ }
+]
+```
+
+### Multiple Tools
+
+```python
+tools=[
+ {"type": "code_interpreter"},
+ {"type": "file_search"},
+ {
+ "type": "mcp",
+ "server_label": "custom-tool",
+ "server_url": "https://custom-tool.example.com"
+ }
+]
+```
+
+## Environment Variables
+
+Pass configuration to your container:
+
+```python
+environment_variables={
+ "AZURE_AI_PROJECT_ENDPOINT": os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ "MODEL_NAME": "gpt-4o-mini",
+ "LOG_LEVEL": "INFO",
+ "CUSTOM_CONFIG": "value"
+}
+```
+
+**Best Practice:** Never hardcode secrets. Use environment variables or Azure Key Vault.
+
+## Complete Example
+
+```python
+import os
+from azure.identity import DefaultAzureCredential
+from azure.ai.projects import AIProjectClient
+from azure.ai.projects.models import (
+ ImageBasedHostedAgentDefinition,
+ ProtocolVersionRecord,
+ AgentProtocol,
+)
+
+def create_hosted_agent():
+ """Create a hosted agent with custom container image."""
+
+ client = AIProjectClient(
+ endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ credential=DefaultAzureCredential()
+ )
+
+ agent = client.agents.create_version(
+ agent_name="data-processor-agent",
+ definition=ImageBasedHostedAgentDefinition(
+ container_protocol_versions=[
+ ProtocolVersionRecord(
+ protocol=AgentProtocol.RESPONSES,
+ version="v1"
+ )
+ ],
+ image="myregistry.azurecr.io/data-processor:v1.0",
+ cpu="2",
+ memory="4Gi",
+ tools=[
+ {"type": "code_interpreter"},
+ {"type": "file_search"}
+ ],
+ environment_variables={
+ "AZURE_AI_PROJECT_ENDPOINT": os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ "MODEL_NAME": "gpt-4o-mini",
+ "MAX_RETRIES": "3"
+ }
+ )
+ )
+
+ print(f"Created hosted agent: {agent.name}")
+ print(f"Version: {agent.version}")
+ print(f"State: {agent.state}")
+
+ return agent
+
+if __name__ == "__main__":
+ create_hosted_agent()
+```
+
+## Async Pattern
+
+```python
+import os
+from azure.identity.aio import DefaultAzureCredential
+from azure.ai.projects.aio import AIProjectClient
+from azure.ai.projects.models import (
+ ImageBasedHostedAgentDefinition,
+ ProtocolVersionRecord,
+ AgentProtocol,
+)
+
+async def create_hosted_agent_async():
+ """Create a hosted agent asynchronously."""
+
+ async with DefaultAzureCredential() as credential:
+ async with AIProjectClient(
+ endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
+ credential=credential
+ ) as client:
+ agent = await client.agents.create_version(
+ agent_name="async-agent",
+ definition=ImageBasedHostedAgentDefinition(
+ container_protocol_versions=[
+ ProtocolVersionRecord(
+ protocol=AgentProtocol.RESPONSES,
+ version="v1"
+ )
+ ],
+ image="myregistry.azurecr.io/async-agent:latest",
+ cpu="1",
+ memory="2Gi"
+ )
+ )
+ return agent
+```
+
+## Common Errors
+
+| Error | Cause | Solution |
+|-------|-------|----------|
+| `ImagePullBackOff` | ACR pull permission denied | Grant `AcrPull` role to project's managed identity |
+| `InvalidContainerImage` | Image not found | Verify image path and tag exist in ACR |
+| `CapabilityHostNotFound` | No capability host configured | Create account-level capability host |
+| `ProtocolVersionNotSupported` | Invalid protocol version | Use `AgentProtocol.RESPONSES` with version `"v1"` |
+
+## Best Practices
+
+1. **Version Your Images** - Use specific tags, not `latest` in production
+2. **Minimal Resources** - Start with minimum CPU/memory, scale up as needed
+3. **Environment Variables** - Use for all configuration, never hardcode
+4. **Error Handling** - Wrap agent creation in try/except blocks
+5. **Cleanup** - Delete unused agent versions to free resources
+
+## Reference Links
+
+- [Azure AI Projects SDK](https://pypi.org/project/azure-ai-projects/)
+- [Hosted Agents Documentation](https://learn.microsoft.com/azure/ai-services/agents/how-to/hosted-agents)
+- [Azure Container Registry](https://learn.microsoft.com/azure/container-registry/)
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/ai-agent-development/SKILL.md b/packages/llm/skills/ai-agent-development/SKILL.md
new file mode 100644
index 00000000..2a084aa8
--- /dev/null
+++ b/packages/llm/skills/ai-agent-development/SKILL.md
@@ -0,0 +1,173 @@
+---
+name: ai-agent-development
+description: "AI agent development workflow for building autonomous agents, multi-agent systems, and agent orchestration with CrewAI, LangGraph, and custom agents."
+category: granular-workflow-bundle
+risk: safe
+source: personal
+date_added: "2026-02-27"
+---
+
+# AI Agent Development Workflow
+
+## Overview
+
+Specialized workflow for building AI agents including single autonomous agents, multi-agent systems, agent orchestration, tool integration, and human-in-the-loop patterns.
+
+## When to Use This Workflow
+
+Use this workflow when:
+- Building autonomous AI agents
+- Creating multi-agent systems
+- Implementing agent orchestration
+- Adding tool integration to agents
+- Setting up agent memory
+
+## Workflow Phases
+
+### Phase 1: Agent Design
+
+#### Skills to Invoke
+- `ai-agents-architect` - Agent architecture
+- `autonomous-agents` - Autonomous patterns
+
+#### Actions
+1. Define agent purpose
+2. Design agent capabilities
+3. Plan tool integration
+4. Design memory system
+5. Define success metrics
+
+#### Copy-Paste Prompts
+```
+Use @ai-agents-architect to design AI agent architecture
+```
+
+### Phase 2: Single Agent Implementation
+
+#### Skills to Invoke
+- `autonomous-agent-patterns` - Agent patterns
+- `autonomous-agents` - Autonomous agents
+
+#### Actions
+1. Choose agent framework
+2. Implement agent logic
+3. Add tool integration
+4. Configure memory
+5. Test agent behavior
+
+#### Copy-Paste Prompts
+```
+Use @autonomous-agent-patterns to implement single agent
+```
+
+### Phase 3: Multi-Agent System
+
+#### Skills to Invoke
+- `crewai` - CrewAI framework
+- `multi-agent-patterns` - Multi-agent patterns
+
+#### Actions
+1. Define agent roles
+2. Set up agent communication
+3. Configure orchestration
+4. Implement task delegation
+5. Test coordination
+
+#### Copy-Paste Prompts
+```
+Use @crewai to build multi-agent system with roles
+```
+
+### Phase 4: Agent Orchestration
+
+#### Skills to Invoke
+- `langgraph` - LangGraph orchestration
+- `workflow-orchestration-patterns` - Orchestration
+
+#### Actions
+1. Design workflow graph
+2. Implement state management
+3. Add conditional branches
+4. Configure persistence
+5. Test workflows
+
+#### Copy-Paste Prompts
+```
+Use @langgraph to create stateful agent workflows
+```
+
+### Phase 5: Tool Integration
+
+#### Skills to Invoke
+- `agent-tool-builder` - Tool building
+- `tool-design` - Tool design
+
+#### Actions
+1. Identify tool needs
+2. Design tool interfaces
+3. Implement tools
+4. Add error handling
+5. Test tool usage
+
+#### Copy-Paste Prompts
+```
+Use @agent-tool-builder to create agent tools
+```
+
+### Phase 6: Memory Systems
+
+#### Skills to Invoke
+- `agent-memory-systems` - Memory architecture
+- `conversation-memory` - Conversation memory
+
+#### Actions
+1. Design memory structure
+2. Implement short-term memory
+3. Set up long-term memory
+4. Add entity memory
+5. Test memory retrieval
+
+#### Copy-Paste Prompts
+```
+Use @agent-memory-systems to implement agent memory
+```
+
+### Phase 7: Evaluation
+
+#### Skills to Invoke
+- `agent-evaluation` - Agent evaluation
+- `evaluation` - AI evaluation
+
+#### Actions
+1. Define evaluation criteria
+2. Create test scenarios
+3. Measure agent performance
+4. Test edge cases
+5. Iterate improvements
+
+#### Copy-Paste Prompts
+```
+Use @agent-evaluation to evaluate agent performance
+```
+
+## Agent Architecture
+
+```
+User Input -> Planner -> Agent -> Tools -> Memory -> Response
+ | | | |
+ Decompose LLM Core Actions Short/Long-term
+```
+
+## Quality Gates
+
+- [ ] Agent logic working
+- [ ] Tools integrated
+- [ ] Memory functional
+- [ ] Orchestration tested
+- [ ] Evaluation passing
+
+## Related Workflow Bundles
+
+- `ai-ml` - AI/ML development
+- `rag-implementation` - RAG systems
+- `workflow-automation` - Workflow patterns
diff --git a/packages/llm/skills/ai-agents-architect/SKILL.md b/packages/llm/skills/ai-agents-architect/SKILL.md
new file mode 100644
index 00000000..ee7dbfba
--- /dev/null
+++ b/packages/llm/skills/ai-agents-architect/SKILL.md
@@ -0,0 +1,95 @@
+---
+name: ai-agents-architect
+description: "Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration. Use when: build agent, AI agent, autonomous agent, tool ..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# AI Agents Architect
+
+**Role**: AI Agent Systems Architect
+
+I build AI systems that can act autonomously while remaining controllable.
+I understand that agents fail in unexpected ways - I design for graceful
+degradation and clear failure modes. I balance autonomy with oversight,
+knowing when an agent should ask for help vs proceed independently.
+
+## Capabilities
+
+- Agent architecture design
+- Tool and function calling
+- Agent memory systems
+- Planning and reasoning strategies
+- Multi-agent orchestration
+- Agent evaluation and debugging
+
+## Requirements
+
+- LLM API usage
+- Understanding of function calling
+- Basic prompt engineering
+
+## Patterns
+
+### ReAct Loop
+
+Reason-Act-Observe cycle for step-by-step execution
+
+```javascript
+- Thought: reason about what to do next
+- Action: select and invoke a tool
+- Observation: process tool result
+- Repeat until task complete or stuck
+- Include max iteration limits
+```
+
+### Plan-and-Execute
+
+Plan first, then execute steps
+
+```javascript
+- Planning phase: decompose task into steps
+- Execution phase: execute each step
+- Replanning: adjust plan based on results
+- Separate planner and executor models possible
+```
+
+### Tool Registry
+
+Dynamic tool discovery and management
+
+```javascript
+- Register tools with schema and examples
+- Tool selector picks relevant tools for task
+- Lazy loading for expensive tools
+- Usage tracking for optimization
+```
+
+## Anti-Patterns
+
+### ❌ Unlimited Autonomy
+
+### ❌ Tool Overload
+
+### ❌ Memory Hoarding
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| Agent loops without iteration limits | critical | Always set limits: |
+| Vague or incomplete tool descriptions | high | Write complete tool specs: |
+| Tool errors not surfaced to agent | high | Explicit error handling: |
+| Storing everything in agent memory | medium | Selective memory: |
+| Agent has too many tools | medium | Curate tools per task: |
+| Using multiple agents when one would work | medium | Justify multi-agent: |
+| Agent internals not logged or traceable | medium | Implement tracing: |
+| Fragile parsing of agent outputs | medium | Robust output handling: |
+
+## Related Skills
+
+Works well with: `rag-engineer`, `prompt-engineer`, `backend`, `mcp-builder`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/ai-engineer/SKILL.md b/packages/llm/skills/ai-engineer/SKILL.md
new file mode 100644
index 00000000..a75993a7
--- /dev/null
+++ b/packages/llm/skills/ai-engineer/SKILL.md
@@ -0,0 +1,185 @@
+---
+name: ai-engineer
+description: Build production-ready LLM applications, advanced RAG systems, and intelligent agents. Implements vector search, multimodal AI, agent orchestration, and enterprise AI integrations.
+risk: unknown
+source: community
+date_added: '2026-02-27'
+---
+
+You are an AI engineer specializing in production-grade LLM applications, generative AI systems, and intelligent agent architectures.
+
+## Use this skill when
+
+- Building or improving LLM features, RAG systems, or AI agents
+- Designing production AI architectures and model integration
+- Optimizing vector search, embeddings, or retrieval pipelines
+- Implementing AI safety, monitoring, or cost controls
+
+## Do not use this skill when
+
+- The task is pure data science or traditional ML without LLMs
+- You only need a quick UI change unrelated to AI features
+- There is no access to data sources or deployment targets
+
+## Instructions
+
+1. Clarify use cases, constraints, and success metrics.
+2. Design the AI architecture, data flow, and model selection.
+3. Implement with monitoring, safety, and cost controls.
+4. Validate with tests and staged rollout plans.
+
+## Safety
+
+- Avoid sending sensitive data to external models without approval.
+- Add guardrails for prompt injection, PII, and policy compliance.
+
+## Purpose
+
+Expert AI engineer specializing in LLM application development, RAG systems, and AI agent architectures. Masters both traditional and cutting-edge generative AI patterns, with deep knowledge of the modern AI stack including vector databases, embedding models, agent frameworks, and multimodal AI systems.
+
+## Capabilities
+
+### LLM Integration & Model Management
+
+- OpenAI GPT-4o/4o-mini, o1-preview, o1-mini with function calling and structured outputs
+- Anthropic Claude 4.5 Sonnet/Haiku, Claude 4.1 Opus with tool use and computer use
+- Open-source models: Llama 3.1/3.2, Mixtral 8x7B/8x22B, Qwen 2.5, DeepSeek-V2
+- Local deployment with Ollama, vLLM, TGI (Text Generation Inference)
+- Model serving with TorchServe, MLflow, BentoML for production deployment
+- Multi-model orchestration and model routing strategies
+- Cost optimization through model selection and caching strategies
+
+### Advanced RAG Systems
+
+- Production RAG architectures with multi-stage retrieval pipelines
+- Vector databases: Pinecone, Qdrant, Weaviate, Chroma, Milvus, pgvector
+- Embedding models: OpenAI text-embedding-3-large/small, Cohere embed-v3, BGE-large
+- Chunking strategies: semantic, recursive, sliding window, and document-structure aware
+- Hybrid search combining vector similarity and keyword matching (BM25)
+- Reranking with Cohere rerank-3, BGE reranker, or cross-encoder models
+- Query understanding with query expansion, decomposition, and routing
+- Context compression and relevance filtering for token optimization
+- Advanced RAG patterns: GraphRAG, HyDE, RAG-Fusion, self-RAG
+
+### Agent Frameworks & Orchestration
+
+- LangChain/LangGraph for complex agent workflows and state management
+- LlamaIndex for data-centric AI applications and advanced retrieval
+- CrewAI for multi-agent collaboration and specialized agent roles
+- AutoGen for conversational multi-agent systems
+- OpenAI Assistants API with function calling and file search
+- Agent memory systems: short-term, long-term, and episodic memory
+- Tool integration: web search, code execution, API calls, database queries
+- Agent evaluation and monitoring with custom metrics
+
+### Vector Search & Embeddings
+
+- Embedding model selection and fine-tuning for domain-specific tasks
+- Vector indexing strategies: HNSW, IVF, LSH for different scale requirements
+- Similarity metrics: cosine, dot product, Euclidean for various use cases
+- Multi-vector representations for complex document structures
+- Embedding drift detection and model versioning
+- Vector database optimization: indexing, sharding, and caching strategies
+
+### Prompt Engineering & Optimization
+
+- Advanced prompting techniques: chain-of-thought, tree-of-thoughts, self-consistency
+- Few-shot and in-context learning optimization
+- Prompt templates with dynamic variable injection and conditioning
+- Constitutional AI and self-critique patterns
+- Prompt versioning, A/B testing, and performance tracking
+- Safety prompting: jailbreak detection, content filtering, bias mitigation
+- Multi-modal prompting for vision and audio models
+
+### Production AI Systems
+
+- LLM serving with FastAPI, async processing, and load balancing
+- Streaming responses and real-time inference optimization
+- Caching strategies: semantic caching, response memoization, embedding caching
+- Rate limiting, quota management, and cost controls
+- Error handling, fallback strategies, and circuit breakers
+- A/B testing frameworks for model comparison and gradual rollouts
+- Observability: logging, metrics, tracing with LangSmith, Phoenix, Weights & Biases
+
+### Multimodal AI Integration
+
+- Vision models: GPT-4V, Claude 4 Vision, LLaVA, CLIP for image understanding
+- Audio processing: Whisper for speech-to-text, ElevenLabs for text-to-speech
+- Document AI: OCR, table extraction, layout understanding with models like LayoutLM
+- Video analysis and processing for multimedia applications
+- Cross-modal embeddings and unified vector spaces
+
+### AI Safety & Governance
+
+- Content moderation with OpenAI Moderation API and custom classifiers
+- Prompt injection detection and prevention strategies
+- PII detection and redaction in AI workflows
+- Model bias detection and mitigation techniques
+- AI system auditing and compliance reporting
+- Responsible AI practices and ethical considerations
+
+### Data Processing & Pipeline Management
+
+- Document processing: PDF extraction, web scraping, API integrations
+- Data preprocessing: cleaning, normalization, deduplication
+- Pipeline orchestration with Apache Airflow, Dagster, Prefect
+- Real-time data ingestion with Apache Kafka, Pulsar
+- Data versioning with DVC, lakeFS for reproducible AI pipelines
+- ETL/ELT processes for AI data preparation
+
+### Integration & API Development
+
+- RESTful API design for AI services with FastAPI, Flask
+- GraphQL APIs for flexible AI data querying
+- Webhook integration and event-driven architectures
+- Third-party AI service integration: Azure OpenAI, AWS Bedrock, GCP Vertex AI
+- Enterprise system integration: Slack bots, Microsoft Teams apps, Salesforce
+- API security: OAuth, JWT, API key management
+
+## Behavioral Traits
+
+- Prioritizes production reliability and scalability over proof-of-concept implementations
+- Implements comprehensive error handling and graceful degradation
+- Focuses on cost optimization and efficient resource utilization
+- Emphasizes observability and monitoring from day one
+- Considers AI safety and responsible AI practices in all implementations
+- Uses structured outputs and type safety wherever possible
+- Implements thorough testing including adversarial inputs
+- Documents AI system behavior and decision-making processes
+- Stays current with rapidly evolving AI/ML landscape
+- Balances cutting-edge techniques with proven, stable solutions
+
+## Knowledge Base
+
+- Latest LLM developments and model capabilities (GPT-4o, Claude 4.5, Llama 3.2)
+- Modern vector database architectures and optimization techniques
+- Production AI system design patterns and best practices
+- AI safety and security considerations for enterprise deployments
+- Cost optimization strategies for LLM applications
+- Multimodal AI integration and cross-modal learning
+- Agent frameworks and multi-agent system architectures
+- Real-time AI processing and streaming inference
+- AI observability and monitoring best practices
+- Prompt engineering and optimization methodologies
+
+## Response Approach
+
+1. **Analyze AI requirements** for production scalability and reliability
+2. **Design system architecture** with appropriate AI components and data flow
+3. **Implement production-ready code** with comprehensive error handling
+4. **Include monitoring and evaluation** metrics for AI system performance
+5. **Consider cost and latency** implications of AI service usage
+6. **Document AI behavior** and provide debugging capabilities
+7. **Implement safety measures** for responsible AI deployment
+8. **Provide testing strategies** including adversarial and edge cases
+
+## Example Interactions
+
+- "Build a production RAG system for enterprise knowledge base with hybrid search"
+- "Implement a multi-agent customer service system with escalation workflows"
+- "Design a cost-optimized LLM inference pipeline with caching and load balancing"
+- "Create a multimodal AI system for document analysis and question answering"
+- "Build an AI agent that can browse the web and perform research tasks"
+- "Implement semantic search with reranking for improved retrieval accuracy"
+- "Design an A/B testing framework for comparing different LLM prompts"
+- "Create a real-time AI content moderation system with custom classifiers"
diff --git a/packages/llm/skills/ai-ml/SKILL.md b/packages/llm/skills/ai-ml/SKILL.md
new file mode 100644
index 00000000..5c6aeb3d
--- /dev/null
+++ b/packages/llm/skills/ai-ml/SKILL.md
@@ -0,0 +1,252 @@
+---
+name: ai-ml
+description: "AI and machine learning workflow covering LLM application development, RAG implementation, agent architecture, ML pipelines, and AI-powered features."
+category: workflow-bundle
+risk: safe
+source: personal
+date_added: "2026-02-27"
+---
+
+# AI/ML Workflow Bundle
+
+## Overview
+
+Comprehensive AI/ML workflow for building LLM applications, implementing RAG systems, creating AI agents, and developing machine learning pipelines. This bundle orchestrates skills for production AI development.
+
+## When to Use This Workflow
+
+Use this workflow when:
+- Building LLM-powered applications
+- Implementing RAG (Retrieval-Augmented Generation)
+- Creating AI agents
+- Developing ML pipelines
+- Adding AI features to applications
+- Setting up AI observability
+
+## Workflow Phases
+
+### Phase 1: AI Application Design
+
+#### Skills to Invoke
+- `ai-product` - AI product development
+- `ai-engineer` - AI engineering
+- `ai-agents-architect` - Agent architecture
+- `llm-app-patterns` - LLM patterns
+
+#### Actions
+1. Define AI use cases
+2. Choose appropriate models
+3. Design system architecture
+4. Plan data flows
+5. Define success metrics
+
+#### Copy-Paste Prompts
+```
+Use @ai-product to design AI-powered features
+```
+
+```
+Use @ai-agents-architect to design multi-agent system
+```
+
+### Phase 2: LLM Integration
+
+#### Skills to Invoke
+- `llm-application-dev-ai-assistant` - AI assistant development
+- `llm-application-dev-langchain-agent` - LangChain agents
+- `llm-application-dev-prompt-optimize` - Prompt engineering
+- `gemini-api-dev` - Gemini API
+
+#### Actions
+1. Select LLM provider
+2. Set up API access
+3. Implement prompt templates
+4. Configure model parameters
+5. Add streaming support
+6. Implement error handling
+
+#### Copy-Paste Prompts
+```
+Use @llm-application-dev-ai-assistant to build conversational AI
+```
+
+```
+Use @llm-application-dev-langchain-agent to create LangChain agents
+```
+
+```
+Use @llm-application-dev-prompt-optimize to optimize prompts
+```
+
+### Phase 3: RAG Implementation
+
+#### Skills to Invoke
+- `rag-engineer` - RAG engineering
+- `rag-implementation` - RAG implementation
+- `embedding-strategies` - Embedding selection
+- `vector-database-engineer` - Vector databases
+- `similarity-search-patterns` - Similarity search
+- `hybrid-search-implementation` - Hybrid search
+
+#### Actions
+1. Design data pipeline
+2. Choose embedding model
+3. Set up vector database
+4. Implement chunking strategy
+5. Configure retrieval
+6. Add reranking
+7. Implement caching
+
+#### Copy-Paste Prompts
+```
+Use @rag-engineer to design RAG pipeline
+```
+
+```
+Use @vector-database-engineer to set up vector search
+```
+
+```
+Use @embedding-strategies to select optimal embeddings
+```
+
+### Phase 4: AI Agent Development
+
+#### Skills to Invoke
+- `autonomous-agents` - Autonomous agent patterns
+- `autonomous-agent-patterns` - Agent patterns
+- `crewai` - CrewAI framework
+- `langgraph` - LangGraph
+- `multi-agent-patterns` - Multi-agent systems
+- `computer-use-agents` - Computer use agents
+
+#### Actions
+1. Design agent architecture
+2. Define agent roles
+3. Implement tool integration
+4. Set up memory systems
+5. Configure orchestration
+6. Add human-in-the-loop
+
+#### Copy-Paste Prompts
+```
+Use @crewai to build role-based multi-agent system
+```
+
+```
+Use @langgraph to create stateful AI workflows
+```
+
+```
+Use @autonomous-agents to design autonomous agent
+```
+
+### Phase 5: ML Pipeline Development
+
+#### Skills to Invoke
+- `ml-engineer` - ML engineering
+- `mlops-engineer` - MLOps
+- `machine-learning-ops-ml-pipeline` - ML pipelines
+- `ml-pipeline-workflow` - ML workflows
+- `data-engineer` - Data engineering
+
+#### Actions
+1. Design ML pipeline
+2. Set up data processing
+3. Implement model training
+4. Configure evaluation
+5. Set up model registry
+6. Deploy models
+
+#### Copy-Paste Prompts
+```
+Use @ml-engineer to build machine learning pipeline
+```
+
+```
+Use @mlops-engineer to set up MLOps infrastructure
+```
+
+### Phase 6: AI Observability
+
+#### Skills to Invoke
+- `langfuse` - Langfuse observability
+- `manifest` - Manifest telemetry
+- `evaluation` - AI evaluation
+- `llm-evaluation` - LLM evaluation
+
+#### Actions
+1. Set up tracing
+2. Configure logging
+3. Implement evaluation
+4. Monitor performance
+5. Track costs
+6. Set up alerts
+
+#### Copy-Paste Prompts
+```
+Use @langfuse to set up LLM observability
+```
+
+```
+Use @evaluation to create evaluation framework
+```
+
+### Phase 7: AI Security
+
+#### Skills to Invoke
+- `prompt-engineering` - Prompt security
+- `security-scanning-security-sast` - Security scanning
+
+#### Actions
+1. Implement input validation
+2. Add output filtering
+3. Configure rate limiting
+4. Set up access controls
+5. Monitor for abuse
+6. Implement audit logging
+
+## AI Development Checklist
+
+### LLM Integration
+- [ ] API keys secured
+- [ ] Rate limiting configured
+- [ ] Error handling implemented
+- [ ] Streaming enabled
+- [ ] Token usage tracked
+
+### RAG System
+- [ ] Data pipeline working
+- [ ] Embeddings generated
+- [ ] Vector search optimized
+- [ ] Retrieval accuracy tested
+- [ ] Caching implemented
+
+### AI Agents
+- [ ] Agent roles defined
+- [ ] Tools integrated
+- [ ] Memory working
+- [ ] Orchestration tested
+- [ ] Error handling robust
+
+### Observability
+- [ ] Tracing enabled
+- [ ] Metrics collected
+- [ ] Evaluation running
+- [ ] Alerts configured
+- [ ] Dashboards created
+
+## Quality Gates
+
+- [ ] All AI features tested
+- [ ] Performance benchmarks met
+- [ ] Security measures in place
+- [ ] Observability configured
+- [ ] Documentation complete
+
+## Related Workflow Bundles
+
+- `development` - Application development
+- `database` - Data management
+- `cloud-devops` - Infrastructure
+- `testing-qa` - AI testing
diff --git a/packages/llm/skills/ai-product/SKILL.md b/packages/llm/skills/ai-product/SKILL.md
new file mode 100644
index 00000000..cc1c7d41
--- /dev/null
+++ b/packages/llm/skills/ai-product/SKILL.md
@@ -0,0 +1,59 @@
+---
+name: ai-product
+description: Every product will be AI-powered. The question is whether you'll build it right or ship a demo that falls apart in production. This skill covers LLM integration patterns, RAG architecture, prompt ...
+risk: unknown
+source: vibeship-spawner-skills (Apache 2.0)
+date_added: '2026-02-27'
+---
+
+# AI Product Development
+
+You are an AI product engineer who has shipped LLM features to millions of
+users. You've debugged hallucinations at 3am, optimized prompts to reduce
+costs by 80%, and built safety systems that caught thousands of harmful
+outputs. You know that demos are easy and production is hard. You treat
+prompts as code, validate all outputs, and never trust an LLM blindly.
+
+## Patterns
+
+### Structured Output with Validation
+
+Use function calling or JSON mode with schema validation
+
+### Streaming with Progress
+
+Stream LLM responses to show progress and reduce perceived latency
+
+### Prompt Versioning and Testing
+
+Version prompts in code and test with regression suite
+
+## Anti-Patterns
+
+### ❌ Demo-ware
+
+**Why bad**: Demos deceive. Production reveals truth. Users lose trust fast.
+
+### ❌ Context window stuffing
+
+**Why bad**: Expensive, slow, hits limits. Dilutes relevant context with noise.
+
+### ❌ Unstructured output parsing
+
+**Why bad**: Breaks randomly. Inconsistent formats. Injection risks.
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| Trusting LLM output without validation | critical | # Always validate output: |
+| User input directly in prompts without sanitization | critical | # Defense layers: |
+| Stuffing too much into context window | high | # Calculate tokens before sending: |
+| Waiting for complete response before showing anything | high | # Stream responses: |
+| Not monitoring LLM API costs | high | # Track per-request: |
+| App breaks when LLM API fails | high | # Defense in depth: |
+| Not validating facts from LLM responses | critical | # For factual claims: |
+| Making LLM calls in synchronous request handlers | high | # Async patterns: |
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/ai-wrapper-product/SKILL.md b/packages/llm/skills/ai-wrapper-product/SKILL.md
new file mode 100644
index 00000000..33f5c5cd
--- /dev/null
+++ b/packages/llm/skills/ai-wrapper-product/SKILL.md
@@ -0,0 +1,278 @@
+---
+name: ai-wrapper-product
+description: "Expert in building products that wrap AI APIs (OpenAI, Anthropic, etc.) into focused tools people will pay for. Not just 'ChatGPT but different' - products that solve specific problems with AI. Cov..."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# AI Wrapper Product
+
+**Role**: AI Product Architect
+
+You know AI wrappers get a bad rap, but the good ones solve real problems.
+You build products where AI is the engine, not the gimmick. You understand
+prompt engineering is product development. You balance costs with user
+experience. You create AI products people actually pay for and use daily.
+
+## Capabilities
+
+- AI product architecture
+- Prompt engineering for products
+- API cost management
+- AI usage metering
+- Model selection
+- AI UX patterns
+- Output quality control
+- AI product differentiation
+
+## Patterns
+
+### AI Product Architecture
+
+Building products around AI APIs
+
+**When to use**: When designing an AI-powered product
+
+```python
+## AI Product Architecture
+
+### The Wrapper Stack
+```
+User Input
+ ↓
+Input Validation + Sanitization
+ ↓
+Prompt Template + Context
+ ↓
+AI API (OpenAI/Anthropic/etc.)
+ ↓
+Output Parsing + Validation
+ ↓
+User-Friendly Response
+```
+
+### Basic Implementation
+```javascript
+import Anthropic from '@anthropic-ai/sdk';
+
+const anthropic = new Anthropic();
+
+async function generateContent(userInput, context) {
+ // 1. Validate input
+ if (!userInput || userInput.length > 5000) {
+ throw new Error('Invalid input');
+ }
+
+ // 2. Build prompt
+ const systemPrompt = `You are a ${context.role}.
+ Always respond in ${context.format}.
+ Tone: ${context.tone}`;
+
+ // 3. Call API
+ const response = await anthropic.messages.create({
+ model: 'claude-3-haiku-20240307',
+ max_tokens: 1000,
+ system: systemPrompt,
+ messages: [{
+ role: 'user',
+ content: userInput
+ }]
+ });
+
+ // 4. Parse and validate output
+ const output = response.content[0].text;
+ return parseOutput(output);
+}
+```
+
+### Model Selection
+| Model | Cost | Speed | Quality | Use Case |
+|-------|------|-------|---------|----------|
+| GPT-4o | $$$ | Fast | Best | Complex tasks |
+| GPT-4o-mini | $ | Fastest | Good | Most tasks |
+| Claude 3.5 Sonnet | $$ | Fast | Excellent | Balanced |
+| Claude 3 Haiku | $ | Fastest | Good | High volume |
+```
+
+### Prompt Engineering for Products
+
+Production-grade prompt design
+
+**When to use**: When building AI product prompts
+
+```javascript
+## Prompt Engineering for Products
+
+### Prompt Template Pattern
+```javascript
+const promptTemplates = {
+ emailWriter: {
+ system: `You are an expert email writer.
+ Write professional, concise emails.
+ Match the requested tone.
+ Never include placeholder text.`,
+ user: (input) => `Write an email:
+ Purpose: ${input.purpose}
+ Recipient: ${input.recipient}
+ Tone: ${input.tone}
+ Key points: ${input.points.join(', ')}
+ Length: ${input.length} sentences`,
+ },
+};
+```
+
+### Output Control
+```javascript
+// Force structured output
+const systemPrompt = `
+ Always respond with valid JSON in this format:
+ {
+ "title": "string",
+ "content": "string",
+ "suggestions": ["string"]
+ }
+ Never include any text outside the JSON.
+`;
+
+// Parse with fallback
+function parseAIOutput(text) {
+ try {
+ return JSON.parse(text);
+ } catch {
+ // Fallback: extract JSON from response
+ const match = text.match(/\{[\s\S]*\}/);
+ if (match) return JSON.parse(match[0]);
+ throw new Error('Invalid AI output');
+ }
+}
+```
+
+### Quality Control
+| Technique | Purpose |
+|-----------|---------|
+| Examples in prompt | Guide output style |
+| Output format spec | Consistent structure |
+| Validation | Catch malformed responses |
+| Retry logic | Handle failures |
+| Fallback models | Reliability |
+```
+
+### Cost Management
+
+Controlling AI API costs
+
+**When to use**: When building profitable AI products
+
+```javascript
+## AI Cost Management
+
+### Token Economics
+```javascript
+// Track usage
+async function callWithCostTracking(userId, prompt) {
+ const response = await anthropic.messages.create({...});
+
+ // Log usage
+ await db.usage.create({
+ userId,
+ inputTokens: response.usage.input_tokens,
+ outputTokens: response.usage.output_tokens,
+ cost: calculateCost(response.usage),
+ model: 'claude-3-haiku',
+ });
+
+ return response;
+}
+
+function calculateCost(usage) {
+ const rates = {
+ 'claude-3-haiku': { input: 0.25, output: 1.25 }, // per 1M tokens
+ };
+ const rate = rates['claude-3-haiku'];
+ return (usage.input_tokens * rate.input +
+ usage.output_tokens * rate.output) / 1_000_000;
+}
+```
+
+### Cost Reduction Strategies
+| Strategy | Savings |
+|----------|---------|
+| Use cheaper models | 10-50x |
+| Limit output tokens | Variable |
+| Cache common queries | High |
+| Batch similar requests | Medium |
+| Truncate input | Variable |
+
+### Usage Limits
+```javascript
+async function checkUsageLimits(userId) {
+ const usage = await db.usage.sum({
+ where: {
+ userId,
+ createdAt: { gte: startOfMonth() }
+ }
+ });
+
+ const limits = await getUserLimits(userId);
+ if (usage.cost >= limits.monthlyCost) {
+ throw new Error('Monthly limit reached');
+ }
+ return true;
+}
+```
+```
+
+## Anti-Patterns
+
+### ❌ Thin Wrapper Syndrome
+
+**Why bad**: No differentiation.
+Users just use ChatGPT.
+No pricing power.
+Easy to replicate.
+
+**Instead**: Add domain expertise.
+Perfect the UX for specific task.
+Integrate into workflows.
+Post-process outputs.
+
+### ❌ Ignoring Costs Until Scale
+
+**Why bad**: Surprise bills.
+Negative unit economics.
+Can't price properly.
+Business isn't viable.
+
+**Instead**: Track every API call.
+Know your cost per user.
+Set usage limits.
+Price with margin.
+
+### ❌ No Output Validation
+
+**Why bad**: AI hallucinates.
+Inconsistent formatting.
+Bad user experience.
+Trust issues.
+
+**Instead**: Validate all outputs.
+Parse structured responses.
+Have fallback handling.
+Post-process for consistency.
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| AI API costs spiral out of control | high | ## Controlling AI Costs |
+| App breaks when hitting API rate limits | high | ## Handling Rate Limits |
+| AI gives wrong or made-up information | high | ## Handling Hallucinations |
+| AI responses too slow for good UX | medium | ## Improving AI Latency |
+
+## Related Skills
+
+Works well with: `llm-architect`, `micro-saas-launcher`, `frontend`, `backend`
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/airtable-automation/SKILL.md b/packages/llm/skills/airtable-automation/SKILL.md
new file mode 100644
index 00000000..91b46786
--- /dev/null
+++ b/packages/llm/skills/airtable-automation/SKILL.md
@@ -0,0 +1,174 @@
+---
+name: airtable-automation
+description: "Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Airtable Automation via Rube MCP
+
+Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.
+
+## Prerequisites
+
+- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
+- Active Airtable connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `airtable`
+- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
+
+## Setup
+
+**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
+
+
+1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
+2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `airtable`
+3. If connection is not ACTIVE, follow the returned auth link to complete Airtable auth
+4. Confirm connection status shows ACTIVE before running any workflows
+
+## Core Workflows
+
+### 1. Create and Manage Records
+
+**When to use**: User wants to create, read, update, or delete records
+
+**Tool sequence**:
+1. `AIRTABLE_LIST_BASES` - Discover available bases [Prerequisite]
+2. `AIRTABLE_GET_BASE_SCHEMA` - Inspect table structure [Prerequisite]
+3. `AIRTABLE_LIST_RECORDS` - List/filter records [Optional]
+4. `AIRTABLE_CREATE_RECORD` / `AIRTABLE_CREATE_RECORDS` - Create records [Optional]
+5. `AIRTABLE_UPDATE_RECORD` / `AIRTABLE_UPDATE_MULTIPLE_RECORDS` - Update records [Optional]
+6. `AIRTABLE_DELETE_RECORD` / `AIRTABLE_DELETE_MULTIPLE_RECORDS` - Delete records [Optional]
+
+**Key parameters**:
+- `baseId`: Base ID (starts with 'app', e.g., 'appXXXXXXXXXXXXXX')
+- `tableIdOrName`: Table ID (starts with 'tbl') or table name
+- `fields`: Object mapping field names to values
+- `recordId`: Record ID (starts with 'rec') for updates/deletes
+- `filterByFormula`: Airtable formula for filtering
+- `typecast`: Set true for automatic type conversion
+
+**Pitfalls**:
+- pageSize capped at 100; uses offset pagination; changing filters between pages can skip/duplicate rows
+- CREATE_RECORDS hard limit of 10 records per request; chunk larger imports
+- Field names are CASE-SENSITIVE and must match schema exactly
+- 422 UNKNOWN_FIELD_NAME when field names are wrong; 403 for permission issues
+- INVALID_MULTIPLE_CHOICE_OPTIONS may require typecast=true
+
+### 2. Search and Filter Records
+
+**When to use**: User wants to find specific records using formulas
+
+**Tool sequence**:
+1. `AIRTABLE_GET_BASE_SCHEMA` - Verify field names and types [Prerequisite]
+2. `AIRTABLE_LIST_RECORDS` - Query with filterByFormula [Required]
+3. `AIRTABLE_GET_RECORD` - Get full record details [Optional]
+
+**Key parameters**:
+- `filterByFormula`: Airtable formula (e.g., `{Status}='Done'`)
+- `sort`: Array of sort objects
+- `fields`: Array of field names to return
+- `maxRecords`: Max total records across all pages
+- `offset`: Pagination cursor from previous response
+
+**Pitfalls**:
+- Field names in formulas must be wrapped in `{}` and match schema exactly
+- String values must be quoted: `{Status}='Active'` not `{Status}=Active`
+- 422 INVALID_FILTER_BY_FORMULA for bad syntax or non-existent fields
+- Airtable rate limit: ~5 requests/second per base; handle 429 with Retry-After
+
+### 3. Manage Fields and Schema
+
+**When to use**: User wants to create or modify table fields
+
+**Tool sequence**:
+1. `AIRTABLE_GET_BASE_SCHEMA` - Inspect current schema [Prerequisite]
+2. `AIRTABLE_CREATE_FIELD` - Create a new field [Optional]
+3. `AIRTABLE_UPDATE_FIELD` - Rename/describe a field [Optional]
+4. `AIRTABLE_UPDATE_TABLE` - Update table metadata [Optional]
+
+**Key parameters**:
+- `name`: Field name
+- `type`: Field type (singleLineText, number, singleSelect, etc.)
+- `options`: Type-specific options (choices for select, precision for number)
+- `description`: Field description
+
+**Pitfalls**:
+- UPDATE_FIELD only changes name/description, NOT type/options; create a replacement field and migrate
+- Computed fields (formula, rollup, lookup) cannot be created via API
+- 422 when type options are missing or malformed
+
+### 4. Manage Comments
+
+**When to use**: User wants to view or add comments on records
+
+**Tool sequence**:
+1. `AIRTABLE_LIST_COMMENTS` - List comments on a record [Required]
+
+**Key parameters**:
+- `baseId`: Base ID
+- `tableIdOrName`: Table identifier
+- `recordId`: Record ID (17 chars, starts with 'rec')
+- `pageSize`: Comments per page (max 100)
+
+**Pitfalls**:
+- Record IDs must be exactly 17 characters starting with 'rec'
+
+## Common Patterns
+
+### Airtable Formula Syntax
+
+**Comparison**:
+- `{Status}='Done'` - Equals
+- `{Priority}>1` - Greater than
+- `{Name}!=''` - Not empty
+
+**Functions**:
+- `AND({A}='x', {B}='y')` - Both conditions
+- `OR({A}='x', {A}='y')` - Either condition
+- `FIND('test', {Name})>0` - Contains text
+- `IS_BEFORE({Due Date}, TODAY())` - Date comparison
+
+**Escape rules**:
+- Single quotes in values: double them (`{Name}='John''s Company'`)
+
+### Pagination
+
+- Set `pageSize` (max 100)
+- Check response for `offset` string
+- Pass `offset` to next request unchanged
+- Keep filters/sorts/view stable between pages
+
+## Known Pitfalls
+
+**ID Formats**:
+- Base IDs: `appXXXXXXXXXXXXXX` (17 chars)
+- Table IDs: `tblXXXXXXXXXXXXXX` (17 chars)
+- Record IDs: `recXXXXXXXXXXXXXX` (17 chars)
+- Field IDs: `fldXXXXXXXXXXXXXX` (17 chars)
+
+**Batch Limits**:
+- CREATE_RECORDS: max 10 per request
+- UPDATE_MULTIPLE_RECORDS: max 10 per request
+- DELETE_MULTIPLE_RECORDS: max 10 per request
+
+## Quick Reference
+
+| Task | Tool Slug | Key Params |
+|------|-----------|------------|
+| List bases | AIRTABLE_LIST_BASES | (none) |
+| Get schema | AIRTABLE_GET_BASE_SCHEMA | baseId |
+| List records | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName |
+| Get record | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId |
+| Create record | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields |
+| Create records | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records |
+| Update record | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields |
+| Update records | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records |
+| Delete record | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId |
+| Create field | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type |
+| Update field | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId |
+| Update table | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name |
+| List comments | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/algolia-search/SKILL.md b/packages/llm/skills/algolia-search/SKILL.md
new file mode 100644
index 00000000..73647c0d
--- /dev/null
+++ b/packages/llm/skills/algolia-search/SKILL.md
@@ -0,0 +1,71 @@
+---
+name: algolia-search
+description: "Expert patterns for Algolia search implementation, indexing strategies, React InstantSearch, and relevance tuning Use when: adding search to, algolia, instantsearch, search api, search functionality."
+risk: unknown
+source: "vibeship-spawner-skills (Apache 2.0)"
+date_added: "2026-02-27"
+---
+
+# Algolia Search Integration
+
+## Patterns
+
+### React InstantSearch with Hooks
+
+Modern React InstantSearch setup using hooks for type-ahead search.
+
+Uses react-instantsearch-hooks-web package with algoliasearch client.
+Widgets are components that can be customized with classnames.
+
+Key hooks:
+- useSearchBox: Search input handling
+- useHits: Access search results
+- useRefinementList: Facet filtering
+- usePagination: Result pagination
+- useInstantSearch: Full state access
+
+
+### Next.js Server-Side Rendering
+
+SSR integration for Next.js with react-instantsearch-nextjs package.
+
+Use instead of for SSR.
+Supports both Pages Router and App Router (experimental).
+
+Key considerations:
+- Set dynamic = 'force-dynamic' for fresh results
+- Handle URL synchronization with routing prop
+- Use getServerState for initial state
+
+
+### Data Synchronization and Indexing
+
+Indexing strategies for keeping Algolia in sync with your data.
+
+Three main approaches:
+1. Full Reindexing - Replace entire index (expensive)
+2. Full Record Updates - Replace individual records
+3. Partial Updates - Update specific attributes only
+
+Best practices:
+- Batch records (ideal: 10MB, 1K-10K records per batch)
+- Use incremental updates when possible
+- partialUpdateObjects for attribute-only changes
+- Avoid deleteBy (computationally expensive)
+
+
+## ⚠️ Sharp Edges
+
+| Issue | Severity | Solution |
+|-------|----------|----------|
+| Issue | critical | See docs |
+| Issue | high | See docs |
+| Issue | medium | See docs |
+| Issue | medium | See docs |
+| Issue | medium | See docs |
+| Issue | medium | See docs |
+| Issue | medium | See docs |
+| Issue | medium | See docs |
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/amplitude-automation/SKILL.md b/packages/llm/skills/amplitude-automation/SKILL.md
new file mode 100644
index 00000000..d9c1f150
--- /dev/null
+++ b/packages/llm/skills/amplitude-automation/SKILL.md
@@ -0,0 +1,220 @@
+---
+name: amplitude-automation
+description: "Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas."
+risk: unknown
+source: community
+date_added: "2026-02-27"
+---
+
+# Amplitude Automation via Rube MCP
+
+Automate Amplitude product analytics through Composio's Amplitude toolkit via Rube MCP.
+
+## Prerequisites
+
+- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
+- Active Amplitude connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `amplitude`
+- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
+
+## Setup
+
+**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
+
+
+1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
+2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `amplitude`
+3. If connection is not ACTIVE, follow the returned auth link to complete Amplitude authentication
+4. Confirm connection status shows ACTIVE before running any workflows
+
+## Core Workflows
+
+### 1. Send Events
+
+**When to use**: User wants to track events or send event data to Amplitude
+
+**Tool sequence**:
+1. `AMPLITUDE_SEND_EVENTS` - Send one or more events to Amplitude [Required]
+
+**Key parameters**:
+- `events`: Array of event objects, each containing:
+ - `event_type`: Name of the event (e.g., 'page_view', 'purchase')
+ - `user_id`: Unique user identifier (required if no `device_id`)
+ - `device_id`: Device identifier (required if no `user_id`)
+ - `event_properties`: Object with custom event properties
+ - `user_properties`: Object with user properties to set
+ - `time`: Event timestamp in milliseconds since epoch
+
+**Pitfalls**:
+- At least one of `user_id` or `device_id` is required per event
+- `event_type` is required for every event; cannot be empty
+- `time` must be in milliseconds (13-digit epoch), not seconds
+- Batch limit applies; check schema for maximum events per request
+- Events are processed asynchronously; successful API response does not mean data is immediately queryable
+
+### 2. Get User Activity
+
+**When to use**: User wants to view event history for a specific user
+
+**Tool sequence**:
+1. `AMPLITUDE_FIND_USER` - Find user by ID or property [Prerequisite]
+2. `AMPLITUDE_GET_USER_ACTIVITY` - Retrieve user's event stream [Required]
+
+**Key parameters**:
+- `user`: Amplitude internal user ID (from FIND_USER)
+- `offset`: Pagination offset for event list
+- `limit`: Maximum number of events to return
+
+**Pitfalls**:
+- `user` parameter requires Amplitude's internal user ID, NOT your application's user_id
+- Must call FIND_USER first to resolve your user_id to Amplitude's internal ID
+- Activity is returned in reverse chronological order by default
+- Large activity histories require pagination via `offset`
+
+### 3. Find and Identify Users
+
+**When to use**: User wants to look up users or set user properties
+
+**Tool sequence**:
+1. `AMPLITUDE_FIND_USER` - Search for a user by various identifiers [Required]
+2. `AMPLITUDE_IDENTIFY` - Set or update user properties [Optional]
+
+**Key parameters**:
+- For FIND_USER:
+ - `user`: Search term (user_id, email, or Amplitude ID)
+- For IDENTIFY:
+ - `user_id`: Your application's user identifier
+ - `device_id`: Device identifier (alternative to user_id)
+ - `user_properties`: Object with `$set`, `$unset`, `$add`, `$append` operations
+
+**Pitfalls**:
+- FIND_USER searches across user_id, device_id, and Amplitude ID
+- IDENTIFY uses special property operations (`$set`, `$unset`, `$add`, `$append`)
+- `$set` overwrites existing values; `$setOnce` only sets if not already set
+- At least one of `user_id` or `device_id` is required for IDENTIFY
+- User property changes are eventually consistent; not immediate
+
+### 4. Manage Cohorts
+
+**When to use**: User wants to list cohorts, view cohort details, or update cohort membership
+
+**Tool sequence**:
+1. `AMPLITUDE_LIST_COHORTS` - List all saved cohorts [Required]
+2. `AMPLITUDE_GET_COHORT` - Get detailed cohort information [Optional]
+3. `AMPLITUDE_UPDATE_COHORT_MEMBERSHIP` - Add/remove users from a cohort [Optional]
+4. `AMPLITUDE_CHECK_COHORT_STATUS` - Check async cohort operation status [Optional]
+
+**Key parameters**:
+- For LIST_COHORTS: No required parameters
+- For GET_COHORT: `cohort_id` (from list results)
+- For UPDATE_COHORT_MEMBERSHIP:
+ - `cohort_id`: Target cohort ID
+ - `memberships`: Object with `add` and/or `remove` arrays of user IDs
+- For CHECK_COHORT_STATUS: `request_id` from update response
+
+**Pitfalls**:
+- Cohort IDs are required for all cohort-specific operations
+- UPDATE_COHORT_MEMBERSHIP is asynchronous; use CHECK_COHORT_STATUS to verify
+- `request_id` from the update response is needed for status checking
+- Maximum membership changes per request may be limited; chunk large updates
+- Only behavioral cohorts support API membership updates
+
+### 5. Browse Event Categories
+
+**When to use**: User wants to discover available event types and categories in Amplitude
+
+**Tool sequence**:
+1. `AMPLITUDE_GET_EVENT_CATEGORIES` - List all event categories [Required]
+
+**Key parameters**:
+- No required parameters; returns all configured event categories
+
+**Pitfalls**:
+- Categories are configured in Amplitude UI; API provides read access
+- Event names within categories are case-sensitive
+- Use these categories to validate event_type values before sending events
+
+## Common Patterns
+
+### ID Resolution
+
+**Application user_id -> Amplitude internal ID**:
+```
+1. Call AMPLITUDE_FIND_USER with user=your_user_id
+2. Extract Amplitude's internal user ID from response
+3. Use internal ID for GET_USER_ACTIVITY
+```
+
+**Cohort name -> Cohort ID**:
+```
+1. Call AMPLITUDE_LIST_COHORTS
+2. Find cohort by name in results
+3. Extract id for cohort operations
+```
+
+### User Property Operations
+
+Amplitude IDENTIFY supports these property operations:
+- `$set`: Set property value (overwrites existing)
+- `$setOnce`: Set only if property not already set
+- `$add`: Increment numeric property
+- `$append`: Append to list property
+- `$unset`: Remove property entirely
+
+Example structure:
+```json
+{
+ "user_properties": {
+ "$set": {"plan": "premium", "company": "Acme"},
+ "$add": {"login_count": 1}
+ }
+}
+```
+
+### Async Operation Pattern
+
+For cohort membership updates:
+```
+1. Call AMPLITUDE_UPDATE_COHORT_MEMBERSHIP -> get request_id
+2. Call AMPLITUDE_CHECK_COHORT_STATUS with request_id
+3. Repeat step 2 until status is 'complete' or 'error'
+```
+
+## Known Pitfalls
+
+**User IDs**:
+- Amplitude has its own internal user IDs separate from your application's
+- FIND_USER resolves your IDs to Amplitude's internal IDs
+- GET_USER_ACTIVITY requires Amplitude's internal ID, not your user_id
+
+**Event Timestamps**:
+- Must be in milliseconds since epoch (13 digits)
+- Seconds (10 digits) will be interpreted as very old dates
+- Omitting timestamp uses server receive time
+
+**Rate Limits**:
+- Event ingestion has throughput limits per project
+- Batch events where possible to reduce API calls
+- Cohort membership updates have async processing limits
+
+**Response Parsing**:
+- Response data may be nested under `data` key
+- User activity returns events in reverse chronological order
+- Cohort lists may include archived cohorts; check status field
+- Parse defensively with fallbacks for optional fields
+
+## Quick Reference
+
+| Task | Tool Slug | Key Params |
+|------|-----------|------------|
+| Send events | AMPLITUDE_SEND_EVENTS | events (array) |
+| Find user | AMPLITUDE_FIND_USER | user |
+| Get user activity | AMPLITUDE_GET_USER_ACTIVITY | user, offset, limit |
+| Identify user | AMPLITUDE_IDENTIFY | user_id, user_properties |
+| List cohorts | AMPLITUDE_LIST_COHORTS | (none) |
+| Get cohort | AMPLITUDE_GET_COHORT | cohort_id |
+| Update cohort members | AMPLITUDE_UPDATE_COHORT_MEMBERSHIP | cohort_id, memberships |
+| Check cohort status | AMPLITUDE_CHECK_COHORT_STATUS | request_id |
+| List event categories | AMPLITUDE_GET_EVENT_CATEGORIES | (none) |
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/analytics-tracking/SKILL.md b/packages/llm/skills/analytics-tracking/SKILL.md
new file mode 100644
index 00000000..86087f5d
--- /dev/null
+++ b/packages/llm/skills/analytics-tracking/SKILL.md
@@ -0,0 +1,405 @@
+---
+name: analytics-tracking
+description: Design, audit, and improve analytics tracking systems that produce reliable, decision-ready data.
+risk: unknown
+source: community
+date_added: '2026-02-27'
+---
+
+# Analytics Tracking & Measurement Strategy
+
+You are an expert in **analytics implementation and measurement design**.
+Your goal is to ensure tracking produces **trustworthy signals that directly support decisions** across marketing, product, and growth.
+
+You do **not** track everything.
+You do **not** optimize dashboards without fixing instrumentation.
+You do **not** treat GA4 numbers as truth unless validated.
+
+---
+
+## Phase 0: Measurement Readiness & Signal Quality Index (Required)
+
+Before adding or changing tracking, calculate the **Measurement Readiness & Signal Quality Index**.
+
+### Purpose
+
+This index answers:
+
+> **Can this analytics setup produce reliable, decision-grade insights?**
+
+It prevents:
+
+* event sprawl
+* vanity tracking
+* misleading conversion data
+* false confidence in broken analytics
+
+---
+
+## 🔢 Measurement Readiness & Signal Quality Index
+
+### Total Score: **0–100**
+
+This is a **diagnostic score**, not a performance KPI.
+
+---
+
+### Scoring Categories & Weights
+
+| Category | Weight |
+| ----------------------------- | ------- |
+| Decision Alignment | 25 |
+| Event Model Clarity | 20 |
+| Data Accuracy & Integrity | 20 |
+| Conversion Definition Quality | 15 |
+| Attribution & Context | 10 |
+| Governance & Maintenance | 10 |
+| **Total** | **100** |
+
+---
+
+### Category Definitions
+
+#### 1. Decision Alignment (0–25)
+
+* Clear business questions defined
+* Each tracked event maps to a decision
+* No events tracked “just in case”
+
+---
+
+#### 2. Event Model Clarity (0–20)
+
+* Events represent **meaningful actions**
+* Naming conventions are consistent
+* Properties carry context, not noise
+
+---
+
+#### 3. Data Accuracy & Integrity (0–20)
+
+* Events fire reliably
+* No duplication or inflation
+* Values are correct and complete
+* Cross-browser and mobile validated
+
+---
+
+#### 4. Conversion Definition Quality (0–15)
+
+* Conversions represent real success
+* Conversion counting is intentional
+* Funnel stages are distinguishable
+
+---
+
+#### 5. Attribution & Context (0–10)
+
+* UTMs are consistent and complete
+* Traffic source context is preserved
+* Cross-domain / cross-device handled appropriately
+
+---
+
+#### 6. Governance & Maintenance (0–10)
+
+* Tracking is documented
+* Ownership is clear
+* Changes are versioned and monitored
+
+---
+
+### Readiness Bands (Required)
+
+| Score | Verdict | Interpretation |
+| ------ | --------------------- | --------------------------------- |
+| 85–100 | **Measurement-Ready** | Safe to optimize and experiment |
+| 70–84 | **Usable with Gaps** | Fix issues before major decisions |
+| 55–69 | **Unreliable** | Data cannot be trusted yet |
+| <55 | **Broken** | Do not act on this data |
+
+If verdict is **Broken**, stop and recommend remediation first.
+
+---
+
+## Phase 1: Context & Decision Definition
+
+(Proceed only after scoring)
+
+### 1. Business Context
+
+* What decisions will this data inform?
+* Who uses the data (marketing, product, leadership)?
+* What actions will be taken based on insights?
+
+---
+
+### 2. Current State
+
+* Tools in use (GA4, GTM, Mixpanel, Amplitude, etc.)
+* Existing events and conversions
+* Known issues or distrust in data
+
+---
+
+### 3. Technical & Compliance Context
+
+* Tech stack and rendering model
+* Who implements and maintains tracking
+* Privacy, consent, and regulatory constraints
+
+---
+
+## Core Principles (Non-Negotiable)
+
+### 1. Track for Decisions, Not Curiosity
+
+If no decision depends on it, **don’t track it**.
+
+---
+
+### 2. Start with Questions, Work Backwards
+
+Define:
+
+* What you need to know
+* What action you’ll take
+* What signal proves it
+
+Then design events.
+
+---
+
+### 3. Events Represent Meaningful State Changes
+
+Avoid:
+
+* cosmetic clicks
+* redundant events
+* UI noise
+
+Prefer:
+
+* intent
+* completion
+* commitment
+
+---
+
+### 4. Data Quality Beats Volume
+
+Fewer accurate events > many unreliable ones.
+
+---
+
+## Event Model Design
+
+### Event Taxonomy
+
+**Navigation / Exposure**
+
+* page_view (enhanced)
+* content_viewed
+* pricing_viewed
+
+**Intent Signals**
+
+* cta_clicked
+* form_started
+* demo_requested
+
+**Completion Signals**
+
+* signup_completed
+* purchase_completed
+* subscription_changed
+
+**System / State Changes**
+
+* onboarding_completed
+* feature_activated
+* error_occurred
+
+---
+
+### Event Naming Conventions
+
+**Recommended pattern:**
+
+```
+object_action[_context]
+```
+
+Examples:
+
+* signup_completed
+* pricing_viewed
+* cta_hero_clicked
+* onboarding_step_completed
+
+Rules:
+
+* lowercase
+* underscores
+* no spaces
+* no ambiguity
+
+---
+
+### Event Properties (Context, Not Noise)
+
+Include:
+
+* where (page, section)
+* who (user_type, plan)
+* how (method, variant)
+
+Avoid:
+
+* PII
+* free-text fields
+* duplicated auto-properties
+
+---
+
+## Conversion Strategy
+
+### What Qualifies as a Conversion
+
+A conversion must represent:
+
+* real value
+* completed intent
+* irreversible progress
+
+Examples:
+
+* signup_completed
+* purchase_completed
+* demo_booked
+
+Not conversions:
+
+* page views
+* button clicks
+* form starts
+
+---
+
+### Conversion Counting Rules
+
+* Once per session vs every occurrence
+* Explicitly documented
+* Consistent across tools
+
+---
+
+## GA4 & GTM (Implementation Guidance)
+
+*(Tool-specific, but optional)*
+
+* Prefer GA4 recommended events
+* Use GTM for orchestration, not logic
+* Push clean dataLayer events
+* Avoid multiple containers
+* Version every publish
+
+---
+
+## UTM & Attribution Discipline
+
+### UTM Rules
+
+* lowercase only
+* consistent separators
+* documented centrally
+* never overwritten client-side
+
+UTMs exist to **explain performance**, not inflate numbers.
+
+---
+
+## Validation & Debugging
+
+### Required Validation
+
+* Real-time verification
+* Duplicate detection
+* Cross-browser testing
+* Mobile testing
+* Consent-state testing
+
+### Common Failure Modes
+
+* double firing
+* missing properties
+* broken attribution
+* PII leakage
+* inflated conversions
+
+---
+
+## Privacy & Compliance
+
+* Consent before tracking where required
+* Data minimization
+* User deletion support
+* Retention policies reviewed
+
+Analytics that violate trust undermine optimization.
+
+---
+
+## Output Format (Required)
+
+### Measurement Strategy Summary
+
+* Measurement Readiness Index score + verdict
+* Key risks and gaps
+* Recommended remediation order
+
+---
+
+### Tracking Plan
+
+| Event | Description | Properties | Trigger | Decision Supported |
+| ----- | ----------- | ---------- | ------- | ------------------ |
+
+---
+
+### Conversions
+
+| Conversion | Event | Counting | Used By |
+| ---------- | ----- | -------- | ------- |
+
+---
+
+### Implementation Notes
+
+* Tool-specific setup
+* Ownership
+* Validation steps
+
+---
+
+## Questions to Ask (If Needed)
+
+1. What decisions depend on this data?
+2. Which metrics are currently trusted or distrusted?
+3. Who owns analytics long term?
+4. What compliance constraints apply?
+5. What tools are already in place?
+
+---
+
+## Related Skills
+
+* **page-cro** – Uses this data for optimization
+* **ab-test-setup** – Requires clean conversions
+* **seo-audit** – Organic performance analysis
+* **programmatic-seo** – Scale requires reliable signals
+
+---
+
+## When to Use
+This skill is applicable to execute the workflow or actions described in the overview.
diff --git a/packages/llm/skills/android-jetpack-compose-expert/SKILL.md b/packages/llm/skills/android-jetpack-compose-expert/SKILL.md
new file mode 100644
index 00000000..55817790
--- /dev/null
+++ b/packages/llm/skills/android-jetpack-compose-expert/SKILL.md
@@ -0,0 +1,153 @@
+---
+name: android-jetpack-compose-expert
+description: "Expert guidance for building modern Android UIs with Jetpack Compose, covering state management, navigation, performance, and Material Design 3."
+risk: safe
+source: community
+date_added: "2026-02-27"
+---
+
+# Android Jetpack Compose Expert
+
+## Overview
+
+A comprehensive guide for building production-quality Android applications using Jetpack Compose. This skill covers architectural patterns, state management with ViewModels, navigation type-safety, and performance optimization techniques.
+
+## When to Use This Skill
+
+- Use when starting a new Android project with Jetpack Compose.
+- Use when migrating legacy XML layouts to Compose.
+- Use when implementing complex UI state management and side effects.
+- Use when optimizing Compose performance (recomposition counts, stability).
+- Use when setting up Navigation with type safety.
+
+## Step-by-Step Guide
+
+### 1. Project Setup & Dependencies
+
+Ensure your `libs.versions.toml` includes the necessary Compose BOM and libraries.
+
+```kotlin
+[versions]
+composeBom = "2024.02.01"
+activityCompose = "1.8.2"
+
+[libraries]
+androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
+androidx-ui = { group = "androidx.compose.ui", name = "ui" }
+androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
+androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
+androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
+androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
+```
+
+### 2. State Management Pattern (MVI/MVVM)
+
+Use `ViewModel` with `StateFlow` to expose UI state. Avoid exposing `MutableStateFlow`.
+
+```kotlin
+// UI State Definition
+data class UserUiState(
+ val isLoading: Boolean = false,
+ val user: User? = null,
+ val error: String? = null
+)
+
+// ViewModel
+class UserViewModel @Inject constructor(
+ private val userRepository: UserRepository
+) : ViewModel() {
+
+ private val _uiState = MutableStateFlow(UserUiState())
+ val uiState: StateFlow = _uiState.asStateFlow()
+
+ fun loadUser() {
+ viewModelScope.launch {
+ _uiState.update { it.copy(isLoading = true) }
+ try {
+ val user = userRepository.getUser()
+ _uiState.update { it.copy(user = user, isLoading = false) }
+ } catch (e: Exception) {
+ _uiState.update { it.copy(error = e.message, isLoading = false) }
+ }
+ }
+ }
+}
+```
+
+### 3. Creating the Screen Composable
+
+Consume the state in a "Screen" composable and pass data down to stateless components.
+
+```kotlin
+@Composable
+fun UserScreen(
+ viewModel: UserViewModel = hiltViewModel()
+) {
+ val uiState by viewModel.uiState.collectAsStateWithLifecycle()
+
+ UserContent(
+ uiState = uiState,
+ onRetry = viewModel::loadUser
+ )
+}
+
+@Composable
+fun UserContent(
+ uiState: UserUiState,
+ onRetry: () -> Unit
+) {
+ Scaffold { padding ->
+ Box(modifier = Modifier.padding(padding)) {
+ when {
+ uiState.isLoading -> CircularProgressIndicator()
+ uiState.error != null -> ErrorView(uiState.error, onRetry)
+ uiState.user != null -> UserProfile(uiState.user)
+ }
+ }
+ }
+}
+```
+
+## Examples
+
+### Example 1: Type-Safe Navigation
+
+Using the new Navigation Compose Type Safety (available in recent versions).
+
+```kotlin
+// Define Destinations
+@Serializable
+object Home
+
+@Serializable
+data class Profile(val userId: String)
+
+// Setup NavHost
+@Composable
+fun AppNavHost(navController: NavHostController) {
+ NavHost(navController, startDestination = Home) {
+ composable {
+ HomeScreen(onNavigateToProfile = { id ->
+ navController.navigate(Profile(userId = id))
+ })
+ }
+ composable { backStackEntry ->
+ val profile: Profile = backStackEntry.toRoute()
+ ProfileScreen(userId = profile.userId)
+ }
+ }
+}
+```
+
+## Best Practices
+
+- ✅ **Do:** Use `remember` and `derivedStateOf` to minimize unnecessary calculations during recomposition.
+- ✅ **Do:** Mark data classes used in UI state as `@Immutable` or `@Stable` if they contain `List` or other unstable types to enable smart recomposition skipping.
+- ✅ **Do:** Use `LaunchedEffect` for one-off side effects (like showing a Snackbar) triggered by state changes.
+- ❌ **Don't:** Perform expensive operations (like sorting a list) directly inside the Composable function body without `remember`.
+- ❌ **Don't:** Pass `ViewModel` instances down to child components. Pass only the data (state) and lambda callbacks (events).
+
+## Troubleshooting
+
+**Problem:** Infinite Recomposition loop.
+**Solution:** Check if you are creating new object instances (like `List` or `Modifier`) inside the composition without `remember`, or if you are updating state inside the composition phase instead of a side-effect or callback. Use Layout Inspector to debug recomposition counts.
diff --git a/packages/llm/skills/angular-best-practices/README.md b/packages/llm/skills/angular-best-practices/README.md
new file mode 100644
index 00000000..143a521f
--- /dev/null
+++ b/packages/llm/skills/angular-best-practices/README.md
@@ -0,0 +1,58 @@
+# Angular Best Practices
+
+Performance optimization and best practices for Angular applications optimized for AI agents and LLMs.
+
+## Overview
+
+This skill provides prioritized performance guidelines across:
+
+- **Change Detection** - OnPush strategy, Signals, Zoneless apps
+- **Async Operations** - Avoiding waterfalls, SSR preloading
+- **Bundle Optimization** - Lazy loading, `@defer`, tree-shaking
+- **Rendering Performance** - TrackBy, virtual scrolling, CDK
+- **SSR & Hydration** - Server-side rendering patterns
+- **Template Optimization** - Structural directives, pipe memoization
+- **State Management** - Efficient reactivity patterns
+- **Memory Management** - Subscription cleanup, detached refs
+
+## Structure
+
+The `SKILL.md` file is organized by priority:
+
+1. **Critical Priority** - Largest performance gains (change detection, async)
+2. **High Priority** - Significant impact (bundles, rendering)
+3. **Medium Priority** - Noticeable improvements (SSR, templates)
+4. **Low Priority** - Incremental gains (memory, cleanup)
+
+Each rule includes:
+
+- ❌ **WRONG** - What not to do
+- ✅ **CORRECT** - Recommended pattern
+- 📝 **Why** - Explanation of the impact
+
+## Quick Reference Checklist
+
+**For New Components:**
+
+- [ ] Using `ChangeDetectionStrategy.OnPush`
+- [ ] Using Signals for reactive state
+- [ ] Using `@defer` for non-critical content
+- [ ] Using `trackBy` for `*ngFor` loops
+- [ ] No subscriptions without cleanup
+
+**For Performance Reviews:**
+
+- [ ] No async waterfalls (parallel data fetching)
+- [ ] Routes lazy-loaded
+- [ ] Large libraries code-split
+- [ ] Images use `NgOptimizedImage`
+
+## Version
+
+Current version: 1.0.0 (February 2026)
+
+## References
+
+- [Angular Performance](https://angular.dev/guide/performance)
+- [Zoneless Angular](https://angular.dev/guide/zoneless)
+- [Angular SSR](https://angular.dev/guide/ssr)
diff --git a/packages/llm/skills/angular-best-practices/SKILL.md b/packages/llm/skills/angular-best-practices/SKILL.md
new file mode 100644
index 00000000..891fdda0
--- /dev/null
+++ b/packages/llm/skills/angular-best-practices/SKILL.md
@@ -0,0 +1,563 @@
+---
+name: angular-best-practices
+description: "Angular performance optimization and best practices guide. Use when writing, reviewing, or refactoring Angular code for optimal performance, bundle size, and rendering efficiency."
+risk: safe
+source: self
+date_added: "2026-02-27"
+---
+
+# Angular Best Practices
+
+Comprehensive performance optimization guide for Angular applications. Contains prioritized rules for eliminating performance bottlenecks, optimizing bundles, and improving rendering.
+
+## When to Apply
+
+Reference these guidelines when:
+
+- Writing new Angular components or pages
+- Implementing data fetching patterns
+- Reviewing code for performance issues
+- Refactoring existing Angular code
+- Optimizing bundle size or load times
+- Configuring SSR/hydration
+
+---
+
+## Rule Categories by Priority
+
+| Priority | Category | Impact | Focus |
+| -------- | --------------------- | ---------- | ------------------------------- |
+| 1 | Change Detection | CRITICAL | Signals, OnPush, Zoneless |
+| 2 | Async Waterfalls | CRITICAL | RxJS patterns, SSR preloading |
+| 3 | Bundle Optimization | CRITICAL | Lazy loading, tree shaking |
+| 4 | Rendering Performance | HIGH | @defer, trackBy, virtualization |
+| 5 | Server-Side Rendering | HIGH | Hydration, prerendering |
+| 6 | Template Optimization | MEDIUM | Control flow, pipes |
+| 7 | State Management | MEDIUM | Signal patterns, selectors |
+| 8 | Memory Management | LOW-MEDIUM | Cleanup, subscriptions |
+
+---
+
+## 1. Change Detection (CRITICAL)
+
+### Use OnPush Change Detection
+
+```typescript
+// CORRECT - OnPush with Signals
+@Component({
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ template: `