L1
·
Quiz
·
Lab
L2
·
Quiz
·
Lab
L3
·
Quiz
·
Lab
L4
·
Quiz
·
Lab
Module Test
🎯 Advanced

What Are Skill Libraries?

How reusable, composable skill modules transform single-purpose agents into versatile, production-grade systems.

In 2023, Salesforce released its Einstein Copilot architecture with a published library of over 40 discrete "actions" — each a self-contained skill covering tasks like summarizing a CRM record, drafting a follow-up email, or querying sales pipeline data. Rather than training a monolithic model for each use case, Salesforce engineers built these skills as modular units with defined inputs, outputs, and permission scopes. An agent orchestrating a sales workflow could invoke SummarizeAccount, then chain to DraftOutreachEmail, then call ScheduleMeeting — combining three library skills in sequence without any skill knowing about the others. This architecture let teams ship new capabilities in days instead of months, because adding a skill meant writing one new module, not retraining a system.

The lesson from Salesforce's published engineering blog: the leverage in agent design comes not from clever prompting but from how you package and expose capabilities as composable units.

The Core Concept: Skills as Atomic Units

A skill is a discrete, reusable capability that an agent can invoke. Unlike a monolithic agent that embeds all logic in a single prompt, a skill library separates concerns: each skill has a name, a description the agent uses to decide when to call it, a typed input schema, a typed output schema, and the execution logic itself.

The most important property is atomicity — a skill does one thing well. The skill ExtractDates extracts dates from text. It does not also summarize the text, classify its sentiment, or schedule a calendar event. This constraint feels restrictive at first, but it is what makes skills composable. An agent can chain ExtractDates → LookupCalendarAvailability → BookMeeting precisely because each skill has no hidden side-effects on the others.

OpenAI's function-calling API, released in June 2023, formalized this pattern at scale. Each "function" registered with a model is structurally a skill: a JSON Schema defines its inputs, a description tells the model when to invoke it, and the model outputs structured calls rather than free-form text. Within months, developers had built shared libraries of hundreds of such functions — effectively community skill repositories.

Key Insight

A skill is not a prompt — it is an interface contract. The description is for the agent's reasoning layer; the schema is for the execution layer. These two concerns must be designed separately.

Why Libraries Beat One-Off Implementations

Before skill libraries became standard, teams built agent capabilities ad hoc: a custom function in the prompt for one task, an inline code block for another, a hardcoded API call somewhere else. The result was fragile systems where changing one capability could break five others, and where the same logic was reimplemented in slightly different ways across different agents.

When Microsoft released Semantic Kernel in 2023, their central design decision was the "plugin" — a versioned, documented skill module that could be registered into any kernel instance. Their published case studies showed teams at major enterprise clients reducing agent development time by 60–70% once they had a shared skill library, because new agents were assembled from existing tested modules rather than built from scratch.

The economic logic is the same as software libraries generally: write once, test thoroughly, reuse everywhere. But for agents, the stakes are higher — a skill invoked in a production pipeline may execute real-world actions (sending emails, writing to databases, calling APIs), so the thoroughness of the write-once step is critical.

  • Testability: Each skill can be unit-tested in isolation with mock inputs.
  • Versioning: Skills can be versioned independently; agents declare which version they depend on.
  • Discoverability: A skill registry lets agent orchestrators search by capability description at runtime.
  • Auditability: Every invocation of a named skill is logged with a consistent identifier, making traces readable.
Architecture Note

The shift from "an agent with tools" to "a library of skills an agent can compose" is the difference between a tradesperson with a specific set of fixed tools and a workshop with a catalogued inventory of every tool ever built — the second can tackle problems the first never imagined.

🎯 Advanced

Lesson 1 Quiz

