filesystem-context

Cette compétence est utilisée lorsque le travail d'un agent nécessite un contexte persistant basé sur des fichiers : blocs-notes durables, déchargement de sorties d'outils, découverte à la demande, fichiers de transfert inter-agents, mémoire du système de fichiers ou politiques de nettoyage pour le contexte stocké en dehors du prompt.

Qu'est-ce que filesystem-context ?

La compétence `filesystem-context` permet aux agents IA (tels que Claude Code, Cursor, Codex, etc.) d'utiliser le système de fichiers comme couche de débordement principale pour le contexte. Cette approche résout le problème des fenêtres de contexte limitées en persistant les informations dans des fichiers, ce qui permet de stocker, récupérer et mettre à jour une quantité illimitée de contexte via une interface unique. Elle est utile pour décharger les sorties volumineuses des outils, sauvegarder des plans à long terme, faciliter la communication entre sous-agents sans échange direct de messages, et implémenter des agents capables d'apprendre et de mettre à jour leurs propres instructions. La compétence repose sur la découverte dynamique du contexte, chargeant les informations pertinentes à la demande via des techniques de recherche comme grep et glob, plutôt que de les inclure statiquement dans la fenêtre de contexte, ce qui économise des tokens et améliore la qualité des réponses.

Compatible avec✓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 Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Ingénierie de Contexte Basée sur le Système de Fichiers

Utilisez le système de fichiers comme couche de débordement principale pour le contexte de l'agent, car les fenêtres de contexte sont limitées alors que les tâches nécessitent souvent plus d'informations que ce qui tient dans une seule fenêtre. Les fichiers permettent aux agents de stocker, récupérer et mettre à jour une quantité effectivement illimitée de contexte via une seule interface.

Privilégiez la découverte dynamique du contexte — extraire le contexte pertinent à la demande — plutôt que l'inclusion statique, car le contexte statique consomme des tokens indépendamment de la pertinence et empiète sur l'espace réservé aux informations spécifiques à la tâche.

Quand Activer

Activez cette compétence lorsque :

  • Les sorties des outils gonflent la fenêtre de contexte
  • Les agents doivent persister l'état sur de longues trajectoires
  • Des sous-agents doivent partager des informations sans échange direct de messages
  • Les tâches nécessitent plus de contexte que ce qui tient dans la fenêtre
  • Vous construisez des agents qui apprennent et mettent à jour leurs propres instructions
  • Vous implémentez des blocs-notes pour les résultats intermédiaires
  • Les sorties du terminal ou les journaux doivent être accessibles aux agents

N'activez pas cette compétence pour les travaux adjacents gérés par d'autres compétences :

  • Mémoire sémantique inter-sessions, suivi d'entités ou graphes de connaissances temporelles : memory-systems.
  • Résumé de conversation, compaction ou formulation de transfert durable : context-compression.
  • Tactiques d'efficacité des tokens ne nécessitant pas de stockage via fichiers : context-optimization.
  • Conception de topologie multi-agent ou de protocole de transfert : multi-agent-patterns.
  • Modifications de modèle qui évacuent le contenu de la fenêtre active elle-même : self-managed-context.

Concepts Fondamentaux

Diagnostiquez les échecs de contexte par rapport à ces quatre modes, car chacun nécessite un remède différent basé sur le système de fichiers :

  1. Contexte manquant — l'information nécessaire est absente du contexte total disponible. Corrigez en persistant les sorties des outils et les résultats intermédiaires dans des fichiers afin que rien ne soit perdu.
  2. Contexte sous-récupéré — le contenu récupéré ne parvient pas à encapsuler ce dont l'agent a besoin. Corrigez en structurant les fichiers pour une récupération ciblée (formats compatibles avec grep, en-têtes de section clairs).
  3. Contexte sur-récupéré — le contenu récupéré dépasse largement ce qui est nécessaire, gaspillant des tokens et dégradant l'attention. Corrigez en déchargeant le contenu volumineux dans des fichiers et en renvoyant des références compactes.
  4. Contexte enfoui — des informations de niche sont cachées dans de nombreux fichiers. Corrigez en combinant glob et grep pour une recherche structurelle avec la recherche sémantique pour les requêtes conceptuelles.

Utilisez le système de fichiers comme couche persistante qui répond aux quatre modes : écrivez une fois, stockez durablement, récupérez sélectivement.

Sujets Détaillés

Le Compromis entre Contexte Statique et Dynamique

