{"id":51187767,"url":"https://github.com/microsoft/spec-to-agents","last_synced_at":"2026-06-27T12:00:47.436Z","repository":{"id":319724877,"uuid":"1041526835","full_name":"microsoft/spec-to-agents","owner":"microsoft","description":"A multi-agent event planning workflow built with Microsoft Agent Framework - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.","archived":false,"fork":false,"pushed_at":"2026-05-29T06:56:50.000Z","size":2592,"stargazers_count":111,"open_issues_count":14,"forks_count":55,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-04T15:28:00.124Z","etag":null,"topics":["agent-framework","autogen","azure-ai-foundry","semantic-kernel"],"latest_commit_sha":null,"homepage":"https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-08-20T16:05:40.000Z","updated_at":"2026-06-03T20:05:54.000Z","dependencies_parsed_at":"2025-10-27T18:13:02.636Z","dependency_job_id":null,"html_url":"https://github.com/microsoft/spec-to-agents","commit_stats":null,"previous_names":["microsoft/spec-to-agents"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/spec-to-agents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspec-to-agents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspec-to-agents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspec-to-agents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspec-to-agents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/spec-to-agents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fspec-to-agents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34845743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-framework","autogen","azure-ai-foundry","semantic-kernel"],"created_at":"2026-06-27T12:00:37.534Z","updated_at":"2026-06-27T12:00:47.417Z","avatar_url":"https://github.com/microsoft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/spec_logo.png\" alt=\"Spec-to-Agents Logo\" width=\"180rem\"/\u003e\n\u003c/p\u003e\n\n# Event Planning Multi-Agent System\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/microsoft/spec-to-agents)\n\nA multi-agent event planning workflow built with **[Microsoft Agent Framework](https://github.com/microsoft/agent-framework)** - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.\n\n\u003e [!NOTE]\n\u003e **Ignite 2025 Lab**: [LAB513 - Build A2A and MCP Systems Using SWE Agents and Agent Framework](https://github.com/microsoft/ignite25-LAB513-build-a2a-and-mcp-systems-using-swe-agents-and-agent-framework/blob/main/lab/instructions/instructions.md)\n\n## 🎯 What This Demonstrates\n\nThis sample shows you how to build a production-ready multi-agent system with:\n\n- **Multi-Agent Orchestration**: 5 specialized agents coordinating event planning\n- **Human-in-the-Loop**: Interactive approval and feedback during workflow execution\n- **Tool Integration**: Web search, weather APIs, calendar management, and code interpreter\n- **Azure Deployment**: One-click deployment with Azure Developer CLI (azd)\n\n## 🏗️ Architecture\n\n### Multi-Agent Workflow Design\n\nThe system uses a **coordinator-centric star topology** where the Event Coordinator routes tasks to specialized agents and synthesizes their outputs into a comprehensive event plan:\n\n![Event Planning Agent Design](assets/Event%20Planning%20Agent%20Design.png)\n\n### Agent Tools \u0026 Capabilities\n\nEach specialist agent has access to domain-specific tools for their area of expertise:\n\n![Agent Tools](assets/Agent%20Tools.png)\n\n**Tool Integration:**\n- **Venue Specialist**: Web Search (Bing Grounding)\n- **Budget Analyst**: Code Interpreter (Python REPL)\n- **Catering Coordinator**: Web Search (Bing Grounding)\n- **Logistics Manager**: Weather API (Open-Meteo) + Calendar Tools (iCalendar)\n- **All Agents**: MCP Sequential Thinking (Model Context Protocol for complex reasoning)\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Python 3.11+\n- [uv](https://docs.astral.sh/uv/) - Python package manager\n- [Azure CLI (az)](https://learn.microsoft.com/cli/azure/install-azure-cli)\n- [Azure Developer CLI (azd)](https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd)\n- Azure subscription\n\n### Deploy to Azure\n\n```bash\n# Clone and navigate to the repository\ngit clone https://github.com/microsoft/spec-to-agents.git\ncd spec-to-agents\n\n# Login to Azure\naz login\nazd auth login\n\n# Deploy everything (provisions resources, generates .env, installs dependencies)\nazd up\n```\n\n**What happens:**\n- ✅ Provisions Microsoft Foundry + OpenAI models\n- ✅ Generates `.env` with connection details\n- ✅ Installs Python dependencies via `uv sync`\n\n### Run Locally\n\n**Interactive Console (Recommended):**\n```bash\nuv run console\n```\n\n**DevUI (Visual Interface):**\n```bash\nuv run app\n```\n\nThen navigate to the URL shown (by default `http://localhost:8080`)\n\n### Example Input\n\nTry this event planning request:\n\n```\nPlan a corporate holiday party for 50 people on December 6th, 2025 in Seattle \nwith a budget of $5,000. Include venue options, catering for dietary restrictions, \nand check the weather forecast.\n```\n\nThe agents will collaborate to:\n1. Search for suitable venues\n2. Calculate budget breakdown\n3. Recommend catering options\n4. Check weather and create calendar event\n5. Synthesize a comprehensive plan\n\n\n## 🛠️ Project Structure\n\n```\nspec-to-agents/\n├── src/spec_to_agents/\n│   ├── main.py          # DevUI entry point (uv run app)\n│   ├── console.py       # Interactive CLI entry point (uv run console)\n│   ├── agents/          # Agent definitions (budget_analyst, venue_specialist, etc.)\n│   ├── prompts/         # System prompts for each agent\n│   ├── tools/           # Tool implementations (web search, weather, calendar, mcp)\n│   ├── workflow/        # Workflow orchestration logic\n│   └── utils/           # Shared utilities and clients\n├── tests/               # Unit and integration tests\n├── infra/               # Azure infrastructure (Bicep templates)\n└── scripts/             # Post-provisioning hooks\n```\n\n## 🔑 Key Features\n\n### Service-Managed Threads\nAll agents use `store=True` for automatic conversation history management via Azure AI Service - no manual message tracking required.\n\n### Human-in-the-Loop\nFramework-native `ctx.request_info()` enables pausing workflows for user input with automatic state preservation.\n\n### Structured Output Routing\nAgents return Pydantic models with explicit routing decisions (`next_agent` field), enabling dynamic workflow orchestration.\n\n## 🧪 Development\n\n**Run Tests:**\n```bash\nuv run pytest\n```\n\n**Detailed Setup:**\nSee [DEV_SETUP.md](./DEV_SETUP.md) for debugging instructions and manual configuration.\n\n## 📦 Azure Resources\n\nProvisioned automatically by `azd up`:\n\n- **Microsoft Foundry**: AIServices resource and Project for service managed agents\n- **Azure OpenAI**: gpt-5-mini (primary) and gpt-4.1-mini (web search)\n- **Bing Search**: Grounding API for web searches\n- **Container Registry \u0026 App**: For deployment (optional)\n- **Application Insights**: Telemetry and monitoring\n\n# 🤝 Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA).\n\n# 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fspec-to-agents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fspec-to-agents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fspec-to-agents/lists"}