CommunityProgramación y desarrollogithub.com

contexto-del-sistema-de-archivos

Esta habilidad debe utilizarse cuando el trabajo del agente necesita contexto respaldado por archivos: blocas de notas duraderas, descarga de resultados de herramientas, descubrimiento justo a tiempo, archivos de traspaso entre agentes, memoria del sistema de archivos o políticas de limpieza para contexto almacenado fuera del mensaje.

¿Qué es contexto-del-sistema-de-archivos?

Esta habilidad define cómo los agentes de IA pueden usar el sistema de archivos como una capa de desbordamiento principal para el contexto, superando las limitaciones de las ventanas de contexto al almacenar, recuperar y actualizar una cantidad ilimitada de información. Es útil para tareas que requieren más contexto del que cabe en una sola ventana, como la persistencia de estado en trayectorias largas, el intercambio de información entre subagentes y la implementación de blocas de notas para resultados intermedios. La habilidad es compatible con cualquier agente que tenga acceso a herramientas del sistema de archivos (como leer, escribir, buscar y listar archivos) y funciona combinando técnicas de descubrimiento dinámico de contexto con búsqueda estructural (grep, glob) y semántica. Su enfoque en patrones como la descarga de resultados de herramientas, la persistencia de planes y la comunicación entre subagentes garantiza un uso eficiente de los tokens sin perder información crítica.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/muratcankoylan/Agent-Skills-for-Context-Engineering/tree/main/skills/filesystem-context

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ingeniería de Contexto Basada en el Sistema de Archivos

Utilice el sistema de archivos como la capa de desbordamiento principal para el contexto del agente, porque las ventanas de contexto son limitadas mientras que las tareas a menudo requieren más información de la que cabe en una sola ventana. Los archivos permiten a los agentes almacenar, recuperar y actualizar una cantidad de contexto efectivamente ilimitada a través de una única interfaz.

Prefiera el descubrimiento dinámico de contexto (extraer contexto relevante bajo demanda) sobre la inclusión estática, porque el contexto estático consume tokens independientemente de su relevancia y desplaza el espacio para información específica de la tarea.

Cuándo Activarla

Active esta habilidad cuando:

  • Los resultados de herramientas estén inflando la ventana de contexto
  • Los agentes necesiten persistir el estado a lo largo de trayectorias largas
  • Los subagentes deban compartir información sin pasar mensajes directos
  • Las tareas requieran más contexto del que cabe en la ventana
  • Se estén construyendo agentes que aprendan y actualicen sus propias instrucciones
  • Se estén implementando blocas de notas para resultados intermedios
  • Las salidas de terminal o registros necesiten ser accesibles para los agentes

No active esta habilidad para trabajo adyacente gestionado por otras habilidades:

  • Memoria semántica entre sesiones, seguimiento de entidades o grafos de conocimiento temporales: sistemas-de-memoria.
  • Resumen de conversaciones, compactación o redacción de traspasos duraderos: compresión-de-contexto.
  • Tácticas de eficiencia de tokens que no requieran almacenamiento en archivos: optimización-de-contexto.
  • Diseño de topología multiagente o protocolo de traspaso: patrones-multiagente.
  • Ediciones de modelo que eliminen contenido de la ventana activa: contexto-autogestionado.

Conceptos Clave

Diagnostique las fallas de contexto según estos cuatro modos, porque cada uno requiere un remedio diferente del sistema de archivos:

  1. Contexto faltante -- la información necesaria está ausente del contexto total disponible. Solución: persista los resultados de herramientas y los resultados intermedios en archivos para que no se pierda nada.
  2. Contexto infrarecuperado -- el contenido recuperado no encapsula lo que el agente necesita. Solución: estructure los archivos para una recuperación dirigida (formatos compatibles con grep, encabezados de sección claros).
  3. Contexto sobrerrecuperado -- el contenido recuperado excede con creces lo necesario, desperdiciando tokens y degradando la atención. Solución: descargue el contenido masivo a archivos y devuelva referencias compactas.
  4. Contexto enterrado -- la información especializada está oculta entre muchos archivos. Solución: combine glob y grep para búsqueda estructural junto con búsqueda semántica para consultas conceptuales.

