[DEPRECATED] Persistence logic has been merged into comp-scout-scrape. This skill remains for reference only.
**DEPRECATED** - Functionality merged into `comp-scout-scrape`. This skill persists competition data as GitHub issues with duplicate detection, project board integration, and milestone tracking. Use `comp-scout-scrape` instead.
/plugin marketplace add discreteds/competition-scout/plugin install competition-scout@competition-scoutThis skill inherits all available tools. When active, it can use any tool Claude has access to.
⚠️ This skill is deprecated. Its functionality has been merged into
comp-scout-scrape.The scrape skill now handles:
- Issue creation
- Duplicate detection and comments
- Milestone assignment
- Auto-filter labeling and closing
This file is retained for reference only. Do not invoke this skill directly.
Store competitions as GitHub issues with project board integration.
gh CLI installed and authenticatedyq installed for YAML parsingEach competition gets ONE issue. All related information is added as comments:
No complex parent-child relationships. When a duplicate is found:
The target repo should be specified or configured. This is NOT the skills repo.
# From workspace config
TARGET_REPO=$(yq '.repositories[0].full_name' .hiivmind/github/config.yaml)
# Or specify directly
TARGET_REPO="discreteds/competition-data"
Strip common prefixes and normalize for comparison:
Original: "Win a $500 Coles Gift Card"
Normalized: "500 coles gift card"
Original: "Win 1 of 10 Travel Vouchers"
Normalized: "1 of 10 travel vouchers"
Normalization rules:
gh issue list -R "$TARGET_REPO" \
--label "competition" \
--state open \
--json number,title,url,body \
--limit 100
Compare normalized titles with fuzzy matching (80% similarity threshold).
Also check: If the competition URL appears in any issue body, it's definitely a duplicate.
# Search by URL in body
gh issue list -R "$TARGET_REPO" \
--search "in:body $COMPETITION_URL" \
--json number,title,url
Add a comment to the existing issue:
gh issue comment $ISSUE_NUMBER -R "$TARGET_REPO" --body "$(cat <<'EOF'
### Also found on netrewards.com.au
**URL:** https://netrewards.com.au/win-example/
**Title on this site:** Win Example Prize
*Discovered: 2024-12-09*
EOF
)"
Create the issue:
gh issue create -R "$TARGET_REPO" \
--title "$TITLE" \
--label "competition" \
--label "25wol" \
--body "$(cat <<'EOF'
## Competition Details
**URL:** https://competitions.com.au/win-example/
**Brand:** Example Brand
**Prize:** $500 gift card
**Word Limit:** 25 words
**Closes:** 2024-12-31
**Draw Date:** 2025-01-07
**Winners Notified:** 2025-01-14
## Prompt
> Tell us in 25 words or less why you love Example Brand
---
*Scraped from competitions.com.au on 2024-12-09*
EOF
)"
If using GitHub Projects:
# Get issue URL from creation output
ISSUE_URL="https://github.com/discreteds/competition-data/issues/1"
# Add to project
gh project item-add 5 --owner discreteds --url "$ISSUE_URL"
Create or find milestone for the closing date month:
# Check if milestone exists
MILESTONE_TITLE="December 2024"
MILESTONE=$(gh api repos/$TARGET_REPO/milestones --jq ".[] | select(.title==\"$MILESTONE_TITLE\") | .number")
# Create if needed
if [ -z "$MILESTONE" ]; then
gh api repos/$TARGET_REPO/milestones \
--method POST \
--field title="$MILESTONE_TITLE" \
--field due_on="2024-12-31T23:59:59Z"
fi
# Set on issue
gh issue edit $ISSUE_NUMBER -R "$TARGET_REPO" --milestone "$MILESTONE_TITLE"
## Competition Details
**URL:** {url}
**Brand:** {brand}
**Prize:** {prize_summary}
**Word Limit:** {word_limit} words
**Closes:** {closing_date}
**Draw Date:** {draw_date}
**Winners Notified:** {winners_notified_date}
## Prompt
> {prompt}
---
*Scraped from {site} on {scraped_date}*
### Also found on {site}
**URL:** {url}
**Title on this site:** {title}
*Discovered: {date}*
## Strategy Analysis
**Sponsor Category:** {sponsor_category}
**Brand Voice:** {brand_voice}
**Recommended Tone:** {recommended_tone}
### Approach
{approach}
### Themes to Use
{themes_list}
### Angle Ideas
{angle_ideas_list}
### Avoid
{avoid_list}
---
*Generated: {date}*
## Entry Drafts
### Option 1 ({word_count} words) ⭐⭐⭐⭐⭐
> {entry_text}
Arc: {arc_type}
Notes: {notes}
### Option 2 ({word_count} words) ⭐⭐⭐⭐
> {entry_text}
Arc: {arc_type}
Notes: {notes}
**Recommendation:** Option {n} - {reason}
---
*Generated: {date}*
## Entry Submitted ✅
**Submitted:** {date}
**Entry used:** Option {n}
> {final_entry_text}
---
Now waiting for results. Draw date: {draw_date}
## Result: {WON|DID NOT WIN}
**Notified:** {date}
**Result:** {description}
{additional_notes}
Create these labels in the target repository:
| Label | Color | Description |
|---|---|---|
competition | #0366d6 | All competition issues |
25wol | #6f42c1 | 25 words or less type |
closing-soon | #d73a49 | Closes within 3 days |
entry-drafted | #28a745 | Entry has been composed |
entry-submitted | #0075ca | Entry has been submitted |
won | #ffd700 | Won the competition! |
# Create labels
gh label create "competition" --color "0366d6" -R "$TARGET_REPO"
gh label create "25wol" --color "6f42c1" -R "$TARGET_REPO"
gh label create "closing-soon" --color "d73a49" -R "$TARGET_REPO"
gh label create "entry-drafted" --color "28a745" -R "$TARGET_REPO"
gh label create "entry-submitted" --color "0075ca" -R "$TARGET_REPO"
gh label create "won" --color "ffd700" -R "$TARGET_REPO"
# Add label to issue
gh issue edit $ISSUE_NUMBER -R "$TARGET_REPO" --add-label "entry-drafted"
# Remove label
gh issue edit $ISSUE_NUMBER -R "$TARGET_REPO" --remove-label "closing-soon"
Use milestones to track competitions by closing month:
This allows filtering by timeframe in the project board.
User: Save these competitions to GitHub
Competitions:
1. Win $500 Coles Gift Card (closes Dec 31)
2. Win a Trip to Bali (closes Jan 15)
3. Win Year's Supply of Coffee (closes Dec 20)
Claude: I'll persist these to the competition-data repository.
Checking for existing issues...
- "Win $500 Coles Gift Card" - Not found, creating new issue
- "Win a Trip to Bali" - Not found, creating new issue
- "Win Year's Supply of Coffee" - Found existing issue #12 (from competitions.com.au)
Creating issues...
✅ Created issue #15: Win $500 Coles Gift Card
- Added to project
- Milestone: December 2024
✅ Created issue #16: Win a Trip to Bali
- Added to project
- Milestone: January 2025
✅ Added comment to issue #12: Win Year's Supply of Coffee
- Noted additional source from netrewards.com.au
Summary:
- 2 new issues created
- 1 duplicate found (added as comment)
- All added to project board
User: Add the strategy analysis to issue #15
Claude: Adding strategy as comment to issue #15...
[Runs: gh issue comment 15 -R "$TARGET_REPO" --body "..."]
✅ Strategy added to issue #15
User: Add these entries to issue #15
Claude: Adding entry drafts as comment to issue #15...
[Runs: gh issue comment 15 -R "$TARGET_REPO" --body "..."]
[Runs: gh issue edit 15 -R "$TARGET_REPO" --add-label "entry-drafted"]
✅ Entries added to issue #15
✅ Added "entry-drafted" label
User: I submitted entry option 2 for issue #15
Claude: Recording submission on issue #15...
[Runs: gh issue comment 15 -R "$TARGET_REPO" --body "..."]
[Runs: gh issue edit 15 -R "$TARGET_REPO" --add-label "entry-submitted"]
✅ Submission recorded on issue #15
✅ Added "entry-submitted" label
This skill can leverage hiivmind-pulse-gh for advanced project operations:
hiivmind-pulse-gh-projects - Update project item fieldshiivmind-pulse-gh-milestones - Manage milestoneshiivmind-pulse-gh-workspace-refresh - Refresh cached IDs if neededThe workspace config at .hiivmind/github/config.yaml contains cached project and field IDs.