sample-structure
$
npx mdskill add MicrosoftDocs/semantic-kernel-docs/sample-structureUnderstand the conceptual architecture of the Agent Framework's five-layer learning model.
- Guides developers through the progression from basic setup to complex, production-ready applications.
- Defines the conceptual structure, independent of specific language implementations or provider setups.
- Maps out the learning path across five distinct complexity levels: Get Started through End-to-End.
- Presents a clear, layered model for understanding the framework's scope and feature organization.
SKILL.md
.github/skills/sample-structureView on GitHub ↗
--- name: sample-structure description: > Conceptual organization of Agent Framework documentation and samples. For language-specific details (file naming, provider setup, code patterns), see each code repo's skills files. --- # Skill: Agent Framework Conceptual Structure ## Purpose This skill defines the **conceptual organization** of Agent Framework documentation and how it maps to the learning journey. Language-specific implementation details belong in each code repo's skills files — this file covers the shared conceptual model only. ## Progressive Learning Model The Agent Framework uses a 5-layer structure that progressively builds complexity. Both docs and code samples mirror this structure so users can move fluidly between reading and running code. ``` Layer 1: Get Started → Linear tutorial, one concept per step Layer 2: Agent Concepts → Deep-dive reference, organized by topic Layer 3: Workflows → Multi-step orchestration patterns Layer 4: Hosting → Deployment, protocols, production infrastructure Layer 5: End-to-End → Complete applications combining all layers ``` ### Layer Characteristics | Layer | Purpose | Complexity | Audience | |-------|---------|------------|----------| | Get Started | "Follow these steps" — sequential, cumulative | Beginner | New users | | Agent Concepts | "Go deeper on X" — one topic per page | Intermediate | Users building features | | Workflows | "Orchestrate multiple steps" — pattern-based | Intermediate | Users composing agents | | Hosting | "Deploy to production" — infrastructure-focused | Advanced | Users shipping | | End-to-End | "See it all together" — reference applications | Advanced | Users architecting | ### Get Started Progression Each step adds exactly one concept to the previous step: 1. **Hello Agent** — Create an agent, invoke it, stream the response 2. **Add Tools** — Give the agent a function tool it can call 3. **Multi-Turn** — Maintain conversation state with threads 4. **Memory** — Inject persistent context via context providers 5. **First Workflow** — Compose a multi-step workflow 6. **Host Your Agent** — Expose the agent via A2A protocol ### Agent Concepts — Topic Areas Concepts are grouped by architectural concern: - **Tools** — Function tools, hosted tools, MCP, approval workflows, code interpreter, file search, web search - **Middleware** — Request interception at agent, chat, and function layers; termination, guardrails, shared state - **Conversations** — Threads, persistent storage, suspend/resume, chat history - **Providers** — Client setup for each supported model provider - **Context Providers** — Memory injection, RAG patterns - **Orchestrations** — Multi-agent patterns (handoff, sequential, concurrent) - **Observability** — Tracing, OpenTelemetry, Foundry tracing - **Declarative** — YAML/JSON-defined agents and workflows - **Multimodal** — Image, audio, and file inputs ### Architecture: Tools & Middleware Layers The Agent Framework uses a layered middleware architecture with three interception points: 1. **Agent Middleware** — Wraps the entire `Agent.run()` call; can modify messages, options, thread 2. **Chat Middleware** — Wraps calls to the underlying chat client; can modify messages, options 3. **Function Middleware** — Wraps individual tool invocations; can modify arguments, override results Each layer has its own context object and supports `call_next()` for pipeline chaining. Middleware can return normally (upstream post-processing runs), raise `MiddlewareTermination` (skips all post-processing), or raise exceptions (propagated to caller). ## Docs ↔ Samples Alignment Every docs page under `get-started/` maps 1:1 to a sample file in both Python and .NET. Deep-dive docs pages link to corresponding concept samples. | Docs Section | Code Repo Layer | Cross-link pattern | |-------------|----------------|-------------------| | `get-started/*.md` | `01-get-started/` | Each step → next step + lateral deep-dive | | `agents/**/*.md` | `02-agents/` | Each topic → matching concept sample(s) | | `workflows/*.md` | `03-workflows/` | Each pattern → matching workflow sample | | `integrations/*.md` | `04-hosting/` | Each integration → matching hosting sample | ## Navigation Pattern Docs pages follow consistent navigation: - **Sequential**: Every page has a "Next step" link for linear flow - **Lateral**: Every page has "Go deeper" links to related topics - **Upward**: Every deep-dive page links back to its section overview ## When Adding New Content 1. Determine which layer (1–5) the content belongs to 2. For Get Started: only add a step if it introduces a truly foundational concept 3. For Agent Concepts: group under the appropriate topic area 4. For Workflows: coordinate with the workflow team 5. Ensure both Python and .NET samples exist before publishing a docs page 6. Update the corresponding code repo's skills file with language-specific details
More from MicrosoftDocs/semantic-kernel-docs
- breadcrumbs>
- code-snippets>
- cross-repository-references>
- per-concept-documentationRequired when reviewing, updating, auditing, or creating any concept documentation page. Covers code accuracy checks against source repos, language parity across zone pivots, parity table comments, and structural consistency.
- redirection>
- toc>