Skip to content
Back to skills

Acdc Badge Sniper

ASecurity

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.

  • 57 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 31, 2026
ai-agentsgorailsazuregitapidevops

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill acdc-badge-sniper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Acdc Badge Sniper?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Acdc Badge Sniper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-acdc-badge-sniper/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-acdc-badge-sniper)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: acdc-badge-sniper
description: 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.
---

# ACDC 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:
1. Load `data/teams.json` and present the full list of team names.
2. Ask the user to confirm the team name to avoid typos.
3. Ask whether to save the selection to `data/team_profile.json`.
4. 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.json` → `data/metadata.json`
- `{ACDC_BASE_URL}claims.json` → `data/claims.json`
- `{ACDC_BASE_URL}teams.json` → `data/teams.json`
- `{ACDC_BASE_URL}rankings.json` → `data/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: `data.badges[]` with `id`, `title`, `description`, `category`, `score`, `visible`
- claims.json: `data.claims[]` with `badgeId`, `teamId`, `status`, `timestamp`
- teams.json: `data.teams[]` with `id`, `name`, `shortName`
- rankings.json: `data.rankings[]` with `badgeId`, `teamId`, `rank`, `isDraft`, `timestamp`

## Team state (persistent)

Track team identity and claimed badges using these files:
- `data/team_profile.json` for team metadata (name, members, stack, constraints, notes).
- `data/badges_acquired.json` for badges already claimed.
- `data/teams.json` for the official team list (name lookup/validation).

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 `config.yml` exists, use its weights to rank targets.
- 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

1. Sync blob cache files (metadata/claims/teams/rankings) and parse badges/categories.
2. Load team state and already-claimed badges (if available); ask for missing fields.
3. Map project features to badges/categories and note gaps or missing evidence.
4. Determine already-claimed badges for the selected team by joining:
   - rankings.json (`data.rankings[]`) filtered by `teamId` and `isDraft == false`
   - metadata.json (`data.badges[]`) by `id == badgeId`
   - Optionally note pending claims from claims.json (`data.claims[]`) by `teamId` and `status`
5. Exclude already-claimed badges/categories from recommendations unless the user asks to revisit them.
6. Rank top 5 badge targets and top 1-2 judge categories.
4. 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
5. Provide a single "Next 60 minutes" task list.

## Output template

Use this structure in responses:

1) Snapshot
- Stack, built now, time left, constraints
- Team name (if known)
- Already claimed badges/categories (from rankings)
- Pending claims (if any)

2) Top badge targets (ranked)
- Badge: <name>
  - Why match
  - Missing
  - Checklist (time-boxed)
  - Evidence to collect
  - Dependencies/risks
  - Judge pitch (30-60 sec)

3) Top judge categories (ranked)
- Category: <name>
  - Why match
  - Missing
  - Checklist (time-boxed)
  - Evidence to collect
  - Dependencies/risks
  - Judge pitch (30-60 sec)

4) 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 | `SKILL.md` | Native skill format (this file) |
| VS Code Copilot | `copilot-instructions.md` | Copy to `.github/copilot-instructions.md` or paste into Copilot Chat |
| ChatGPT / OpenAI | `openai-system-prompt.md` | Use as system prompt or Custom GPT instructions |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.