Agent skill
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.
From Othmane-Khadri/YALC-the-GTM-operating-system · 61 skills · 290 · pushed 2026-08-20
What it does when it runs
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.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- BREVO_API_KEY
- HUBSPOT_API_KEY
- OPENAI_API_KEY
- PDL_API_KEY
- VERCEL_TOKEN
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git /tmp/YALC-the-GTM-operating-system git -C /tmp/YALC-the-GTM-operating-system sparse-checkout set ".claude/skills/list-adapters" mkdir -p ~/.claude/skills/list-adapters cp -R "/tmp/YALC-the-GTM-operating-system/.claude/skills/list-adapters/." ~/.claude/skills/list-adapters/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs BREVO_API_KEY, HUBSPOT_API_KEY, OPENAI_API_KEY, PDL_API_KEY, VERCEL_TOKEN, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from Othmane-Khadri/YALC-the-GTM-operating-system/blob/5686d1f2f526346133f78eef3349fc5a655757b4/.claude/skills/list-adapters/SKILL.md, which is licensed MIT (repository). 863 words, 13 headings.
List Adapters
I'll show you every capability the engine recognizes and which provider currently backs it. This is the read-only inventory that proves YALC's adapter registry is correctly wired and tells you which capabilities are actually executable on your machine.
When This Skill Applies
Use this skill when the user says:
- "list adapters"
- "show me which providers are configured"
- "which providers are available"
- "what capabilities can YALC use right now"
- "show capability coverage"
NOT this skill (use provider-builder instead):
- "add a new provider for X" — provider-builder authors a fresh YAML manifest.
- "wire up [vendor] to YALC" — same.
NOT this skill (use run-doctor instead):
- "is YALC working" / "diagnose YALC" — run-doctor is the broader 5-layer health check; this skill only inventories adapters.
What This Skill Does
- Runs
yalc-gtm adapters:list --jsonto get the structured adapter registry. - Parses the JSON and renders it grouped by capability.
- For each capability, lists every provider the engine knows about with its source tag —
[built-in](TypeScript),[bundled](YAML shipped with YALC underconfigs/adapters/), or[user](YAML the user dropped in~/.gtm-os/adapters/). - Marks each provider with availability —
✓if every required env var is set,✗if any required key is missing. - Surfaces which provider wins resolution for each capability based on the user's
~/.gtm-os/config.yamlpriority list (or the default priority if no override).
What This Skill Does NOT
- Modify the registry, env files, or any config. Read-only.
- Smoke-test live vendor endpoints. That's
adapters:smoke <path>. - Auto-install missing providers. Use
provider-builder(author a new YAML) orprovider:install <capability>/<provider>(fetch fromproviders/manifests/).
Pre-flight (do this before step 1)
Onboarding interruption guard. Run:
test -f ~/.gtm-os/.in-flight-setup && echo "BLOCKED" || echo "OK"
If BLOCKED, surface a soft warning: setup is mid-flight, so the adapter inventory may not yet reflect freshly-set keys or newly-installed manifests. Since this skill is read-only and never writes anything, ask the user whether to (a) run anyway against the in-flight state, or (b) finish yalc-gtm setup --resume first and re-invoke. Default to (b) unless the user explicitly opts in to (a).
Workflow
Step 0: No user input needed
This is a read-only command. Skip straight to step 1.
Step 1: Run the CLI
From the gtm-os root (~/Desktop/gtm-os/):
npx tsx src/cli/index.ts adapters:list --json
The --json flag emits a structured payload instead of the human-readable table. Per the 0.13.0 benchmark, single-command skills like this one shell out unconditionally — the import-direct path saves only ~10ms here, not worth the maintenance cost. Use the import-direct pattern only for chained skills (see docs/skills-architecture.md).
Step 2: Parse the JSON output
The CLI emits { rows: Array<{ capability, providers: Array<{ id, source, available, priorityIndex?, manifestPath? }> }>, declarativeErrors: Array<...> }.
capabilityis the capability id (e.g.,icp-company-search,crm-contact-upsert).providers[].sourceis'built-in','bundled', or'user'.providers[].availableistrueif every env var the adapter needs is set,falseotherwise.providers[].priorityIndexis the resolution rank (1 = first chosen). Providers without an index are registered but not in the priority list.declarativeErrorslists any YAML manifests that failed to compile at boot — surface these prominently if non-empty.
Step 3: Render a clean inventory
Group by capability. For each capability, list every provider in priority order followed by any non-prioritized entries. Use the format shown in references/example-output.md:
icp-company-search
#1 ✓ crustdata [built-in]
#2 ✓ apollo [built-in]
· ✗ pappers [built-in]
#N is the priority rank. · marks providers registered but not in the priority list. ✓ / ✗ reflects availability.
End the summary with a one-line verdict: how many capabilities have at least one available provider, and how many don't (these are the gaps the user might want to fill).
Step 4: Surface declarative errors
If the JSON includes any declarativeErrors entries, render them after the inventory. Each error has the manifest path and the validation message. These are user-actionable — the user dropped a malformed YAML in ~/.gtm-os/adapters/ and the engine refused to compile it.
Step 5: Offer follow-ups
If any capability has zero available providers, ask:
"Want me to add a provider for
<capability>? I can runprovider-builderto author a new YAML manifest from a vendor docs URL."
If a bundled provider exists but its key isn't set, suggest the relevant /keys/connect/<provider> URL via the dashboard command:
"
<provider>is bundled but<ENV_VAR>isn't set. Want me to open/keys/connect/<provider>in your browser? I'll runyalc-gtm dashboard --route /keys/connect/<provider>."
Don't run anything unless they say yes.
Notes
- The CLI's
--jsonflag was added in 0.11.0 alongside the declarative adapter loader (B2). It's stable and parseable. - This skill never imports the registry directly. The benchmark in
docs/skills-architecture.mdshows the import-direct gain on a single-command read is negligible (~10ms); shell-out keeps the skill body simple and uses the same code path as anyone running the CLI manually. - The CLI is the source of truth for resolution logic — including override semantics (declarative wins over built-in for the same
(capability, provider)). Don't second-guess the registry's output here.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- blitz-list-builder by growthenginenowoslawski · 668
- google-maps-list-builder by growthenginenowoslawski · 668
- list-builder by growthenginenowoslawski · 668
- list-expander by growthenginenowoslawski · 668
- list-quality-scorecard by growthenginenowoslawski · 668
- list-building by extruct-ai · 107
- list-enrichment by extruct-ai · 107
- list-segmentation by extruct-ai · 107
Need help setting it up?
This page tells you what list-adapters 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.