app-store-review-arbit…
Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief…
Takes a buying signal and generates a personalized multi-channel outreach sequence across email, LinkedIn, and phone. Outputs 4-6 ready-to-send touchpoints over 10-14 days. Optionally drafts email touchpoints via Composio Gmail. Use when asked to write an outreach sequence,
Claude Code
$ npx -y skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder --agent claude-code
Codex
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a codex -y
Cursor
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a cursor -y
Gemini CLI
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a gemini-cli -y
GitHub Copilot
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a github-copilot -y
OpenCode
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a opencode -y
Windsurf
$ npx skills add Varnan-Tech/opendirectory --skill outreach-sequence-builder -a windsurf -y
name: outreach-sequence-builder description: Takes a buying signal and generates a personalized multi-channel outreach sequence across email, LinkedIn, and phone. Outputs 4-6 ready-to-send touchpoints over 10-14 days. Optionally drafts email touchpoints via Composio Gmail. Use when asked to write an outreach sequence, build a sales cadence, create a follow-up sequence, personalize outreach for a signal, or generate cold outreach messages. Trigger when a user says "build an outreach sequence for", "write a sales cadence for", "create outreach based on this signal", "they just raised a round write me a sequence", or "generate personalized outreach for". author: OpenDirectory version: 1.0.0
Take a buying signal. Generate a personalized multi-channel outreach sequence. Output ready-to-send messages across email, LinkedIn, and phone.
---
**Critical rule:** Every message must be filled in completely from the context you load. Only `{{first_name}}` is allowed as a variable. No `[Company Name]` brackets, no `[INSERT PAIN POINT]` placeholders. If you do not have the information to fill something in, ask before writing. Never send a message with an unfilled placeholder.
---
Confirm required env vars:
echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}"
echo "COMPOSIO_API_KEY: ${COMPOSIO_API_KEY:-not set, Gmail drafting will be skipped}"**If GEMINI_API_KEY is missing:** Stop. Tell the user: "GEMINI_API_KEY is required. Get it at aistudio.google.com. Add it to your .env file."
**If COMPOSIO_API_KEY is missing:** Continue. Sequences will be output as formatted text for copy-paste. Gmail draft creation is skipped.
---
Check for an existing ICP file and account files:
ls docs/icp.md 2>/dev/null && echo "icp found" || echo "icp missing" ls docs/accounts/ 2>/dev/null && echo "accounts found" || echo "accounts missing"
**If docs/icp.md exists:** Read it. Extract:
**If docs/accounts/{company}.md exists:** Read the relevant file. Extract:
**If neither exists:** Ask the user these 4 questions. Do not proceed until all 4 are answered: 1. What does your product do? (one or two sentences) 2. Who are you targeting? (job title, company size, industry) 3. What is the main problem you solve? (from the buyer's perspective, not yours) 4. What is your key differentiator? (why you over the alternative they use today)
---
Determine which of the 7 signal types applies. Read `references/signal-playbook.md` for the full Insight, Bridge, Opener, and Ask for each signal type.
**7 signal types:**
| Signal | Definition | |--------|-----------| | Post-Fundraise | Company raised a funding round in the last 30 days | | Hiring Signal | Company posted 5 or more roles in a function you serve | | Competitor Displacement | Contact is using a competitor and showing frustration | | Product Launch | Company launched a new product or major feature | | Content Engagement | Contact liked, commented, or shared your content | | Event Follow-up | You met or were in the same session at a conference or webinar | | Job Change | Contact moved to a new company in the last 60 days |
**If the user provided a signal in their prompt:** Confirm the type and extract the specific details (round size, role titles, product name, event name, etc.).
**If no signal is clear:** Ask: "What triggered this outreach? (e.g. they raised a round, they're hiring engineers, you met at an event)"
State the detected signal type and the specific detail before proceeding.
---
Using the signal type and context loaded in Steps 2-3, define the four angle elements. Read `references/signal-playbook.md` for the formula for this signal type.
Write out explicitly before generating any messages:
Signal: [specific signal + concrete detail] Insight: [what this signal reveals about their situation] Bridge: [how your product connects to what the signal reveals] Opener: [one sentence referencing the specific signal detail] Ask: [minimum viable CTA, under 10 words]
The opener must name the specific trigger. Vague openers are rejected.
Good: "Congrats on the $18M Series B — scaling the sales team fast usually creates an onboarding gap." Bad: "I saw your company recently raised funding."
---
Design 4-6 touchpoints across email, LinkedIn, and phone. Rules:
Default cadence for most signals:
Day 1: Email (first touch, signal-led opener) Day 3: LinkedIn (connection note or short DM) Day 7: Email (new angle or case study) Day 9: Phone (talk track + voicemail script) Day 12: Email (different framing or objection addressed) Day 14: Email (short breakup message)
Adjust for signal type:
State the planned day and channel for each touchpoint before writing messages.
---
Read `references/sequence-format.md` in full. Read `references/output-template.md` and select the template for this signal type.
Write the Gemini request to a temp file:
cat > /tmp/outreach-sequence-request.json
Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief…
Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand…
World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then…
Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused…
Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using…
Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…