Example custom agent skill — a template to get started.
33
28%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./agentsociety/packages/agentsociety2/agentsociety2/custom/skills/examples/my-custom-skill/SKILL.mdThis is a template for creating a custom agent skill.
There are two valid skill patterns in the current architecture:
No script field in frontmatter. This SKILL.md is injected into the LLM's context
when activate_skill is called. The LLM then uses built-in atomic tools
(bash, codegen, workspace_read/write, glob, grep) to accomplish the task.
This is the primary extension mechanism — like Claude Code's slash commands.
Add script: scripts/my-script.py to frontmatter. The script is executed as a
subprocess with --args-json and must communicate via stdout (JSON) and file I/O
in the agent workspace (AGENT_WORK_DIR). Scripts cannot access the LLM or
environment router — use this only for deterministic computation.
When this skill is activated:
codegen to query the environment for relevant information.workspace_read / workspace_write to persist state.bash to run any computation or data processing.done with a summary when finished.When activated, the agent should:
codegen with instruction: "What happened recently? Summarize recent events."workspace_read path journal.jsonl to load previous entries.workspace_write path journal.jsonl to append today's entry.done with summary of what was journaled.If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.