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.
Layout
Section titled “Layout”skill/├── SKILL.md # required, with frontmatter├── EXAMPLES.md # optional└── references/… # optional supporting filesSKILL.md
Section titled “SKILL.md”---name: sqlitedescription: Query a SQLite database. Useful for structured tabular data.metadata: act: {}---
# SQLite Component
Run SQL queries against a database file.
## Tools
### queryExecute a SQL statement. Returns JSON rows.query(sql: “SELECT * FROM users LIMIT 10”)
Frontmatter fields:
| Field | Required | Purpose |
|---|---|---|
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 |
Build-time embedding
Section titled “Build-time embedding”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.
Extract
Section titled “Extract”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.