home / skills / plurigrid / asi / raffle-winner-picker

raffle-winner-picker skill

/skills/raffle-winner-picker

This skill randomly selects one or multiple winners from lists, spreadsheets, or Google Sheets using cryptographically secure randomness for fair giveaways.

This is most likely a fork of the raffle-winner-picker skill from composiohq
npx playbooks add skill plurigrid/asi --skill raffle-winner-picker

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.7 KB
---
name: raffle-winner-picker
description: Picks random winners from lists, spreadsheets, or Google Sheets for giveaways,
  raffles, and contests. Ensures fair, unbiased selection with transparency.
metadata:
  trit: 0
---

# Raffle Winner Picker

This skill randomly selects winners from lists, spreadsheets, or Google Sheets for giveaways and contests.

## When to Use This Skill

- Running social media giveaways
- Picking raffle winners at events
- Randomly selecting participants for surveys or tests
- Choosing winners from contest submissions
- Fair distribution of limited spots or resources
- Random team assignments

## What This Skill Does

1. **Random Selection**: Uses cryptographically random selection
2. **Multiple Sources**: Works with CSV, Excel, Google Sheets, or plain lists
3. **Multiple Winners**: Can pick one or multiple winners
4. **Duplicate Prevention**: Ensures the same person can't win twice
5. **Transparent Results**: Shows the selection process clearly
6. **Winner Details**: Displays all relevant information about winners

## How to Use

### From Google Sheets

```
Pick a random row from this Google Sheet to select a winner 
for a giveaway: [Sheet URL]
```

### From Local File

```
Pick 3 random winners from entries.csv
```

### From List

```
Pick a random winner from this list:
- Alice ([email protected])
- Bob ([email protected])
- Carol ([email protected])
...
```

### Multiple Winners

```
Pick 5 random winners from contest-entries.xlsx, 
make sure no duplicates
```

## Example

**User**: "Pick a random row from this Google Sheet to select a winner for a giveaway."

**Output**:
```
Accessing Google Sheet...
Total entries found: 247

Randomly selecting winner...

๐ŸŽ‰ WINNER SELECTED! ๐ŸŽ‰

Row #142
Name: Sarah Johnson
Email: [email protected]
Entry Date: March 10, 2024
Comment: "Love your newsletter!"

Selection method: Cryptographically random
Timestamp: 2024-03-15 14:32:18 UTC

Would you like to:
- Pick another winner (excluding Sarah)?
- Export winner details?
- Pick runner-ups?
```

**Inspired by:** Lenny's use case - picking a Sora 2 giveaway winner from his subscriber Slack community

## Features

### Fair Selection
- Uses secure random number generation
- No bias or patterns
- Transparent process
- Repeatable with seed (for verification)

### Exclusions
```
Pick a random winner excluding previous winners: 
Alice, Bob, Carol
```

### Weighted Selection
```
Pick a winner with weighted probability based on 
the "entries" column (1 entry = 1 ticket)
```

### Runner-ups
```
Pick 1 winner and 3 runner-ups from the list
```

## Example Workflows

### Social Media Giveaway
1. Export entries from Google Form to Sheets
2. "Pick a random winner from [Sheet URL]"
3. Verify winner details
4. Announce publicly with timestamp

### Event Raffle
1. Create CSV of attendee names and emails
2. "Pick 10 random winners from attendees.csv"
3. Export winner list
4. Email winners directly

### Team Assignment
1. Have list of participants
2. "Randomly split this list into 4 equal teams"
3. Review assignments
4. Share team rosters

## Tips

- **Document the process**: Save the timestamp and method
- **Public announcement**: Share selection details for transparency
- **Check eligibility**: Verify winner meets contest rules
- **Have backups**: Pick runner-ups in case winner is ineligible
- **Export results**: Save winner list for records

## Privacy & Fairness

โœ“ Uses cryptographically secure randomness
โœ“ No manipulation possible
โœ“ Timestamp recorded for verification
โœ“ Can provide seed for third-party verification
โœ“ Respects data privacy

## Common Use Cases

- Newsletter subscriber giveaways
- Product launch raffles
- Conference ticket drawings
- Beta tester selection
- Focus group participant selection
- Random prize distribution at events

Overview

This skill picks random winners from lists, local spreadsheets, or Google Sheets for giveaways and contests. It focuses on fair, transparent selection using cryptographically secure randomness and can handle single or multiple winners, exclusions, weights, and runner-ups.

How this skill works

The skill ingests entries from plain lists, CSV/Excel files, or Google Sheets URLs, normalizes rows into participant records, and applies a cryptographically secure random selection algorithm. It supports deduplication, weighted draws based on an entries column, multiple-winner draws, and outputs winner details with a timestamp and selection method for auditability.

When to use it

  • Running social media or newsletter giveaways where impartial selection is required
  • Picking raffle winners at live events or virtual meetups
  • Selecting participants for beta tests, surveys, or focus groups
  • Fairly distributing limited spots, resources, or prizes
  • Generating random team assignments or role distributions

Best practices

  • Document the selection: save timestamps, method, and optional seed for verification
  • Verify eligibility before announcing winners and keep runner-ups as backups
  • Use exclusions to remove previous winners or ineligible entries before drawing
  • Export and store winner details securely for record-keeping and privacy compliance
  • When using weights, ensure the weight column is validated (nonnegative integers) to avoid bias

Example use cases

  • Pick 1 winner from a Google Sheet of contest submissions and export full contact details
  • Select 10 winners from attendees.csv for an on-site raffle and produce a timestamped report
  • Draw 5 winners with weights based on ticket counts stored in the 'entries' column
  • Choose a winner excluding a list of prior winners or ineligible participants
  • Pick 1 winner plus 3 runner-ups from an Excel file and output runner-up list for backups

FAQ

Can I verify the draw was fair?

Yes. The skill uses cryptographically secure randomness, records the timestamp and selection method, and can reproduce results with a provided seed for third-party verification.

What input formats are supported?

Supported inputs include plain lists, CSV files, Excel (.xlsx) files, and Google Sheets via URL. The skill normalizes rows into participant records.

How are duplicates handled?

By default the skill prevents the same participant from winning multiple prizes in a single draw. You can also provide an exclusions list to remove specific entries before drawing.