Skill library
YALC 1.0, the open-source Clay alternative. MIT, CLI-first, self-hosted, runs in Claude Code. Yalc today is an intelligent orchestration layer that runs pre configured GTM agents on your existing tech stack (CRM, sequencer and call recorder) → yalc.ai
Repository health
GitHub’s own figures, read from its REST API. Commit and contributor totals come from the paging header rather than an estimate.
- Stars
- 290
- Commits
- 330
- Last 90 days
- 2
- Contributors
- 5
- Last push
- 2026-08-20
- First commit
- 2026-01-04
commits
repo created
61 skills
- answer-linkedin-comments
Reply to comments on a LinkedIn post via Unipile — drafts thread-aware replies grounded in the user's voice and the conversation context, then sends on approval. Use when the user says 'answer comments on my post', 'reply to LinkedIn comments', 'respond to engagement on this post', 'draft replies to commenters', or 'answer the LinkedIn thread'. Side-effecting — calls Unipile to read + post replies.
Reaches the webActs undeclared283 words - build-routine
Auto-derive a complete sales routine — installed frameworks, schedules, and default dashboard — from your archetype, available providers, and rich context, then install it on confirmation. Hybrid runtime: the proposal is import-direct (~700ms median, deterministic rule-based), the install is shell-out (writes to ~/.gtm-os/routine.yaml + config.yaml). Use when the user says 'build my sales routine', 'show me what YALC would auto-configure', 'propose a routine for me', 'set up a sales routine', or 'auto-derive my routine'. Side-effecting on install only — propose is read-only.
Self-containedActs undeclared861 words - campaign-dashboard
This skill should be used when the user says 'campaign status', 'show me campaigns', 'visualize campaigns', 'what's the state of campaigns', 'campaign dashboard', 'open campaign view', 'how are outreach campaigns doing visually', 'show campaign pipeline', 'show me the leads for [campaign]', or any variant indicating they want a visual browser-based campaign dashboard.
Self-containedActs undeclared384 words - campaign-strategy
Pre-flight strategy advisor for a new campaign. Analyses every past campaign in the local YALC DB (HeyReach campaigns auto-sync on each run), their real outbound copy, where in the sequence each conversation first replied, every prior retro brief, and the validated/proven intelligence file. Then it proposes angle, audience, batch size, channel choice, and concrete testable hypotheses for the campaign you are about to launch. Does NOT draft outbound copy — that is refine-outbound-copy's job. Use when someone says 'I want to launch a campaign for X', 'how should we approach this campaign', 'what should we test next', 'strategy for the next campaign', or 'campaign manager' in the context of building a new campaign.
Self-containedActs undeclared1,400 words - claap-weekly-recap
Turns a week of Claap-recorded sales calls into action items and focus blocks on a Notion Kanban, delivered with a Slack summary. Use when the user says 'weekly call recap', 'turn my calls into action items', 'Sunday recap from Claap', 'what should I focus on next week based on my calls', 'pull this week's deal next steps from Claap', or schedules a recurring digest of recorded conversations. Side-effecting — reads Claap via MCP, writes Notion cards, sends a Slack DM. On first run with no config it enters an interactive SETUP MODE that walks the user through wiring everything up — no failed scheduled runs.
Needs a keyActs undeclared2,925 words - cross-platform-schedulerSelf-containedActs undeclared378 words
- debugger
Activate when any GTM-OS CLI command fails with an error. Also triggers on: 'debug', 'fix', 'not working', 'broken', 'troubleshoot', 'help me fix', 'what went wrong', 'why is this failing', or any variant indicating something is broken.
Needs a keyActs undeclared1,844 words - enrich-with-signals
Pull PredictLeads buying-intent signals (jobs, news, funding, tech, leadership changes) for a result set of companies and write them back into the local cache. Use when the user says 'enrich these companies with signals', 'add buying signals to this list', 'pull intent data for [domain]', 'check signals for these accounts', or 'fetch jobs and news for these companies'. Side-effecting — calls PredictLeads API and writes to local SQLite + JSON cache.
Self-containedActs undeclared279 words - find-lookalikes
Find companies similar to a seed domain via PredictLeads' similar_companies endpoint and persist them as a result set ready for enrichment or qualification. Use when the user says 'find lookalikes for [domain]', 'companies similar to [name]', 'show me lookalike accounts', 'expand from this company', or 'discover similar prospects'. Side-effecting — calls PredictLeads API and writes to local cache.
Needs a keyActs undeclared237 words - fullenrich-content-engagers
Use when the user says "enrich people who engaged with this post", "qualify post engagers with FullEnrich", "scrape and enrich LinkedIn post {URL}", "engagers from this post into a CSV", "enrich this CSV of leads", "FullEnrich content engagers", or any variant indicating they want to convert a list of leads — either LinkedIn post likers/commenters scraped via Unipile, or a bring-your-own CSV — into ICP-qualified, enriched leads via FullEnrich v2 bulk enrichment with webhook callback delivery.
Needs a keyActs undeclared706 words - fullenrich-event-attendees
Use when the user says "enrich this LinkedIn event", "enrich attendees of this event", "enrich this attendees CSV", "scrape and enrich LinkedIn event {URL}", "FullEnrich event attendees", or any variant indicating they want to turn LinkedIn event attendees into an SDR-ready CSV with verified emails and mobile phones. Two input modes: (a) bring-your-own attendees CSV (PhantomBuster, Evaboot, Sales Navigator, manual paste), or (b) run a user-configured Apify actor against a LinkedIn event URL. Both converge on FullEnrich v2 bulk enrichment with webhook callback delivery.
Needs a keyActs undeclared669 words - fullenrich-network-activation
Use when the user says "activate co-founder network with FullEnrich", "enrich LinkedIn connections export", "qualify my LinkedIn connections CSV", "turn Connections.csv into a lead list", "FullEnrich network activation", or any variant indicating they want to convert a LinkedIn personal-network CSV export into ICP-qualified leads with FullEnrich-verified emails and phones. Reads the LinkedIn Data Export Connections.csv, applies an ICP filter, then enriches missing contact info via FullEnrich v2 with webhook callback delivery.
Needs a keyActs undeclared503 words - fullenrich-plg-reverse-lookup
Use when the user says "set up FullEnrich reverse lookup for trial signups", "PLG enrichment webhook", "identify free trial signups via FullEnrich", "reverse email lookup for these signups", "who are these emails", "deploy a hosted webhook for trial signups", or any variant indicating they want to identify the person and company behind a signup email. Two install paths: (a) CLI batch over a CSV/JSON of recent signups, (b) hosted webhook that receives signup events live, runs FullEnrich reverse lookup, and outputs the enriched record as a JSONL log plus an optional generic forward webhook the user wires to whatever downstream they run.
Needs a keyActs undeclared635 words - icp-import
Translate a client's Notion ICP doc into YALC framework files for a tenant. Reads the Notion page (any structure), maps content flexibly into the 9 canonical YALC sections (framework.yaml, icp/segments.yaml, qualification_rules.md, voice/, positioning/, search_queries.txt, campaign_templates.yaml, company_context.yaml), parks unmappable content in notes.md, and lands everything in _preview/ for review and commit. Use when someone says 'import ICP for X', 'populate framework from Notion', 'sync ICP from Notion for <tenant>', or 'pull ICP into YALC'.
Needs a keyActs undeclared136 words - import-leads
Import a batch of leads from CSV, JSON, or a Notion DB into the local SQLite database without running the qualification pipeline. Use when the user says 'just import this CSV', 'load these leads without qualifying', 'bulk import this file', 'add these prospects to the DB', or 'pull this Notion DB into YALC'. Side-effecting — writes rows into local SQLite.
Self-containedActs undeclared255 words - integrate-with-yalc
Points at the user's existing Claude Code repo, analyses what's already there, and produces a plan for how to make it work alongside YALC without conflicts. Covers workspace layout, skill trigger collisions, context migration, and orchestration examples. Read-only by default — a separate apply step moves files only after the user confirms. Use when someone says 'integrate my repo with YALC', 'I have my own Claude Code setup, how do I add YALC', 'merge my repo with YALC', 'how do I bolt YALC onto my existing skills', or 'I want to use my own skills alongside YALC'.
Self-containedActs undeclared1,697 words - launch-linkedin-campaign
Set up a LinkedIn outreach campaign on a list of leads (connect → DM1 → DM2 sequence) by chaining `campaign:create` and `campaign:create-sequence`. Enforces the outbound hypothesis gate (refuses to launch without a hypothesis recorded for outreach-campaign-builder). Use when the user says 'launch a LinkedIn campaign for these leads', 'send a LinkedIn outreach to this list', 'start the outbound to the qualified leads', 'run the LinkedIn sequence on this result set', or 'fire the connect-then-DM flow'. Side-effecting — writes to SQLite and stages the sequence on Unipile.
Self-containedActs undeclared1,042 words - campaign-angle-finder
Analyzes a target persona and context to generate 3 distinct campaign angles for outbound sequences. Use this skill whenever the user wants to find the right angle for a campaign, asks "what angle should I use for this persona", "give me campaign ideas for this target", "how should I approach this audience", or provides a target and some context before writing emails. Always produces exactly 3 differentiated angles with rationale, campaign hook, and pain focus for each.
Self-containedInstructions only1,075 words - company-finder
Translates an ICP definition into a step-by-step guide for identifying target companies in lemlist using signals, triggers, and firmographic filters. Use when asked "find me companies to target", "how do I find accounts in lemlist", "build a company list", "which companies match my ICP", "how to use lemlist signals to find prospects", or after list-builder routes to account-level targeting. Produces a pedagogical, step-by-step signal and filter guide.
Self-containedInstructions only1,404 words - competitor-finder
Conduct competitive analysis to identify direct and indirect competitors, map their positioning, surface strengths and weaknesses, and generate differentiation angles for outbound messaging. Use when asked "who are our competitors", "competitive analysis for [company]", "how do we compare to X", "find alternatives to [product]", "competitive positioning", "battlecard", "how to beat [competitor]", "what do competitors offer", or "differentiate from X in outreach". Always use this skill before writing competitive positioning or handling competitor objections.
Self-containedInstructions only602 words - copywriting-analyzer
Scores, audits, and rewrites B2B cold emails and outreach sequences against research-backed performance criteria targeting 8.5%+ reply rates. Use this skill whenever the user shares a cold email, a sequence, or any sales outreach copy and wants feedback, a score, or an improved version — even if they just say "review this email", "improve my sequence", "is this cold email good?", "score my outreach", or paste an email without further context. Always produces a full scorecard + a rewritten version of the email.
Self-containedInstructions only1,078 words - copywriting-first-touch
Writes a high-converting first touch cold email — either as a standalone message or as the opening email of a sequence. Use this skill whenever the user wants to write the first email to a cold prospect, says "write me a first email", "draft a cold email", "write my first touch", "how do I open with this prospect", or asks for a single outreach email without prior context. Works for any industry, any product, any seniority level. Always produces one polished first-touch email with subject line, body, and a sequence bridge if needed.
Self-containedInstructions only1,485 words - copywriting-follow-up
Writes follow-up cold emails after no reply from a prospect. Use this skill whenever the user wants to follow up on an email that got no response, says "write a follow-up", "they didn't reply, what do I send?", "draft a bump email", "write email 2 or 3 of my sequence", or asks how to re-engage a cold prospect. Works for any industry, any product, any seniority level. Never repeats the first email — always introduces a new angle, new value, or a new lens. Produces one follow-up email per call, calibrated for the position in the sequence.
Self-containedInstructions only1,718 words - copywriting-ic-sequence
Writes a 3-email outbound sequence targeting Individual Contributors (SDR, AE, BDR, Account Manager, Marketing Specialist, Sales Rep, RevOps Analyst, CS Rep, etc.). Use this skill whenever the user wants to write cold emails for an IC, says "write me a sequence for SDRs", "draft emails targeting AEs", "emails for individual contributors", or provides an IC persona and asks for outreach copy. Always produces a complete 3-email campaign following strict copywriting rules, calibrated for personal, day-in-the-life IC messaging that earns a reply without going over their head.
Self-containedInstructions only1,752 words - copywriting-manager-sequence
Writes a 3-email outbound sequence targeting Manager-level buyers (Sales Manager, Marketing Manager, RevOps Manager, Team Lead, Operations Manager, etc.). Use this skill whenever the user wants to write cold emails for a Manager, says "write me a sequence for a Sales Manager", "draft emails targeting managers", or provides a manager persona and asks for outreach copy. Always produces a complete 3-email campaign following strict copywriting rules, calibrated for operational, team-focused manager messaging.
Self-containedInstructions only1,670 words - copywriting-refiner
Audits any cold email, LinkedIn message, or outreach sequence against a strict quality checklist and rewrites every failing element. Use when asked "refine this email", "clean up my copy", "check this email", "can you review this sequence", "fix my cold email", or whenever outreach copy is shared and needs to be tightened up. Also use when the user pastes an email and asks if it's good, too long, too formal, or "too salesy". Always produces a pass/fail audit + a corrected version of the copy.
Self-containedInstructions only1,149 words - copywriting-vp-sequence
Writes a 3-email outbound sequence targeting VP-level buyers (VP Sales, VP Marketing, VP Revenue, VP Operations, VP Product, etc.). Use this skill whenever the user wants to write cold emails for a VP, says "write me a sequence for a VP of Sales", "draft emails targeting VP-level", or provides a VP persona and asks for outreach copy. Always produces a complete 3-email campaign following strict copywriting rules, calibrated for strategic, outcome-driven VP messaging.
Self-containedInstructions only1,571 words - cta-designer
Design personalized, value-based call-to-actions (CTAs) for cold outreach that spark conversations instead of demanding meetings. Use when asked "what CTA should I use", "help me with my call to action", "how to end my email", "what lead magnet should I offer", "how to get a reply", "how to close my cold email", "CTA ideas for outreach", "what should I ask for in my sequence", or any request about how to end an outreach message or what to offer prospects. Always use this skill before writing or finalizing any outreach CTA. This skill replaces generic "book a call" CTAs with Permissionless Value Promises that make prospects respond out of genuine interest, not obligation.
Self-containedInstructions only948 words - gtm-action-thinker
Brainstorms, challenges, and pushes any GTM idea to its fullest potential — on both the idea itself and its execution. Use this skill whenever the user shares a campaign idea, an outbound angle, a workflow concept, a positioning hypothesis, or any GTM initiative and wants to think it through deeply. Even if they just say "I have an idea", "what do you think about this", "help me think through this campaign", or "is this a good GTM move". Always challenges assumptions, identifies blind spots, and produces a concrete execution plan alongside the creative expansion.
Self-containedInstructions only1,914 words - icp-definer
Define and prioritize narrow Ideal Customer Profiles (ICPs) for outbound targeting. Use when asked "who should we target", "define ICP", "best customers for X", "outbound targeting", "who gets most value", "segment customers", "narrow audience", "prioritize accounts", "who should we reach out to", or "build me an outbound ICP". Always use this skill before building any list or writing any outreach.
Self-containedInstructions only533 words - linkedin-outbound-angle
Analyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach. Use this skill whenever the user shares a LinkedIn profile URL, a screenshot, or copy-pasted profile data and wants to know how to approach this prospect — even if they just say "analyze this profile", "how do I reach out to this person", "find me an angle for this lead", "write me an icebreaker for this prospect", or "what's the best hook for this LinkedIn profile". Always asks for company context, ICP, and value prop before analyzing. Produces a prioritized angle recommendation with ready-to-use outreach hooks.
Self-containedInstructions only2,251 words - list-builder
Guides users to build a targeted prospect list in lemlist by translating an ICP into concrete search filters and signal configurations. Use when asked "build me a list", "find me leads", "find me prospects", "how do I find companies to target", "help me build a prospect list", "where do I start to find leads", or any request to identify or compile a list of potential customers. This skill does NOT find leads directly — it teaches users HOW to configure lemlist to find the right leads themselves. Always use before people-finder or company-finder.
Self-containedInstructions only485 words - offer-definer
Transform product descriptions and feature lists into compelling, outcome-focused offers for cold outreach. Use when asked "how to frame my offer", "what should I say in cold emails", "how to pitch my product", "make my offer clearer", "value proposition for outreach", "how do I explain what we do", "turn features into benefits", or "write a one-liner for my product". Use after ICP and persona are defined, before writing outreach copy.
Self-containedInstructions only564 words - outbound-analyst
Analyze and benchmark outbound campaign performance against real lemlist data from 244K+ campaigns and 249M+ emails. Use when asked "are my stats good", "is my reply rate good", "why am I not getting replies", "is my open rate normal", "how do I compare to benchmarks", "my campaign is underperforming", "what's a good reply rate", "is X% good for cold email", "my LinkedIn acceptance rate is low", "how many emails should I send per day", "my deliverability is bad", "analyze my campaign stats", or any question involving outreach metrics, rates, or performance. Always use this skill before giving any opinion on whether a stat is good or bad. This skill gives instant verdicts with real data — not vague "it depends" answers.
Self-containedInstructions only1,253 words - outbound-campaign-architect
Designs high-performance outbound sequences based on ICP, available channels, and empirical lemlist data from hundreds of thousands of campaigns. Use this skill whenever the user wants to build, design, or optimize an outbound sequence, campaign, or cadence — whether they say "create a sequence", "build a campaign", "what steps should I use", "how should I structure my outreach", or "help me reach out to X". Also trigger when the user mentions an ICP + a goal (e.g. "I want to book meetings with VP Sales at Series B SaaS"). Always use this skill before any sequence is written.
Self-containedInstructions only1,201 words - pain-identifier
Identify and prioritize evidence-based pain points a target company likely faces, based on growth signals, tech stack, hiring activity, and industry context. Use when asked "what are [company]'s pain points", "research pain points for [company]", "why would [company] buy", "what problems does [company] face", "qualify this lead", "account research for [company]", "help me personalize outreach to [company]", or "what signals should I mention in my email to [company]".
Self-containedInstructions only722 words - people-finder
Translates an ICP and persona definition into a step-by-step guide for configuring lemlist's people database search to find the right contacts. Use when asked "find me contacts", "who do I search for in lemlist", "how do I find the right person to email", "build a contact list in lemlist", "search for [role] in lemlist", or after list-builder routes to contact-level targeting. Produces a pedagogical, step-by-step filter guide tailored to the ICP and persona.
Self-containedInstructions only1,205 words - persona-definer
Identify and prioritize buyer personas at the contact level for outbound targeting. Use when asked "who should I email", "define buyer persona", "what role to target", "who is the decision maker", "who has this pain", "which title to reach out to", "should I target VPs or Directors", or "contact-level targeting". Use AFTER ICP is defined (ICP = which companies, Persona = which person at those companies).
Self-containedInstructions only562 words - reply-handler
Analyze cold outreach replies and craft the right response based on a relationship-first philosophy. Use when asked "how to reply to this", "they said X what do I say", "handle this objection", "got a response from a prospect", "interested reply", "not interested reply", "next step after reply", "competitor objection", "pricing question", or "how do I respond to this email/LinkedIn message". Always use this skill before writing any reply to a prospect.
Self-containedInstructions only683 words - trigger-finder
Buying trigger analysis skill for outbound sales teams. Identifies and interprets trigger events (funding, hiring, tool changes, job changes, LinkedIn activity, M&A, etc.) to help time outreach and sharpen messaging. Works in two modes: (1) Strategic — given an ICP, recommends the best triggers to activate and the right messaging angle for each; (2) Tactical — given a specific company or signal, explains how to exploit it right now. ALWAYS use this skill when the user mentions signals, triggers, buying intent, "right time to reach out", timing outreach, "they just raised", "they just hired", "they changed jobs", job postings, funding rounds, tech stack changes, LinkedIn activity, or any event-based prospecting. Use it even if the user just says "when should I reach out to X".
Self-containedInstructions only1,395 words - value-prop-lister
Extract and organize all value propositions from a company website or materials into a structured inventory, categorized by type and mapped to personas and outreach channels. Use when asked "list my value props", "what value do we provide", "extract our benefits", "summarize our value propositions", "what should I highlight in outreach", "organize our messaging", or "what do we offer customers". Use to inform offer framing, email copy, and sales enablement.
Self-containedInstructions only597 words - lemlist-campaign-from-icp
Use when the user says "create a lemlist campaign for X", "build a lemlist campaign from this ICP", "spin a lemlist campaign for Y", "ICP to lemlist", "natural language to lemlist campaign", "draft a lemlist campaign", "lemlist campaign for VPs/Managers/ICs at Z", or any variant indicating they want to turn a natural-language ICP description into a paused, ready-to-review lemlist campaign with sourced leads and a seniority-routed sequence. Orchestrates 24 lemlist atomic skills (ICP, persona, sourcing, copywriting, QA) and the lemlist MCP server (`get_lemleads_filters`, `lemleads_search`, `create_campaign_with_sequence`, `add_sequence_step`, `add_lead_to_campaign`, `validate_campaign_readiness`) into one end-to-end loop. Hard approval gate before the MCP push — never auto-sends. Depends on the 24 lemlist atomic skills under `.claude/skills/lemlist/` and the lemlist MCP server declared in `.mcp.json` — fails fast if either is missing.
Needs a keyInstructions only3,408 words - list-adapters
Show every capability the engine knows about and which provider backs it (built-in TypeScript, bundled YAML, or user-installed YAML), with availability flags reflecting whether each provider's API key is set. Use when the user says 'list adapters', 'show me which providers are configured', 'which providers are available', 'what capabilities can YALC use right now', or 'show capability coverage'. Read-only — never writes anything.
Needs a keyActs undeclared863 words - lost-deal-revival-agent
Drafts revival messages for closed-lost deals when a public company signal contradicts the original objection. Receives the signal-pair watcher's fire payload, fetches the verbatim Claap objection quote, and produces a 2-line draft that quotes it back. Default output is a HubSpot task for human review. Optional Lemlist DRAFT sequence for higher-volume tenants. Never auto-sends. Use when the user says 'revive closed-lost deals', 'set up revival agent', 'when objection X is fixed by signal Y reach out', 'lost deal revival', or schedules a closed-lost re-engagement loop. Side-effecting on each fire: reads Claap via MCP, drafts via Anthropic, writes a HubSpot task or stages a Lemlist DRAFT sequence, sends a Slack DM to the operator.
Needs a keyActs undeclared1,589 words - notion-review
Set up a Notion verification surface so YALC outputs (qualified leads, qualified visitors, qualified engagers, lead-magnet replies, content drafts) land in a kanban that you approve in Notion before downstream skills act on them. Each output type has ONE Batches kanban — every card is a batch (e.g. one lead list per campaign). Clicking a card opens its page with an INLINE Leads table rendered directly in the body (no extra click). Every item defaults to Status='Qualified'; users mark bad rows as 'Removed' (kill list), then drag the batch from To Review → Approved with one drag. Supports per-user-configured columns. Registers config in ~/.gtm-os/notion-reviews.yaml. Toggles the gate between hard (halt until approved) and autonomous (push + continue). Use when someone says 'set up a review kanban for [output type]', 'create a Notion review surface', 'I want to verify [output type] in Notion', 'let me approve qualified leads before YALC acts on them', 'reconfigure my review kanban', 'turn on Notion verification', 'trust YALC to act on engagers autonomously', or 'turn the verification gate back on for engagers'.
Needs a keyInstructions only295 words - personalize-message
Generate a personalized outbound message (LinkedIn DM or cold email) for a single prospect by combining a template with the lead's profile, company, and recent signals. Use when the user says 'personalize this message', 'tailor this outreach to the prospect', 'rewrite this template for [name]', 'make this message more personal', or 'generate a personal opener'. Side-effecting — calls Anthropic and may pull live profile/company context via Firecrawl/Unipile/Crustdata.
Needs a keyActs undeclared690 words - predictleads-dashboard
Use when a teammate wants to visually browse PredictLeads signals already cached in local SQLite — triggers include "dashboard for [domains]", "visualize signals for [list]", "show signals as a dashboard", "HTML view of [client lookalikes]", or any request to scan many companies' signals at a glance.
Needs a keyActs undeclared537 words - predictleads-lookalikes
Use when a teammate wants to find companies similar to a known account, asks "find lookalikes for [domain]", "companies like [client]", "similar to [domain]", "competitors of [company]", or "expand the target list from [client]". Pure account discovery — no outreach drafting, no CMO finding.
Needs a keyActs undeclared339 words - predictleads-signals
Use when a teammate wants ad-hoc PredictLeads signals for a single company, asks "what's happening at [company]", "signals for [domain]", "enrich [domain] with PredictLeads", "pull jobs/funding/news for [company]", or wants to read previously cached signals from local SQLite without burning new credits.
Needs a keyActs undeclared397 words - prospect-discovery-pipeline
Use when a teammate wants a full discovery-to-outreach pipeline anchored on existing clients. Triggers include "find prospects like [client]", "build a target list like [domain]", "lookalike discovery for [client]", "discovery to outreach for [criteria]", "10 companies similar to [X] with a CMO", or any multi-step request combining lookalike search + decision-maker identification + signal enrichment + LinkedIn variant drafting.
Needs a keyActs undeclared761 words - provider-builder
Use when a teammate wants to add a new vendor to YALC for an existing capability without shipping a release. Triggers include "add a new provider for X", "wire up [vendor] to YALC", "build an adapter for [vendor]", "I want to use [vendor] for [capability]", "add Apollo for icp-company-search", or any variant indicating they want to author a declarative YAML manifest under `~/.gtm-os/adapters/`. Converts a vendor name + capability id + docs URL into a registered, smoke-tested manifest in roughly five minutes.
Needs a keyActs undeclared1,803 words - qualify-leads
Run the GTM-OS 7-gate qualification pipeline over a batch of leads from a CSV, JSON, Notion DB, profile-visitors export, post-engagers export, or an existing SQLite result set. Writes per-lead pass/fail data back into SQLite and returns a result-set id you can hand to the campaign launcher. Use when the user says 'qualify these leads', 'score this lead list', 'run the qualification pipeline', 'check if these leads are a fit', or 'qualify the engagers'. Side-effecting — writes to the local SQLite db.
Needs a keyActs undeclared762 words - research-prospect
Run ad-hoc web research on a prospect (company URL or person) — Firecrawl scrapes the marketing site, key pages (pricing, careers, blog), and surfaces a brief. Read-only. Use when the user says 'research this prospect', 'tell me about [company]', 'do a deep dive on [domain]', 'pull a brief on this lead', or 'crawl the marketing site for [name]'. Side-effecting on the Firecrawl side (API call), no local DB writes.
Needs a keyActs undeclared245 words - run-competitive-intel
Pull competitive intelligence on a competitor — pricing, positioning, recent changes, customer stories — via the competitive-intel CLI. Use when the user says 'analyze this competitor', 'pull competitive intel on [company]', 'compare us to [competitor]', 'what's [company] doing differently', or 'audit [competitor] pricing'. Side-effecting — calls Firecrawl + Anthropic, writes to local cache.
Needs a keyActs undeclared202 words - run-doctor
Run the GTM-OS health check across all 5 diagnostic layers (environment, database, configuration, provider connectivity, runtime state). Use when the user says 'is YALC working', 'diagnose YALC', 'check YALC health', 'is everything configured', 'run the health check', or 'are my keys set up'. Read-only — never writes anything. Surfaces /keys/connect/<provider> URLs alongside any failed provider so the user has a one-click path to fix.
Needs a keyActs undeclared1,122 words - scrape-post-engagers
Pull the audience that engaged with a LinkedIn post — likers (reactors) and commenters — via Unipile, dedupe across endpoints, and persist them as a result set ready for qualification or campaign launch. Use when the user says 'scrape engagers from this post', 'who liked this LinkedIn post', 'who commented on this LinkedIn post', 'pull engagers from this URL', or 'get the audience of this post'. Side-effecting — calls Unipile and writes to the local SQLite DB.
Reaches the webActs undeclared751 words - send-cold-email
Send a cold email campaign or single message via the configured email provider (Instantly by default), optionally pre-drafting the sequence. Use when the user says 'send a cold email to this list', 'fire the email sequence', 'launch the email campaign', 'send the drip sequence', or 'email these qualified leads'. Side-effecting — calls Instantly API and writes to local SQLite + Notion.
Needs a keyActs undeclared251 words - setup
Install and configure YALC GTM-OS for first-time use. Use only after the user has decided to proceed with installation. Triggers on phrases like 'install YALC', 'configure YALC', 'set up the CLI', 'first-time install', 'scaffold ~/.gtm-os', '.env setup', 'set up YALC', or '/setup'. Installs the CLI if missing, writes a template .env file, captures company context from a website + LinkedIn, walks through preview review, commits to live, and recommends frameworks based on the resulting setup. Does NOT cover 'what is YALC' or general first-touch orientation — route those to the yalc-orientation skill.
Needs a keyActs undeclared154 words - show-routine
Show the proposed sales routine without installing it — read-only preview of which frameworks YALC would auto-configure, with schedules and rationale, based on current archetype + providers + context. Use when the user says 'show my routine', 'what would YALC propose', 'preview the routine', 'dry-run the routine generator', or 'just show me the proposal'. Read-only — never writes anything.
Self-containedActs undeclared246 words - track-campaigns
Poll Unipile / Instantly for the status of running campaigns, advance sequence steps that are due, and sync results to Notion. Run this on a cadence (cron / launchd) or manually after staging a campaign. Use when the user says 'track campaigns', 'advance the sequences', 'check campaign progress', 'poll for replies', or 'sync replies to Notion'. Side-effecting — calls Unipile/Instantly, writes to SQLite + Notion.
Self-containedActs undeclared232 words - yalc-orientation
First-touch onboarding for someone who just opened the YALC repo. Triggers when the user pastes the repo URL `https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system` (with or without trailing slash, with or without `.git`), or says any of: 'what is yalc', 'what is this', \"let's start\", \"let's go\", 'i just cloned this', 'how do i use this', 'got the repo', 'where do i begin', \"i'm new to yalc\". Introduces YALC, checks prerequisites, asks the user what they want to do, and routes to the right capability. Hands off to /setup if the environment isn't initialized.
Reaches the webInstructions only566 words
Need help setting it up?
This page tells you what Othmane-Khadri/YALC-the-GTM-operating-system does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.