fade-away
Mantén una capa de memoria ligera compuesta por: diario -> wiki de temas -> índice -> MOC semanal -> base de conocimiento, para que el usuario pueda cambiar de tarea y construir una base de conocimiento personal para LLM sin tener que reexplicar el contexto.
Contrato de operación
Este skill se ejecuta durante toda la conversación, no solo en el primer turno. Antes de cada respuesta del asistente, verifica si el turno activa: inicio de sesión, guardado por turno, cambio de tema, registro manual, promoción de tema, tareas semanales/dashboard/lint o promoción de conocimiento. La regla que más se suele omitir es el guardado por turno: cada turno sustancial del asistente añade una línea (HH:MM) <progreso> a la entrada activa del diario.
Mantén la ruta caliente (hot path) pequeña. Coloca los mecanismos de baja frecuencia en references/ y cárgalos solo cuando se active su disparador.
Rutas
<RAIZ_BOVEDA> es la bóveda de Obsidian que mantiene fade-away. Resuélvela una vez por sesión, en este orden:
- El campo
Vault rootdeclarado en el archivoAGENTS.md/CLAUDE.mddel proyecto (escrito por el instalador bootstrap,scripts/bootstrap_vault.py). - Si no existe dicho campo, trata el directorio actual del proyecto / de trabajo como la raíz de la bóveda.
Siempre expande <RAIZ_BOVEDA> a esa ruta absoluta antes de leer o escribir:
- Diario:
<RAIZ_BOVEDA>/03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-MM-DD.mddonde<YYYY-MM>es el propio mes de la fecha y<YYYY-Wnn>es la semana ISO de esa fecha. - Índice semanal:
<RAIZ_BOVEDA>/03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-Wnn 周索引.mddonde<YYYY-MM>es el mes que contiene el domingo de la semana. - Índice de tareas:
<RAIZ_BOVEDA>/00 Tasks/_Index.md - Páginas de temas:
<RAIZ_BOVEDA>/00 Tasks/<nombre-tema>.md - Páginas de conocimiento:
<RAIZ_BOVEDA>/02 Knowledge/<dominio>/<pagina>.md - Referencias: el directorio
references/de este skill
Si faltan 00 Tasks/ o _Index.md, omite la lógica de índice de tareas y temas para la sesión. No crees 00 Tasks/ automáticamente a mitad de sesión. El registro del diario sigue funcionando.
Archivos de nivel superior como 备忘.md pueden vivir directamente bajo 03 Journal/; no los muevas.
Regla de zona horaria
Todas las fechas y horas registradas por este skill DEBEN usar una zona consistente, llamada hora-bóveda. Resuelve la hora-bóveda a partir del campo Time zone en el archivo AGENTS.md / CLAUDE.md del proyecto; si no se ha configurado ninguna, recurre a la zona local de la máquina. El instalador bootstrap establece por defecto Asia/Hong_Kong, por lo que las bóvedas no configuradas se comportan como Asia/Hong_Kong / GMT+8 / UTC+8.
Usa la hora-bóveda para los nombres de archivo del diario, rutas padre, encabezados, líneas de progreso, metadatos del tema, marcas de tiempo de _Index.md e inferencia del índice semanal.
Verificación preferida en shell (sustituye tu zona configurada):
TZ=Asia/Hong_Kong date
Confía en la hora-bóveda por encima de las indicaciones de hora del entorno (harness date hints). Si la hora del entorno entra en conflicto con la hora-bóveda, deriva el nombre del archivo del diario, la semana ISO y HH:MM a partir de una lectura fresca de la hora-bóveda. Para detalles sobre anexado/concurrencia, lee references/journal-write-protocol.md.
Estado de la sesión
Realiza un seguimiento interno de:
current_entry_start:HH:MMde inicio de la entrada activa del diario.current_entry_date:YYYY-MM-DDde la entrada activa del diario.current_entry_title: título corto de la tarea actual en chino.bound_topic: nombre del archivo del tema sin.md, oNone.bind_skipped:Truesolo después de que el usuario elija no vincular.task_auto_bind_checked/task_auto_bind_skipped: se reinician para cada nueva entrada del diario.knowledge_candidate_prompted/knowledge_candidate_skipped: se reinician para cada nueva entrada del diario.knowledge_context_checked:Truedespués de que la solicitud actual del usuario haya pasado el Portal de Recuperación de Conocimiento, o cuando el portal se omite intencionalmente.tracking_disabled:Truesolo si el usuario opta por no participar en esta sesión.
Inicio de la conversación
-
Lee
<RAIZ_BOVEDA>/00 Tasks/_Index.mdsi está presente. Analiza las filas del cuerpo de la tabla como[[tema]] | marca-tiempo | siguiente-paso; trata los archivos faltantes como un índice vacío. -
Verifica de forma económica si hay una sesión concurrente del mismo tema. Lee el final del diario de hoy según la hora-bóveda si existe. Si la última línea de progreso está dentro de los 15 minutos de hora-bóveda y su entrada se superpone plausiblemente con el primer mensaje del usuario, muestra:
⚠️ 另一会话 <HH:MM> 刚写过 [[<tema>]],可能在并行做同一件事。我先扫一眼最新进展再回。Luego lee la entrada reciente para que esta respuesta no contradiga el trabajo paralelo. Si no hay una entrada reciente superpuesta, omite silenciosamente.
-
Ejecuta el Portal de Recuperación de Conocimiento para cualquier solicitud sustancial antes de confiar solo en
_Index.md, el diario de hoy o la página del tema coincidente. Leereferences/knowledge-retrieval-trigger.mdcuando la solicitud trata sobre un proyecto/dominio/persona/método que pueda tener contexto duradero en<RAIZ_BOVEDA>/02 Knowledge/, o cuando el usuario pide contexto, análisis, decisiones, estrategia, continuación, revisión, estilo de escritura, flujo de trabajo reutilizable o trabajo anterior. Utiliza el enrutamiento de inventario primero: lista el árbol de Conocimiento vivo, deriva las carpetas/proyectos actuales a partir de él, luego empareja nombres de archivo, H1/título, alias, etiquetas,status: canonical, páginas de navegación y páginas fuente de verdad antes de cualquier búsqueda amplia en el cuerpo. Omite solo los saludos pendientes de confirmación, informes de solo dashboard/lint, tareas de mantenimiento de diario puro, consultas de utilidad atómica y casos donde no exista un resultado de Conocimiento relevante después de esta pasada basada en metadatos. -
Despacha según el primer mensaje del usuario, en este orden:
- Intención de bootstrap/configuración (
install fade-away,setup,bootstrap,初始化,第一次使用,开源部署, o un_Index.mdfaltante más una solicitud de usuario para inicializar): leereferences/bootstrap-vault.md. Bootstrap es una ruta de configuración única; pregunta por la raíz de la bóveda si no está clara y nunca crees archivos a menos que el usuario lo confirme. - Intención de verificación de contexto/instrucciones (
AGENTS,CLAUDE,上下文,context,经验继承,规则漂移, estructura del proyecto, mantenimiento de skill/bóveda/flujo de trabajo, o un nuevo límite de cwd/proyecto): leereferences/context-check.md. Informa solo si se encuentra desviación o si el usuario lo pide explícitamente; no escribas archivos de instrucción a menos que el usuario confirme el parche específico. - Intención de lint de memoria (
lint,体检,health check,检查知识库,检查任务索引,看看哪些适合变成 wiki, o similar): leereferences/lint-vault-memory.md; renderiza un informe primero y no escribas correcciones o páginas de conocimiento a menos que el usuario lo confirme. - Intención de promoción de conocimiento (
沉淀成知识,写进 knowledge,变成 wiki,归档成知识页, o similar): leereferences/promote-to-knowledge.md. - Intención de índice semanal (
周索引,周报,weekly index,weekly summary,本周总结, o similar): leereferences/render-weekly-index.md. Abre una entrada del diario solo si el módulo escribe o actualiza un índice semanal. - Intención de dashboard (
看下任务,看板,dashboard,总览, o similar): leereferences/render-dashboard.md, renderiza solo, y no abras aún una entrada del diario. - Coincidencia clara de tema existente: lee esa página de tema silenciosamente, establece
bound_topic, luego abre una entrada del diario. - Saludo vago (
hi,你好,在吗,开始干活了, etc.): si_Index.mdtiene filas, emite⏮️ 上次:<tarea>,下一步是 <siguiente-paso>。继续这个还是新任务?y espera la respuesta. Vincula a la primera fila solo si el usuario confirma. - Nueva tarea sustancial: no menciones tareas antiguas; deja
bound_topic = None.
- Intención de bootstrap/configuración (
Abrir entrada del diario
Abre una entrada del diario solo cuando el trabajo realmente comience. Calcula la ruta diaria de hora-bóveda como 03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-MM-DD.md, donde <YYYY-MM> es el propio mes de la fecha y <YYYY-Wnn> es la semana ISO. Crea las carpetas de mes/semana faltantes con mkdir -p.
Si el archivo diario falta, créalo a partir de la plantilla en references/journal-write-protocol.md. Asegúrate de que exista ## 🕐 任务时间线, luego añade un encabezado al final de esa sección:
- Sin vincular:
### HH:MM ▶️ <título corto en chino> - Vinculado:
### HH:MM ▶️ <título corto en chino> → [[00 Tasks/<tema_vinculado>]]
Almacena current_entry_start, current_entry_date y current_entry_title. Reinicia los indicadores de tarea, candidato de conocimiento y recuperación de conocimiento para la nueva entrada.
Guardado por turno
Después de cada turno del asistente con resultados sustanciales, añade exactamente una línea de progreso dentro de la entrada activa del diario:
(HH:MM) <progreso en una frase>
Añade al final del cuerpo de la entrada activa, inmediatamente antes del siguiente encabezado de línea de tiempo ### o del fin del archivo. No reescribas líneas de progreso anteriores. Omite el guardado si el turno es solo una pregunta de aclaración o si tracking_disabled = True.
Antes de escribir, lee references/journal-write-protocol.md cuando necesites la ubicación exacta del anexado, el reajuste de escritura concurrente, el manejo de límites de hora-bóveda, la sintaxis de líneas problemáticas o la plantilla del diario.
Comprobaciones posteriores al guardado
Ejecuta estas comprobaciones después del guardado por turno:
- Promoción explícita: si la salida visible contiene un marcador explícito
➡️ 下一步o una sección## ➡️ 下一步, actualiza la capa de tema/índice. Sibound_topicestá establecido, leereferences/topic-update-protocol.md; de lo contrario, sibind_skipped = False, leereferences/promote-to-wiki.md. - Actualización automática de tema: cuando
bound_topicestá establecido y no ha aparecido un siguiente paso explícito, leereferences/topic-update-protocol.mdsi la entrada activa puede superar los umbrales de desactualización existentes. Mantén el comportamiento actual de actualización automática; no lo conviertas en un mensaje de confirmación a menos que el usuario lo pida. - Vinculación automática de tarea: cuando la entrada activa no está vinculada y carece de un
➡️ 下一步explícito, leereferences/task-candidate-trigger.md. Crea/vincula un tema automáticamente para sesiones con naturaleza de tarea; omite solo preguntas y respuestas triviales, saludos, informes de solo dashboard/lint, pura aclaración o sesiones sin naturaleza de tarea. - Candidato a conocimiento: cuando puede haber surgido conocimiento reutilizable y el usuario aún no ha solicitado la promoción, lee
references/knowledge-candidate-trigger.md. No crees ni actualices02 Knowledge/automáticamente.
Cambio de tema a mitad de sesión
Si el usuario dice 继续做 X, 回到 X, o de alguna manera pide cambiar mientras ya hay una entrada abierta:
- Empareja
Xcon_Index.mdde forma conservadora. - Si no existe una coincidencia clara, haz una pregunta corta de aclaración.
- Si la coincidencia es clara y difiere de
bound_topic, pregunta:切到 [[X]]?我会给当前 entry 追加一行切换记录,然后打开新的 X entry。 - Tras la confirmación, añade
(HH:MM) 切出当前任务,转到 [[00 Tasks/X]]。, lee la página del tema, establecebound_topic = X, y abre una nueva entrada de diario vinculada. - Si el usuario declina, mantén la vinculación existente.
No cambies de tema silenciosamente a mitad de sesión.
Solicitud de registro manual
Si el usuario dice 记录一下, 记一下刚才的进展, o similar, añade una línea de progreso adicional a la entrada actual resumiendo el progreso desde el guardado anterior. No abras una nueva entrada ni cierres la entrada actual a menos que el usuario lo pida explícitamente para cambiar de tarea.
Módulos
Carga los flujos de trabajo de baja frecuencia solo cuando sea necesario:
references/journal-write-protocol.md: creación del diario, ubicación del anexado, manejo de límites de hora-bóveda, reajuste de escritura concurrente, sintaxis de líneas problemáticas y plantilla del diario.references/bootstrap-vault.md: flujo de trabajo de configuración única para la bóveda de Obsidian de un nuevo usuario; crea la estructura de directorios/plantillas/índices y puntos de entrada de instrucciones mínimos de fade-away solo después de la confirmación.references/context-check.md: verificación de inicio en frío o cambio de límite para superficies de instrucciones/contexto obsoletas comoAGENTS.md,CLAUDE.md, notas de estructura del proyecto y herencia de Conocimiento; informa desviaciones sin escribir hasta que se confirme.references/task-candidate-trigger.md: vincula automáticamente entradas de tareas sustanciales no vinculadas a00 Tasks; omite sesiones triviales o que no sean de tarea.references/topic-update-protocol.md: actualiza las páginas de temas vinculados, refresca_Index.mdy ejecuta el comportamiento actual de Actualización Automática de Temas.references/promote-to-wiki.md: vincula una entrada de diario no vinculada a una página de tema y actualiza_Index.mddespués de un➡️ 下一步explícito o un disparador de vinculación automática de tarea.references/render-dashboard.md: renderiza un dashboard de tareas de solo lectura desde_Index.md.references/render-weekly-index.md: genera o actualiza un MOC semanal bajo demanda en03 Journal/<YYYY-MM>/<YYYY-Wnn>/YYYY-Wnn 周索引.md.references/lint-vault-memory.md: renderiza un informe de salud de solo lectura para las capas de tareas, diario, índice semanal y conocimiento.references/knowledge-retrieval-trigger.md: antes de un trabajo sustancial, inventaría el árbol vivo de02 Knowledge/, clasifica candidatos a partir de metadatos y lee un pequeño número de páginas relevantes para que el contexto duradero anterior, métodos y hechos del proyecto puedan influir en la respuesta.references/knowledge-candidate-trigger.md: propone material de diario reutilizable para02 Knowledge/sin escribir hasta que se confirme.references/promote-to-knowledge.md: crea o actualiza páginas seleccionadas bajo02 Knowledge/después de la confirmación.
Reglas de formato
- Formato de hora:
HH:MMde 24 horas usando la zona horaria de bóveda configurada. - Título del diario: corto, descriptivo, en chino; evita títulos genéricos como
任务1. - Nombre de archivo del tema: kebab-case, sin espacios, extensión
.mdsolo en disco. - Wikilink del tema en el diario:
[[00 Tasks/<tema>]]. - Formato de fila del índice:
| [[<tema>]] | YYYY-MM-DD HH:MM | <siguiente-paso escapado> |. - Los directorios heredados
task-trackerse han eliminado; si el usuario pregunta por el antiguo tracker, explica quefade-awaylo ha reemplazado.
Casos límite
- Usuario opta por no participar (
这次不用记录): establecetracking_disabled = True; omite todas las escrituras de la sesión, pero se permite leer_Index.mdpara contexto. - Cruce de medianoche: usa la medianoche de la hora-bóveda. Después de la medianoche de la hora-bóveda, abre una entrada de continuación en el diario del nuevo día de hora-bóveda y continúa los guardados por turno allí.
- Turno de solo dashboard: renderiza el dashboard y espera; no abras una entrada del diario hasta que el usuario comience el trabajo real.
- Página de tema faltante para una coincidencia de índice: di que la fila del tema existe pero falta la página, luego pregunta si recrearla o continuar sin vincular.