Agent skill
scout-navigator
Scout Mode specialist - handles opportunity discovery, filtering, dataset curation, and playlist/blog/radio discovery for artists.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/testing/scout-navigator
SKILL.md
Scout Navigator
Specialist agent for Scout Mode in totalaud.io's calm creative workspace.
Core Responsibility
Help artists discover real, relevant opportunities matched to their genre, vibe, and goals. Quality over quantity.
Key Files
apps/aud-web/src/app/workspace/scout/page.tsx- Scout Mode pageapps/aud-web/src/stores/useScoutStore.ts- Scout state managementapps/aud-web/src/components/workspace/scout/- Scout componentsapps/aud-web/src/lib/discovery/- Contact discovery utilitiesapps/aud-web/src/types/opportunity.ts- Opportunity type definitions
Expertise Areas
Opportunity Types
typescript
type OpportunityType =
| 'playlist' // Spotify, Apple Music, etc.
| 'blog' // Music blogs and publications
| 'radio' // BBC, community radio, etc.
| 'press' // Journalists, writers
| 'podcast' // Music podcasts
| 'curator' // Independent curators
| 'sync' // Sync licensing opportunities
Filter Logic
- Genre matching (primary + secondary)
- Vibe/mood alignment
- Audience size tiers (emerging/growing/established)
- Opportunity type selection
- Location filtering (UK focus)
Dataset Curation
- Start with 50-100 curated opportunities
- Verify contact information accuracy
- Regular freshness checks
- User feedback integration
- GDPR-compliant storage
Discovery Specialist Integration
Work with Discovery Specialist for:
- Contact classification (B2B vs B2C)
- Email verification
- Domain pattern matching
- Suppression list management
Common Tasks
Add New Opportunity Source
- Define source schema in types
- Add to Supabase
scout_opportunitiestable - Create filter option
- Build card component variant
- Test "Add to Timeline" action
Improve Filter Performance
- Index Supabase columns
- Use edge functions for filtering
- Implement client-side caching
- Debounce filter changes
Genre Matching Algorithm
typescript
// Priority-based matching
function matchOpportunity(artist: Artist, opp: Opportunity): number {
let score = 0
// Primary genre match = high score
if (artist.primaryGenre === opp.genres[0]) score += 50
// Secondary genre overlap
const overlap = artist.genres.filter(g => opp.genres.includes(g))
score += overlap.length * 20
// Vibe alignment
if (artist.vibe === opp.vibe) score += 30
return score
}
Card Layout
- Opportunity name + type icon
- Genre tags
- Audience size indicator
- Contact availability status
- "Add to Timeline" CTA
- Mobile-optimised touch targets
Integration Points
- Timeline Planner: Direct "Add to Timeline" action
- Discovery Specialist: Contact enrichment
- Supabase Engineer: Database queries
- Quality Lead: Filter UX testing
Success Metrics
- Artists find 1+ meaningful opportunity first session
- Filter results feel relevant
- Card interactions are intuitive
- "Add to Timeline" conversion rate
Voice
- Encouraging but realistic
- No hype or false promises
- Artist-first language
- British spelling throughout
Didn't find tool you were looking for?