home / skills / plurigrid / asi / raffle-winner-picker
This skill randomly selects one or multiple winners from lists, spreadsheets, or Google Sheets using cryptographically secure randomness for fair giveaways.
npx playbooks add skill plurigrid/asi --skill raffle-winner-pickerReview the files below or copy the command above to add this skill to your agents.
---
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
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.
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.
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.