A skill document is a Markdown file that serves as the “prompt weights” of your agent. SkillOpt trains this document through iterative optimization.
A skill document is a structured set of instructions that tells a language model how to approach a specific type of task. It’s analogous to learned weights in a neural network — encoding task-specific knowledge in natural language rather than floating-point parameters.
A typical skill document contains:
# Task Strategy
## General Approach
- Break complex problems into sub-steps
- Always verify intermediate results
## Common Patterns
- When you see X, try approach Y
- Avoid Z because it leads to errors
## Edge Cases
- If the input contains A, handle it specially by...
- Watch out for B — it requires C
## Output Format
- Always include reasoning before the answer
- Format numbers with proper units
During training, the skill document is modified by edit patches:
Each edit is validated through the gate mechanism before being permanently accepted.
You can start training with:
Configure the initial skill in your YAML:
train:
init_skill: "path/to/initial_skill.md" # or omit for empty
Track your skill’s evolution through:
!!! tip “Tips for better skills”
1. Start with a seed skill (env.skill_init) if you have domain knowledge — it converges faster
2. Use cosine LR schedule — aggressive early exploration + careful late refinement
3. Enable slow update (use_slow_update: true) to prevent forgetting across epochs
4. Enable meta skill (use_meta_skill: true) so the optimizer accumulates strategy memory