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.yamlThen 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