Acerca de
La habilidad de cristalización analiza los registros de sesión y las lecciones para identificar patrones repetitivos, luego genera archivos de habilidades en borrador para conocimiento reutilizable. Se activa manualmente mediante comandos como `/crystallize` o automáticamente después de cada 10 sesiones. El proceso produce habilidades en borrador y un informe de promoción utilizando un agente extractor de conocimiento dedicado para la destilación de patrones.
Instalación rápida
Claude Code
Recomendadonpx skills add avelikiy/great_cto -a claude-code/plugin add https://github.com/avelikiy/great_ctogit clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/crystallizeCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Crystallize — distil session patterns into reusable skills
Invoke when the CTO says /crystallize, "crystallize", "extract knowledge", or
"what have we learned?". Also auto-suggested when session count is a multiple
of 10 (the session-end hook checks .great_cto/.last-crystallize).
The knowledge-extractor agent (Opus) does the heavy lifting. This skill
orchestrates the workflow and emits the final report.
Session-end hint integration: The session-end hook checks
.great_cto/.last-crystallize and suggests running /crystallize when the
session count exceeds last_sessions + 10. Run this skill after ≥10 sessions
to keep extracted skills current.
Step 1 — Gather raw material
# Count sessions
SESSION_COUNT=$(ls .great_cto/logs/session-*-end.md 2>/dev/null | wc -l | tr -d ' ')
echo "Sessions: $SESSION_COUNT"
# Read lessons
cat .great_cto/lessons.md 2>/dev/null || echo "(no lessons yet)"
# Read cross-project decisions
cat ~/.great_cto/decisions.md 2>/dev/null | head -200 || echo "(none)"
# Find patterns that appear in ≥3 sessions
grep -h "^## pattern:" .great_cto/logs/session-*-end.md 2>/dev/null | sort | uniq -c | sort -rn | head -20
# Recent git log for context
git log --oneline --since="30 days ago" | head -30
If SESSION_COUNT is 0, tell the CTO: "No session logs found in
.great_cto/logs/. Run at least 10 sessions before crystallizing." Exit.
If SESSION_COUNT < 10, tell the CTO: "Only {N} sessions found. Patterns
are more reliable after ≥10 sessions. Proceed anyway? [yes/no]" Wait for
confirmation before continuing.
Step 2 — Cluster patterns (via knowledge-extractor agent)
Spawn the knowledge-extractor agent with the gathered data as context:
Agent: knowledge-extractor
Task: |
Read .great_cto/lessons.md and all files in .great_cto/logs/.
Cluster lesson entries by pattern slug.
For each cluster with ≥3 occurrences, write a draft skill file to
skills/{domain}/SKILL.md (status: draft in frontmatter).
If a skill for that domain already exists, append a new ## section instead
of replacing the file.
Infer domain from the pattern slug and its archetype tags.
Return a structured summary: clusters found, drafts written, already-covered.
Wait for the agent to complete before proceeding to Step 3.
Step 3 — Emit promotion report
After the agent completes, print:
CRYSTALLIZE REPORT
════════════════════════════════════════
Sessions analysed: {SESSION_COUNT}
Lessons found: {LESSON_COUNT}
Clusters: {CLUSTER_COUNT}
Draft skills: {DRAFT_COUNT} (in skills/{domain}/SKILL.md)
Already covered: {COVERED_COUNT} (pattern already in existing skill)
════════════════════════════════════════
Draft files:
{list of paths and brief description per draft}
Next: review drafts, remove `status: draft` when satisfied.
Run /crystallize again after 10 more sessions.
════════════════════════════════════════
Step 4 — Write .last-crystallize marker
After emitting the report, write the marker file:
SESSION_COUNT=$(ls .great_cto/logs/session-*-end.md 2>/dev/null | wc -l | tr -d ' ')
DRAFT_COUNT={P} # from agent output
mkdir -p .great_cto
node -e "
const fs = require('fs');
fs.writeFileSync('.great_cto/.last-crystallize', JSON.stringify({
ts: new Date().toISOString(),
sessions: parseInt('$SESSION_COUNT') || 0,
drafts: parseInt('$DRAFT_COUNT') || 0
}) + '\n');
"
Step 5 — Auto-run cadence suggestion
If SESSION_COUNT is a multiple of 10 (and > 0), append to the report:
Auto-suggestion: you've completed {SESSION_COUNT} sessions. Consider running
`/crystallize` every 10 sessions to keep skills current.
Repositorio GitHub
Preguntas frecuentes
¿Qué es el Skill crystallize?
crystallize es un Skill de Claude creado por avelikiy. Los Skills agrupan instrucciones y recursos que Claude carga cuando los necesita para realizar tareas relacionadas con crystallize sin indicaciones adicionales.
¿Cómo instalo crystallize?
Usa los comandos de instalación de esta página: añade crystallize a Claude Code como plugin o clona su repositorio en tu directorio de skills y reinicia Claude para cargarlo.
¿A qué categoría pertenece crystallize?
crystallize pertenece a la categoría Meta.
¿Se puede usar crystallize gratis?
Sí. crystallize aparece en AIMCP y se puede instalar gratis.
Habilidades relacionadas
Esta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
Esta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
Esta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
SGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
