Awesome CopilotAdventures

Product guidance checked

Hands-on GitHub Copilot labs

[!TIP] Download only what you need: the learner-kit catalog includes a ZIP for each of the 21 exercise variants, with instructions, images, tests, synthetic data, licenses and integrity checks. Preparation guides reuse the associated exercise kit rather than duplicating it.

Use these numbered exercises for focused professional scenarios. They share the repository’s evidence-first approach but are not fantasy adventures. Durations are facilitation estimates, not measured completion guarantees.

[!IMPORTANT] Work on one copied fixture at a time. Keep temporary files and caches on the selected work drive; do not run every build or profiler on a shared workstation. Start with environment setup.

Preparation

Lab Outcome
C# environment SDK/target agreement, one build and actual test discovery
Python environment Interpreter, import root and isolated testing
Copilot access Account, target and harmless request evidence
Spec Kit setup Pinned skills integration without overwriting existing work
SDK setup Offline logic separated from authenticated inference

Core workflow

Choose a language path; do not build the C# and Python copies simultaneously.

Lab C# Python Outcome
01 Context and interface Shared exercise Roles, harnesses, evidence and permissions
02 Analyze/document Analyze/document Source-grounded onboarding
03 Develop availability Develop availability End-to-end book-copy availability
04 xUnit tests pytest tests Tests that detect wrong behavior
05 Refactor Refactor Characterization and semantic preservation

Engineering and collaboration

Lab Focus
06 - Shopping prototype Small PRD, integer-cents domain and accessible UI checks
07 - Duplication Shared mechanics versus distinct business rules
08 - Large functions Error paths, inventory compensation and extraction
09 - Complex conditions Decision tables and equality boundaries
10 - Profiling Small measurements, controlled scope, no promised speedup
11 - Issues Local reproduction to reviewed change
12 - Secret remediation Revocation-first simulation without real credentials

Spec-driven development and agent customization

Lab Case and stack
13 - Greenfield RSS subscription contract; Node/TypeScript with .NET/Python/Go adaptations
14 - Brownfield feature Existing dashboard; owner-scoped metadata and compatibility
15 - Customization Instructions, prompts, skills and agent handoffs
16 - Copilot SDK Read-only support tool, offline contracts and optional live inference
17 - Modernization Python CSV to SQLite; reconciliation, non-overwrite and rollback

How to choose a Spec Kit case

---
config:
  theme: base
  look: classic
  themeVariables:
    darkMode: false
    background: "#ffffff"
    primaryColor: "#f5f5f5"
    primaryTextColor: "#111111"
    primaryBorderColor: "#555555"
    secondaryColor: "#e0e0e0"
    secondaryTextColor: "#111111"
    secondaryBorderColor: "#666666"
    tertiaryColor: "#bdbdbd"
    tertiaryTextColor: "#111111"
    tertiaryBorderColor: "#444444"
    lineColor: "#444444"
    textColor: "#111111"
    mainBkg: "#f5f5f5"
    nodeBorder: "#555555"
    clusterBkg: "#ffffff"
    clusterBorder: "#999999"
    edgeLabelBackground: "#ffffff"
    actorBkg: "#e0e0e0"
    actorBorder: "#555555"
    actorTextColor: "#111111"
    actorLineColor: "#777777"
    signalColor: "#333333"
    signalTextColor: "#111111"
    labelBoxBkgColor: "#f5f5f5"
    labelBoxBorderColor: "#777777"
    labelTextColor: "#111111"
    loopTextColor: "#111111"
    activationBkgColor: "#bdbdbd"
    activationBorderColor: "#555555"
    noteBkgColor: "#f5f5f5"
    noteTextColor: "#111111"
    noteBorderColor: "#777777"
    attributeBackgroundColorOdd: "#f5f5f5"
    attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
    accTitle: Choose a spec-driven development case
    accDescr: Distinguish a new product, a new feature in an existing product, and a technical modernization that preserves consumer behavior.
    Start{"Does working behavior already exist?"}
    Start -->|No| Greenfield["13: Specify a small new product"]
    Start -->|Yes| Change{"What must change?"}
    Change -->|New user behavior| Feature["14: Preserve baseline and add a feature"]
    Change -->|Technical boundary| Modernize["17: Preserve contracts and migrate data"]
    Greenfield --> Evidence["Requirements, implementation and checks"]
    Feature --> Evidence
    Modernize --> Evidence

Legend. Diamonds are scope decisions, rectangles are exercise paths, and solid arrows show selection flow. Labels distinguish new behavior from a storage change.

Explanation. All three paths use Spec Kit artifacts, but their starting evidence and failure risks differ. Modernization requires preserved output, reconciled data, and rollback, not just a new implementation.

References and instructor guidance

Search

Search in English. Source paths and executable examples retain their original text.