Utilice el sistema de archivos como la capa persistente que aborda los cuatro: escriba una vez, almacene de forma duradera, recupere de forma selectiva.

Temas Detallados

El Compromiso entre Contexto Estático y Dinámico

Trate el contexto estático (instrucciones del sistema, definiciones de herramientas, reglas críticas) como bienes inmuebles caros: consume tokens en cada turno independientemente de su relevancia. A medida que los agentes acumulan capacidades, el contexto estático crece y desplaza la información dinámica.

Utilice el descubrimiento dinámico de contexto en su lugar: incluya solo punteros estáticos mínimos (nombres, descripciones de una línea, rutas de archivo) y cargue el contenido completo con herramientas de búsqueda cuando sea relevante. Esto es más eficiente en términos de tokens y a menudo mejora la calidad de la respuesta al reducir información contradictoria o irrelevante en la ventana.

Acepte el compromiso: el descubrimiento dinámico requiere que el modelo reconozca cuándo necesita más contexto. Los modelos fronterizos actuales manejan esto bien, pero los modelos menos capaces pueden no activar las cargas. En caso de duda, opte por incluir restricciones críticas de seguridad o corrección de forma estática.

Patrón 1: Sistema de Archivos como Bloc de Notas

Redirija los resultados grandes de las herramientas a archivos en lugar de devolverlos directamente al contexto, porque una sola búsqueda web o consulta de base de datos puede volcar miles de tokens en el historial de mensajes donde persisten durante toda la conversación.

Escriba el resultado en un archivo de bloc de notas, extraiga un resumen compacto y devuelva una referencia al archivo. El agente luego utiliza la recuperación dirigida (grep para patrones, leer con rangos de línea) para acceder solo a lo que necesita.

def handle_tool_output(output: str, threshold: int = 2000) -> str:
    if len(output) < threshold:
        return output

    file_path = f"scratch/{tool_name}_{timestamp}.txt"
    write_file(file_path, output)

    key_summary = extract_summary(output, max_tokens=200)
    return f"[Output written to {file_path}. Summary: {key_summary}]"

Use grep para buscar en el archivo descargado y read_file con rangos de línea para recuperar secciones específicas, porque esto conserva la salida completa para referencia posterior mientras mantiene solo ~100 tokens en el contexto activo.

Patrón 2: Persistencia de Planes

Escriba los planes en el sistema de archivos porque las tareas de horizonte largo pierden coherencia cuando los planes salen de la atención o se resumen. El agente relee su plan en cualquier punto, restaurando la conciencia del objetivo y el progreso.

Almacene los planes en formato estructurado para que sean legibles tanto para humanos como para máquinas:

# scratch/current_plan.yaml
objective: "Refactorizar el módulo de autenticación"
status: en_progreso
steps:
  - id: 1
    description: "Auditar los endpoints de autenticación actuales"
    status: completado
  - id: 2
    description: "Diseñar el nuevo flujo de validación de tokens"
    status: en_progreso
  - id: 3
    description: "Implementar y probar los cambios"
    status: pendiente

Relea el plan al inicio de cada turno o después de cualquier actualización de contexto para reorientarse, porque esto actúa como "manipulación de la atención mediante la recitación".

Patrón 3: Comunicación entre Subagentes a través del Sistema de Archivos

Enrute los hallazgos de los subagentes a través del sistema de archivos en lugar de pasar mensajes, porque las cadenas de mensajes de varios saltos degradan la información mediante resúmenes en cada salto ("juego del teléfono").

Haga que cada subagente escriba directamente en su propio directorio de trabajo. El coordinador lee estos archivos directamente, preservando la fidelidad completa:

