Agent skill

Apollo Local Dev Loop

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Configure Apollo.io local development workflow. An agent skill from jeremylongshore/tons-of-skills-marketplace.

MITAuto-check: notesBackend & APIs

Install Apollo Local Dev Loop

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-local-dev-loop -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace apollo-local-dev-loop --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/apollo-local-dev-loop .claude/skills/apollo-local-dev-loop && rm -rf skills-src

Use ~/.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/

Facts

Skill name
apollo-local-dev-loop
GitHub stars
2.8k
Token cost
~1.9k tokens
SKILL.md length
306 words
Files
2 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Configure Apollo.io local development workflow. An agent skill from jeremylongshore/tons-of-skills-marketplace.

  • Works in 5 steps: Set Up Environment Files → Create a Dev Client with Request Logging → Set Up MSW Mock Server for Offline Testing → …
  • Setting up development environment
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
  • Calls npm; reaches api.apollo.io and linkedin.com; needs APOLLO_API_KEY and APOLLO_SANDBOX_KEY

What it does

Apollo Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace. Configure Apollo.io local development workflow. Use when setting up development environment, testing API calls locally, or establishing team development practices. Trigger with phrases like "apollo local dev", "apollo development setup", "apollo dev environment", "apollo testing locally".

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/implementation-guide.md`). Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering GraphQL. It works with Vitest and npm. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Setting up development environment
  • Testing API calls locally
  • Establishing team development practices
  • With phrases like apollo local dev

Example prompts

  • “apollo local dev”
  • “apollo development setup”
  • “apollo dev environment”
  • “/apollo-local-dev-loop”

Requirements

  • Node.js
  • A credential in APOLLO_API_KEY
  • A credential in APOLLO_SANDBOX_KEY
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Set Up Environment Files
  2. Create a Dev Client with Request Logging
  3. Set Up MSW Mock Server for Offline Testing
  4. Configure Vitest
  5. Add Development Scripts

What it can do on your machine

Read from SKILL.md and the folder at commit 23ea8d4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash(npm:*)
    • Bash(pip:*)
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.apollo.io
    • linkedin.com

    Also links to:

    • docs.apollo.io
    • mswjs.io
    • vitest.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • APOLLO_API_KEY
    • APOLLO_SANDBOX_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Apollo Local Dev Loop loads about 1.9k tokens when it runs, and up to ~3.1k if it reads all its reference files. Until then it costs about 78 tokens; SKILL.md has 306 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.1k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:50
    # .env (gitignored — copy from example)
  • NoteMentions a .env fileSKILL.md:51
    cp .env.example .env
  • NoteMentions a .env fileSKILL.md:52
    echo '.env' >> .gitignore
  • NoteMentions a .env fileSKILL.md:53
    echo '.env.local' >> .gitignore
  • NoteMentions a .env fileSKILL.md:240
    | Missing API Key | `.env` not loaded | Run `cp .env.example .env` and add your key |
  • NoteMentions a .env fileSKILL.md:242
    off | Set `APOLLO_USE_SANDBOX=true` in `.env` |

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.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit 23ea8d4, republished under its MIT licence (© jeremylongshore). 306 words, ~1,932 tokens.

Download SKILL.mdSave it as .claude/skills/apollo-local-dev-loop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
apollo-local-dev-loop
description
Configure Apollo.io local development workflow. Use when setting up development environment, testing API calls locally, or establishing team development practices. Trigger with phrases like "apollo local dev", "apollo development setup", "apollo dev environment", "apollo testing locally".
allowed-tools
Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep
compatibility
Designed for Claude Code
version
1.13.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, apollo, api, testing, workflow

Apollo Local Dev Loop

Overview

Set up an efficient local development workflow for Apollo.io integrations. Includes sandbox API key support, MSW mock server for offline testing, request logging, and npm scripts for daily development. Apollo provides a sandbox API token that returns dummy data without consuming credits.

Prerequisites

  • Completed apollo-install-auth setup
  • Node.js 18+
  • Git repository initialized

Instructions

Step 1: Set Up Environment Files

Apollo offers a sandbox token for testing. Generate one at Settings > Integrations > API Keys > Sandbox.

bash
# .env.example (commit this — team reference)
APOLLO_API_KEY=your-api-key-here
APOLLO_SANDBOX_KEY=your-sandbox-key-here
APOLLO_USE_SANDBOX=false

# .env (gitignored — copy from example)
cp .env.example .env
echo '.env' >> .gitignore
echo '.env.local' >> .gitignore
Step 2: Create a Dev Client with Request Logging
typescript
// src/apollo/dev-client.ts
import axios from 'axios';
import dotenv from 'dotenv';

dotenv.config();

const apiKey = process.env.APOLLO_USE_SANDBOX === 'true'
  ? process.env.APOLLO_SANDBOX_KEY
  : process.env.APOLLO_API_KEY;

export const devClient = axios.create({
  baseURL: 'https://api.apollo.io/api/v1',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': apiKey!,
  },
  timeout: 30_000,
});

// Log request shape in development; never print contact fields or credentials.
devClient.interceptors.request.use((config) => {
  console.log(`[Apollo] ${config.method?.toUpperCase()} ${config.url}`);
  if (config.data && typeof config.data === 'object') {
    console.log('[Apollo] Body fields:', Object.keys(config.data).sort().join(', '));
  }
  return config;
});

devClient.interceptors.response.use(
  (res) => {
    const remaining = res.headers['x-rate-limit-remaining'];
    console.log(`[Apollo] ${res.status} ${res.config.url}${remaining ? ` — ${remaining} req remaining` : ''}`);
    return res;
  },
  (err) => {
    console.error(`[Apollo] ERROR ${err.response?.status}: ${err.response?.data?.message ?? err.message}`);
    return Promise.reject(err);
  },
);
Step 3: Set Up MSW Mock Server for Offline Testing
typescript
// src/mocks/apollo-handlers.ts
import { http, HttpResponse } from 'msw';

const BASE = 'https://api.apollo.io/api/v1';

export const apolloHandlers = [
  // People Search (free endpoint)
  http.post(`${BASE}/mixed_people/api_search`, () =>
    HttpResponse.json({
      people: [
        { id: 'mock-1', name: 'Jane Doe', title: 'VP Sales', organization: { name: 'Acme Corp' } },
        { id: 'mock-2', name: 'John Smith', title: 'Director Engineering', organization: { name: 'Acme Corp' } },
      ],
      pagination: { page: 1, per_page: 25, total_entries: 2, total_pages: 1 },
    }),
  ),

  // People Enrichment
  http.post(`${BASE}/people/match`, () =>
    HttpResponse.json({
      person: {
        id: 'mock-enriched', name: 'Jane Doe', email: 'jane@acme.com',
        title: 'VP Sales', organization: { name: 'Acme Corp' },
        phone_numbers: [{ sanitized_number: '+14155551234' }],
        linkedin_url: 'https://www.linkedin.com/in/janedoe',
      },
    }),
  ),

  // Organization Enrichment
  http.get(`${BASE}/organizations/enrich`, ({ request }) => {
    const url = new URL(request.url);
    return HttpResponse.json({
      organization: {
        id: 'mock-org', name: 'Acme Corp', industry: 'Technology',
        estimated_num_employees: 250, annual_revenue_printed: '$25M',
        primary_domain: url.searchParams.get('domain') ?? 'acme.com',
      },
    });
  }),

  // Search for Sequences
  http.post(`${BASE}/emailer_campaigns/search`, () =>
    HttpResponse.json({
      emailer_campaigns: [
        { id: 'seq-1', name: 'Q1 Outbound', active: true, num_steps: 4 },
      ],
    }),
  ),

  // Auth Health
  http.get(`${BASE}/auth/health`, () =>
    HttpResponse.json({ is_logged_in: true }),
  ),
];
typescript
// src/mocks/server.ts
import { setupServer } from 'msw/node';
import { apolloHandlers } from './apollo-handlers';
export const mockServer = setupServer(...apolloHandlers);
Step 4: Configure Vitest
typescript
// vitest.config.ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
  test: { setupFiles: ['./src/mocks/setup.ts'], environment: 'node' },
});

// src/mocks/setup.ts
import { mockServer } from './server';
import { beforeAll, afterAll, afterEach } from 'vitest';
beforeAll(() => mockServer.listen({ onUnhandledRequest: 'warn' }));
afterEach(() => mockServer.resetHandlers());
afterAll(() => mockServer.close());
typescript
// src/__tests__/people-search.test.ts
import { describe, it, expect } from 'vitest';
import { devClient } from '../apollo/dev-client';

describe('Apollo People Search', () => {
  it('returns contacts from mock server', async () => {
    const { data } = await devClient.post('/mixed_people/api_search', {
      q_organization_domains_list: ['acme.com'],
      per_page: 10,
    });
    expect(data.people).toHaveLength(2);
    expect(data.people[0].name).toBe('Jane Doe');
  });
});
Step 5: Add Development Scripts
json
{
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "test": "vitest",
    "test:watch": "vitest --watch",
    "test:live": "APOLLO_USE_SANDBOX=false vitest --run",
    "test:sandbox": "APOLLO_USE_SANDBOX=true vitest --run",
    "apollo:check": "tsx src/scripts/verify-auth.ts",
    "apollo:search": "tsx src/scripts/quick-search.ts"
  }
}

Output

  • .env.example template with sandbox key support
  • Dev client with request/response logging and rate-limit display
  • MSW mock handlers for people search, enrichment, org enrichment, and sequences
  • Vitest config with mock server setup/teardown
  • npm scripts for dev, test, sandbox testing, and credential checks

Examples

For a new people-search change, run the MSW-backed unit suite first and assert only synthetic fixture fields. Enable the sandbox key only for the narrow connectivity check after the mock suite passes, with APOLLO_USE_SANDBOX=true set explicitly in the command environment. Review logs for endpoint, status, and request-field names—not contact values, API keys, or full error payloads. If the sandbox key is absent, the mock server is bypassed, or any live-credit path is selected unexpectedly, stop the run and restore the mock-only setup before continuing development.

Error Handling

ErrorCauseSolution
Missing API Key.env not loadedRun cp .env.example .env and add your key
Mock Not WorkingMSW not configuredEnsure setupFiles includes mock setup
Unexpected credits usedSandbox mode offSet APOLLO_USE_SANDBOX=true in .env
Stale CredentialsKey rotated in dashboardRun npm run apollo:check to verify

Resources

Next Steps

Proceed to apollo-sdk-patterns for production-ready code patterns.

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/.curated/apollo-local-dev-loop of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/implementation-guide.md

Open the folder on GitHubat commit 23ea8d4

Compare with similar skills

Apollo Local Dev Loop 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.

Apollo Local Dev Loop compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Apollo Local Dev Loop this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.9kAutomated safety check: NotesMIT
Shopifyasgeirtj/system_prompts_leaks69k—~2kAutomated safety check: PassCC0-1.0
Dependency Conflict Resolvermohitagw15856/pm-claude-skills1.4k—~709Automated safety check: PassMIT
China Mirror ResolverLeoYeAI/openclaw-master-skills2.2k—~4.6kAutomated safety check: NotesMIT
Dependency ResolverArabelaTso/Skills-4-SE253—~3.9kAutomated safety check: NotesApache-2.0
Repo Hygiene Scan and FixQwenLM/qwen-code28k—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Shopify

    asgeirtj/system_prompts_leaks

    Set up and operate a Shopify store with Shopify's official MCP server (the installed shopify command, NOT the npm Shopify CLI).

    69k GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Dependency Conflict Resolver

    mohitagw15856/pm-claude-skills

    Resolve a dependency or version conflict (npm, pip, yarn, pnpm, Maven, Go modules) step by step.

    1.4k GitHub stars~709 tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • China Mirror Resolver

    LeoYeAI/openclaw-master-skills

    Self-healing China mirror source resolver. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~4.6k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes
  • Dependency Resolver

    ArabelaTso/Skills-4-SE

    Identify, analyze, and manage software dependencies before deployment.

    253 GitHub stars~3.9k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • Scheduled CI skill that scans a repository for small, certain docs, test and code hygiene issues and fixes them on one branch with a commit per finding.

    28k GitHub stars~1.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Code Review

    yaklang/yakit

    对 Yakit 仓库的代码改动做规范化 code review:按代码逻辑、TS 定义、UI 引用与 Props、CSS 样式、依赖版本、配置项六个维度审查,检查测试用例缺失,强制执行 tsc 类型检查与 vitest 测试验证,输出「结果汇总 / 明细解释 / 合并结论」三块报告,经用户确认后写入文件。当用户要求 review、审查、评审代码改动,或在提交、合并、提 PR…

    7.8k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check: notes

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Analyzing Text With NLP

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to perform natural language processing and text analysis using the nlp-text-analyzer plugin.

    2.8k GitHub starsUsed in 1 repo~819 tokens
    Auto-check passed
  • Building Neural Networks

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill allows AI assistant to construct and configure neural network architectures using the neural-network-builder plugin.

    2.8k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Detecting Data Anomalies

    jeremylongshore/tons-of-skills-marketplace

    Process identify anomalies and outliers in datasets using machine learning algorithms.

    2.8k GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • Explaining Machine Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill enables AI assistant to provide interpretability and explainability for machine learning models.

    2.8k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Optimizing Prompts

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill optimizes prompts for large language models (llms) to reduce token usage, lower costs, and improve performance.

    2.8k GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed

Works with

Categories

Questions about Apollo Local Dev Loop

What does Apollo Local Dev Loop do?

Configure Apollo.io local development workflow. An agent skill from jeremylongshore/tons-of-skills-marketplace. Apollo Local Dev Loop is an agent skill from jeremylongshore/tons-of-skills-marketplace.io local development workflow.

When should I use Apollo Local Dev Loop?

Apollo Local Dev Loop fits situations like: setting up development environment; testing API calls locally; establishing team development practices; with phrases like apollo local dev.

How do I install Apollo Local Dev Loop in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-local-dev-loop -a claude-code`. Or copy the skill folder (skills/.curated/apollo-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/apollo-local-dev-loop in your project. Claude Code loads it when a task matches its description.

How do I install Apollo Local Dev Loop in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-local-dev-loop -a codex`. Or copy the skill folder (skills/.curated/apollo-local-dev-loop in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/apollo-local-dev-loop in your project. Codex loads it when a task matches its description.

Can I use Apollo Local Dev Loop in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-local-dev-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apollo-local-dev-loop, .gemini/skills/apollo-local-dev-loop, .github/skills/apollo-local-dev-loop and .opencode/skills/apollo-local-dev-loop in your project.

What does Apollo Local Dev Loop need to run?

Going by SKILL.md and its folder, Apollo Local Dev Loop needs the command-line tools its instructions call (npm) and credentials named APOLLO_API_KEY and APOLLO_SANDBOX_KEY. Our summary lists: Node.js; A credential in APOLLO_API_KEY; A credential in APOLLO_SANDBOX_KEY. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.

Does Apollo Local Dev Loop access the network?

SKILL.md names 5 domains. In commands or code: api.apollo.io and linkedin.com; the agent is likely to contact these when it follows the instructions. As links in the text: docs.apollo.io, mswjs.io and vitest.dev. This is read from the text; nothing was executed.

Is Apollo Local Dev Loop safe to install?

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.

What licence does Apollo Local Dev Loop use?

Apollo Local Dev Loop is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Apollo Local Dev Loop use?

About 1.9k tokens (SKILL.md is roughly 7.7k 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 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Apollo Local Dev Loop?

Skills that share tags, products or a category with Apollo Local Dev Loop: Shopify (asgeirtj/system_prompts_leaks, 69k stars), Dependency Conflict Resolver (mohitagw15856/pm-claude-skills, 1.4k stars), China Mirror Resolver (LeoYeAI/openclaw-master-skills, 2.2k stars) and Dependency Resolver (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Apollo Local Dev Loop?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,821 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 8, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.