Create Test and Debug with GitHub Copilot exercise - #1
Merged
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The final workflow can approve stale or incomplete state and has a race between overlapping pull-request runs.
Review effort: Balanced
Findings: 2
Open (2)
What changed in this PR
Creates a five-step GitHub Skills exercise for evidence-driven Python testing and debugging with GitHub Copilot.
Changes:
- Adds an intentionally buggy bill splitter, starter tests, and grading checks.
- Implements sequential exercise workflows and learner instructions.
- Adds Codespaces setup and project documentation.
| File | Description |
|---|---|
.devcontainer/devcontainer.json |
Configures the Python/Copilot development environment. |
.gitignore |
Adds Python and editor exclusions. |
DEBUGGING.md |
Provides the investigation-notes template. |
README.md |
Documents and launches the exercise. |
requirements.txt |
Pins pytest. |
src/__init__.py |
Defines the package. |
src/bill_splitter.py |
Adds the intentionally defective implementation. |
tests/test_bill_splitter.py |
Adds starter validation tests. |
.github/grading/check_notes.py |
Grades debugging notes. |
.github/grading/check_pr_body.py |
Grades final reflection content. |
.github/grading/check_tests.py |
Mutation-checks learner-authored tests. |
.github/grading/test_solution.py |
Adds solution behavior tests. |
.github/steps/1-step.md |
Guides initial investigation. |
.github/steps/2-step.md |
Guides focused test creation. |
.github/steps/3-step.md |
Introduces failing edge cases. |
.github/steps/4-step.md |
Guides the implementation fix. |
.github/steps/5-step.md |
Guides final verification and review. |
.github/steps/x-review.md |
Summarizes completed learning outcomes. |
.github/workflows/0-start-exercise.yml |
Initializes the exercise. |
.github/workflows/1-step.yml |
Grades debugging notes. |
.github/workflows/2-step.yml |
Grades focused tests. |
.github/workflows/3-step.yml |
Grades edge-case tests. |
.github/workflows/3-last-step.yml |
Removes the obsolete template workflow. |
.github/workflows/4-step.yml |
Grades the corrected implementation. |
.github/workflows/5-step.yml |
Grades and completes the exercise. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Creates a complete GitHub Skills exercise that teaches learners to use GitHub Copilot as a testing and debugging partner, not merely a code generator. The exercise uses a small intentionally buggy Python bill splitter and is designed for completion in under 45 minutes.
Five-step learner journey
Grading strategy
skills/exercise-toolkit@v0.9.3for issue discovery, transitions, and completion.Validation
Prerequisites
Learners need basic Python, Git, and terminal familiarity; access to GitHub Copilot; and GitHub Codespaces or local VS Code. No paid or organization-only Copilot feature is required. This complements the existing Getting Started and Agent Mode exercises by focusing on evidence-driven testing, diagnosis, and verification.
Publishing assumptions
mainremains the default branch.skills/test-and-debug-with-github-copilot, matching the README copy link.This PR intentionally remains unmerged for review.