Traitez le contexte statique (instructions système, définitions d'outils, règles critiques) comme un espace coûteux — il consomme des tokens à chaque tour, indépendamment de la pertinence. À mesure que les agents accumulent des capacités, le contexte statique croît et empiète sur les informations dynamiques.

Utilisez plutôt la découverte dynamique du contexte : incluez uniquement des pointeurs statiques minimaux (noms, descriptions d'une ligne, chemins de fichiers) et chargez le contenu complet avec des outils de recherche lorsque cela est pertinent. Cela est plus efficace en termes de tokens et améliore souvent la qualité des réponses en réduisant les informations contradictoires ou non pertinentes dans la fenêtre.

Acceptez le compromis : la découverte dynamique nécessite que le modèle reconnaisse quand il a besoin de plus de contexte. Les modèles frontières actuels gèrent bien cela, mais des modèles moins performants peuvent ne pas déclencher les chargements. En cas de doute, incluez de manière statique les contraintes critiques de sécurité ou d'exactitude.

Modèle 1 : Système de Fichiers comme Bloc-Notes

Redirigez les sorties volumineuses des outils vers des fichiers au lieu de les renvoyer directement dans le contexte, car une seule recherche web ou requête de base de données peut déverser des milliers de tokens dans l'historique des messages où ils persistent pendant toute la conversation.

Écrivez la sortie dans un fichier bloc-notes, extrayez un résumé compact et renvoyez une référence de fichier. L'agent utilise ensuite une récupération ciblée (grep pour les motifs, lecture avec plages de lignes) pour accéder uniquement à ce dont il a besoin.

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}]"

Utilisez grep pour rechercher dans le fichier déchargé et read_file avec des plages de lignes pour récupérer des sections ciblées, car cela préserve la sortie complète pour une référence ultérieure tout en ne gardant qu'environ 100 tokens dans le contexte actif.

Modèle 2 : Persistance des Plans

Écrivez les plans dans le système de fichiers car les tâches à long terme perdent en cohérence lorsque les plans sortent de l'attention ou sont résumés. L'agent relit son plan à tout moment, restaurant ainsi la conscience de l'objectif et de la progression.

Stockez les plans dans un format structuré afin qu'ils soient à la fois lisibles par l'homme et analysables par la machine :

# scratch/current_plan.yaml
objective: "Refactoriser le module d'authentification"
status: en_cours
steps:
  - id: 1
    description: "Auditer les points d'accès d'authentification actuels"
    status: terminee
  - id: 2
    description: "Concevoir le nouveau flux de validation des jetons"
    status: en_cours
  - id: 3
    description: "Implémenter et tester les modifications"
    status: en_attente

Relisez le plan au début de chaque tour ou après tout rafraîchissement du contexte pour vous réorienter, car cela agit comme une "manipulation de l'attention par la récitation."

Modèle 3 : Communication entre Sous-Agents via le Système de Fichiers

Acheminez les résultats des sous-agents via le système de fichiers plutôt que par échange de messages, car les chaînes de messages à plusieurs sauts dégradent l'information par le résumé à chaque saut ("jeu du téléphone").

Faites en sorte que chaque sous-agent écrive directement dans son propre répertoire de travail. Le coordinateur lit ces fichiers directement, préservant la fidélité complète :

workspace/
  agents/
    agent_recherche/
      resultats.md
      sources.jsonl
    agent_code/
      modifications.md
      resultats_tests.txt
  coordinateur/
    synthese.md

Appliquez l'isolation des répertoires par agent pour éviter les conflits d'écriture et maintenir une propriété claire de chaque artefact de sortie.

Modèle 4 : Chargement Dynamique des Compétences

Stockez les compétences sous forme de fichiers et incluez uniquement les noms des compétences avec des descriptions brèves dans le contexte statique, car insérer toutes les instructions dans le prompt système gaspille des tokens et peut perturber le modèle avec des instructions contradictoires.

Compétences disponibles (charger avec read_file si pertinent) :
- optimisation-base-de-donnees : Réglage des requêtes et stratégies d'indexation
- conception-api : Meilleures pratiques REST/GraphQL
- strategies-test : Modèles de tests unitaires, d'intégration et e2e

Chargez le fichier de compétence complet (par exemple, competences/optimisation-base-de-donnees/SKILL.md) uniquement lorsque la tâche en cours l'exige. Cela convertit un coût de token statique O(n) en O(1) par tâche.

Modèle 5 : Persistance du Terminal et des Journaux

Persistez automatiquement les sorties du terminal dans des fichiers et utilisez grep pour une récupération sélective, car les sorties du terminal de processus de longue durée s'accumulent rapidement et le copier-coller manuel est sujet aux erreurs.