workspace/
  agents/
    research_agent/
      findings.md
      sources.jsonl
    code_agent/
      changes.md
      test_results.txt
  coordinator/
    synthesis.md

Imponga el aislamiento de directorios por agente para evitar conflictos de escritura y mantener una propiedad clara de cada artefacto de salida.

Patrón 4: Carga Dinámica de Habilidades

Almacene las habilidades como archivos e incluya solo los nombres de las habilidades con descripciones breves en el contexto estático, porque meter todas las instrucciones en el mensaje del sistema desperdicia tokens y puede confundir al modelo con información contradictoria.

Habilidades disponibles (cargar con read_file cuando sea relevante):
- optimización-de-base-de-datos: Ajuste de consultas y estrategias de indexación
- diseño-de-api: Mejores prácticas REST/GraphQL
- estrategias-de-pruebas: Patrones de pruebas unitarias, de integración y e2e

Cargue el archivo completo de la habilidad (por ejemplo, skills/optimización-de-base-de-datos/SKILL.md) solo cuando la tarea actual lo requiera. Esto convierte un costo de token estático O(n) en O(1) por tarea.

Patrón 5: Persistencia de Terminal y Registros

Persista la salida del terminal en archivos automáticamente y use grep para la recuperación selectiva, porque la salida del terminal de procesos de larga duración se acumula rápidamente y el copiado/pegado manual es propenso a errores.

terminals/
  1.txt    # Salida de la sesión de terminal 1
  2.txt    # Salida de la sesión de terminal 2

Consulte con grep dirigido (grep -A 5 "error" terminals/1.txt) en lugar de cargar historiales completos de terminal en el contexto.

Patrón 6: Aprendizaje a través de la Automodificación

Haga que los agentes escriban preferencias y patrones aprendidos en sus propios archivos de instrucciones para que las sesiones subsiguientes carguen este contexto automáticamente, en lugar de requerir actualizaciones manuales del mensaje del sistema.

def remember_preference(key: str, value: str):
    preferences_file = "agent/user_preferences.yaml"
    prefs = load_yaml(preferences_file)
    prefs[key] = value
    write_yaml(preferences_file, prefs)

Proteja este patrón con validación porque la automodificación puede acumular instrucciones incorrectas o contradictorias con el tiempo. Trátelo como experimental: revise las preferencias persistidas periódicamente.

Técnicas de Búsqueda en el Sistema de Archivos

