Key Abstractions for Mastering Complex Agentic Systems
Materials
- How to build simple applications — recipe for scaffolding a small app end-to-end (or for guiding an AI tool to build it)
The Agent Skills Standard
As agentic systems grow more complex, a key question emerges: how do we package and share reusable capabilities across agents, tools, and platforms?
The Agent Skills Standard is an open specification (introduced by Anthropic in December 2025) that defines a portable format for agent capabilities. It has been adopted by 30+ tools including Claude Code, GitHub Copilot, Cursor, OpenAI Codex, VS Code, Gemini CLI, and others.
The Core Idea: SKILL.md
A skill is defined by a single SKILL.md file — a Markdown document with YAML frontmatter.
It lives alongside the resources it describes (scripts, templates, reference docs).
my-skill/
├── SKILL.md # Skill definition (required)
├── scripts/ # Helper scripts
│ └── deploy.sh
├── templates/ # Prompt or code templates
│ └── review.j2
└── reference/ # Supporting documentation
└── style-guide.md
Anatomy of a SKILL.md
---
name: code-review
description: Reviews pull requests for style, correctness, and security issues
version: 1.0.0
---
# Code Review Skill
## When to use
Use this skill when the user asks you to review code changes,
pull requests, or diffs.
## Instructions
1. Read the changed files
2. Check for common issues: ...
3. Provide feedback grouped by severity
## Resources
- `templates/review.j2` — output format template
- `reference/style-guide.md` — project style conventions
Progressive Disclosure
A critical design principle. Not all skill content needs to be loaded into the agent's context at once. The standard defines three levels:
| Level | What's loaded | When |
|---|---|---|
| 1. Metadata | Name + description (from YAML frontmatter) | Always — the agent sees all available skills at startup |
| 2. Instructions | Full SKILL.md body | When the skill is triggered (by user request or matching context) |
| 3. Resources | Referenced files (scripts, templates, docs) | On demand — only when the agent actually needs them |
This mirrors how humans work: you know what your colleagues can do (Level 1), you ask them how when you need to collaborate (Level 2), and you pull up reference material only when actively working (Level 3).
Why it matters: context windows are finite and expensive. Loading every skill's full instructions and resources into every conversation would waste tokens and degrade performance. Progressive disclosure keeps the agent focused.
Why Is This a "Key Abstraction"?
The Agent Skills Standard addresses several fundamental challenges in complex agentic systems:
- Portability: A skill written once works across Claude Code, Copilot, Cursor, and any other compliant agent. No vendor lock-in.
- Composability: Skills can be combined — a "deploy" skill can reference a "test" skill. Complex behaviors emerge from simple, well-defined building blocks.
- Discoverability: Agents can scan a project's skill definitions to understand what capabilities are available, without loading everything into context.
- Human-readable: Skills are Markdown files — developers can read, write, review, and version-control them with existing tools.
Security Considerations
Skills from untrusted sources can contain prompt injections or malicious instructions. Production systems should treat third-party skills like untrusted code: review before enabling, sandbox execution, and limit access to sensitive resources.
Discussion: What other abstractions would you standardize?
Consider the agentic systems you've built in this course. What other capabilities would benefit from a portable, shareable format?
- Evaluation harnesses?
- Prompt templates and strategies?
- Tool definitions and schemas?
- Memory and context management patterns?
What would the tradeoffs be between standardization and flexibility?