Apollo Outreach
OpenClaudia/openclaudia-skills
Research and enrich B2B leads using the Apollo.io API. An agent skill from OpenClaudia/openclaudia-skills.
A skill your agent uses when a teammate wants to add a new vendor to YALC for an existing capability without shipping a release.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/provider-builder .claude/skills/provider-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .claude/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/provider-builder .agents/skills/provider-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .agents/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/provider-builder .cursor/skills/provider-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .cursor/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git --path .claude/skills/provider-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/provider-builder .gemini/skills/provider-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .gemini/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/provider-builder .github/skills/provider-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .github/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system provider-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/provider-builder .opencode/skills/provider-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "provider-builder" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/provider-builder into .opencode/skills/provider-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "provider-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
provider-builderA skill your agent uses when a teammate wants to add a new vendor to YALC for an existing capability without shipping a release.
Provider Builder is an agent skill from Othmane-Khadri/YALC-the-GTM-operating-system. 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.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/troubleshooting.md` and `references/yaml-template.yaml`).
It sits in Backend & APIs, covering Go-to-market strategy and GraphQL. The repository describes itself as: 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…. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5686d1f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.apollo.ioFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APOLLO_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Provider Builder loads about 3.2k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 133 tokens; SKILL.md has 1,499 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
to the user, **never** reads `~/.gtm-os/.env`.LO_API_KEY`). **Do not** open `~/.gtm-os/.env`. Use `process.env` only — `node -e "console.log(process.env.APOLLO_API_KEint any API keys, won't touch `~/.gtm-os/.env`, and won't draft anything for OAuth / SDK-only / signed-request vendors (t — ask the user to set it in `~/.gtm-os/.env`, then re-run. Do **not** read or print the value.- **Never** read `~/.gtm-os/.env`. Verification is `process.env.<VAR> ? 'set' : 'unset'` only.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Othmane-Khadri/YALC-the-GTM-operating-system at commit 5686d1f, republished under its MIT licence (© Othmane-Khadri). 1,499 words, ~3,236 tokens.
.claude/skills/provider-builder/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Author a declarative adapter manifest from a vendor name, a capability id, and a docs URL. Drafts YAML, smoke-tests against the live vendor, and only then registers the file under ~/.gtm-os/adapters/. Built on the manifest schema in src/lib/providers/declarative/types.ts and the adapters:smoke runner. Never writes secrets into the manifest, never prints API keys back to the user, never reads ~/.gtm-os/.env.
icp-company-search"people-enrich"email-campaign-create"Don't use when: the vendor needs OAuth, request signing (Sigv4 / HMAC), gRPC / websockets, an SDK-only client, or two-call flows (/token then /search). All of those are out of scope for declarative v1 — exit with a stub TS template (see Failure mode 2 below).
Onboarding interruption guard. Run:
test -f ~/.gtm-os/.in-flight-setup && echo "BLOCKED" || echo "OK"If BLOCKED, stop. Tell the user: "Setup is mid-flight. Finish yalc-gtm start first, then re-invoke me." Exit cleanly. This skill writes to the adapter registry from Step 5 onward, so it must not race the onboarding flow.
Confirm the trigger is in scope. If the user mentioned OAuth, an SDK, gRPC, or signed requests, jump to Failure mode 2 and exit cleanly.
Confirm pnpm cli adapters:list works in the cwd. If not, the package isn't built or the user is in the wrong directory — surface that and stop.
Resolve the env var name with the user (e.g., APOLLO_API_KEY). Do not open ~/.gtm-os/.env. Use process.env only — node -e "console.log(process.env.APOLLO_API_KEY ? 'set' : 'unset')" is the maximum disclosure allowed (prints set / unset, never the value).
Greet the user briefly and state what this skill will and won't do, so they can correct course before any work starts:
"I'll author a declarative YAML adapter for
<vendor>against the<capability>capability — draft the manifest from vendor docs, smoke-test it against the live endpoint, and only register it under~/.gtm-os/adapters/once smoke is green. I won't read or print any API keys, won't touch~/.gtm-os/.env, and won't draft anything for OAuth / SDK-only / signed-request vendors (those need a TS adapter). Roughly five minutes if the vendor's REST docs are clean."
Confirm the vendor + capability id with the user before moving to Step 1. If either is missing, ask for it now — one question at a time.
Resolve the capability id with fuzzy matching. Examples:
people-enrichicp-company-searchemail-campaign-createlanding-page-deploypnpm cli adapters:listPick the capability id from the output. Then surface its input/output schema to the user so they understand what the manifest must produce. Schemas live in src/lib/providers/capabilities.ts and the per-capability adapter files under src/lib/providers/adapters/<capability>-*.ts. Read the capability's inputSchema + outputSchema and present the required fields.
If the requested capability id does not exist, stop. Tell the user a new capability requires a TS change (out of scope for this skill) and offer to file that as a follow-up.
WebFetch (preferred for stable docs) or use the web-browsing skill (Firecrawl) for JS-heavy docs sites. Pull these from the docs page:
header / query / bearer. Note the header or query-param name. If you see Authorization: Bearer …, use bearer. If you see X-Api-Key: …, use header with name: X-Api-Key.{ data: [...] }, { results: [...] }, etc.) and the per-item field names.cursor vs page. Skip on first pass; add later only if needed.Detect out-of-scope flows up front (see Failure mode 2). If the docs reference any of: "OAuth", "authorization code", "refresh_token", "client_secret" + browser redirect, AWS Sigv4, HMAC signature, gRPC, websockets, an official SDK with no documented REST endpoint — exit cleanly.
If the docs page is incomplete (no example response, no error envelope), ask the user for one missing piece at a time. Never guess.
Write the YAML to /tmp/yalc-builder/{capability}-{provider}.yaml. Do not write directly to ~/.gtm-os/adapters/ — that comes after smoke green.
mkdir -p /tmp/yalc-builderStart from references/yaml-template.yaml. Required fields:
manifestVersion: 1
capability: <id> # from step 1, exact match
provider: <vendor-id> # short kebab-case, e.g. "apollo"
version: 0.1.0
auth:
type: header # or bearer / query
name: X-Api-Key # omit for bearer
value: ${env:APOLLO_API_KEY}
endpoint:
method: POST
url: https://api.example.com/v1/search
request:
contentType: application/json
bodyTemplate: |
{ "q": "{{input.keywords}}", "limit": {{input.limit | default: 25}} }
response:
rootPath: results
mappings:
"companies[].name": "$.name"
"companies[].domain": "$.primary_domain"
errorEnvelope:
matchPath: $.error
messagePath: $.error
smoke_test:
input:
keywords: "saas"
limit: 5
expectNonEmpty: ["companies[0].domain"]Mapping rules (see src/lib/providers/declarative/compiler.ts):
companies[].domain iterate over rootPath array; targets without [] are scalars.$.field reads from the current row (or root for scalars).null emits literal null."https://$.url" keeps the prefix and substitutes the path."$.readyState == 'READY'" returns boolean.Template scope (Mustache-flavour):
{{input.foo}} — the runtime input passed to the capability{{env.VAR}} — process env{{auth.value}} / {{auth.name}} / {{auth.type}} — resolved auth| default: 25, | default: "x", | jsonShow the draft to the user before moving on.
Ask the user for sample input that fits the capability's input schema and is realistic (a real company name, a real domain). Replace the YAML's smoke_test.input with that input. Then:
pnpm cli adapters:smoke /tmp/yalc-builder/<capability>-<provider>.yamlExit code 0 = green: every expectNonEmpty path resolved to a non-empty value. Exit code 1 = red.
On red, loop:
MissingApiKeyError, the env var is unset — ask the user to set it in ~/.gtm-os/.env, then re-run. Do not read or print the value.ProviderApiError with HTTP 401/403, auth is mis-shaped (wrong header name, wrong type). Adjust auth.* and re-run.ProviderApiError with HTTP 4xx, the request body / query is wrong. Print the response, ask the user which field to revise, edit the manifest, re-run.rootPath or mappings are wrong. Re-run with --json (pnpm cli adapters:smoke <path> --json) to inspect the raw response, realign mappings, re-run.Hard cap: 3 iterations. After the third red, stop. Dump the last response + last manifest to /tmp/yalc-builder/debug.json. Tell the user the manifest is at /tmp/yalc-builder/<file>.yaml, the debug artifact is at /tmp/yalc-builder/debug.json, and that they should hand the artifact to a maintainer or use references/troubleshooting.md. Exit cleanly — never silently drop a half-broken manifest in the live adapters dir.
On smoke green:
mkdir -p ~/.gtm-os/adapters
mv /tmp/yalc-builder/<capability>-<provider>.yaml ~/.gtm-os/adapters/Then prompt the user: "Bump <provider> to the front of the priority list for <capability>?" If yes, edit ~/.gtm-os/config.yaml:
capabilities:
<capability>:
priority: [<new-provider>, <existing-providers...>]If ~/.gtm-os/config.yaml does not exist, create it:
capabilities:
<capability>:
priority: [<new-provider>]Verify with pnpm cli adapters:list — the new row should show [declarative] with the manifest path and ✓ available.
Append a one-line entry to ~/.gtm-os/adapters/INSTALLED.md:
2026-04-30 — icp-company-search/apollo — smoke OK — https://docs.apollo.io/...If the file does not exist, create it with a header:
# YALC declarative adapters installed locally
# date — capability/provider — smoke status — docs URLIf the docs page lacks a response example, an error envelope, or an auth section, ask the user for that one piece. Never invent fields. If the user can't supply it (e.g., docs are private), suggest they run a real call with curl and paste the response — that's the source of truth.
Detect in step 2. Exit cleanly with this message:
"[vendor] needs a TS adapter — out of scope for declarative v1. The declarative DSL only supports static auth (header / bearer / query) and one HTTP call per execute. A TS adapter stub goes at
src/lib/providers/adapters/<capability>-<provider>.ts. See an existing adapter (e.g.peopleEnrichFullenrichAdapter) as a starting point."
Do not draft a YAML. Do not write to /tmp/yalc-builder/.
Stop. Write /tmp/yalc-builder/debug.json with the last manifest and the last response. Hand back to the user. See references/troubleshooting.md for the common causes.
A new capability is a TS change to src/lib/providers/capabilities.ts. Out of scope for this skill. Tell the user, offer to file a follow-up.
This skill MUST:
${env:VAR_NAME}.~/.gtm-os/.env. Verification is process.env.<VAR> ? 'set' : 'unset' only.This matches the user's standing rule on never displaying secrets in chat.
web-browsing skill (Firecrawl) — for JS-heavy docs sites.pnpm cli adapters:list, pnpm cli adapters:smoke, file ops under /tmp/yalc-builder/ and ~/.gtm-os/adapters/.references/yaml-template.yaml — blank manifest with comments per field. Use this for a docs-light flow where the user pastes a curl example instead.references/troubleshooting.md — common docs-extraction and smoke-failure patterns, with concrete remediations.docs/superpowers/specs/2026-05-01-declarative-adapters-design.md — full spec (sections 1, 4, 5 are the relevant ones for this skill).src/lib/providers/declarative/types.ts — manifest type definitions.src/lib/providers/declarative/compiler.ts — template + mapping engine reference.src/lib/providers/declarative/schema.json — JSON Schema the compiler validates against.provider:install CLI for fetching community manifests from the bundled providers/manifests/ directory (separate workstream).src/lib/providers/declarative/ itself (compiler / loader / schema). Manifests are data; if the runtime is wrong, that's a different fix.© Othmane-Khadri, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .claude/skills/provider-builder of Othmane-Khadri/YALC-the-GTM-operating-system.
Open the folder on GitHubat commit 5686d1f
Provider Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Provider Builder this skillOthmane-Khadri/YALC-the-GTM-operating-system | 317 | — | ~3.2k | Automated safety check: Notes | MIT | |
| Apollo OutreachOpenClaudia/openclaudia-skills | 713 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Gtm Enrichment Deepgooseworks-ai/goose-skills | 1.2k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Apollo Core Workflow Ajeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Gingiris B2b GrowthGingiris-1031/Competitor-analysis-tool | 110 | — | ~1.2k | Automated safety check: Pass | None | |
| Google Tag ManagerVKirill/claude-lane-stack | 122 | — | ~3.1k | Automated safety check: Pass | MIT |
OpenClaudia/openclaudia-skills
Research and enrich B2B leads using the Apollo.io API. An agent skill from OpenClaudia/openclaudia-skills.
gooseworks-ai/goose-skills
AI-agent-powered lead enrichment using Sixtyfour as primary source.
jeremylongshore/tons-of-skills-marketplace
Implement Apollo.io lead search and enrichment workflow. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Gingiris-1031/Competitor-analysis-tool
🇺🇸 B2B SaaS Growth — PLG vs SLG Playbook — Diagnose whether your problem is distribution, pricing, or PMF.
VKirill/claude-lane-stack
[RU: gtm, тег менеджер, google tag manager, контейнер, теги, триггеры, переменные, публикация версии, откат] GTM API v2 full read + write — Account/Container/Workspace hierarchy…
tech-leads-club/agent-skills
When the user wants to build data enrichment workflows, score leads against ICP, set up Clay waterfalls, or improve contact data quality.
Othmane-Khadri/YALC-the-GTM-operating-system
Turns a week of Claap-recorded sales calls into action items and focus blocks on a Notion Kanban, delivered with a Slack summary.
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses 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…
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses 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…
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses 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…
Othmane-Khadri/YALC-the-GTM-operating-system
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.
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "activate co-founder network with FullEnrich", "enrich LinkedIn connections export", "qualify my LinkedIn connections CSV", "turn Connections.csv into a…
Categories
A skill your agent uses when a teammate wants to add a new vendor to YALC for an existing capability without shipping a release. Provider Builder is an agent skill from Othmane-Khadri/YALC-the-GTM-operating-system. Use when a teammate wants to add a new vendor to YALC for an existing capability without shipping a release.
Provider Builder fits situations like: A teammate wants to add a new vendor to YALC for an existing capability without shipping a release; include add a new provider for X; wire up [vendor] to YALC; build an adapter for [vendor].
Run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a claude-code`. Or copy the skill folder (.claude/skills/provider-builder in Othmane-Khadri/YALC-the-GTM-operating-system) into .claude/skills/provider-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a codex`. Or copy the skill folder (.claude/skills/provider-builder in Othmane-Khadri/YALC-the-GTM-operating-system) into .agents/skills/provider-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill provider-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/provider-builder, .gemini/skills/provider-builder, .github/skills/provider-builder and .opencode/skills/provider-builder in your project.
Going by SKILL.md and its folder, Provider Builder needs the command-line tools its instructions call (pnpm and node) and credentials named APOLLO_API_KEY. Our summary lists: A credential in APOLLO_API_KEY.
SKILL.md names 1 domain. In commands or code: docs.apollo.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Provider Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Provider Builder: Apollo Outreach (OpenClaudia/openclaudia-skills, 713 stars), Gtm Enrichment Deep (gooseworks-ai/goose-skills, 1.2k stars), Apollo Core Workflow A (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Gingiris B2b Growth (Gingiris-1031/Competitor-analysis-tool, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Othmane-Khadri (a GitHub user) maintains it in Othmane-Khadri/YALC-the-GTM-operating-system, which has 317 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on August 20, 2026.
Source: Othmane-Khadri/YALC-the-GTM-operating-system on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.