Combine ls/list_dir, glob, grep y read_file con rangos de línea para el descubrimiento de contexto, porque los modelos están entrenados específicamente en la navegación del sistema de archivos y esta combinación a menudo supera a la búsqueda semántica para contenido técnico donde los patrones estructurales son claros.

  • ls / list_dir: Descubrir la estructura del directorio
  • glob: Encontrar archivos que coincidan con patrones (por ejemplo, **/*.py)
  • grep: Buscar contenidos de archivos, devuelve líneas coincidentes con contexto
  • read_file con rangos: Leer secciones específicas sin cargar archivos completos

Utilice la búsqueda en el sistema de archivos para consultas estructurales y de coincidencia exacta, y la búsqueda semántica para consultas conceptuales. Combine ambas para un descubrimiento completo.

Guía Práctica

Cuándo Usar el Contexto del Sistema de Archivos

Aplique los patrones del sistema de archivos cuando la situación coincida con estos criterios, porque agregan una sobrecarga de E/S que solo se justifica por el ahorro de tokens o las necesidades de persistencia:

Úselo cuando:

  • Los resultados de las herramientas superen ~2000 tokens
  • Las tareas abarquen múltiples turnos de conversación
  • Múltiples agentes necesiten estado compartido
  • Las habilidades o instrucciones excedan el tamaño cómodo del mensaje del sistema
  • Los registros o la salida del terminal necesiten consultas selectivas

Evítelo cuando:

  • Las tareas se completen en un solo turno (la sobrecarga no está justificada)
  • El contexto quepa cómodamente en la ventana (no hay problema que resolver)
  • La latencia sea crítica (la E/S de archivos agrega un retraso medible)
  • El modelo carezca de capacidades de herramientas del sistema de archivos

Organización de Archivos

Estructura los archivos para que los agentes puedan descubrirlos, porque los agentes navegan listando y leyendo nombres de directorios:

project/
  scratch/           # Archivos de trabajo temporales
    tool_outputs/    # Grandes resultados de herramientas
    plans/           # Planes activos y listas de verificación
  memory/            # Información persistida aprendida
    preferences.yaml # Preferencias del usuario
    patterns.md      # Patrones aprendidos
  skills/            # Definiciones de habilidades cargables
  agents/            # Espacios de trabajo de subagentes

Utilice convenciones de nomenclatura coherentes e incluya marcas de tiempo o ID en los archivos de bloc de notas para desambiguar.

Para bucles de investigación autónomos, almacene la evidencia en bruto recuperada junto a la ejecución que la consumió, por ejemplo researcher/runs/<run-id>/sources/evidence/raw/. No deje volcados de investigación en bruto en la raíz del repositorio; los artefactos a nivel de raíz se vuelven difíciles de auditar y fáciles de citar sin procedencia.

Contabilidad de Tokens

Mida de dónde provienen los tokens antes y después de aplicar los patrones del sistema de archivos, porque optimizar sin medir conduce a un esfuerzo desperdiciado:

  • Realice un seguimiento de la relación entre contexto estático y dinámico
  • Monitoree los tamaños de los resultados de las herramientas antes y después de la descarga
  • Mida con qué frecuencia se utiliza realmente el contexto cargado dinámicamente

Ejemplos

Ejemplo 1: Descarga de Resultados de Herramientas

Entrada: La búsqueda web devuelve 8000 tokens
Antes: 8000 tokens añadidos al historial de mensajes
Después:
  - Escribir en scratch/search_results_001.txt
  - Devolver: "[Resultados en scratch/search_results_001.txt. Hallazgo clave: El límite de velocidad de la API es 1000 req/min]"
  - El agente busca en el archivo con grep cuando necesita detalles específicos
Resultado: ~100 tokens en contexto, 8000 tokens accesibles bajo demanda

Ejemplo 2: Carga Dinámica de Habilidades

Entrada: El usuario pregunta sobre indexación de bases de datos
Contexto estático: "optimización-de-base-de-datos: Ajuste de consultas e indexación"
Acción del agente: read_file("skills/optimización-de-base-de-datos/SKILL.md")
Resultado: Habilidad completa cargada solo cuando es relevante

Ejemplo 3: Historial de Chat como Referencia de Archivo

Disparador: Límite de la ventana de contexto alcanzado, se requiere resumen
Acción:
  1. Escribir el historial completo en history/session_001.txt
  2. Generar un resumen para la nueva ventana de contexto
  3. Incluir referencia: "Historial completo en history/session_001.txt"
Resultado: El agente puede buscar en el archivo de historial para recuperar detalles perdidos en el resumen

Directrices

  1. Escriba las salidas grandes en archivos; devuelva resúmenes y referencias al contexto
  2. Almacene planes y estado en archivos estructurados para su relectura
  3. Utilice espacios de trabajo de archivos de subagentes en lugar de cadenas de mensajes
  4. Cargue habilidades dinámicamente en lugar de meter todas en el mensaje del sistema
  5. Persista la salida del terminal y los registros como archivos buscables
  6. Combine grep/glob con búsqueda semántica para un descubrimiento completo
  7. Organice los archivos para que los agentes puedan descubrirlos con nombres claros
  8. Mida los ahorros de tokens para validar que los patrones del sistema de archivos sean efectivos
  9. Implemente la limpieza de archivos de bloc de notas para evitar el crecimiento ilimitado
  10. Proteja los patrones de automodificación con validación
  11. Mantenga la evidencia en bruto junto a la ejecución, evaluación y propuesta que la utilizó

Problemas Comunes

  1. Crecimiento ilimitado del directorio scratch: Los agentes crean archivos temporales sin limpieza, eventualmente consumiendo disco y haciendo ruidosos los listados de directorios. Implemente una política de retención (basada en antigüedad o recuento) y ejecute la limpieza en los límites de la sesión.
  2. Condiciones de carrera en el acceso a archivos multiagente: Las escrituras concurrentes en el mismo archivo corrompen el estado silenciosamente. Imponga el aislamiento de directorios por agente o use archivos de solo anexión con entradas con prefijo de agente.
  3. Referencias de archivo obsoletas después de movimientos/cambios de nombre: Los agentes mantienen rutas de turnos anteriores que ya no existen después de refactorizaciones o reorganización de archivos. Siempre verifique la existencia del archivo antes de leer una ruta en caché; redescubra con glob si la verificación falla.
  4. Falsas coincidencias de patrones glob: Los patrones demasiado amplios (por ejemplo, **/*) extraen archivos irrelevantes al contexto, desperdiciando tokens y confundiendo al modelo. Limite los glob a directorios y extensiones específicas.
  5. Suposiciones sobre el tamaño del archivo: Leer un archivo sin verificar su tamaño puede volcar 100K+ tokens en el contexto en una sola llamada de herramienta. Verifique el tamaño del archivo antes de leer; use lecturas con rango de línea para archivos grandes.
  6. Falta de verificación de existencia de archivos: Los agentes asumen que los archivos existen de turnos anteriores, pero pueden haber sido eliminados o movidos. Siempre proteja las lecturas con comprobaciones de existencia y maneje los errores de archivo faltante con elegancia.
  7. Deriva del formato del bloc de notas: Los bloc de notas no estructurados se vuelven imposibles de analizar después de muchas escrituras porque las convenciones de formato se erosionan con las anexiones sucesivas. Defina y aplique un esquema (YAML, JSON o markdown estructurado) desde la primera escritura.
  8. Rutas absolutas codificadas: Se rompen cuando los repositorios se descargan en diferentes ubicaciones o cuando se ejecutan en contenedores. Use rutas relativas desde la raíz del proyecto o resuelva las rutas dinámicamente.