terminaux/
  1.txt    # Sortie de la session terminal 1
  2.txt    # Sortie de la session terminal 2

Interrogez avec un grep ciblé (grep -A 5 "erreur" terminaux/1.txt) au lieu de charger l'historique complet du terminal dans le contexte.

Modèle 6 : Apprentissage par Auto-Modification

Faites en sorte que les agents écrivent les préférences et modèles appris dans leurs propres fichiers d'instructions afin que les sessions suivantes chargent automatiquement ce contexte, au lieu de nécessiter des mises à jour manuelles du prompt système.

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

Protégez ce modèle avec une validation car l'auto-modification peut accumuler des instructions incorrectes ou contradictoires au fil du temps. Traitez-le comme expérimental — révisez périodiquement les préférences persistées.

Techniques de Recherche dans le Système de Fichiers

Combinez ls/list_dir, glob, grep et read_file avec des plages de lignes pour la découverte du contexte, car les modèles sont spécifiquement entraînés sur la navigation dans le système de fichiers et cette combinaison surpasse souvent la recherche sémantique pour le contenu technique où les motifs structurels sont clairs.

  • ls / list_dir : Découvrir la structure des répertoires
  • glob : Trouver des fichiers correspondant à des motifs (par exemple, **/*.py)
  • grep : Rechercher le contenu des fichiers, renvoie les lignes correspondantes avec contexte
  • read_file avec plages : Lire des sections spécifiques sans charger les fichiers entiers

Utilisez la recherche dans le système de fichiers pour les requêtes structurelles et de correspondance exacte, et la recherche sémantique pour les requêtes conceptuelles. Combinez les deux pour une découverte complète.

Conseils Pratiques

Quand Utiliser le Contexte du Système de Fichiers

Appliquez les modèles basés sur le système de fichiers lorsque la situation correspond à ces critères, car ils ajoutent des frais généraux d'E/S qui ne sont justifiés que par des économies de tokens ou des besoins de persistance :

Utilisez quand :

  • Les sorties des outils dépassent ~2000 tokens
  • Les tâches s'étendent sur plusieurs tours de conversation
  • Plusieurs agents ont besoin d'un état partagé
  • Les compétences ou instructions dépassent la taille confortable du prompt système
  • Les journaux ou sorties du terminal nécessitent une interrogation sélective

Évitez quand :

  • Les tâches sont terminées en un seul tour (frais généraux non justifiés)
  • Le contexte tient confortablement dans la fenêtre (aucun problème à résoudre)
  • La latence est critique (les E/S de fichiers ajoutent un délai mesurable)
  • Le modèle ne dispose pas de capacités d'outils de système de fichiers

Organisation des Fichiers

Structurez les fichiers pour la découvrabilité par l'agent, car les agents naviguent en listant et en lisant les noms de répertoires :

projet/
  scratch/           # Fichiers de travail temporaires
    sorties_outils/  # Résultats volumineux des outils
    plans/           # Plans actifs et listes de contrôle
  memoire/           # Informations persistantes apprises
    preferences.yaml # Préférences utilisateur
    modeles.md       # Modèles appris
  competences/       # Définitions des compétences chargeables
  agents/            # Espaces de travail des sous-agents

Utilisez des conventions de nommage cohérentes et incluez des horodatages ou des identifiants dans les fichiers scratch pour la désambiguïsation.

Pour les boucles de recherche autonomes, stockez les preuves brutes récupérées sous l'exécution qui les a consommées, par exemple chercheur/executions/<id-execution>/sources/preuves/brut/. Ne laissez pas de vidanges de recherche brutes dans la racine du dépôt ; les artefacts à la racine deviennent difficiles à auditer et faciles à citer sans provenance.

Comptabilité des Tokens

Mesurez d'où proviennent les tokens avant et après l'application des modèles de système de fichiers, car optimiser sans mesure conduit à un effort gaspillé :

  • Suivez le rapport contexte statique vs dynamique
  • Surveillez les tailles des sorties des outils avant et après déchargement
  • Mesurez la fréquence à laquelle le contexte chargé dynamiquement est réellement utilisé

Exemples

Exemple 1 : Déchargement de Sortie d'Outil

Entrée : La recherche web renvoie 8000 tokens
Avant : 8000 tokens ajoutés à l'historique des messages
Après :
  - Écrire dans scratch/resultats_recherche_001.txt
  - Retourner : "[Résultats dans scratch/resultats_recherche_001.txt. Résultat clé : La limite de débit de l'API est de 1000 req/min]"
  - L'agent grep le fichier lorsqu'il a besoin de détails spécifiques
Résultat : ~100 tokens dans le contexte, 8000 tokens accessibles à la demande

Exemple 2 : Chargement Dynamique de Compétence

Entrée : L'utilisateur demande des informations sur l'indexation de base de données
Contexte statique : "optimisation-base-de-donnees : Réglage des requêtes et indexation"
Action de l'agent : read_file("competences/optimisation-base-de-donnees/SKILL.md")
Résultat : Compétence complète chargée uniquement lorsque pertinente

Exemple 3 : Historique de Chat comme Référence de Fichier

Déclencheur : Limite de la fenêtre de contexte atteinte, résumé nécessaire
Action :
  1. Écrire l'historique complet dans historique/session_001.txt
  2. Générer un résumé pour la nouvelle fenêtre de contexte
  3. Inclure la référence : "Historique complet dans historique/session_001.txt"
Résultat : L'agent peut rechercher le fichier d'historique pour récupérer les détails perdus lors du résumé

Directives

  1. Écrivez les sorties volumineuses dans des fichiers ; renvoyez des résumés et des références vers le contexte
  2. Stockez les plans et l'état dans des fichiers structurés pour une relecture
  3. Utilisez des espaces de travail de fichiers pour sous-agents au lieu de chaînes de messages
  4. Chargez les compétences dynamiquement plutôt que de les insérer toutes dans le prompt système
  5. Persistez les sorties du terminal et des journaux comme fichiers consultables
  6. Combinez grep/glob avec la recherche sémantique pour une découverte complète
  7. Organisez les fichiers pour la découvrabilité par l'agent avec un nommage clair
  8. Mesurez les économies de tokens pour valider l'efficacité des modèles de système de fichiers
  9. Implémentez le nettoyage des fichiers scratch pour éviter une croissance illimitée
  10. Protégez les modèles d'auto-modification avec validation
  11. Gardez les preuves brutes à côté de l'exécution, de l'évaluation et de la proposition qui les a utilisées

Pièges

  1. Croissance illimitée du répertoire scratch : Les agents créent des fichiers temporaires sans nettoyage, consommant finalement de l'espace disque et rendant les listes de répertoires bruyantes. Implémentez une politique de conservation (basée sur l'âge ou le nombre) et exécutez un nettoyage aux limites de session.
  2. Conditions de concurrence dans l'accès aux fichiers multi-agents : Des écritures simultanées sur le même fichier corrompent silencieusement l'état. Appliquez l'isolation des répertoires par agent ou utilisez des fichiers en ajout seul avec des entrées préfixées par agent.
  3. Références de fichiers obsolètes après des déplacements/renommages : Les agents conservent des chemins de tours précédents qui n'existent plus après des refontes ou réorganisations de fichiers. Vérifiez toujours l'existence du fichier avant de lire un chemin mis en cache ; redécouvrez avec glob si la vérification échoue.
  4. Fausses correspondances de motifs glob : Des motifs trop larges (par exemple, **/*) attirent des fichiers non pertinents dans le contexte, gaspillant des tokens et perturbant le modèle. Limitez les globs à des répertoires et extensions spécifiques.
  5. Hypothèses sur la taille des fichiers : Lire un fichier sans vérifier sa taille peut déverser 100 000+ tokens dans le contexte en un seul appel d'outil. Vérifiez la taille du fichier avant de lire ; utilisez des lectures par plage de lignes pour les fichiers volumineux.
  6. Absence de vérification d'existence de fichier : Les agents supposent que les fichiers existent des tours précédents, mais ils peuvent avoir été supprimés ou déplacés. Protégez toujours les lectures avec des vérifications d'existence et gérez les erreurs de fichier manquant avec élégance.
  7. Dérive du format du bloc-notes : Les blocs-notes non structurés deviennent impossibles à analyser après de nombreuses écritures car les conventions de format s'érodent au fil des ajouts successifs. Définissez et appliquez un schéma (YAML, JSON, ou markdown structuré) dès la première écriture.
  8. Chemins absolus codés en dur : Ils cassent lorsque les dépôts sont extraits à différents emplacements ou lors de l'exécution dans des conteneurs. Utilisez des chemins relatifs à partir de la racine du projet ou résolvez les chemins dynamiquement.

Intégration

Cette compétence est propriétaire du stockage de contexte basé sur les fichiers

…

[tronqué pour la traduction]

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 associés