agentc
GitHubagentc-sh/agentc
agentc
GitHubagentc-sh/agentc
›Introduction
Get started›Concepts in 5 minutes›Build your first agent›Add your first tool›Serve and connect
Concepts›Architecture overview›The manifest›The compilation pipeline›Archetypes›The graph›Tools and capabilities›Runtime libraries›Skills›Agents and prompts›Serving and protocols›Observability
Guides›Author a manifest›Write a tool›Give your agent a filesystem›Control network egress›Connect external tools via MCP›Connect agents via A2A›Use the bash tool›Control tool access with capabilities›Write templated prompts›Manage prompts with Langfuse›Pass context from the client›Configure a model provider›Connect a CopilotKit frontend›Deploy a standalone binary›Deploy with Docker and PostgreSQL›Instrument with OpenTelemetry›Extend code generation with blocks
Reference
Manifest
Runtime
›Observability

Skills

Skills are Markdown documents that teach the agent how and when to use its capabilities.

Skills are Markdown documents that give the agent context about how to behave in specific situations. Where tools give an agent the ability to do something, skills teach it how and when to do it well.

A skill might explain how to perform a code review using the git tool, how to structure a response when analysing data, or how to escalate a request when a task is outside its scope. The content is made available to the agent so that the guidance is present throughout the run.

How skills relate to tools

It helps to keep the distinction sharp. A tool is a capability: it lets the agent take an action, such as running a command or calling an API. A skill is judgement: it tells the agent when that action is appropriate and how to carry it out well. A skill can name the tools it expects to use, but it never executes anything itself. You reach for a skill when the agent has the right tools but needs guidance on process.

How skills appear to the agent

A skill lives in a directory with a SKILL.md file, or it can be declared inline in the manifest for short guidance. Each skill has a name and a short description. At the start of each run, the names and descriptions of all registered skills are injected into the system prompt, so the agent knows what skills are available and can decide when to draw on one. Files placed alongside SKILL.md are embedded as resources the agent can read on demand, which is useful for reference material, scripts, or templates that complement the instructions.

Skills are surfaced in the prompt through the skills template variable, so you control exactly how they are presented. See Write templated prompts for how to include them.

Skills need the skills capability

For an agent to actually read and use skills, it must hold the skills capability. Skills are exposed to the agent through built-in skill tools, and those tools are gated behind that capability like any other. Grant it in the agent's capabilities list. See Control tool access with capabilities.

Where to go next

  • Write templated prompts: surface skills in the system prompt.
  • Tools and capabilities: the actions a skill guides the agent to take.
  • skill reference: the SKILL.md format, frontmatter fields, and inline declaration.
← PreviousRuntime librariesNext →Agents and prompts

© 2026 pogue.dev. All rights reserved.

Creative CommonsCC BY 4.0
On this pageHow skills relate to toolsHow skills appear to the agentWhere to go next

Search docs

Search the agentc documentation