Integración

Esta habilidad gestiona el almacenamiento de contexto respaldado por archivos.

… [truncado para traducción]

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

advanced-evaluation

This skill should be used for advanced LLM evaluation: LLM-as-judge systems, direct scoring, pairwise comparison, rubric calibration, evaluator bias mitigation, confidence scoring, and automated quality assessment.

bdi-mental-states

This skill should be used when modeling agent mental states with BDI concepts: beliefs, desires, intentions, RDF-to-belief transformations, rational agency traces, cognitive agents, BDI ontologies, and neuro-symbolic AI integration.

book-sft-pipeline

This skill should be used for book-to-SFT pipelines: ePub extraction, literary segmentation, author-voice dataset construction, style-transfer training, LoRA workflows, and model evaluation for voice replication.

comprehensive-research-agent

Ensure thorough validation, error recovery, and transparent reasoning in research tasks with multiple tool calls

context-compression

This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve decisions, files, risks, and next actions.

context-degradation

This skill should be used for diagnosing and mitigating context degradation: lost-in-middle failures, context poisoning, context clash, context confusion, attention-pattern issues, and agent performance degradation caused by accumulated or conflicting context.

context-fundamentals

This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped attention curve, why context quality matters more than quantity, and the mental models needed to interpret every other context-engineering decision. Use this for conceptual explanation, onboarding, and background reading. Route operational work to the specialized skills: debugging attention failures goes to context-degradation, token-efficiency work goes to context-optimization, conversation summarization goes to context-compression, and project-shape decisions go to project-development.

context-optimization

This skill should be used for improving context efficiency: context budgeting, observation masking, prefix or KV-cache strategy, partitioning, token-cost reduction, retrieval scoping, and extending effective context capacity without lowering answer quality.

