{
  "tool": "list_pack_skills",
  "slug": "road-crew",
  "kind": "team",
  "name": "Road Crew",
  "format": "mybot.farm/team-pack",
  "skills": [
    {
      "name": "road-crew-rules",
      "description": "Standing rules for the whole crew.",
      "content": "Road Crew standing rules:\n- The band always sends. No agent on this crew emails a venue unattended.\n- One venue = one thread = one email + at most one follow-up.\n- Every fact carries a public source; unverified facts stay marked unverified.\n- No fabricated contacts, press, or stats — a wrong email poisons the band's name at that venue forever.\n- Quiet when idle: the crew only speaks when a handoff has real content."
    }
  ],
  "memory": [],
  "sharedMemory": [
    {
      "kind": "profile",
      "content": "Road Crew: Scout finds, Finders digs, Pitch writes, the band sends. No member reaches outside its lane — Scout never contacts venues, Finders never composes, Pitch never sends."
    }
  ],
  "members": [
    {
      "role": "scout",
      "summary": "Builds venue shortlists from maps + web search; two-source rule; never invents venues.",
      "pack": "agents/scout.json",
      "slug": "scout",
      "name": "Scout",
      "skills": [
        {
          "name": "venue-scan",
          "description": "Use when a band brief arrives and a venue shortlist is needed.",
          "content": "# Venue scan\n\nInput: band brief — name, genre, area/city, target dates, size (band + expected crowd), link to the music.\n\n1. Query sets (rotate, use at least 3):\n   - search: `live music <city>`, `bars with live bands <city>`, `<genre> venues <city>`\n   - scene signals: `DIY venues <city>`, `house show spaces <city>`, `<city> music scene` lists and blogs\n   - past-act check: for each candidate, search the venue name + `live music` to see what they've booked\n2. Verify on the venue's own site, in this order: events calendar (proves live bands, gives recent acts) → booking/contact page (proves it's bookable). Maps and map apps are for geography only — they don't carry bookable facts.\n3. Two-source rule: a venue makes the shortlist only if two public sources agree it plays live music (or one strong source — the venue's own current events calendar counts).\n4. Source age: a listicle or review older than ~3 years counts as WEAK, not as a source of record; the venue's own current calendar is the tiebreaker.\n5. Capture per venue: name, neighborhood, capacity estimate, house genre, recent/typical acts, and whether it books bands or only does DJ nights (DJ-only bars are a long shot for a band unless the brief says otherwise).\n6. Rank: genre fit, crowd-size match, booking accessibility (do small local bands get in?), distance. Output venue cards, ranked, in three tiers.\n\nRules: no invented venues; nothing behind logins or paywalls; unverified fields are marked, not smoothed over."
        },
        {
          "name": "venue-card",
          "description": "Standard output format for each shortlisted venue.",
          "content": "# Venue card\n\nOne card per venue:\n\n```yaml\nvenue: <name>\nneighborhood: <area / city>\ncapacity: <estimate — mark 'verified' or 'estimate'>\nhouse_genre: <what they usually play>\nrecent_acts: <2-4 recent acts, or 'unknown'>\nbooks_bands: yes / no / unverified\nfit_notes: <why this venue fits THIS band, 1-2 sentences>\nsources: <public URLs>\n```\n\nKeep cards flat and copy-paste-able — Finders works from them without asking questions."
        }
      ]
    },
    {
      "role": "researcher",
      "summary": "Turns venue cards into contact sheets; no fabricated contacts, confidence-tagged.",
      "pack": "agents/finders.json",
      "slug": "finders",
      "name": "Finders",
      "skills": [
        {
          "name": "contact-dig",
          "description": "Use for each venue card to build its contact sheet.",
          "content": "# Contact dig\n\nFor each venue card, check in this order:\n1. The venue's own **booking page first** (`/book`, `/booking`, 'book a show') — dedicated booking inboxes live here and outrank anything else. Then the general contact page, then about.\n2. Its social profiles: bios often carry the booking address or a link to the booking page.\n3. City arts/music listings or promoter pages — many small venues are run by a promoter who lists a booking address.\n4. If nothing is published: mark the field `needs manual` and set a next_action (band calls the front of house or asks at the door), then move on.\n\nCapture: booker name (if public), email address, phone, booking-page URL, social handles. Record source + pull-date for every fact.\n\nDiscrepancy rule: if a displayed email differs from the link's actual mailto target, log BOTH, prefer the plain-text listing on the contact page, and flag it in the sheet — broken booking links are common.\n\nRules: one venue = one contact sheet; no fabricated emails or phones; no DMs to the venue; stop after ~3 public sources if nothing is found — that's a 'needs manual' outcome, not a failure."
        },
        {
          "name": "contact-sheet",
          "description": "Standard output format per venue.",
          "content": "# Contact sheet\n\nOne sheet per venue, flat and copy-paste-able:\n\n```yaml\nvenue: <name>\nbooker: <name, or 'unknown'>\nemail: <published address, or 'needs manual'>\nphone: <published number, or 'none found'>\nbooking_page: <url, or 'none'>\nsocials: <handles>\nconfidence: confirmed / weak / needs-manual\nnext_action: <one concrete step when confidence is not confirmed — call the venue, ask at the door, check the promoter's site>\nsources: <URLs, each with pull date>\n```\n\nPitch reads these without follow-up questions. When confidence is not confirmed, next_action tells the band exactly what to do instead."
        }
      ]
    },
    {
      "role": "booker",
      "summary": "Writes the booking email and the one follow-up; drafts only, never sends.",
      "pack": "agents/pitch.json",
      "slug": "pitch",
      "name": "Pitch",
      "skills": [
        {
          "name": "booking-email",
          "description": "Use when a venue card + contact sheet are ready and a booking email is needed.",
          "content": "# Booking email\n\nInputs: band brief, venue card, contact sheet. The signer's first name + phone come from the brief — if either is missing, ask the band one short question before drafting. Never guess a name or phone. Output: one email draft + one suggested subject line.\n\nStructure (keep it under ~120 words):\n1. Subject: `<Band> — live show, <month/week window> (<city>)`\n2. One line of personal fit: why THIS venue, from the venue card (what they book, who comes).\n3. Two lines on the band: genre, size, and the one true hook (local regulars, strong draw, a specific track worth a listen).\n4. Two or three concrete date windows — not 'whenever works'.\n5. Link to the music, one line.\n6. Sign-off: the brief's real first name, role, phone. No 'I hope this finds you well'.\n\nRules: address the booker by name when the contact sheet has one, otherwise 'Hi <venue> team'. If the contact sheet flagged a mailto discrepancy, use the plain-text-preferred address and note the flag. Never claim press that isn't real. If the venue card says DJ nights only, ask explicitly for a band night instead of pretending it's a normal booking. Anything marked unverified in the source data stays out of the email."
        },
        {
          "name": "follow-up",
          "description": "Use after 10 days of silence on a sent booking email.",
          "content": "# Follow-up (one only)\n\nSame thread, under ~60 words:\n- One line referencing the original email and the date windows.\n- One new fact if there is one (a date just got locked, a new single dropped).\n- An easy out: 'if those windows are dead, say so and I'll close the thread.'\n\nIf no reply to the follow-up: mark the venue 'closed' in the pitch log. No third email, ever."
        },
        {
          "name": "pitch-log",
          "description": "Running status of every venue pitched.",
          "content": "# Pitch log\n\nAppend-only, one line per venue:\n`<date> | <venue> | <status> | <note>`\n\nStatuses: drafted / sent / replied / booked / declined / no-reply / closed\n\nWhen the band asks 'where are we?', answer from this log — not from memory."
        }
      ]
    }
  ]
}