From 4d2778926e381a330f65c08b8eaa44373af4da49 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 03:43:56 +0000 Subject: [PATCH 1/2] Initial plan From 7029efca66a5acb4b805fc6869a4be42a6a55982 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 27 Jan 2026 03:48:57 +0000 Subject: [PATCH 2/2] Update Lesson 8 and 4 with accurate agent and skill references Co-authored-by: thomasiverson <12767513+thomasiverson@users.noreply.github.com> --- lessons/04-agentic-patterns/readme.md | 48 ++++++++++++++++++--------- lessons/08-parallel-agents/readme.md | 24 +++++++++++++- lessons/08-parallel-agents/slides.md | 5 ++- 3 files changed, 60 insertions(+), 17 deletions(-) diff --git a/lessons/04-agentic-patterns/readme.md b/lessons/04-agentic-patterns/readme.md index fa4b65e0..cf79c417 100644 --- a/lessons/04-agentic-patterns/readme.md +++ b/lessons/04-agentic-patterns/readme.md @@ -19,8 +19,8 @@ This lesson teaches you how to become an **agentic developer**—someone who orc - Iterative refinement: polishing AI output into production-ready code **Key Concepts:** -- **2 Orchestrator Agents:** `@ODrive-Engineer` (development) and `@ODrive-QA` (testing) -- **Skills:** Specialized capabilities agents invoke automatically (e.g., `odrive-qa-assistant`) +- **6 Available Agents:** Primary orchestrators `@ODrive-Engineer` (development) and `@ODrive-QA` (testing), plus specialized agents +- **Skills:** Specialized capabilities agents invoke automatically (e.g., `cpp-testing`, `odrive-toolchain`) - **Context Layering:** Building prompts with constitution → agent → files → constraints → acceptance criteria --- @@ -175,25 +175,38 @@ Acceptance Criteria: ``` Result: **15 minutes with review** (vs 2-4 hours manual) -> **Note:** The ODrive-Engineer agent will automatically invoke the appropriate **skill** (e.g., `odrive-qa-assistant` for building) based on your request. +> **Note:** The ODrive-Engineer agent will automatically invoke the appropriate **skill** (e.g., `odrive-toolchain` for building) based on your request. ### Custom Agents & Skills in ODrive -We have **2 orchestrator agents** that invoke **specialized skills**: +We have **6 agents** available, with **2 primary orchestrators** that invoke **specialized skills**: + +#### Primary Orchestrators | Agent | Role | Invokes Skills | |-------|------|----------------| -| `@ODrive-Engineer` | Primary development orchestrator | odrive-qa-assistant, devops-engineer, control-algorithms*, foc-tuning*, sensorless-control*, pcb-review*, signal-integrity* | -| `@ODrive-QA` | Testing & DevOps orchestrator | odrive-qa-assistant, test-automation*, devops-engineer | +| `@ODrive-Engineer` | Primary development orchestrator | odrive-toolchain, odrive-ops, control-algorithms*, foc-tuning*, sensorless-control*, pcb-review*, signal-integrity* | +| `@ODrive-QA` | Testing & QA orchestrator | cpp-testing, odrive-toolchain | *Skills marked with * are planned (🚧) +#### Additional Agents + +| Agent | Role | +|-------|------| +| `@ODrive-Ops` | CI/CD & release operations | +| `@ODrive-Reviewer` | Code review (read-only analysis) | +| `@ODrive-Toolchain` | Build, compile, symbol search | +| `@ada-to-cpp-migrator` | Ada to Modern C++ migration | + #### Available Skills (Production ✅) | Skill | Capabilities | |-------|-------------| -| `odrive-qa-assistant` | Build firmware, run tests, symbol search, interface inspection | -| `devops-engineer` | CI/CD workflows, releases, GitHub Actions, deployments | +| `cpp-testing` | Unit test generation, doctest framework, TDD workflow | +| `odrive-toolchain` | Build firmware, run tests, symbol search, interface inspection | +| `odrive-ops` | CI/CD workflows, releases, GitHub Actions, deployments | +| `ada-cpp-migration` | Ada to C++ code migration, type mapping, concurrency patterns | #### Planned Skills (🚧) @@ -910,11 +923,14 @@ Suggest unit tests for the diagnostics module. | Task Type | Agent | Skill Invoked | |-----------|-------|---------------| -| Low-level firmware | `@ODrive-Engineer` | (direct) + odrive-qa-assistant for builds | +| Low-level firmware | `@ODrive-Engineer` | (direct) + odrive-toolchain for builds | | Control algorithms | `@ODrive-Engineer` | control-algorithms (🚧), foc-tuning (🚧) | | Hardware interfaces | `@ODrive-Engineer` | pcb-review (🚧), signal-integrity (🚧) | -| Testing & validation | `@ODrive-QA` | odrive-qa-assistant, test-automation (🚧) | -| CI/CD & releases | `@ODrive-QA` | devops-engineer | +| Testing & validation | `@ODrive-QA` | cpp-testing | +| CI/CD & releases | `@ODrive-Ops` | odrive-ops | +| Code review | `@ODrive-Reviewer` | (read-only analysis) | +| Build/compile | `@ODrive-Toolchain` | odrive-toolchain | +| Ada migration | `@ada-to-cpp-migrator` | ada-cpp-migration | > **Legend:** 🚧 = Planned skill (not yet implemented) @@ -1133,15 +1149,17 @@ Yes! Agents in "Agent Mode" can: | **Orchestrators** - Direct the conversation | **Capabilities** - Specific actions | | You select them (`@ODrive-Engineer`) | Agents invoke them automatically | | Defined in `.github/agents/` | Defined in `.github/skills/` | -| 2 in ODrive system | Multiple per agent | +| 6 in ODrive system | Multiple per agent | -**Example:** When you ask `@ODrive-QA` to run tests, it automatically invokes the `odrive-qa-assistant` skill. +**Example:** When you ask `@ODrive-QA` to generate tests, it automatically invokes the `cpp-testing` skill. ### Which skills are implemented vs planned? **Implemented (✅):** -- `odrive-qa-assistant` - Build firmware, run tests, symbol search -- `devops-engineer` - CI/CD workflows, releases, GitHub Actions +- `cpp-testing` - Unit test generation, doctest framework +- `odrive-toolchain` - Build firmware, run tests, symbol search +- `odrive-ops` - CI/CD workflows, releases, GitHub Actions +- `ada-cpp-migration` - Ada to C++ code migration **Planned (🚧):** - `control-algorithms` - PID, observers, control theory diff --git a/lessons/08-parallel-agents/readme.md b/lessons/08-parallel-agents/readme.md index 852d1970..edcb8aba 100644 --- a/lessons/08-parallel-agents/readme.md +++ b/lessons/08-parallel-agents/readme.md @@ -912,11 +912,29 @@ Implement sensorless startup state with I/F current injection. | Hardware specs | `@ODrive-Engineer` | pcb-review (🚧), signal-integrity (🚧) | | Testing | `@ODrive-QA` | cpp-testing | | CI/CD & releases | `@ODrive-Ops` | odrive-ops | +| Code review | `@ODrive-Reviewer` | (read-only analysis) | +| Build/compile | `@ODrive-Toolchain` | odrive-toolchain | +| Ada migration | `@ada-to-cpp-migrator` | ada-cpp-migration | > **Legend:** 🚧 = Planned skill (not yet implemented) > > **Note:** Use the same agent in multiple windows with different task contexts. The agent routes to appropriate skills automatically. +### Available Agents Summary + +The ODrive system includes **6 agents** for different purposes: + +| Agent | Role | Primary Use | +|-------|------|-------------| +| `@ODrive-Engineer` | Primary development orchestrator | Firmware, motor control, hardware implementation | +| `@ODrive-QA` | Testing & QA orchestrator | Test generation, build verification, quality assurance | +| `@ODrive-Ops` | CI/CD & Release operations | Workflows, releases, deployments | +| `@ODrive-Reviewer` | Code review | Style, safety, embedded best practices (read-only) | +| `@ODrive-Toolchain` | Build & test operations | Compile, search symbols, list errors | +| `@ada-to-cpp-migrator` | Ada migration specialist | Convert Ada to Modern C++ (C++20/23) | + +> **Tip:** For parallel workflows, the primary orchestrators (`@ODrive-Engineer`, `@ODrive-QA`) are most commonly used. Specialized agents like `@ODrive-Reviewer` and `@ODrive-Toolchain` can be added for specific tasks. + ### Parallel Workflow Checklist ``` @@ -1304,7 +1322,11 @@ Plan → Launch → Review → Integrate | Agent | Primary Use | |-------|-------------| | `@ODrive-Engineer` | Firmware, control, hardware (via different prompts) | -| `@ODrive-QA` | Testing, CI/CD, quality assurance | +| `@ODrive-QA` | Testing, build verification, quality assurance | +| `@ODrive-Ops` | CI/CD workflows, releases, deployments | +| `@ODrive-Reviewer` | Code review for style, safety, best practices | +| `@ODrive-Toolchain` | Build, compile, symbol search | +| `@ada-to-cpp-migrator` | Ada to Modern C++ migration | | Pattern | Description | |---------|-------------| diff --git a/lessons/08-parallel-agents/slides.md b/lessons/08-parallel-agents/slides.md index f1e69f20..34c4ab52 100644 --- a/lessons/08-parallel-agents/slides.md +++ b/lessons/08-parallel-agents/slides.md @@ -215,7 +215,8 @@ Developer ──→ Define Task **Section 8: Parallel Agents** ✅ 3x faster with parallel workflows -✅ 2 agents: `@ODrive-Engineer` + `@ODrive-QA` +✅ 6 agents available: `@ODrive-Engineer`, `@ODrive-QA`, `@ODrive-Ops`, `@ODrive-Reviewer`, `@ODrive-Toolchain`, `@ada-to-cpp-migrator` +✅ Primary orchestrators: `@ODrive-Engineer` + `@ODrive-QA` ✅ Same agent, different task contexts ✅ Skills invoked automatically ✅ Orchestration is the skill @@ -248,6 +249,8 @@ Developer ──→ Define Task - What if agents give contradictory advice? - Can I use the same agent in multiple windows? - **Yes!** Different task contexts, same agent. +- What other agents are available besides Engineer and QA? + - `@ODrive-Ops` (CI/CD), `@ODrive-Reviewer` (code review), `@ODrive-Toolchain` (builds), `@ada-to-cpp-migrator` - Do parallel agents cost more? - Can I use this in air-gapped environments?