Instrucción de Escritura Compuesta
Compón una instrucción de escritura combinando entradas de la taxonomía de los ejes Voz y Tono, Estilo y Formato.
Uso
/writing-style-catalog:writing-instruction-builder [voice=<id>] [tone=<id>] [style=<id>] [format=<id>] [topic=<texto>] [audience=<texto>]
Todos los parámetros son opcionales. Si se omiten, el skill elige valores predeterminados sensatos.
Parámetros
voice- ID de la entrada de Voz (ej.:pragmatic-architect,pastoral,columnist)tone- ID de la entrada de Tono (ej.:candid,warm,matter-of-fact)style- ID de la entrada de Estilo (ej.:problem-solution,devotional-reflection)format- ID de la entrada de Formato (ej.:adr,blog-post-long-form,slack-message)topic- El tema o asunto sobre el que escribir (opcional, para una instrucción compuesta más concreta)audience- La audiencia objetivo (opcional, por defecto general)
Qué hace el skill
- Valida cada ID de entrada proporcionado contra el catálogo de taxonomía
- Lee el
llm_instruction_phrasingde cada entrada coincidente - Ensambla una cadena de instrucción compuesta en un orden de precedencia fijo: voz, luego tono, luego estilo, luego formato
- Verifica las entradas seleccionadas entre sí según sus campos de relación y advierte sobre cualquier conflicto (sin bloquear)
- Devuelve la instrucción compuesta lista para pegar en cualquier prompt de LLM
Implementación
La composición se implementa mediante el script auxiliar scripts/build-instruction.py en esta carpeta del skill.
Lee el catálogo del directorio taxonomy/ en la raíz del plugin, por lo que ese directorio se distribuye con el plugin. El comando slash acepta argumentos clave=valor; el script en sí acepta argumentos --flag valor. Ejecútalo directamente para componer sin el comando slash, por ejemplo:
python scripts/build-instruction.py --voice pragmatic-architect --tone candid --format adr
Composición consciente de conflictos
El constructor lee las relaciones avoid_with y pairs_well_with de cada entrada seleccionada e informa sobre ellas, de modo que una composición es una garantía verificada, no una concatenación ciega. Las reglas (ver ADR 0016):
- Los conflictos son simétricos. Un par se marca si cualquiera de las dos entradas lista a la otra en
avoid_with, por lo que la advertencia nunca depende de qué autor registró el enlace. - Advertir, nunca bloquear. Un par conflictivo aún se compone (puedes querer una tensión deliberada); el constructor emite una advertencia y aplica la precedencia voz -> tono -> estilo -> formato para que el eje de mayor precedencia lidere.
- Afirmaciones. Una coincidencia de
pairs_well_withse muestra como una nota de confirmación.
La instrucción compuesta se imprime en stdout; las advertencias de conflicto y las notas de afirmación se imprimen en stderr, de modo que stdout siga siendo un prompt limpio y encadenable. Por ejemplo, al emparejar la voz pragmatic-architect con el tono reverent (que la lista en avoid_with) aún se devuelve la instrucción e imprime:
warning: conflict - pragmatic-architect (voice) and reverent (tone) are marked avoid_with.
Composing anyway with voice -> tone -> style -> format precedence; expect tension.
Ejemplos
Compón un ADR en voz pragmatic-architect con tono candid:
/writing-style-catalog:writing-instruction-builder voice=pragmatic-architect tone=candid format=adr
Compón una reflexión devocional pastoral:
/writing-style-catalog:writing-instruction-builder voice=pastoral tone=reverent style=devotional-reflection format=devotional-entry topic="La disciplina del descanso"
Entradas disponibles
Ejecuta sin argumentos para ver todas las entradas disponibles agrupadas por eje.