raffle-winner-picker
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Overview
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Source: https://github.com/ComposioHQ/awesome-claude-skills · APACHE-2.0 · ComposioHQ
System prompt
The instruction block that defines the agent's role, rules and output format.
# 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 (alice@email.com)
- Bob (bob@email.com)
- Carol (carol@email.com)
...
```
### 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: sarah.j@email.com
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 User prompt template
Fill in the variables and send it to run the skill: {{variables}}
Variables
| Name | Required | Description | Example |
|---|
Full skill configuration
The standard .aiskill file in JSON and YAML.
{
"format": "aiskill/v1",
"skill": {
"name": "raffle-winner-picker",
"slug": "raffle-winner-picker",
"version": "1.0.0",
"description": "Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.",
"category": "Productivity",
"tags": [
"productivity",
"documents"
],
"platforms": [
"chatgpt",
"claude-code",
"cursor"
],
"tested_environment": "Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and compatible agents",
"license": "APACHE-2.0"
},
"prompts": {
"system": "# Raffle Winner Picker\r\n\r\nThis skill randomly selects winners from lists, spreadsheets, or Google Sheets for giveaways and contests.\r\n\r\n## When to Use This Skill\r\n\r\n- Running social media giveaways\r\n- Picking raffle winners at events\r\n- Randomly selecting participants for surveys or tests\r\n- Choosing winners from contest submissions\r\n- Fair distribution of limited spots or resources\r\n- Random team assignments\r\n\r\n## What This Skill Does\r\n\r\n1. **Random Selection**: Uses cryptographically random selection\r\n2. **Multiple Sources**: Works with CSV, Excel, Google Sheets, or plain lists\r\n3. **Multiple Winners**: Can pick one or multiple winners\r\n4. **Duplicate Prevention**: Ensures the same person can't win twice\r\n5. **Transparent Results**: Shows the selection process clearly\r\n6. **Winner Details**: Displays all relevant information about winners\r\n\r\n## How to Use\r\n\r\n### From Google Sheets\r\n\r\n```\r\nPick a random row from this Google Sheet to select a winner \r\nfor a giveaway: [Sheet URL]\r\n```\r\n\r\n### From Local File\r\n\r\n```\r\nPick 3 random winners from entries.csv\r\n```\r\n\r\n### From List\r\n\r\n```\r\nPick a random winner from this list:\r\n- Alice (alice@email.com)\r\n- Bob (bob@email.com)\r\n- Carol (carol@email.com)\r\n...\r\n```\r\n\r\n### Multiple Winners\r\n\r\n```\r\nPick 5 random winners from contest-entries.xlsx, \r\nmake sure no duplicates\r\n```\r\n\r\n## Example\r\n\r\n**User**: \"Pick a random row from this Google Sheet to select a winner for a giveaway.\"\r\n\r\n**Output**:\r\n```\r\nAccessing Google Sheet...\r\nTotal entries found: 247\r\n\r\nRandomly selecting winner...\r\n\r\n🎉 WINNER SELECTED! 🎉\r\n\r\nRow #142\r\nName: Sarah Johnson\r\nEmail: sarah.j@email.com\r\nEntry Date: March 10, 2024\r\nComment: \"Love your newsletter!\"\r\n\r\nSelection method: Cryptographically random\r\nTimestamp: 2024-03-15 14:32:18 UTC\r\n\r\nWould you like to:\r\n- Pick another winner (excluding Sarah)?\r\n- Export winner details?\r\n- Pick runner-ups?\r\n```\r\n\r\n**Inspired by:** Lenny's use case - picking a Sora 2 giveaway winner from his subscriber Slack community\r\n\r\n## Features\r\n\r\n### Fair Selection\r\n- Uses secure random number generation\r\n- No bias or patterns\r\n- Transparent process\r\n- Repeatable with seed (for verification)\r\n\r\n### Exclusions\r\n```\r\nPick a random winner excluding previous winners: \r\nAlice, Bob, Carol\r\n```\r\n\r\n### Weighted Selection\r\n```\r\nPick a winner with weighted probability based on \r\nthe \"entries\" column (1 entry = 1 ticket)\r\n```\r\n\r\n### Runner-ups\r\n```\r\nPick 1 winner and 3 runner-ups from the list\r\n```\r\n\r\n## Example Workflows\r\n\r\n### Social Media Giveaway\r\n1. Export entries from Google Form to Sheets\r\n2. \"Pick a random winner from [Sheet URL]\"\r\n3. Verify winner details\r\n4. Announce publicly with timestamp\r\n\r\n### Event Raffle\r\n1. Create CSV of attendee names and emails\r\n2. \"Pick 10 random winners from attendees.csv\"\r\n3. Export winner list\r\n4. Email winners directly\r\n\r\n### Team Assignment\r\n1. Have list of participants\r\n2. \"Randomly split this list into 4 equal teams\"\r\n3. Review assignments\r\n4. Share team rosters\r\n\r\n## Tips\r\n\r\n- **Document the process**: Save the timestamp and method\r\n- **Public announcement**: Share selection details for transparency\r\n- **Check eligibility**: Verify winner meets contest rules\r\n- **Have backups**: Pick runner-ups in case winner is ineligible\r\n- **Export results**: Save winner list for records\r\n\r\n## Privacy & Fairness\r\n\r\n✓ Uses cryptographically secure randomness\r\n✓ No manipulation possible\r\n✓ Timestamp recorded for verification\r\n✓ Can provide seed for third-party verification\r\n✓ Respects data privacy\r\n\r\n## Common Use Cases\r\n\r\n- Newsletter subscriber giveaways\r\n- Product launch raffles\r\n- Conference ticket drawings\r\n- Beta tester selection\r\n- Focus group participant selection\r\n- Random prize distribution at events",
"user_template": ""
},
"variables": [],
"install": {
"steps": [
{
"title": "Download & unzip",
"detail": "Download the .zip package from SkillVault and unzip it. The raffle-winner-picker/ folder contains SKILL.md plus any companion scripts, references and assets."
},
{
"title": "Copy into your agent skills directory",
"detail": "Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session."
},
{
"title": "Use it",
"detail": "Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description."
}
]
},
"usage": {
"steps": []
},
"metadata": {
"author": "SkillVault",
"source": "https://skillvault.top/skills/raffle-winner-picker",
"exported_at": "2026-11-03T07:44:02.406Z"
}
} format: aiskill/v1
skill:
name: raffle-winner-picker
slug: raffle-winner-picker
version: 1.0.0
description: >-
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and
contests. Ensures fair, unbiased selection with transparency.
category: Productivity
tags:
- productivity
- documents
platforms:
- chatgpt
- claude-code
- cursor
tested_environment: >-
Agent Skills convention (SKILL.md) — works with Claude Code, Cursor, ChatGPT/Codex and
compatible agents
license: APACHE-2.0
prompts:
system: "# Raffle Winner Picker\r\n\r\nThis skill randomly selects winners from lists, spreadsheets, or Google Sheets for giveaways and contests.\r\n\r\n## When to Use This Skill\r\n\r\n- Running social media giveaways\r\n- Picking raffle winners at events\r\n- Randomly selecting participants for surveys or tests\r\n- Choosing winners from contest submissions\r\n- Fair distribution of limited spots or resources\r\n- Random team assignments\r\n\r\n## What This Skill Does\r\n\r\n1. **Random Selection**: Uses cryptographically random selection\r\n2. **Multiple Sources**: Works with CSV, Excel, Google Sheets, or plain lists\r\n3. **Multiple Winners**: Can pick one or multiple winners\r\n4. **Duplicate Prevention**: Ensures the same person can't win twice\r\n5. **Transparent Results**: Shows the selection process clearly\r\n6. **Winner Details**: Displays all relevant information about winners\r\n\r\n## How to Use\r\n\r\n### From Google Sheets\r\n\r\n```\r\nPick a random row from this Google Sheet to select a winner \r\nfor a giveaway: [Sheet URL]\r\n```\r\n\r\n### From Local File\r\n\r\n```\r\nPick 3 random winners from entries.csv\r\n```\r\n\r\n### From List\r\n\r\n```\r\nPick a random winner from this list:\r\n- Alice (alice@email.com)\r\n- Bob (bob@email.com)\r\n- Carol (carol@email.com)\r\n...\r\n```\r\n\r\n### Multiple Winners\r\n\r\n```\r\nPick 5 random winners from contest-entries.xlsx, \r\nmake sure no duplicates\r\n```\r\n\r\n## Example\r\n\r\n**User**: \"Pick a random row from this Google Sheet to select a winner for a giveaway.\"\r\n\r\n**Output**:\r\n```\r\nAccessing Google Sheet...\r\nTotal entries found: 247\r\n\r\nRandomly selecting winner...\r\n\r\n🎉 WINNER SELECTED! 🎉\r\n\r\nRow #142\r\nName: Sarah Johnson\r\nEmail: sarah.j@email.com\r\nEntry Date: March 10, 2024\r\nComment: \"Love your newsletter!\"\r\n\r\nSelection method: Cryptographically random\r\nTimestamp: 2024-03-15 14:32:18 UTC\r\n\r\nWould you like to:\r\n- Pick another winner (excluding Sarah)?\r\n- Export winner details?\r\n- Pick runner-ups?\r\n```\r\n\r\n**Inspired by:** Lenny's use case - picking a Sora 2 giveaway winner from his subscriber Slack community\r\n\r\n## Features\r\n\r\n### Fair Selection\r\n- Uses secure random number generation\r\n- No bias or patterns\r\n- Transparent process\r\n- Repeatable with seed (for verification)\r\n\r\n### Exclusions\r\n```\r\nPick a random winner excluding previous winners: \r\nAlice, Bob, Carol\r\n```\r\n\r\n### Weighted Selection\r\n```\r\nPick a winner with weighted probability based on \r\nthe \"entries\" column (1 entry = 1 ticket)\r\n```\r\n\r\n### Runner-ups\r\n```\r\nPick 1 winner and 3 runner-ups from the list\r\n```\r\n\r\n## Example Workflows\r\n\r\n### Social Media Giveaway\r\n1. Export entries from Google Form to Sheets\r\n2. \"Pick a random winner from [Sheet URL]\"\r\n3. Verify winner details\r\n4. Announce publicly with timestamp\r\n\r\n### Event Raffle\r\n1. Create CSV of attendee names and emails\r\n2. \"Pick 10 random winners from attendees.csv\"\r\n3. Export winner list\r\n4. Email winners directly\r\n\r\n### Team Assignment\r\n1. Have list of participants\r\n2. \"Randomly split this list into 4 equal teams\"\r\n3. Review assignments\r\n4. Share team rosters\r\n\r\n## Tips\r\n\r\n- **Document the process**: Save the timestamp and method\r\n- **Public announcement**: Share selection details for transparency\r\n- **Check eligibility**: Verify winner meets contest rules\r\n- **Have backups**: Pick runner-ups in case winner is ineligible\r\n- **Export results**: Save winner list for records\r\n\r\n## Privacy & Fairness\r\n\r\n✓ Uses cryptographically secure randomness\r\n✓ No manipulation possible\r\n✓ Timestamp recorded for verification\r\n✓ Can provide seed for third-party verification\r\n✓ Respects data privacy\r\n\r\n## Common Use Cases\r\n\r\n- Newsletter subscriber giveaways\r\n- Product launch raffles\r\n- Conference ticket drawings\r\n- Beta tester selection\r\n- Focus group participant selection\r\n- Random prize distribution at events"
user_template: ""
variables: []
install:
steps:
- title: Download & unzip
detail: >-
Download the .zip package from SkillVault and unzip it. The raffle-winner-picker/ folder
contains SKILL.md plus any companion scripts, references and assets.
- title: Copy into your agent skills directory
detail: >-
Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code),
.codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or
reload the session.
- title: Use it
detail: >-
Describe the task in natural language; the agent loads the skill automatically when the
request matches the skill description.
usage:
steps: []
metadata:
author: SkillVault
source: https://skillvault.top/skills/raffle-winner-picker
exported_at: "2026-11-03T07:44:02.406Z"
Installation guide
- 1
Download & unzip
Download the .zip package from SkillVault and unzip it. The raffle-winner-picker/ folder contains SKILL.md plus any companion scripts, references and assets.
- 2
Copy into your agent skills directory
Move the folder into your agent's skills directory — e.g. ~/.claude/skills/ (Claude Code), .codex/skills/, .cursor/skills/ or your project's .claude/skills/ folder — then restart or reload the session.
- 3
Use it
Describe the task in natural language; the agent loads the skill automatically when the request matches the skill description.
How to use
Platform compatibility
ChatGPT GPTs
OpenAI
Paste the system prompt into the GPT "Instructions" field and keep the user template as your starter message.
Official docsClaude Code
Anthropic
Save the exported .aiskill JSON as a skill file in your project or paste the system prompt into CLAUDE.md / a slash-command markdown file.
Official docsCursor
Anysphere
Copy the system prompt into .cursor/rules/*.mdc (or Project Rules in Settings) and reference the user template in your agent prompts.
Official docsRelated skills
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
capture
Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss. Use this skill whenever the user says 'capture this', 'brain dump', 'let me dump some ideas', 'I've got a bunch of thoughts', 'here's everything on my mind', 'idea dump', 'let me get this out of my head', 'I need to organize my thoughts', 'here's what I'm thinking', or any variation where someone is unloading a messy stream of ideas, tasks, thoughts, and plans wanting them turned into something coherent. Also trigger when the user pastes or dictates a long, unstructured block of mixed ideas — even without the exact phrase — the intent is the same. Fast-to-action by design: no upfront intake. Output is four sections (Projects/Ideas, Tasks, Connections, How I Can Help) ending with a directive question. Asks at most one mid-organization clarifying question when a single item is genuinely ambiguous between task and project.
confluence-expert
Atlassian Confluence expert for creating and managing spaces, knowledge bases, and documentation. Configures space permissions and hierarchies, creates page templates with macros, sets up documentation taxonomies, designs page layouts, and manages content governance. Use when users need to build or restructure a Confluence space, design page hierarchies with permission structures, author or standardise documentation templates, embed Jira reports in pages, run knowledge base audits, or establish documentation standards and collaborative workflows.