-
Notifications
You must be signed in to change notification settings - Fork 6
CHALLENGES
Welcome to the Challenge Hub - your guide to all 16 core challenges and 5 bonus challenges.
The challenges are the practice path for the course. Each one asks you to do a small piece of real GitHub work, leave evidence of what you did, and then close the issue so the next challenge can open. The goal is not speed. The goal is to build a contributor rhythm you can trust: orient yourself, make the move, verify the result, and ask for help with clear facts when something feels off.
Start in your private Learning Room repository, not in the public curriculum repository. Open the Issues tab, find the challenge issue assigned to you, and read the issue body before acting. Each issue explains the task, the evidence prompt, and any buddy check or automated check that applies.
When a challenge asks for evidence, post it as a comment on that challenge issue. Evidence can be a link, a short reflection, the name of a branch, a pull request number, or a note about what you tried and what happened. After you post the evidence, close the challenge issue. The Student Progression Bot uses that closed issue as the signal to open the next challenge.
Every challenge below includes a reference solution. Treat those files as worked examples, not answer keys. Your exact branch name, issue number, wording, or file count may differ. What matters is whether you practiced the skill and can explain the result.
Challenge 1: Find Your Way Around
Chapters: Ch02-04 | Evidence: Comment
This first challenge is about orientation. Before you edit anything, you learn how a repository is organized: where the Code tab lives, where Issues live, how the file tree behaves, and how the README gives a project its front door.
What to do:
- Find the Code tab and count the files or folders in the repository root
- Open the Issues tab and identify at least one issue or confirm the tab exists
- Navigate to
docs/welcome.mdand read the opening paragraph - Find the repository description and the rendered README
Evidence to post: Describe what you found and name one navigation shortcut or screen reader technique that helped.
Compare your result with the Challenge 1 solution reference when you want a second view of the same exploration path.
Challenge 2: File Your First Issue
Chapter: Ch05 | Evidence: Comment
Issues are how maintainers turn observations into trackable work. In this challenge, you find a small TODO in the Learning Room and write an issue that another person could understand without being in the room with you.
What to do:
- Open
docs/welcome.mdand search forTODO - Create a new issue with a specific title
- Explain what needs to change, where it is, and why the change would help
Evidence to post: Link to the issue you created and include one sentence about why your title is clear.
If you want to compare tone and structure, read the Challenge 2 solution reference.
Challenge 3: Join the Conversation
Chapter: Ch05 | Evidence: Comment
Open source is conversation as much as code. This challenge teaches you how to participate in an issue thread with an @mention, a reaction, and a comment that moves the work forward.
What to do:
- Find your buddy's Challenge 2 issue or a facilitator-provided peer simulation issue
- Leave a meaningful comment with an @mention
- Add a reaction to the original issue or a helpful comment
Evidence to post: Link to your comment and describe what made it useful, kind, or specific.
The Challenge 3 solution reference shows one way to make a short comment feel genuinely collaborative.
Challenge 4: Branch Out
Chapter: Ch06 | Evidence: Comment
A branch is a safe workspace. It lets you try a change without rewriting the main version of the project. In this challenge, you create your own branch and confirm that you know where your work will happen.
What to do:
- Find the branch selector on the Code tab
- Create a branch named
learn/YOUR-USERNAMEfrommain - Confirm the branch selector now names your branch
Evidence to post: Write the branch name you created and how you confirmed you were on it.
Use the Challenge 4 solution reference if you want to check your branch mental model.
Challenge 5: Make Your Mark
Chapter: Ch06 | Evidence: Comment
This is your first small content change. You edit a file, replace a TODO with real text, and commit the change with a message that explains what happened.
What to do:
- Switch to your
learn/YOUR-USERNAMEbranch - Edit
docs/welcome.mdto replace the TODO with useful content - Write a commit message that explains the change in plain language
Evidence to post: Share your commit message and the file you edited.
For a worked example of a focused commit, compare with the Challenge 5 solution reference.
Challenge 6: Open Your First Pull Request
Chapter: Ch06 | Evidence: Comment
A pull request is the conversation around a proposed change. It lets others review your branch before it becomes part of main. This challenge connects your branch, your issue, and your explanation into one contribution.
What to do:
- Go to Pull requests > New pull request
- Set the base branch to
mainand the compare branch tolearn/YOUR-USERNAME - Write a clear title and include
Closes #XXin the description
Evidence to post: Link to the pull request and name the issue it closes.
The Challenge 6 solution reference shows how the title, body, and closing keyword work together.
Challenge 7: Survive a Merge Conflict
Chapter: Ch07 | Evidence: Comment | Autograded
Merge conflicts happen when Git cannot safely combine two edits by itself. The point of this challenge is to read the conflict markers calmly, choose the final wording, delete the marker lines, and prove the file is clean.
What to do:
- Wait for the facilitator to trigger the conflict
- Find the marker lines:
<<<<<<<,=======, and>>>>>>> - Decide which content to keep, or combine both sides into one clear version
- Delete all marker lines and commit the resolution
Evidence to post: Explain which content you kept and why. The autograder checks that no conflict markers remain.
The Challenge 7 solution reference is useful if the marker structure still feels unfamiliar.
Challenge 8: The Culture Layer
Chapter: Ch08 | Evidence: Comment
Technical work lands better when the communication is respectful and specific. This reflection challenge asks you to name the collaboration habits you want to practice before you move deeper into reviews and capstone work.
What to do:
- Answer the reflection prompt in your challenge issue
- Add or recommend a label for an open issue, if the issue asks for triage practice
- Leave a comment explaining the reasoning behind your communication or triage choice
Evidence to post: Write three concrete collaboration behaviors you will use in the rest of the workshop.
The Challenge 8 solution reference gives examples of specific, actionable reflection language.
Challenge 9: Merge Day
Chapter: Ch10 | Evidence: Comment
Merge Day closes the Day 1 loop. You verify that your pull request is ready, merge it when approved, confirm the change landed on main, and notice how the linked issue closes.
What to do:
- Verify your PR has no conflicts and a meaningful commit message
- Merge your PR, or wait for a facilitator to approve and merge it
- Confirm your changes appear on the
mainbranch - Check that the linked issue closed automatically
Evidence to post: Share the merged PR link and the issue number that closed.
Before moving on, scan the Challenge 9 solution reference to make sure you caught both the merge and verification steps.
Challenge 10: Go Local
Chapters: Ch11-14 | Evidence: Comment | Autograded
Day 2 moves the same contribution workflow onto your computer. You clone your Learning Room repository, create a branch locally, edit a file, commit, and push the branch back to GitHub.
What to do:
- Clone your Learning Room repository to your computer with VS Code, GitHub Desktop, or the command line
- Create a branch named
fix/YOUR-USERNAME - Edit a file in
docs/ - Commit and push the branch to GitHub
Evidence to post: Share your branch name and a short note about how you confirmed the push reached GitHub. The autograder verifies a commit on a non-default branch.
The Challenge 10 solution reference shows the local workflow as one complete loop.
Challenge 11: Open a Day 2 PR
Chapters: Ch14-15 | Evidence: Comment
This challenge proves that the pull request pattern is the same whether the edit started in the browser or on your computer. You push a local branch, open a PR, and explain the change for reviewers.
What to do:
- Open a PR from
fix/YOUR-USERNAMEtomain - Write a title and description that describe the change clearly
- Notice the familiar shape: branch, compare, title, body, submit
Evidence to post: Link to the PR and identify what changed between the branch and main.
Use the Challenge 11 solution reference to compare the local-to-GitHub handoff.
Challenge 12: Review Like a Pro
Chapter: Ch15 | Evidence: Comment
Review is where a contribution becomes stronger. Your job is to read a classmate's pull request, leave comments that are specific and kind, and submit a review verdict that matches what you found.
What to do:
- Open your buddy's PR or a facilitator-provided peer simulation PR
- Go to Files changed and read the diff
- Leave at least two inline comments: one naming something effective and one suggesting an improvement
- Use Suggest changes for at least one comment, if the interface supports it
- Submit your review with Approve, Request changes, or Comment
Evidence to post: Link to the review or describe where you left your comments.
The Challenge 12 solution reference models feedback that teaches without taking over the author's work.
Challenge 13: AI as Your Copilot
Chapter: Ch16 | Evidence: Comment
Copilot can help draft and improve, but you remain responsible for the final result. This challenge asks you to use Copilot as a collaborator, then evaluate what it suggested before accepting anything.
What to do:
- Ask Copilot to improve a documentation file
- Apply the trust, verify, reject framework to each suggestion
- Keep notes on what you accepted, modified, and rejected
Evidence to post: Share the prompt you used and one example of a suggestion you changed or rejected.
The Challenge 13 solution reference shows how to document human judgment around AI output.
Challenge 14: Template Remix
Chapter: Ch17 | Evidence: Comment | Autograded
Issue templates help contributors give maintainers the information they need on the first try. In this challenge, you create a small YAML issue form and verify that it has the required fields.
What to do:
- Study
docs/samples/challenge-14-registration-remix-example.yml - Create a new YAML template in
.github/ISSUE_TEMPLATE/ - Include
name,description,title, and at least one form field - Commit and push the template
Evidence to post: Link to the template change or PR. The autograder verifies that the YAML template exists and includes required metadata.
The Challenge 14 solution reference can help you check both syntax and contributor usefulness.
Challenge 15: Meet the Agents
Chapter: Ch19 | Evidence: Comment
Accessibility agents are not magic helpers. They are structured instructions, responsibilities, and guardrails. This challenge asks you to inspect real agents before you build or improve one.
What to do:
- Browse the Community Access Accessibility Agents repository
- Find and name at least three different agents
- Run or inspect one agent and describe what happened
- Read one
.agent.mdfile and identify its purpose and guardrails
Evidence to post: Name the agents you found and explain one guardrail that protects learners or users.
The Challenge 15 solution reference shows how to turn exploration into a useful agent note.
Challenge 16: Build Your Agent (Capstone)
Chapters: Ch18, Ch20 | Evidence: Comment | Autograded
The capstone is where you design a small agent of your own and prepare it as a contribution. The important part is not a flashy idea. The important part is a clear purpose, useful responsibilities, and boundaries that keep the agent safe and honest.
What to do:
- Fork the Community Access Accessibility Agents repository
- Clone your fork and create a branch named
agent/YOUR-USERNAME - Write an
.agent.mdfile with YAML frontmatter, responsibilities, and guardrails - Push and open a cross-fork PR to the original repository
- Review a classmate's capstone PR when one is available
Use the agent file template and fork workflow checklist for structure.
Evidence to post: Link to your capstone PR or summarize the agent file you created. The autograder verifies required agent structure when the file is represented in the Learning Room.
The Challenge 16 solution reference shows a complete agent example with responsibilities and guardrails.
Bonus challenges are optional. Use them when you finish the core path early or want more practice with contribution habits that transfer beyond this workshop.
Bonus A: Improve an Existing Agent
Choose an existing agent, identify a focused improvement, and open a PR that explains why the change matters.
Compare your plan with the Bonus A solution reference.
Bonus B: Document Your Journey
Write a structured reflection about what you learned, what surprised you, and what you want to keep practicing. Use accessible Markdown so another person can read it comfortably.
The Bonus B solution reference offers a reflection structure if you need a starting shape.
Bonus C: Create a Group Challenge
Design a collaborative challenge for 3-5 students. A good group challenge names the shared goal, the separate roles, the evidence, and how the group knows it is finished.
Review the Bonus C solution reference for one way to describe group work clearly.
Bonus D: Notification Mastery
Configure GitHub notifications so you can find mentions, reviews, and assignments without drowning in every update.
The Bonus D solution reference shows how to describe a personal notification strategy.
Bonus E: Explore Git History Visually
Use GitHub Desktop or GitHub.com to explore repository history. The goal is to explain what changed over time, not merely to find a graph or timeline.
The Bonus E solution reference walks through one history-reading approach.
For advanced students who finish early, use the curated optional scenarios in Learning Room skills bonus scenarios.
These scenarios adapt selected GitHub Skills exercises into this workshop environment without changing the official 21-challenge progression.
Every challenge issue includes an "If you get stuck" section with common problems and recovery paths. Start there, then use these supports:
- Ask your buddy for help
- Ask your facilitator
- Read the relevant chapter in the Git Going with GitHub curriculum
- Check the solution reference directory
- Use the Learning Room solutions index for quick challenge-by-challenge references
When you ask for help, include what you were trying to do, where you were in the repository, what happened, and what you expected. That gives your buddy, facilitator, or bot enough context to help you quickly.