Skip to content

Agent Skills

A component can embed an Agent Skill — markdown documentation aimed at an LLM agent that’s about to call the component’s tools. The skill is a SKILL.md file (with YAML frontmatter) plus optional supporting files, tar-packed into the act:skill WASM custom section.

skill/
├── SKILL.md # required, with frontmatter
├── EXAMPLES.md # optional
└── references/… # optional supporting files
---
name: sqlite
description: Query a SQLite database. Useful for structured tabular data.
metadata:
act: {}
---
# SQLite Component
Run SQL queries against a database file.
## Tools
### query
Execute a SQL statement. Returns JSON rows.

query(sql: “SELECT * FROM users LIMIT 10”)

Frontmatter fields:

FieldRequiredPurpose
name✓Slug, matches the component name
description✓One-line summary for the agent
metadata.act✓Must be {} — signals to skill consumers that this is an ACT skill

Nothing in your source code refers to the skill. act-build pack looks for a skill/ directory next to the package manifest, tars it, and writes it into the act:skill custom section — the same way for every language. If the directory is absent, the section is simply omitted.

Run with RUST_LOG=act_build=info to see which sections were written.

Terminal window
act skill actpkg.dev/library/sqlite:latest -o .agents/skills/sqlite/

Writes the tar contents to the given directory. Agents can then use a skill-add workflow to pick up the documentation without ever running the component.