3 questions — free, untracked, retake anytime.
1. What is the most important property of a well-designed skill in a skill library?
✓ Correct — ✓ Correct! Atomicity is the foundation of composability. A skill that does exactly one thing can be reliably chained, tested, and reused across many agents.
✗ Not quite. The defining property is atomicity — doing one thing well with a clear interface contract — which enables composability and reliable testing.
2. When Salesforce built the Einstein Copilot architecture, what was the primary engineering advantage of its 40+ action library?
✓ Correct — ✓ Correct! Salesforce's engineering blog specifically highlighted that new capabilities shipped in days because adding a skill meant writing one module, not retraining the system.
✗ Not quite. The advantage was modularity — new capabilities were added as independent modules, enabling rapid iteration without system-wide rebuilds.
3. In OpenAI's function-calling API, what is the role of the JSON Schema attached to each function?
✓ Correct — ✓ Correct! The JSON Schema serves the execution layer — enforcing typed inputs — while the natural language description serves the model's reasoning about when to invoke the function. These are deliberately separate concerns.
✗ Not quite. The JSON Schema defines typed inputs for the execution layer. The description (a separate field) is what helps the model's reasoning layer decide when to call the function.
🎯 Advanced

Lab 1: Skill Decomposition

Practice breaking agent capabilities into atomic, library-ready skill definitions.

Your Mission

You are going to practice the first and most important skill design decision: decomposing a broad capability into atomic skills. The AI tutor will give you a complex agent task and challenge you to identify the individual library skills it should invoke.

  1. Read the AI's opening task description carefully.
  2. Propose a decomposition — list the atomic skills you would put in the library.
  3. The AI will critique your decomposition: are skills truly atomic? Are interfaces clear? Are any missing?
Design a skill library for an agent that handles customer support tickets: it reads a ticket, classifies its urgency, looks up the customer's account history, drafts a response, and — if urgent — creates a follow-up task for a human agent.
🤖 Skill Design Tutor Lab 1
🎯 Advanced

Designing Skill Interfaces

How to define the contracts between skills and agents — inputs, outputs, errors, and descriptions that actually work.

In early 2024, Anthropic published documentation on their "tool use" API, including specific guidance on why tool descriptions matter as much as schemas. Their engineering notes cited internal experiments where the same underlying function — a web search capability — was described in two ways: one description read "searches the web" and another read "retrieves up-to-date information from the internet when the answer may have changed since the training cutoff, or when a specific URL or current fact is needed." The second description reduced incorrect tool invocations by over 40% in their evaluations. The lesson: the natural language contract between description and model reasoning is as precise an engineering decision as the typed schema.

The Four Parts of a Skill Interface

Every production skill needs four precisely designed components. Getting any one wrong causes subtle failures that are hard to debug at the agent orchestration level.

1. Name: Should be an unambiguous verb-noun pair that describes the action, not the implementation. SearchWeb and FetchURL are different skills — one queries a search engine, the other retrieves a specific page. Names that are too generic (GetData) force the agent to rely entirely on the description and often lead to mis-selection.

2. Description: This is the reasoning contract — the text the model uses to decide whether this skill is appropriate for the current step. A good description names: what the skill does, what it requires as preconditions, and critically, when not to use it. Anthropic's guidance explicitly recommends including negative cases: "Use this skill when X; do not use it when Y."

3. Input Schema: Every parameter should have a type, a description, and a specification of whether it's required. Optional parameters need default values documented. Parameters should be named for what they represent semantically, not what they map to technically — customerName not param1.

4. Output Schema: The shape of what comes back. This is often under-designed. A skill that returns an untyped string forces the calling agent to parse and interpret — introducing a reasoning step that should be structural. Returning a typed object with named fields ({ urgencyLevel: "high", confidence: 0.92 }) lets downstream skills consume the output reliably.

Design Principle

The description is a contract with the model's reasoning layer. The input and output schemas are contracts with the execution layer. Conflating these two contracts is the most common skill design error in production systems.

Error Contracts and Graceful Failure

A skill that can fail silently is a liability in any composed workflow. Production skill libraries must define their error contract: what error types can this skill return, what do they mean, and what should the calling agent do in each case?

LangChain's published tooling documentation distinguishes between three error categories for skills: transient errors (network timeout — retry is appropriate), input errors (malformed parameter — the agent should reformat and retry), and hard failures (permission denied — escalate to human or abandon the task). An agent that receives a skill error without this categorization has no principled way to decide how to proceed, and will either retry forever, fail silently, or hallucinate a result.

The most robust skill libraries implement what engineers call a "sealed result type" — the skill always returns either a typed success value or a typed error value, never throws an exception that propagates to the orchestrator. This means the agent's reasoning about errors is part of the documented interface, not a hidden failure mode.

