A3S Docs
A3S CodeExamples

Skills

Built-in and custom skill system

Skills

Skills are reusable prompt templates that augment the agent's system prompt with specialized instructions. A3S Code ships with 7 built-in skills and supports custom skills via Markdown files.

Built-in Skills

Prop

Type

Enable Built-in Skills

use a3s_code_core::{Agent, SessionOptions};

let opts = SessionOptions::new()
    .with_permissive_policy()
    .with_builtin_skills();

let session = agent.session("/my-project", Some(opts))?;
let result = session.send("Review the auth module for security issues", None).await?;
println!("{}", result.text);

Run: cargo run --example test_builtin_skills Source: core/examples/test_builtin_skills.rs

session = agent.session("/my-project",
    permissive=True,
    builtin_skills=True,
)
result = await session.send("Review the auth module for security issues")
print(result.text)

Run: python examples/test_custom_skills_agents.py Source: sdk/python/examples/test_custom_skills_agents.py

const session = agent.session('/my-project', {
  permissive: true,
  builtinSkills: true,
});
const result = await session.send('Review the auth module for security issues');
console.log(result.text);

Run: node examples/test_custom_skills_agents.js Source: sdk/node/examples/test_custom_skills_agents.js

Custom Skills

Create a Markdown file with YAML frontmatter:

---
name: api-docs
description: Generate OpenAPI documentation from code
triggers:
  - "generate docs"
  - "document api"
  - "openapi"
---

When asked to generate API documentation:
1. Read all handler files to understand the API surface
2. Extract route definitions, parameters, and response types
3. Generate OpenAPI 3.0 YAML format
4. Write to docs/openapi.yaml

Then load it:

let opts = SessionOptions::new()
    .with_permissive_policy()
    .with_skills_from_dir("/my-project/.a3s/skills");

let session = agent.session("/my-project", Some(opts))?;
let result = session.send("Generate OpenAPI docs for the REST API", None).await?;
println!("{}", result.text);
session = agent.session("/my-project",
    permissive=True,
    skill_dirs=["/my-project/.a3s/skills"],
)
result = await session.send("Generate OpenAPI docs for the REST API")
print(result.text)
const session = agent.session('/my-project', {
  permissive: true,
  skillDirs: ['/my-project/.a3s/skills'],
});
const result = await session.send('Generate OpenAPI docs for the REST API');
console.log(result.text);

Skills + Planning

Combine skills with planning for complex multi-step tasks:

let opts = SessionOptions::new()
    .with_permissive_policy()
    .with_builtin_skills()
    .with_planning(true)
    .with_goal_tracking(true);

let session = agent.session("/my-project", Some(opts))?;
let result = session.send(
    "Review the entire codebase, find all bugs, fix them, and write a report",
    None,
).await?;
session = agent.session("/my-project",
    permissive=True,
    builtin_skills=True,
    planning=True,
    goal_tracking=True,
)
result = await session.send(
    "Review the entire codebase, find all bugs, fix them, and write a report"
)
const session = agent.session('/my-project', {
  permissive: true,
  builtinSkills: true,
  planning: true,
  goalTracking: true,
});
const result = await session.send(
  'Review the entire codebase, find all bugs, fix them, and write a report'
);

For full skills documentation, see Skills.

API Reference

SessionOptions

Prop

Type

Skill frontmatter fields

Prop

Type

Built-in skills

Prop

Type

On this page