brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
metalExtract the conceptual essence of a repository as skills, agents, and teams — the project's roles, procedures, and coordination patterns expressed as agentskills.io-standard definitions. Reads an arbitrary codebase and produces generalized definitions that capture WHAT the project does and WHO operates it, without replicating HOW it does it. Use when onboar…
Independent GitHub snapshot · Automated classification · Original documentation governs
Extraer el ADN conceptual de un repositorio — sus roles, procedimientos y patrones de coordinación — como definiciones generalizadas de agentskills.io. Como extraer metal noble del mineral, la habilidad separa lo que un proyecto ES (su esencia) de lo que HACE (su implementación), produciendo definiciones reutilizables de habilidades, agentes y equipos que capturan el genoma organizativo del proyecto sin reproducir su base de código.
survey (solo prospección + ensayo), extract (procedimiento completo) o report (extracción + informe escrito) (por defecto: extract)El criterio central de calidad para toda extracción:
¿Podría este concepto existir en una implementación completamente diferente?
Si SÍ — es metal (esencia). Extraerlo. Si NO — es ganga (detalle de implementación). Dejarlo atrás.
Ejemplo: El concepto de una aplicación meteorológica "integrar fuente de datos externa" es metal — se aplica a cualquier proyecto que obtenga datos de terceros. Pero "parsear la respuesta JSON de OpenWeatherMap v3" es ganga — es específico de una API.
Las habilidades extraídas deben describir la CLASE de tarea, no la instancia específica. Los agentes extraídos deben describir el ROL, no la persona. Los equipos extraídos deben describir el PATRÓN DE COORDINACIÓN, no el organigrama.
Reconocer la estructura del repositorio sin juzgar. Mapear el terreno antes de minar.
package.json, DESCRIPTION, setup.py, Cargo.toml, go.mod, MakefileREADME.md, CLAUDE.md, CONTRIBUTING.md, documentos de arquitectura.github/workflows/, Dockerfile, configuraciones de despliegueProject: [name]
Declared Purpose: [from README/manifest]
Languages: [primary, secondary]
Size: [file count, approx LOC]
Shape: [monorepo/library/app/framework/docs]
External Surface: [CLI/API/UI/library exports/none]
Esperado: Un reconocimiento factual — qué hay aquí, qué tan grande es, qué dice ser el proyecto. Sin clasificación ni juicio aún. El informe se lee como un estudio geológico, no como una reseña.
En caso de fallo: Si el repositorio no tiene README ni manifiesto, inferir el propósito a partir de nombres de directorios, contenido de archivos y descripciones de pruebas. Si el proyecto es demasiado grande (>1000 archivos fuente), reducir el alcance a los directorios más activos (usar frecuencia del log de git o referencias del README).
Leer archivos representativos para entender qué HACE el proyecto a nivel conceptual.
Esperado: Un mapa conceptual del proyecto que se lee como un glosario de dominio, no como un recorrido por el código. Alguien no familiarizado con el stack tecnológico debería entender qué hace el proyecto a partir de este informe.
En caso de fallo: Si la base de código es opaca (metaprogramación pesada, código generado u ofuscado), apoyarse en las pruebas y la documentación en lugar del código fuente. Si no existen pruebas, leer los mensajes de commit para entender la intención.
Hacer una pausa para limpiar el anclaje cognitivo de haber leído código.
Esperado: El Informe de Ensayo ahora está libre de lenguaje específico de framework. Cada hallazgo pasa la Prueba del Mineral. Los conceptos se sienten portables — podrían aplicarse a un proyecto en cualquier lenguaje o framework.
En caso de fallo: Si el sesgo persiste (los hallazgos siguen referenciando tecnologías específicas), intentar invertir: "Si este proyecto fuera reescrito en un stack completamente diferente, ¿qué conceptos sobrevivirían?" Solo esos son metal.
El paso central de extracción. Clasificar cada concepto esencial en habilidades, agentes o equipos.
Classification Criteria:
+--------+----------------------------+----------------------------+----------------------------+
| Type | What to Look For | Naming Convention | Test Question |
+--------+----------------------------+----------------------------+----------------------------+
| SKILL | Repeatable procedures, | Verb-first kebab-case: | "Could an agent follow |
| | workflows, transformations | validate-input, | this as a step-by-step |
| | with clear inputs/outputs | deploy-artifact | procedure?" |
+--------+----------------------------+----------------------------+----------------------------+
| AGENT | Persistent roles, domain | Noun/role kebab-case: | "Does this require ongoing |
| | expertise, judgment calls, | data-engineer, | context, expertise, or a |
| | communication styles | quality-reviewer | specific communication |
| | | | style?" |
+--------+----------------------------+----------------------------+----------------------------+
| TEAM | Multi-role coordination, | Group descriptor: | "Does this need more than |
| | handoffs, reviews, | pipeline-ops, | one distinct perspective |
| | parallel workstreams | review-board | to accomplish?" |
+--------+----------------------------+----------------------------+----------------------------+
Para cada elemento extraído:
identity-manager (agente). "deployToAWS()" se convierte en deploy-artifact (habilidad).Protegerse contra errores comunes de clasificación:
Esperado: Un inventario clasificado donde cada elemento tiene un tipo (habilidad/agente/equipo), un nombre generalizado y una descripción de una línea. Ningún elemento referencia las tecnologías específicas, APIs o estructuras de datos del proyecto fuente.
En caso de fallo: Si la clasificación es ambigua (¿es esto una habilidad o un agente?), preguntar: "¿Se trata de HACER algo (habilidad) o de SER alguien que hace cosas (agente)?" Una habilidad es una receta; un agente es un chef. Si aún no está claro, optar por habilidad — las habilidades son más fáciles de componer después.
Evaluar si la extracción es honesta — ni demasiado ni demasiado poco.
Verificación de sobre-extracción: Leer cada definición extraída y preguntar:
Verificación de sub-extracción: Mostrar solo las definiciones extraídas (sin el proyecto fuente) y preguntar:
Verificación de generalización: Para cada definición:
Verificación de balance: Revisar las proporciones de extracción:
Esperado: Confianza en que la extracción está al nivel correcto de abstracción. Cada definición es una semilla que podría crecer en tierra diferente, no un esqueje que solo sobrevive en el jardín original.
En caso de fallo: Si hay sobre-extracción, elevar el nivel de abstracción — fusionar habilidades específicas en unas más amplias, colapsar agentes similares en un solo rol. Si hay sub-extracción, regresar al Paso 2 y muestrear archivos adicionales. Si la verificación de generalización falla, eliminar referencias tecnológicas y reescribir descripciones.
Producir los documentos de salida en estándar agentskills.io.
# Skill: [generalized-name]
name: [generalized-name]
description: [one-line, framework-agnostic]
domain: [closest domain from the 52 existing domains, or suggest a new one]
complexity: [basic/intermediate/advanced]
# Concept-level procedure (3-5 steps, NOT full implementation):
# Step 1: [high-level action]
# Step 2: [high-level action]
# Step 3: [high-level action]
# Derived from: [source concept in original project]
# Agent: [role-name]
name: [role-name]
description: [one-line purpose]
tools: [minimal tool set needed]
skills: [list of extracted skills this agent would carry]
# Derived from: [source role/module in original project]
# Team: [group-name]
name: [group-name]
description: [one-line purpose]
lead: [lead agent from extracted agents]
members: [list of member agents]
coordination: [hub-and-spoke/sequential/parallel/adaptive]
# Derived from: [source workflow/process in original project]
Esperado: Un informe estructurado que contiene todas las definiciones extraídas en formato agentskills.io. Cada definición es esquelética (a nivel conceptual, no a nivel de implementación) y podría servir como punto de partida para que las habilidades create-skill, create-agent o create-team la completen.
En caso de fallo: Si la salida excede 15 elementos, priorizar por centralidad — mantener los conceptos más únicos del dominio del proyecto. Los conceptos genéricos (como "manage-configuration") que existen en la mayoría de proyectos deberían descartarse a menos que tengan un giro inusual.
Verificar la extracción completa y producir el resumen.
Temper Assessment:
+-----+---------------------------+----------+------------------------------------+
| # | Name | Type | Ore Test Result |
+-----+---------------------------+----------+------------------------------------+
| 1 | [name] | skill | PASS / FAIL (reason) |
| 2 | [name] | agent | PASS / FAIL (reason) |
| ... | ... | ... | ... |
+-----+---------------------------+----------+------------------------------------+
Esperado: Un Informe de Ensayo validado con una tabla resumen, evaluación de confianza y próximos pasos accionables. El informe es autocontenido — alguien que nunca ha visto el proyecto fuente puede leerlo y entender los conceptos extraídos.
En caso de fallo: Si más del 20% de los elementos fallan la Prueba del Mineral final, regresar al Paso 4 (Fundir) y re-extraer a un nivel de abstracción superior. Si la cobertura está por debajo del 60% de los dominios identificados, regresar al Paso 2 (Ensayar) y muestrear archivos adicionales.
create-skill, no productos terminados. Una extracción de 50 pasos es una reproducción, no una esencia.athanor — Cuando metal revela que el proyecto necesita transformación, no solo extracción de esenciachrysopoeia — Extracción de valor a nivel de código; metal trabaja a nivel conceptual por encima del códigotransmute — Convertir conceptos extraídos entre dominios o paradigmascreate-skill — Desarrollar esbozos de habilidades extraídas en implementaciones completas de SKILL.mdcreate-agent — Desarrollar esbozos de agentes extraídos en definiciones completas de agentecreate-team — Desarrollar esbozos de equipos extraídos en composiciones completas de equipoobserve — Observación más profunda cuando la fase de prospección revela un dominio no familiaranalyze-codebase-for-mcp — Complementario: metal extrae conceptos, analyze-codebase-for-mcp extrae superficies de herramientasreview-codebase — Complementario: metal extrae esencia, review-codebase evalúa calidad