Skip to content
🟣 Code

The Ambassador ​

The problem

The AI Skilling Ambassador program runs on people who volunteer for it - 72 of them across nine regions, doing office hours, mentoring, and writing the quickstarts everyone leans on, all on top of their real jobs. Nobody's paid, so the program keeps them with what it can offer back: an invitation in, a facilitation slot, a nomination. Last round five withdrew and seven were passed over, and the person who ran it left halfway through.

cohort.py picks the next cohort. It reads definition.md, sends all 72 candidates to the model, and comes back with eight names, a reason for each, and a next step. It's fast and confident - and it can't show its work. Nine data files are loaded; it sends the model one summary line per person, checks no claim against a record, and gives no one a way to overrule it.

Objectives ​

Ship something that makes the pick trustworthy: it surfaces someone the fast path misses, backs every claim with evidence, and keeps a person in the loop. How you meet that is yours - write Python, build agents in .github/agents/, or both. A table that ships one of these well beats a table that half-ships three.

By the end, you should have at least one of:

  • Someone cohort.py misses - surfaced from the evidence it currently ignores.
  • Every claim backed by a record - no assertion without a row behind it.
  • A person who can overrule it - and a next run that remembers the correction.

Nothing gets sent

Invitations, nominations and recognition are drafted and held for a person to read. Keep that in whatever you build.

Setup ​

The data is fictional

Invented people, invented scores, invented feedback. Nothing here describes a real person and no real program is being modeled. program-data/DISCLAIMER.md has the details.

Build with whichever GitHub Copilot surface you like - VS Code, the Copilot CLI, or the GitHub Copilot app - but the starter calls the Copilot CLI behind the scenes, so keep it signed in. You'll also need Python 3.10+.

1 Β· Download the starter ​

πŸ“¦StarterA working cohort picker, three alternative definitions, and the nine data files.Download .zip β†’

What's in the download:

text
ambassador-starter/
  cohort.py         the entry point - picks the cohort
  definition.md     what the program looks for. This is the file you edit
  definitions/      three worked alternatives - reach, depth, rising
  agent.py          ask() and ask_json(), over the GitHub Copilot CLI
  program/data.py   loads the nine data files
  program-data/     72 candidates, ~2,000 evidence records across nine files
  PLAYBOOK.md       how the program describes itself

Two places to get unstuck

Ask Copilot - it's building with you, so paste the error and let it fix it. For general mechanics the Guides are short how-tos. Coaches are in the room and every table has an SME.

2 Β· Run it, and swap the definition ​

Done when: two definitions have given you two different shortlists.

bash
cd ambassador-starter
python cohort.py

Eight names, a reason each, a next step each. Now change what it's looking for:

bash
python cohort.py --definition definitions/depth.md
python cohort.py --definition definitions/rising.md

Same 72 people, different shortlists - compare them and you'll see only a few names overlap. The definition is doing the work, and it's plain prose in a file you can edit. Open definition.md, write what your program would look for, and re-run.

Build ​

Done when: one condition is met, on real output, with a name on screen.

🎈 This is the fun part - keep it low-stress

Pick whatever direction sounds good and build it with your table. It doesn't have to be perfect, and it doesn't have to solve everything - the whole point is to explore your tool, trade ideas, and vibe-code something together. Use whatever you came here to learn, see how far you get, and have fun with it. You're here to learn by doing. Anything on this page phrased as a prompt is an example, not a script; say it your way.

The starter ships everything you need: nine files, 72 candidates, ~2,000 evidence records. You don't build the data; it's here. What cohort.py doesn't do is use most of it - it sends the model a one-line summary per person and ignores the eight files of real evidence in program-data/. So the builds below come in two shapes: leverage the run to make something new from its picks - a dashboard, a consistency sweep - or build onto the picker so it reads the real records, adds an agent that argues back, or checks its own claims every run. Work one change at a time.

Pick a direction ​

Pick one or two and spend the session building. Take one as-is, combine two, or bring your own. Click a bubble for where to start and a prompt to open with Copilot.

Pick by what your table would actually use, not by what sounds most impressive - then spend the time making it real.

πŸŽ›οΈ Pick the model that fits the job

A long-context model can hold all nine files at once; a faster one is better while you're iterating. In Copilot Chat, switch in the model picker. For cohort.py, set AMBASSADOR_MODEL (for example $env:AMBASSADOR_MODEL = "claude-haiku-4.5" in PowerShell) and compare on the same question.

After today ​

This is a starting point, not the finish line. In one session, alongside a table doing the same thing, you took a fast, opaque picker and made a piece of it trustworthy - and practiced the real skill: describing what you want, watching Copilot build it, and correcting from there.


← Back to start