Skip to content
SkillSecurity & Compliance

Fair Giveaway Winner Picker

Free Agent Skill for social media giveaways: drafts the official rules, applies your entry rules to exported comments, and draws winners with a repeatable, auditable method.

Updated Oct 30, 2026Marketplace Founder

About Fair Giveaway Winner Picker

Comment giveaways cause the same problems again and again. Rules are made up after the fact, staff accounts slip in, the same person enters ten times, and the winner is picked by a website that wants your login. Then someone in the comments asks whether it was rigged, and there's no way to show it wasn't.

This free skill handles both ends. Before the giveaway, it drafts short official rules: sponsor, dates and time zone, eligibility, how to enter, no purchase necessary, prize and its value, how and when the winner is chosen, winner notice, odds and the platform release. It also suggests a seed phrase to announce publicly. After it closes, a bundled script applies exactly the rules you published to your exported comments: one entry per person (the earliest counts), a required number of distinct tags, required words, the deadline and an exclude list. It draws winners and alternates with a seeded SHA-256 shuffle that anyone can repeat, and re-sorting the export doesn't change the result. The audit log lists every removed entry with its reason, the eligible-list fingerprint and the command to verify.

Inside: SKILL.md, the draw script (Node.js, no packages), a rules checklist with platform notes and prize-value notes, and invented entries with an audit, a walkthrough and test runs.

For small businesses, creators and social media managers running their own comment giveaways.

Limitations: it doesn't read comments from platforms, and it can't check follows or shares unless your export has them. It isn't legal advice. For platform-run giveaways, use the platform's tool.

Scanned: no issues found

Release v1.0.0 reviewed by AgentLoomX™ · 13 files · 20.0 KB

Signed release

This package can

  • Create, change or delete files
What's inside (13 files)
  • giveaway-winner-picker/CHANGELOG.md
  • giveaway-winner-picker/examples/entries.csv
  • giveaway-winner-picker/examples/exclude.txt
  • giveaway-winner-picker/examples/output/audit.md
  • giveaway-winner-picker/examples/output/eligible.csv
  • giveaway-winner-picker/examples/test-runs.md
  • giveaway-winner-picker/examples/walkthrough.md
  • giveaway-winner-picker/LICENSE.txt
  • giveaway-winner-picker/README.md
  • giveaway-winner-picker/references/rules-checklist.md
  • giveaway-winner-picker/scripts/draw.mjs
  • giveaway-winner-picker/scripts/lib.mjs
  • giveaway-winner-picker/SKILL.md
Read the skill's instructions giveaway-winner-picker/SKILL.md
---
name: giveaway-winner-picker
description: Runs a fair, checkable social media giveaway. Before it starts, it drafts the official rules (no purchase necessary, eligibility, dates, prize value, platform release) and a public seed phrase. After it closes, a bundled script applies the published entry rules to the exported comments (one entry per person, required tags, required words, deadline, exclude list) and draws winners and alternates with a seeded SHA-256 method anyone can repeat. It writes an audit log. Use when the user says things like "pick a winner for my giveaway", "help me run an Instagram giveaway", "random comment picker", "write giveaway rules", "draw a winner fairly", or shares a comments export. It's not for platform-run giveaways like Whatnot's built-in tool.
---

# Fair Giveaway Winner Picker

Before: rules and a public seed. After: apply the published rules, draw, and keep the audit.

Rules you never break:

1. **Only the published rules.** Never add or change an entry rule after the giveaway closes.
2. **The seed is announced before the close.** Never choose a seed after seeing the entries.
3. **This isn't legal advice.** Point the user to `references/rules-checklist.md`, and to a lawyer for large prizes or anything unusual.

## Bundled files

| File | When to use it |
|---|---|
| `references/rules-checklist.md` | Step 1. What the rules must include, platform notes, prize value notes and the fair-draw steps. |
| `scripts/draw.mjs` | Step 3. Applies the rules and draws. With `--out-dir`, writes `audit.md` and `eligible.csv` (never overwrites). Needs Node.js 18+. |
| `examples/` | 16 invented entries, an exclude list, the audit, a walkthrough and test runs. |

## Step 1: Before the giveaway (if the user hasn't started)

Draft the official rules with the checklist: sponsor, dates and time zone, eligibility, how to enter, no purchase necessary, prize and ARV, how the winner is chosen, winner notice and the reply window, odds, platform release, and privacy.

Suggest a seed phrase (giveaway name plus close date). The user posts it in the rules or a pinned comment before the close.

## Step 2: After it closes, get the entries

- Export comments to CSV, from the platform or an export tool. One row per comment: username, time and comment.
- No export? Paste the comments into a text file, one per line, as `username: comment`.
- Make an exclude list: the host account, staff, family, and blocked accounts.

## Step 3: Draw

```
node <skill-folder>/scripts/draw.mjs entries.csv --seed "<announced seed>" [--one-per-user] [--require-tags 2] [--require-text "cider"] [--deadline "2026-11-02 20:00"] --exclude exclude.txt --winners 1 --alternates 2 --out-dir giveaway-draw
```

Use only the flags that match the published rules. Read the "Removed entries" table with the user. If something looks wrong, such as a time-zone mismatch on the deadline, fix the input, not the rules.

## Step 4: Hand over

1. The winner and alternates, with their entry lines.
2. The counts: entries, removals by reason, and eligible entries.
3. The fingerprint and the command to repeat the draw.
4. Next steps: DM the winner from the official account, give them the reply window from the rules, and move to alternate 1 if there's no reply. Warn followers about fake "winner" accounts.

**No Node.js?** Don't hand-pick. Ask the user to run the script, or use the platform's own tool. Explain that a hand-picked winner can't be checked.

SHA-256 9f4db66425a9468820e8dd2512a64388d73e58e892570e57ea595dac8d854899

Signed with Ed25519 key a9c62a7921065aa9. Public keys

Scans catch known risky patterns; they are not a guarantee. Report anything that looks wrong to support.

Highlights

  • Drafts official rules with no purchase necessary
  • Applies only your published entry rules
  • One per person, tags, words, deadline, excludes
  • Seeded SHA-256 draw anyone can repeat
  • Audit log with every removal and reason
  • Winners plus ordered alternates
  • giveaways
  • contests
  • instagram
  • random picker
  • sweepstakes
  • social media