协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
refactor-skill-structure【开发与工程】Refactorizar un SKILL.md demasiado largo o mal estructurado extrayendo ejemplos a references/EXAMPLES.md, dividiendo procedimientos compuestos y reorganizando secciones para una divulgación progresiva. Usar cuando una habilidad supere el límite de 500 líneas de CI, cuando los bloques de código dominen el cuerpo de la habilidad, cuando un paso del pro…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Refactorizar un SKILL.md que ha superado el límite de 500 líneas o ha desarrollado problemas estructurales. Esta habilidad extrae ejemplos de código extendidos a references/EXAMPLES.md, divide procedimientos compuestos en subprocedimientos enfocados, añade referencias cruzadas para la divulgación progresiva y verifica que la habilidad sigue siendo completa y válida después de la reestructuración.
references/EXAMPLES.md (predeterminado: sí, si existe contenido extraíble)Leer la habilidad y crear un presupuesto de líneas sección por sección para identificar dónde está la inflación.
# Total line count
wc -l < skills/<skill-name>/SKILL.md
# Line count per section (approximate)
grep -n "^## \|^### " skills/<skill-name>/SKILL.md
Clasificar las fuentes de inflación:
Esperado: Un presupuesto de líneas que muestre qué secciones están sobredimensionadas y qué categoría de inflación aplica a cada una. Las secciones más grandes son los objetivos principales de refactorización.
En caso de fallo: Si la habilidad está por debajo de las 500 líneas y no hay problemas estructurales aparentes, puede que esta habilidad no sea necesaria. Verificar que la solicitud de refactorización está justificada antes de continuar.
Mover bloques de código de más de 15 líneas a un archivo references/EXAMPLES.md, dejando fragmentos breves en línea (3-10 líneas) en el SKILL.md principal.
Crear el directorio de referencias:
mkdir -p skills/<skill-name>/references/
Para cada bloque de código extraíble:
references/EXAMPLES.md bajo un encabezado descriptivoSee [EXAMPLES.md](references/EXAMPLES.md#heading) for the complete configuration.Estructurar references/EXAMPLES.md con encabezados claros:
# Examples
## Example 1: Full Configuration
Complete configuration file for [context]:
\```yaml
# ... full config here ...
\```
## Example 2: Multi-Variant Setup
### Variant A: Development
\```yaml
# ... dev config ...
\```
### Variant B: Production
\```yaml
# ... prod config ...
\```
Esperado: Todos los bloques de código de más de 15 líneas están extraídos. El SKILL.md principal retiene fragmentos breves en línea para legibilidad. Las referencias cruzadas enlazan al contenido extraído. references/EXAMPLES.md está bien organizado con encabezados descriptivos.
En caso de fallo: Si extraer bloques de código no reduce suficientemente el recuento de líneas (sigue por encima de 500), proceda al Paso 3 para la división del procedimiento. Si la habilidad tiene muy pocos bloques de código (p. ej., una habilidad en lenguaje natural), enfóquese en los Pasos 3 y 4 en su lugar.
Identificar pasos del procedimiento que realizan múltiples operaciones no relacionadas y dividirlos.
Señales de un paso compuesto:
Para cada paso compuesto:
### Step N: para cada operaciónEsperado: Cada paso del procedimiento hace una sola cosa. Ningún paso supera las 30 líneas. El recuento de pasos puede aumentar pero cada paso es independientemente verificable.
En caso de fallo: Si dividir un paso crea pasos demasiado granulares (p. ej., 20+ pasos en total), considere agrupar los micropasos relacionados bajo un solo paso con subpasos numerados. El punto óptimo es de 5-12 pasos de procedimiento.
Asegurarse de que el SKILL.md principal mantiene la legibilidad y la capacidad de descubrimiento después de la extracción.
Para cada extracción:
[EXAMPLES.md](references/EXAMPLES.md#section-anchor)Patrones de referencia cruzada:
See [EXAMPLES.md](references/EXAMPLES.md#full-configuration) for the complete configuration with all options.See [EXAMPLES.md](references/EXAMPLES.md#variants) for development, staging, and production variants.See [EXAMPLES.md](references/EXAMPLES.md#troubleshooting) for additional error scenarios.Esperado: Cada extracción tiene una referencia cruzada correspondiente. Un lector puede seguir el SKILL.md principal para el caso común y profundizar en las referencias para obtener detalles.
En caso de fallo: Si las referencias cruzadas hacen que el flujo del texto sea incómodo, consolide múltiples referencias en una sola nota al final del paso del procedimiento: For extended examples including [X], [Y], and [Z], see [EXAMPLES.md](references/EXAMPLES.md).
Volver a medir el recuento de líneas del SKILL.md después de todos los cambios.
# Check main SKILL.md
lines=$(wc -l < skills/<skill-name>/SKILL.md)
[ "$lines" -le 500 ] && echo "SKILL.md: OK ($lines lines)" || echo "SKILL.md: STILL OVER ($lines lines)"
# Check references file if created
if [ -f skills/<skill-name>/references/EXAMPLES.md ]; then
ref_lines=$(wc -l < skills/<skill-name>/references/EXAMPLES.md)
echo "EXAMPLES.md: $ref_lines lines"
fi
# Total content
echo "Total content: $((lines + ${ref_lines:-0})) lines"
Esperado: El SKILL.md está por debajo de las 500 líneas. Idealmente por debajo de las 400 líneas para dejar espacio para el crecimiento futuro. references/EXAMPLES.md no tiene límite de líneas.
En caso de fallo: Si sigue por encima de las 500 líneas después de la extracción y la división, considere si la habilidad debería descomponerse en dos habilidades separadas. Una habilidad que cubre demasiado terreno es una señal de expansión del alcance. Use create-skill para crear la segunda habilidad y actualice las referencias cruzadas de Habilidades Relacionadas en ambas.
Después de la refactorización, verificar que la habilidad sigue teniendo todas las secciones obligatorias y que el frontmatter está intacto.
Ejecutar la lista de verificación de review-skill-format:
# Quick section check
for section in "## When to Use" "## Inputs" "## Procedure" "## Common Pitfalls" "## Related Skills"; do
grep -q "$section" skills/<skill-name>/SKILL.md && echo "$section: OK" || echo "$section: MISSING"
done
grep -qE "## Validation( Checklist)?" skills/<skill-name>/SKILL.md && echo "Validation: OK" || echo "Validation: MISSING"
Esperado: Todas las secciones presentes. Ningún contenido fue eliminado accidentalmente durante la extracción. Las referencias cruzadas en SKILL.md se resuelven a encabezados reales en EXAMPLES.md.
En caso de fallo: Si una sección fue eliminada accidentalmente, restáurela desde el historial de git: git diff skills/<skill-name>/SKILL.md para ver qué cambió. Si las referencias cruzadas están rotas, verifique que los anclajes de encabezado en EXAMPLES.md coincidan con los enlaces en SKILL.md (reglas de anclaje de markdown con formato GitHub: minúsculas, guiones para espacios, eliminar puntuación).
references/EXAMPLES.md con encabezados descriptivosreview-skill-format pasa en la habilidad refactorizadagrep -c "heading-text" references/EXAMPLES.md.review-skill-format — Ejecutar la validación de formato después de la refactorización para confirmar que la habilidad sigue siendo conformeupdate-skill-content — Las actualizaciones de contenido son a menudo el desencadenante de la refactorización estructural cuando empujan una habilidad por encima del límite de líneascreate-skill — Referencia la estructura canónica al decidir cómo organizar el contenido extraídoevolve-skill — Cuando una habilidad necesita dividirse en dos habilidades separadas, use la evolución para crear el derivado