Escritura previa a la IA
Los documentos siguen leyéndose como salida de un LLM por razones estructurales que una corrección a nivel de palabra no puede arreglar:
- etiquetas introductorias ("La respuesta en una línea.")
- guías de lectura
- etiquetas de estado en cada hecho
- un contraargumento en cada sección
- tablas para todo
- URLs en cada párrafo
Escribe como se escribía antes de noviembre de 2022: lo objetivo primero, después los supuestos, encabezados simples, la idea principal en la primera frase de cada sección, principalmente prosa, y una lista numerada de fuentes al final. La habilidad humanizer (https://github.com/blader/humanizer) luego se encarga de las frases.
references/rules.md contiene cada regla con su antes y después. references/structures.md tiene una plantilla por tipo de documento. Las rutas siguientes son relativas a la carpeta de esta habilidad.
Flujo de trabajo
-
Encuadre. En una línea de chat, nombra cuatro cosas:
- el lector
- cuándo lo lee (bandeja de entrada, panel de entrevista, feed)
- el tipo: tarea para casa, memorando, correo, carta de presentación, publicación, currículum, presentación, página de aterrizaje o documento
- el nivel
Alto riesgo significa una solicitud de empleo o tarea para casa, un entregable para un cliente, cualquier cosa para un ejecutivo, o cualquier cosa que el usuario llame de alto riesgo. Hecho cuando la línea está escrita.
-
Recopilar antes de redactar. Reúne:
- Las palabras exactas del briefing, incluido cualquier límite de extensión o páginas.
- Una tabla de cobertura que asigne todo lo que pide el briefing a la sección que lo responderá. Se queda en el chat o las notas, nunca en el documento.
- Pruebas de primera mano, cada una con su fuente.
- Las propias palabras del usuario de notas y mensajes anteriores.
- Para texto de clientes, de 15 a 20 frases propias del cliente.
Marca cualquier afirmación planeada sin fuente como "preguntar". Hecho cuando cada afirmación planeada tiene una fuente o un "preguntar".
-
Diseño. Elige la plantilla en
references/structures.mdy asigna a cada sección un presupuesto de palabras que siga su importancia. Un límite en el briefing anula cualquier longitud predeterminada. Hecho cuando existe un esquema con presupuestos. -
Redacta como
<nombre>_borrador.md, siguiendoreferences/rules.mdyreferences/evidence.md. Las etiquetas de estado, fechas de acceso y tablas numeradas van en<nombre>_notas.md. -
Lint. Ejecuta:
python3 scripts/lint_doc.py --type <tipo> <archivo>Para una presentación, pasa la carpeta de diapositivas;
<aside>se lee como notas del orador. Corrige cada FAIL. Corrige cada WARN, o di en el chat por qué se queda. Hecho cuando el código de salida es 0. -
Humanizador. Invoca la habilidad
humanizercon la herramienta Skill, incluso para un correo de tres líneas. Un pase manual de "lo he comprobado yo mismo" no cuenta; las sesiones nuevas se saltaron este paso en las pruebas. Ejecútalo en modo incrustado solo sobre la prosa. Las tablas, el texto citado, el código y la lista de Fuentes se quedan como están. Guarda el resultado como un archivo nuevo y haz lint de nuevo. Hecho cuando el nuevo archivo pasa el lint sin errores. -
Afirmaciones sobre el usuario. Enumera cada frase que indique las acciones, hábitos, resultados, uso o sentimientos del usuario. Rastrea cada una hasta su currículum, sus notas o su memoria, o lo que haya dicho en esta conversación. Pregunta o elimina cualquier cosa sin fuente. Hecho cuando una tabla en el chat (afirmación | fuente | mantenida, eliminada o preguntada) cubre cada una de esas frases.
-
Lectura como el lector nombrado. Responde cada pregunta con sí o no, y corrige cada respuesta incorrecta:
- ¿La primera frase de cada sección transmite su idea principal?
- ¿El lector echaría de menos cada párrafo si se eliminara?
- ¿Alguna frase describe el documento en sí mismo?
- ¿La extensión de la sección sigue su importancia?
- ¿Qué hay aquí que solo podría provenir de trabajo de primera mano? (Nómbralo; si nada, el borrador es genérico.)
- ¿Cada número se remite a las notas?
- ¿Termina con un siguiente paso o una petición?
- ¿El formato se ajusta a dónde va? (Texto plano para correos y LinkedIn, sin markdown.)
-
Solo nivel alto riesgo. Este paso es obligatorio cuando el paso 1 dice alto riesgo, incluidos textos cortos. Sigue
references/high-stakes.md:- una revisión con la lente del lector realizada por un agente nuevo
- para tareas para casa y propuestas, líneas base más
scripts/sameness_check.pyy una revisión ciega mediantescripts/blind_pack.py
Hecho cuando se cumple su regla de aprobación, o se informan los fallos.
-
Entrega en el formato de destino:
- texto plano para correos y publicaciones
- Markdown o un documento para documentos
- diapositivas para presentaciones
Las tablas de cobertura, afirmaciones y estado van en el chat o en
<nombre>_notas.md. Haz un PDF solo cuando el usuario lo pida o el entregable sea un PDF:python3 scripts/build_pdf.py entrada.md salida.pdf --title "..." --footer-left "..."Luego comprueba las imágenes de las páginas, incluida la página de fuentes. Ejecútalo sin
-Iporque importamarkdown.
Reglas que anulan otras habilidades
- Guiones. No uses U+2014 ni U+2013 en ningún sitio, incluidas citas y notas. Esta es la regla personal del autor; elimina la comprobación
dashenscripts/lint_doc.pysi tu estilo permite guiones. - Las revisiones son versiones nuevas. Nunca edites en silencio el entregable original.
- El proceso no aparece en la página. El método, el proceso y el uso de IA ocupan una línea en la diapositiva de fuentes o en las notas, nunca una sección o diapositiva.
- Esta habilidad es el pase final. Las habilidades de redacción, correos electrónicos y currículums redactan contenido; esta habilidad se ejecuta después de ellas, no en su lugar.
Archivos
scripts/lint_doc.py: el linter estructural y de redacción. Ejecuta--helppara ver las opciones;--fix-typography OUTescribe una copia corregida.scripts/sameness_check.py,scripts/blind_pack.py: el kit de alto riesgo.scripts/build_pdf.py: Markdown a PDF, con comprobaciones.scripts/prompt_trigger.py: un hook opcional de UserPromptSubmit que recuerda a Claude usar esta habilidad (ver README).references/:structures.mdrules.mdevidence.mdvoice.mdhigh-stakes.md
templates/blind_review_prompt.mdtests/test_lint_doc.py: ejecútalo después de cambiar cualquier regla.