When Google DeepMind published their Gemini function-calling architecture in late 2023, they emphasized that every registered function should declare its possible error codes alongside its output schema. This allowed their evaluation harness to test not just happy-path invocations but the agent's error-handling behavior — a quality bar that teams building with raw function calls typically never reached.

  • Transient errors: Retry with exponential backoff, log the attempt.
  • Input errors: Return structured feedback so the agent can correct the call.
  • Hard failures: Surface to orchestrator immediately with full context for escalation.
  • Partial results: Define whether partial data is valid or should be treated as failure.
Production Lesson

In a skill library serving multiple agents, an undocumented failure mode in one skill becomes a production incident across all agents that use it. Document errors with the same rigor as outputs.

🎯 Advanced

Lesson 2 Quiz

3 questions — free, untracked, retake anytime.
1. According to Anthropic's internal experiments with tool descriptions, what made the longer description of a web search tool significantly more effective?
✓ Correct — ✓ Correct! The effective description named the use case precisely — "when the answer may have changed since training cutoff, or when a specific current fact is needed" — giving the model a clear decision rule.
✗ Not quite. The key was precision about when to use (and not use) the tool. This gave the model's reasoning layer a clear contract, reducing incorrect invocations by over 40%.
2. What is a "sealed result type" in the context of skill error contracts?
✓ Correct — ✓ Correct! A sealed result type means the skill's contract covers all outcomes — success and every possible failure — as typed values, so the agent's error-handling logic is part of the documented interface.
✗ Not quite. A sealed result type means every possible return value — success or failure — is a typed, documented value. The skill never throws an unhandled exception that bypasses the agent's reasoning.
3. Which of these skill naming choices best follows production skill library conventions?
✓ Correct — ✓ Correct! A clear verb-noun pair naming the semantic action — not the implementation detail — gives the agent's reasoning layer an unambiguous signal about when to invoke it.
✗ Not quite. The best name is a specific verb-noun pair describing the semantic action (ClassifyTicketUrgency), not the implementation (ExecuteQueryOnPostgresDatabase), a vague generic (GetData), or a meaningless identifier (Tool3).
🎯 Advanced

Lab 2: Writing Skill Interface Contracts

Practice writing the four parts of a production-quality skill interface definition.

Your Mission

The AI tutor will give you a skill to design. Write a complete interface contract: name, description (including when NOT to use it), input schema with typed parameters, and output schema. Then get feedback on the precision and completeness of your contract.

  1. Wait for the AI to assign you a skill to define.
  2. Write out all four parts of the interface contract in your response.
  3. The AI will identify gaps, ambiguities, or missing error cases.
Design the full interface contract for a skill called SentimentAnalysis — something an agent would use when processing customer feedback. Include name, description, input schema, output schema, and at least two error cases.
🤖 Interface Design Tutor Lab 2
🎯 Advanced

Composing Skills at Runtime

How agents select, sequence, and chain library skills dynamically to solve tasks that no single skill can handle alone.

In 2024, Cognition AI publicly demonstrated their agent "Devin" completing a multi-step software engineering task: reading a GitHub issue, cloning the relevant repository, writing a code fix, running the test suite, and submitting a pull request. Each of these was a separate library skill. What drew attention from engineers was not the individual skills — any of them could be implemented by a junior developer — but the agent's runtime composition: Devin's orchestrator decided, based on the output of each skill, which skill to invoke next. When tests failed, it did not blindly retry; it invoked a code inspection skill to analyze the failure output, then a different patching skill. The composition was dynamic, not scripted. This is the core challenge of runtime skill composition: the agent must reason about skill outputs to plan the next invocation.

Sequential, Parallel, and Conditional Composition

There are three fundamental patterns for composing skills at runtime. Understanding which pattern applies to a given task is an architectural decision that determines both the agent's efficiency and its robustness.

Sequential composition is the most common pattern: the output of skill A becomes the input to skill B. The customer support agent from Lesson 1 uses sequential composition — read ticket → classify urgency → look up account → draft response. Each step depends on the previous. The risk is latency: each skill must complete before the next begins, and a failure in step 2 aborts the entire chain.

