Awesome-omni-skill acdc-badge-sniper
Plan and rank Arctic Cloud Developer Challenge (ACDC) badges and judge categories based on a team's current build and constraints. Use when asked to map a project to ACDC badges/awards, choose high-ROI targets, produce time-boxed action plans, evidence checklists, dependency/risk flags, and short judge-pitch scripts; must fetch the current badge/category requirements from the official ACDC site.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/acdc-badge-sniper" ~/.claude/skills/diegosouzapw-awesome-omni-skill-acdc-badge-sniper && rm -rf "$T"
skills/devops/acdc-badge-sniper/SKILL.mdACDC Badge Sniper
Beginner help
This skill turns the ACDC badge list into an action plan for your team.
What it does:
- Pulls the latest ACDC data (badges, teams, claims, rankings) into local cache files.
- Matches your project to the best badges and judge categories.
- Gives a short, time-boxed checklist plus evidence to collect.
What you need to provide:
- Your team name (pick from the list during onboarding).
- What you have built so far (2-6 bullets).
- How much time you have left.
- Any constraints (no admin, no external APIs, no server changes, etc.).
Output you will get:
- Top 5 badge targets and top 1-2 judge categories.
- For each target: why it fits, what is missing, checklist, evidence, risks, judge pitch.
- A single “Next 60 minutes” action list.
Quick intake
Ask for missing inputs before producing a plan:
- Team stack (M365, Power Platform, Azure, Fabric, AI/agents, DevOps, Minecraft, etc.)
- What is built now (bullets) and what is feasible next
- Time left or time-box (next 1-3 hours, today, rest of hackathon)
- Constraints (no admin, no internet, no server changes, etc.)
Onboarding flow (team selection)
When the user has not specified a team name yet:
- Load
and present the full list of team names.data/teams.json - Ask the user to confirm the team name to avoid typos.
- Ask whether to save the selection to
.data/team_profile.json - If the user declines saving, keep the team name in the current response context only.
CRITICAL: Data Source URL
ACDC_BASE_URL = https://stacdc2026.blob.core.windows.net/acdc/
IMPORTANT: Use this URL exactly as written - do not modify the subdomain
stacdc2026.
Required data sync (hackathon mode)
At the start of each run, fetch the latest data from the base URL above and save into the matching cache files:
→{ACDC_BASE_URL}metadata.jsondata/metadata.json
→{ACDC_BASE_URL}claims.jsondata/claims.json
→{ACDC_BASE_URL}teams.jsondata/teams.json
→{ACDC_BASE_URL}rankings.jsondata/rankings.json
If live fetch fails, ask whether to proceed with the cached copies. If requirements are ambiguous, quote the exact wording (short quotes) and explain a safe interpretation.
Blob cache format
These files use the blob service envelope:
{ "meta": {...}, "type": "...", "data": {...} }.
Key fields to use:
- metadata.json:
withdata.badges[]
,id
,title
,description
,category
,scorevisible - claims.json:
withdata.claims[]
,badgeId
,teamId
,statustimestamp - teams.json:
withdata.teams[]
,id
,nameshortName - rankings.json:
withdata.rankings[]
,badgeId
,teamId
,rank
,isDrafttimestamp
Team state (persistent)
Track team identity and claimed badges using these files:
for team metadata (name, members, stack, constraints, notes).data/team_profile.json
for badges already claimed.data/badges_acquired.json
for the official team list (name lookup/validation).data/teams.json
If the files are missing, ask the user for the minimal fields and create them on request. Only update these files when the user explicitly asks to save changes.
badges_acquired.json can be regenerated from rankings/metadata at any time.
Suggested shapes:
- team_profile.json:
{ "team_id": "<string>", "team_name": "<string>", "members": ["<string>"], "stack": ["<string>"], "constraints": ["<string>"], "notes": "<string>" } - badges_acquired.json:
{ "team_id": "<string>", "badge_ids": [<number>], "badge_titles": ["<string>"], "updated_at": "<iso8601>" }
When
data/teams.json exists, use it to validate or suggest the team name and avoid typos.
Scoring and ranking
- If
exists, use its weights to rank targets.config.yml - Default formula:
.score = fit*w_fit + speed*w_speed + impact*w_impact - risk*w_risk - Prefer fast wins early, but always include at least one "judge-magnet" category aligned to the project's strongest theme.
Workflow
- Sync blob cache files (metadata/claims/teams/rankings) and parse badges/categories.
- Load team state and already-claimed badges (if available); ask for missing fields.
- Map project features to badges/categories and note gaps or missing evidence.
- Determine already-claimed badges for the selected team by joining:
- rankings.json (
) filtered bydata.rankings[]
andteamIdisDraft == false - metadata.json (
) bydata.badges[]id == badgeId - Optionally note pending claims from claims.json (
) bydata.claims[]
andteamIdstatus
- rankings.json (
- Exclude already-claimed badges/categories from recommendations unless the user asks to revisit them.
- Rank top 5 badge targets and top 1-2 judge categories.
- For each target, provide:
- Why it matches
- What is missing (if anything)
- Step-by-step checklist
- Evidence to collect (demo steps, screenshots, repo notes, links, write-up bullets)
- Dependencies and risks (admin access, approvals, data, settings)
- 30-60 second judge pitch script
- Provide a single "Next 60 minutes" task list.
Output template
Use this structure in responses:
- Snapshot
- Stack, built now, time left, constraints
- Team name (if known)
- Already claimed badges/categories (from rankings)
- Pending claims (if any)
- Top badge targets (ranked)
- Badge: <name>
- Why match
- Missing
- Checklist (time-boxed)
- Evidence to collect
- Dependencies/risks
- Judge pitch (30-60 sec)
- Top judge categories (ranked)
- Category: <name>
- Why match
- Missing
- Checklist (time-boxed)
- Evidence to collect
- Dependencies/risks
- Judge pitch (30-60 sec)
- Next 60 minutes
- Bullet list of concrete actions
Guardrails
- Do not suggest cheating or misleading evidence.
- Do not auto-submit or auto-post to social media.
- Keep guidance aligned with hackathon spirit and rules.
Cross-platform compatibility
This skill is available in multiple formats:
| Platform | File | Usage |
|---|---|---|
| Claude Code | | Native skill format (this file) |
| VS Code Copilot | | Copy to or paste into Copilot Chat |
| ChatGPT / OpenAI | | Use as system prompt or Custom GPT instructions |