A 60-minute hands-on lab covering context rules, custom agents, LSP integration, MCP servers, and agentic workflows across OpenCode, GitHub Copilot CLI, and skills.sh.
Methodology: Trigger and Observe. Every exercise is pre-built. Attendees paste provided prompts and observe the agent's behavior. No code is written from scratch during the session.
git clone https://github.com/danielbodnar/techdays-lab.git
cd techdays-lab
bash scripts/setup.shThe setup script is idempotent and detects Codespaces, MS DevBox, Azure VM, generic Linux, and macOS. It uses mise to install managed tools (bun, gh, zellij, opencode) and installs Playwright browsers for lesson 4.
| Time | Module |
|---|---|
| 00:00 – 00:08 | Setup, intro, tour of AGENTS.md and opencode.json |
| 00:08 – 00:20 | Lesson 1: Context and Onboarding |
| 00:20 – 00:32 | Lesson 2: Code Review and Docs |
| 00:32 – 00:44 | Lesson 3: Bug Squasher (GitHub MCP) |
| 00:44 – 00:55 | Lesson 4: E2E Testing (Playwright MCP) |
| 00:55 – 01:00 | Advanced topics and Q&A |
- Context and Onboarding. Configure project rules via
AGENTS.mdandopencode.json. Use a read-only onboarding agent to explore the codebase. Scaffold new code and watch LSP diagnostics feed back into the agent. - Code Review and Docs. Run
/reviewto flag rule violations in a staged diff. Run/documentto auto-generate TSDoc comments and API reference markdown. - Bug Squasher. Connect GitHub via MCP, fetch a bug report, locate the code, apply a targeted fix, and verify with tests and LSP.
- E2E Testing. Start the Playwright MCP server. Watch the agent write, run, and iteratively debug a browser test via the MCP feedback loop.
- Hooks and guardrails: pre-execution block on destructive commands, post-write auto-formatting.
- Changelog generator: a
/changelogcommand that readsgit logand drafts a Keep a Changelog entry. - Dependency upgrade agent: runs
bun outdated, reads release notes, applies upgrades, and verifies with tests.
| Tool | Role | Docs |
|---|---|---|
| OpenCode | Open-source AI coding agent for the terminal | opencode.ai |
| GitHub Copilot CLI | GitHub-native AI coding agent | GitHub docs |
| skills.sh | Agent skill registry (90k+ skills) | skills.sh |
| MCP | Universal protocol for agent tool integrations | modelcontextprotocol.io |
| Bun | TypeScript runtime, package manager, test runner | bun.sh |
| mise | Declarative tool and runtime version manager | mise.jdx.dev |
| Playwright | Browser automation (used via MCP) | playwright.dev |
techdays-lab/
├── AGENTS.md Project rules for all agents
├── opencode.json LSP and MCP server config
├── .github/copilot-instructions.md
├── agents/ Custom agent definitions
├── commands/ Custom slash commands
├── lesson-1-context/
├── lesson-2-review-docs/
├── lesson-3-bug-squasher/
├── lesson-4-e2e-testing/
├── advanced/
├── scripts/setup.sh Provisioning script
└── tests/verify-setup.test.ts Environment verification
bun test tests/verify-setup.test.tsAll assertions should pass. If any fail, re-run bash scripts/setup.sh.