Parallel composition is appropriate when multiple skills need the same input but produce independent outputs that are combined later. A research agent might invoke SearchAcademic, SearchNews, and SearchPatents simultaneously, then pass all three results to a SynthesizeFindings skill. Parallel composition requires the orchestrator to manage concurrency and handle the case where some parallel branches fail while others succeed.

Conditional composition is where agent reasoning becomes most visible. The agent evaluates the output of one skill and uses it to decide which skill to invoke next — not just what inputs to pass. The Cognition Devin case is conditional composition: test failure output determines whether to invoke AnalyzeFailure or SubmitPullRequest. This pattern requires the agent's reasoning layer to interpret skill outputs as decision inputs, which means output schemas must be designed with downstream branching in mind.

Design Insight

The composition pattern is not chosen once at design time — sophisticated agents switch between sequential, parallel, and conditional composition within a single task. The skill library must support all three, which means skills cannot have hidden state that assumes they are always called in the same order.

Dynamic Skill Discovery and Planning

The most advanced pattern — used in systems like AutoGPT and the early LangChain agents that followed — is dynamic skill discovery: the agent does not have a fixed set of skills pre-loaded, but queries a skill registry at runtime to find capabilities that match its current need. This requires skill descriptions to function as semantic search targets, not just documentation.

When researchers at Stanford published the "ToolFormer" paper in 2023, they trained a model to decide, for each step in a task, whether to call a tool, which tool to call, and how to format the call — all from the tool descriptions alone. The quality of those descriptions determined the accuracy of tool selection. Tools with vague descriptions like "queries external data" were selected incorrectly 3–4 times more often than tools with precise descriptions naming the specific data source and query format.

Runtime planning requires the agent to reason about skill composition before executing it. Systems like LangChain's "Plan and Execute" agent architecture, published in 2023, explicitly separated the planning step (which skills, in what order) from the execution step (actually invoking them). This separation allows the plan to be evaluated, logged, and even overridden by a human reviewer before execution — a safety property that is impossible in reactive (one-step-at-a-time) composition.

The tradeoff: plan-then-execute is more auditable but brittle if the execution context changes mid-plan. Reactive composition adapts better to changing state but is harder to inspect. Production systems increasingly use hybrid approaches: a high-level plan is generated upfront, but each skill invocation may trigger reactive replanning if its output is unexpected.

  • Skill registry: A searchable catalog of all available skills with descriptions and schemas.
  • Plan generation: The agent produces a sequence of skill invocations before executing any.
  • Reactive replanning: Unexpected skill outputs trigger a new planning step rather than a blind retry.
  • Execution tracing: Every skill invocation is logged with its inputs, outputs, and the reasoning that selected it.
Architecture Note

A skill registry is not just a list — it's the agent's ability to discover what it can do. Designing skill descriptions as semantic search targets is as important as any other part of the interface contract.

🎯 Advanced

Lesson 3 Quiz

3 questions — free, untracked, retake anytime.
1. In the Cognition Devin demonstration, which composition pattern did the agent use when test failures triggered a code inspection skill instead of a retry?
✓ Correct — ✓ Correct! Conditional composition means the agent evaluates a skill's output as a decision input, choosing between different next-step skills based on what that output contains.
✗ Not quite. This is conditional composition — the failure output was evaluated to select the next skill (AnalyzeFailure vs SubmitPullRequest), not just pass data forward in a fixed order.
2. What did Stanford's ToolFormer paper find about tool descriptions and selection accuracy?
✓ Correct — ✓ Correct! The ToolFormer research showed that description precision was the dominant factor in tool selection accuracy — vague descriptions led to 3–4x more incorrect invocations.
✗ Not quite. The ToolFormer paper specifically found that vague descriptions caused 3–4x more incorrect tool selections than precise ones. Description quality was the key variable.
3. What is the key safety property of the "plan-then-execute" composition architecture compared to purely reactive composition?
✓ Correct — ✓ Correct! Separating planning from execution creates an inspection window — the full intended skill sequence exists as an artifact that can be logged, evaluated, and overridden before any real-world action is taken.
✗ Not quite. The key safety property is auditability: the plan exists as a complete artifact before execution, enabling human review and override — something step-by-step reactive systems don't support.
🎯 Advanced

