Skip to main content
Skills are markdown files (SKILL.md) that inject domain-specific knowledge into an agent’s system prompt. They let you teach agents new capabilities without changing code. Polpo implements the open skills.sh skill format — the same SKILL.md format used by Claude Code, Cursor, Windsurf, and other coding agents. Skills you create for Polpo work on any compatible agent, and vice versa.

How skills work

  1. A skill is a SKILL.md file with YAML frontmatter (name, description, allowed tools)
  2. Skills live in .polpo/skills/ at the project level
  3. You assign skills to individual agents — each agent can have different skills
  4. Assigned skills are automatically injected into the agent’s system prompt on every response
You don’t need to reference skills manually — Polpo handles the injection. See how the prompt is assembled for the full composition order.
---
name: frontend-design
description: Expert knowledge for UI/UX design decisions
tools: [browser_navigate, search_web]
tags: [design, frontend]
---

Focus on typography, color theory, spatial composition,
and motion design. Prefer system fonts for performance...

Managing skills

Install from GitHub

polpo skills add https://github.com/your-org/your-skills
This clones the repository into .polpo/skills/ and makes all skills available for assignment.

Create a skill

polpo skills create my-skill
Creates .polpo/skills/my-skill/SKILL.md with a template you can edit.

List skills

polpo skills list

Assign to an agent

polpo skills assign frontend-design --agent designer
The agent will receive the skill content in its system prompt on the next interaction.

Unassign

polpo skills unassign frontend-design --agent designer

API

Skills can also be managed via the REST API:
MethodPathDescription
GET/v1/skillsList all skills with assignments
POST/v1/skillsCreate a new skill
DELETE/v1/skills/{name}Delete a skill
POST/v1/skills/{name}/assignAssign skill to an agent
POST/v1/skills/{name}/unassignUnassign skill from an agent
POST/v1/skills/addInstall skills from a GitHub repository

SDK

const skills = await client.getSkills();

await client.assignSkill("frontend-design", "designer");
await client.unassignSkill("frontend-design", "designer");

Skill structure

.polpo/skills/
├── frontend-design/
│   └── SKILL.md
├── api-security/
│   └── SKILL.md
└── data-analysis/
    └── SKILL.md
Each skill is a directory containing a SKILL.md file. The frontmatter defines metadata; the body is the knowledge injected into the agent’s prompt.

Frontmatter fields

FieldTypeDescription
namestringSkill identifier
descriptionstringShort description
toolsstring[]Tools this skill is allowed to use
tagsstring[]Optional categorization
categorystringOptional grouping
Skills are composable — assign multiple skills to the same agent to combine domain expertise.