๐ Bonus & Extensions
Youโve built a fully functional GitHub Battle app โ and set up custom agents, skills, and MCP servers along the way. Now itโs time to push further with open-ended challenges. Lean on everything from Parts 6โ8 as you go.
Use Copilot CLI for all of these โ mix @file context, /plan, /agent, /skills, /mcp, normal mode, and /review as needed.
๐ Challenge 1: Winner Banner
Section titled โ๐ Challenge 1: Winner BannerโAfter both contribution graphs load, compare the totals and display a dynamic winner announcement.
What to build:
- Compare total contributions for both users
- Show โ๐ {username} WINS! ๐โ with a celebratory style if thereโs a clear winner
- Show โ๐ค ITโS A TIE! ๐คโ if contributions are equal
- Add animation or confetti for extra flair
Prompt suggestion:
After both usersโ contribution data loads, compare total contributions and display a winner banner. Show โ๐ {username} WINS! ๐โ if one user has more contributions, or โ๐ค ITโS A TIE! ๐คโ if equal. Make it visually exciting with CSS animations.
๐ Challenge 2: Streak Counter
Section titled โ๐ Challenge 2: Streak CounterโCalculate and display each userโs longest consecutive contribution streak.
What to build:
- Analyze the contribution data day by day
- Find the longest run of consecutive days with at least one contribution
- Display the streak count prominently for each user
- Highlight who has the longer streak
Prompt suggestion:
Add a streak counter feature that analyzes each userโs contribution data to find their longest consecutive contribution streak. Display โ๐ฅ Longest Streak: X daysโ for each user below their contribution graph.
๐ Challenge 3: Battle History
Section titled โ๐ Challenge 3: Battle HistoryโPersist battle results so users can see their previous matchups.
What to build:
- Save each battle result to
localStorage(usernames, totals, winner, timestamp) - Add a โRecent Battlesโ section below the main battle area
- Show the last 5โ10 battles with results
- Add a โClear Historyโ button
Prompt suggestion:
Save battle results to localStorage after each comparison. Add a โRecent Battlesโ section that displays the last 10 battles with usernames, contribution totals, the winner, and when the battle happened. Include a โClear Historyโ button.
๐ Challenge 4: Sound Effects
Section titled โ๐ Challenge 4: Sound EffectsโAdd retro arcade sound effects using the Web Audio API โ no external files needed.
What to build:
- Coin insert sound when the โBattle!โ button is clicked
- Power up sound when results load successfully
- Explosion sound when an error occurs (user not found, API failure)
- A mute/unmute toggle button
Prompt suggestion:
Add retro arcade sound effects using the Web Audio API (no audio files). Play a coin insert sound on battle start, a power-up sound when results load, and an explosion sound on errors. Generate the sounds programmatically with oscillators and gain nodes. Include a mute toggle.
๐ Challenge 5: Animated Battle Sequence
Section titled โ๐ Challenge 5: Animated Battle SequenceโBuild suspense with a dramatic countdown before revealing results.
What to build:
- When โBattle!โ is clicked, show a full-screen overlay
- Animate: โ3โฆโ โ โ2โฆโ โ โ1โฆโ โ โโก FIGHT! โกโ
- Then reveal the contribution graphs with a dramatic entrance
- Use CSS animations or JavaScript timing
Prompt suggestion:
Add an animated battle sequence when the user clicks โBattle!โ. Show a countdown overlay: โ3โฆโ then โ2โฆโ then โ1โฆโ then โโก FIGHT! โกโ with each step lasting about 1 second. After the countdown, reveal the results with a slide-in animation.
๐ Challenge 6: Contribution Legend
Section titled โ๐ Challenge 6: Contribution LegendโAdd a color scale legend that matches the contribution graphโs color palette.
What to build:
- A horizontal legend showing contribution intensity levels
- Labels from โLessโ to โMoreโ
- Use the actual color palette from the GitHub contribution API response
- Position it near the contribution graphs
Prompt suggestion:
Add a contribution legend below the graphs showing the color scale from the APIโs color palette. Display a row of colored squares ranging from โLessโ (lightest) to โMoreโ (darkest), matching the actual contribution level colors returned by the API.
๐ Challenge 7: Share Results
Section titled โ๐ Challenge 7: Share ResultsโLet users share their battle results with a single click.
What to build:
- A โ๐ Share Resultsโ button that appears after a battle
- Copies a formatted text summary to the clipboard
- Include usernames, contribution totals, and the winner
- Show a brief โCopied!โ confirmation message
Prompt suggestion:
Add a โ๐ Share Resultsโ button that copies a formatted battle summary to the clipboard. The summary should include both usernames, their contribution totals, and who won. Use the Clipboard API and show a brief โCopied to clipboard!โ confirmation.
๐ป CLI Extras
Section titled โ๐ป CLI ExtrasโIf you want to explore more of Copilot CLIโs feature set after the core workshop:
- Use
copilot -p "Write a conventional commit message for the current git diff"to generate a one-shot, response-only answer you can paste into Git. - Run
/share fileto save your session as Markdown for later reference. - Use
/sessionand/session planto inspect how the CLI is tracking your current work. - Try
/refineto turn a rough, stream-of-consciousness prompt into a clear one before you send it. - Explore
/chroniclefor session history and insights across your work.
๐ Congratulations!
Section titled โ๐ Congratulations!โYouโve completed the Mona Mayhem: GitHub Battle workshop! Hereโs what you accomplished:
What You Built
Section titled โWhat You Builtโ- โ A complete multi-page web application from a design specification
- โ A landing page with retro arcade theming and responsive layout
- โ A battle arena that fetches and compares real GitHub contribution data
- โ Interactive contribution graphs with color-coded activity levels
- โ Error handling, loading states, and accessibility improvements
- โ Responsive design that works across devices
What You Practiced
Section titled โWhat You Practicedโ| Skill | What You Practiced |
|---|---|
| Context Engineering | Giving Copilot the right files, instructions, and constraints |
| Planning | Generating and refining implementation plans before coding |
| Agentic Coding | Delegating multi-file, multi-step work to Copilot |
| Design Iteration | Starting from a visual direction and refining toward a polished result |
| Review Discipline | Inspecting AI-generated changes before you commit them |
| Custom Agents & Instructions | Building specialized personas and always-on, path-scoped project rules |
| Skills | Packaging reusable expertise Copilot loads automatically |
| MCP Servers | Connecting Copilot to GitHub, a real browser, and live documentation |
๐ Keep Going
Section titled โ๐ Keep Goingโ- ๐บ VS Code YouTube Channel โ Tips, tutorials, and whatโs new
- ๐ GitHub Copilot Documentation โ Official docs and guides
- ๐ป GitHub Copilot CLI Docs โ Installation, slash commands, and best practices
- ๐ GitHub Copilot CLI for Beginners โ A deeper, chapter-by-chapter course on agents, skills, and MCP
- ๐ Awesome GitHub Copilot โ Community agents, skills, and instruction files
- ๐ ๏ธ Copilot Dev Days Workshops โ More hands-on workshops like this one
๐ Thank You!
Section titled โ๐ Thank You!โThanks for joining this workshop! Youโve experienced how GitHub Copilot can accelerate every phase of development โ from planning and design to implementation and polish. The techniques you practiced here apply to any project, any framework, and any scale. Now go build something amazing! ๐