Lab 3: Skill Composition Planning

Design a runtime composition plan for a multi-step agent task.

Your Mission

Practice designing explicit composition plans — the kind that could be reviewed before execution. The AI tutor will give you a task and a skill library. You will write a plan specifying which composition pattern (sequential, parallel, conditional) to use at each step and why.

  1. Read the AI's task description and available skill list.
  2. Write a composition plan: name each skill in order, specify the pattern at each step, and identify any conditional branches.
  3. The AI will probe your plan for gaps: what happens if skill X fails? Why not run Y and Z in parallel?
Given a skill library containing: FetchArticle, ExtractKeyFacts, CheckFactAccuracy, SearchCounterEvidence, WriteSummary, and FlagForReview — design a composition plan for an agent that fact-checks a news article URL and produces a credibility assessment.
🤖 Composition Planning Tutor Lab 3
Building AI Agents II — Skills · Module 7 · Lesson 4

L4: Skill Governance and Safety

Advanced concepts, real-world applications, and practical implications
Core Concepts

This lesson explores l4: skill governance and safety — examining the key principles, real-world applications, and implications for practitioners working in this domain.

Understanding this topic requires both theoretical grounding and practical awareness of how these concepts manifest in deployed systems. The frameworks covered in earlier lessons provide the foundation; this lesson connects them to implementation reality.

Practical Applications

The transition from theory to practice reveals challenges that pure conceptual frameworks don't capture. Real-world deployment introduces constraints, trade-offs, and edge cases that demand nuanced judgment rather than rigid rule-following.

Effective practitioners in this space develop the ability to reason across multiple frameworks simultaneously, recognizing when different perspectives apply and how to resolve conflicts between competing priorities.

Looking Forward

As this field continues to evolve, the principles covered in this module will remain foundational even as specific technologies and implementations change. The ability to think critically about these topics — rather than simply memorizing current best practices — is what separates effective practitioners from those who merely follow checklists.

Lesson 4 Quiz

L4: Skill Governance and Safety
What is the primary focus of L4: Skill Governance and Safety?
✓ Correct — Correct. This lesson bridges theory and practice, focusing on real-world implementation.
Review the lesson — the focus is on connecting frameworks to practical reality.
Why does real-world deployment introduce challenges that pure theory doesn't capture?
✓ Correct — Correct. Real deployment requires judgment, not just framework application.
Practice doesn't invalidate theory — it reveals complexities that require nuanced application of theoretical principles.
What separates effective practitioners from those who merely follow checklists?
✓ Correct — Correct. Critical thinking and adaptability matter more than memorized procedures.
The key differentiator is critical thinking ability, not experience or resources alone.
🎯 Advanced · Lesson 4 Lab

Lab: Apply What You've Learned

Synthesize concepts from L4: Skill Governance and Safety through guided AI conversation

Your Task

Use the AI below to explore the concepts from Lesson 4 in depth. Ask questions, challenge assumptions, and work through practical scenarios related to l4: skill governance and safety.

Try: "How would the concepts from this lesson apply to a real-world scenario in this field?"
🤖 AESOP Lab Assistant Lesson 4 Lab

Module 7 Test

Skill Libraries and Agent Capabilities · 15 Questions · 70% to Pass
Score: 0/15
1. What is the core objective of Skill Libraries and Agent Capabilities?
2. How should practitioners approach applying concepts from this module?
3. Which best describes the relationship between theory and practice in Building AI Agents II — Skills?
4. What distinguishes expert practitioners from novices in this field?
5. How does Skill Libraries and Agent Capabilities build on previous modules?
6. What role do constraints play in practical implementation?
7. When applying frameworks from this module, what is most important?
8. How should practitioners handle conflicting perspectives in this field?
9. What makes the concepts in Skill Libraries and Agent Capabilities relevant beyond their immediate context?
10. How should practitioners continue developing expertise after completing this module?
11. What is the relationship between understanding Building AI Agents II — Skills concepts and making decisions?
12. How do the lessons from this module apply to novel situations?
13. What is the value of understanding multiple perspectives on {course_title}?
14. How should practitioners evaluate new information or developments in this field?
15. What is the ultimate goal of learning Skill Libraries and Agent Capabilities?