evaluation

This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and outcome measurement for agent pipelines.

harness-engineering

This skill should be used when designing autonomous agent harnesses: research loops, evaluation scaffolds, locked and editable surfaces, durable logs, novelty gates, pruning, rollback, PR preparation, and human approval boundaries.

hosted-agents

This skill should be used when designing hosted or background agent infrastructure: sandboxed execution, remote coding environments, warm pools, session persistence, multiplayer collaboration, self-spawning agents, or Modal-style sandboxes.

latent-briefing

This skill should be used when the user asks to "share memory between agents", "KV cache compaction for multi-agent", "orchestrator worker context", "latent briefing", "reduce worker tokens", "cross-agent memory without summarization", or discusses Attention Matching compaction, recursive language models with workers, or token explosion in hierarchical agents.

long-horizon-prompting

This skill should be used when writing, enhancing, or evaluating the launch prompt for a long-running autonomous agent or a parallel multi-agent orchestration attacking a hard problem: pseudo-formal task briefs that define terms and an exact success predicate linguistically, enumerate non-counting outcomes, set persistence rules with explicit stop and return conditions and effort floors, manage a diverse portfolio of parallel approaches with an approach registry and blocked-route bookkeeping, and gate the return on adversarial audit. Route agent topology and coordination protocols to multi-agent-patterns, runtime control surfaces and loop governance to harness-engineering, evaluator and quality-gate construction to evaluation, judge design to advanced-evaluation, and compaction or memory mechanics to context-compression and memory-systems.

memory-systems

This skill should be used for persistent semantic memory in agent systems: cross-session knowledge retention, entity tracking, temporal validity, graph or vector retrieval, memory consolidation, and memory benchmark selection. Route file-backed scratchpads to filesystem-context, handoff summaries to context-compression, and token-efficiency tactics to context-optimization.

multi-agent-patterns

This skill should be used when designing multi-agent systems that need context isolation, supervisor or swarm coordination, explicit handoffs, parallel execution, or a decision on whether multiple agents are justified.

project-development

This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token and cost estimation, choosing between single-agent and multi-agent at the project level, structured output design for downstream parsing, and structuring agent-assisted iteration. Use this when the unit of work is a whole project or a multi-stage pipeline. Route individual tool design to tool-design and individual skill-loading or context-budget tactics to context-optimization.

self-improvement-loops

This skill should be used when the harness, scaffold, workflow, or optimizer itself is the optimization target: recursive self-improvement (RSI) loops, meta-harnesses, self-improving harnesses that mine their own failures and propose bounded edits, evolutionary or population-based search over agent scaffolds, acceptance gates for self-modifying systems, and agentic context evolution where the mechanism that produces context is versioned and evolved. Route governance of a single autonomous loop (locked surfaces, durable logs, rollback, novelty gates, approval boundaries) to harness-engineering, measurement and quality-gate design to evaluation, judge design to advanced-evaluation, and remote sandbox infrastructure to hosted-agents.

self-managed-context

This skill should be used when a model gets read-write control over its own live context window instead of a harness-scheduled compaction policy: the context exposed as an editable file the model rewrites with code tools, model-driven eviction and in-place updates, the harness invariants that keep self-editing safe (pinned prefix, edit gate, edit receipts, budget readouts, rollback on overflow), the prefix-cache cost of mid-context edits, and steering or training the model's own context-editing strategy. Route note content and fixed-threshold summarization to context-compression, cache-stable layout under harness control to context-optimization, file offloading to filesystem-context, and loop governance to self-improvement-loops.

tool-design

This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming conventions, actionable error recovery messages, MCP server design, tool-set consolidation, and deciding when to add or remove an individual tool. Use this when the unit of work is a single tool or a set of tools. Route project-shape, pipeline architecture, and task-model-fit decisions to project-development; route deciding whether to introduce sub-agents to multi-agent-patterns.

Skills relacionados