Skills.md from Scratch: Build a Skill-Driven Coding Agent
Extend a basic coding agent into a general-purpose agent with modular skills and explicit commands. Learn how Claude Code-style skills and commands work internally.
Timestamps
Click any timestamp to jump to that moment in the video
Welcome and overview of implementing skills and commands. Clarifying what we'll build today and sharing workshop materials.
Live demonstration of skills in Claude Code. Showing how to fetch files from GitHub using a skill.
Understanding the difference: skills are implicit (agent decides), commands are explicit (user specifies). Demo of /kit and /parent commands.
Review of the coding agent we built previously. Showing the Django website implementation example.
Setting up the development environment with uv, installing dependencies (Jupyter, OpenAI, ToyAIKit, Python-frontmatter), and configuring OpenAI API key.
Recap of agent architecture: LLM, instructions, tools, memory. Understanding the agentic loop and tool call patterns.
Setting up file system tools (read_file, write_file, file_tree) and bash command execution. Creating the tools object.
Creating a general-purpose coding agent using ToyAIKit. Testing with a simple Python script example. Understanding the runner interface.
Creating SkillLoader class to parse markdown frontmatter. Loading skills from directory structure. Understanding skill metadata (name, description, content).
Why we only include skill names/descriptions in prompts, not full content. Implementing lazy loading via tool calls to save tokens.
Modifying system prompts to include available skills list. Creating skill injection mechanism. Testing the hello skill.
Answering questions about when to use skills vs tools, model prerequisites, limitations, and best practices for creating skills.
Implementing commands loader similar to skills. Creating execute_command tool. Handling slash command parsing and execution.
Testing the /kit command execution. Demonstrating how explicit commands work compared to implicit skills.
Adding explicit instructions to help models distinguish between skills and commands. Final testing of the complete system.
Workshop wrap-up, key takeaways, and information about the AI Engineering Buildcamp course for AI engineers.
Core Tools
What You'll Learn
- Extending a basic coding agent into a general-purpose coding agent
- Implementing skills as modular autonomously loaded capabilities
- Implementing commands as explicit user-facing shortcuts
- Understanding how Claude Code-style skills and commands work internally
- Reimplementing OpenCode patterns in Python
- Designing agent instructions for general-purpose coding tasks
- Dynamically loading skills via tool calls
- Parsing and executing slash commands without exposing syntax to the agent
Expected Outcome
A general-purpose coding agent that supports skills and commands, loads capabilities dynamically based on intent, executes explicit slash commands, follows production-style agent control patterns, and mirrors Claude Code-style behavior using a transparent Python implementation