Skills¶
As coding agents evolve from simple chat interfaces towards autonomous task execution, context engineering has become a critical challenge. Agent Skills provide an open standard for modularising contexts by bundling instructions, executable scripts and associated resources such as Test-Driven Development. Whilst AGENTS.md is loaded at the start of every session, skills are only loaded on demand based on their descriptions, which reduces token consumption and mitigates issues such as context window exhaustion or agent instruction overload.
At the start of a session, coding agents can scan all available skill files and read a brief description from the Markdown file for each one. This is very token-efficient: each skill consumes only a few dozen extra tokens, with the full details only being loaded when a task is requested that the skill can help solve.
See also
Library Skills¶
Library Skills allows you to keep the skills for
libraries that contain their own integrated AI functions synchronised with the
latest version of the library. Libraries such as
FastAPI contain a
.agents/skills/fastapi/SKILL.md file, which can easily be adopted.
In Python, you can use library-skills with uvx library-skills. This will
check the dependencies you have defined in
pyproject.tomlorpackage.jsoncheck your project’s installation environment, for example, the
.venvdirectory for Python andnode_modulesfor Node.jsidentify the available skills for the libraries you have installed
display the installation status of these skills
ask which new skills you would like to install
ask about the installation target (
.agents/skillsor.claude/skills)create a relative symbolic link for each skill you select and each destination, so that they can be managed with Git
pre-commit hook¶
You can run the same check using the pre-commit framework to detect changes to the skills:
repos:
- repo: local
hooks:
- id: library-skills-check
name: library-skills check
entry: uvx library-skills --check
language: system
pass_filenames: false
files: ^(pyproject\.toml|uv\.lock|package\.json|package-lock\.json)$