SkillAgentSearch skills...

apollo-prod-checklist

'Execute Apollo.io production deployment checklist.

Install / Use

npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-prod-checklist

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

86/100

Category

Operations

Supported Platforms

Claude Code

Our assessment of apollo-prod-checklist

apollo-prod-checklist scores 86/100 on our quality scale, 486th of 760 Operations skills we index.

Its SKILL.md is 6.4 KB long, well organised into 15 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.

With 2,785 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
20/20
Description
8/15
Adoption
15/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 44 days ago, so apollo-prod-checklist is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-11-07. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

apollo-prod-checklist compared with similar skills

All 4 of these similar skills score higher than apollo-prod-checklist; compare them before choosing.

SkillScoreStarsUpdatedFormat
apollo-prod-checklist (this skill)by jeremylongshore862.8k44d agoSKILL.md
taste-skillby Leonxlnx100111.4k2d agoCLAUDE.md
algorithmic-artby anthropics100177.9k46d agoSKILL.md
pptxby anthropics100177.9k46d agoSKILL.md
designby nextlevelbuilder100143.4k7d agoSKILL.md

Frequently asked questions

How do I install apollo-prod-checklist?
Run npx skills add jeremylongshore/tons-of-skills-marketplace --skill apollo-prod-checklist. The install tabs above show the steps for each supported agent.
Which AI agents does apollo-prod-checklist work with?
It is written for Claude Code, as a SKILL.md file. Other agents that read the same format can often use it too.
Is apollo-prod-checklist safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is apollo-prod-checklist still maintained?
The repository was last updated 44 days ago, so apollo-prod-checklist is actively maintained.

name: apollo-prod-checklist description: 'Execute Apollo.io production deployment checklist.

Use when preparing to deploy Apollo integrations to production,

doing pre-launch verification, or auditing production readiness.

Trigger with phrases like "apollo production checklist", "deploy apollo",

"apollo go-live", "apollo production ready", "apollo launch checklist".

' allowed-tools: Read, Grep, Bash(curl:*) version: 1.13.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • apollo
  • deployment
  • audit compatibility: Designed for Claude Code

Apollo Production Checklist

Overview

Comprehensive pre-production checklist for Apollo.io integrations with automated validation scripts. Covers authentication, resilience, observability, compliance, and credit management.

Prerequisites

  • Valid Apollo.io API credentials
  • Node.js 18+
  • Completed apollo-install-auth setup

Instructions

Step 1: Authentication & Key Management

// src/scripts/prod-checklist.ts
import axios from 'axios';

interface Check { category: string; name: string; pass: boolean; detail: string; }
const results: Check[] = [];

// 1.1 API key is set (not hardcoded)
results.push({
  category: 'Auth', name: 'API key from env/secrets',
  pass: !!process.env.APOLLO_API_KEY,
  detail: process.env.APOLLO_API_KEY ? 'Loaded from env' : 'NOT SET',
});

// 1.2 Using x-api-key header (not query param)
const { execSync } = await import('child_process');
let usesHeader = true;
try { execSync('grep -rn "params.*api_key" src/ --include="*.ts"', { stdio: 'pipe' }); usesHeader = false; } catch {}
results.push({ category: 'Auth', name: 'x-api-key header auth', pass: usesHeader, detail: usesHeader ? 'OK' : 'Switch to x-api-key header' });

// 1.3 API key is valid
try {
  const resp = await axios.get('https://api.apollo.io/api/v1/auth/health', {
    headers: { 'x-api-key': process.env.APOLLO_API_KEY! },
  });
  results.push({ category: 'Auth', name: 'Key valid', pass: resp.data.is_logged_in, detail: resp.data.is_logged_in ? 'OK' : 'Invalid key' });
} catch (err: any) {
  results.push({ category: 'Auth', name: 'Key valid', pass: false, detail: `HTTP ${err.response?.status}` });
}

// 1.4 .env gitignored
const gitIgnored = execSync('git check-ignore .env 2>/dev/null || echo NOT').toString().trim();
results.push({ category: 'Auth', name: '.env gitignored', pass: gitIgnored !== 'NOT', detail: gitIgnored !== 'NOT' ? 'OK' : 'Add .env to .gitignore' });

Step 2: Resilience & Error Handling

async function fileContains(dir: string, pattern: string): Promise<boolean> {
  try { execSync(`grep -r "${pattern}" ${dir} --include="*.ts" -l`, { stdio: 'pipe' }); return true; }
  catch { return false; }
}

results.push({ category: 'Resilience', name: 'Rate limiting',
  pass: await fileContains('src/', 'rate-limiter\\|SlidingWindow\\|RateLimit'),
  detail: 'Rate limiter implementation' });

results.push({ category: 'Resilience', name: 'Retry logic',
  pass: await fileContains('src/', 'withRetry\\|withBackoff\\|exponential'),
  detail: 'Exponential backoff for 429/5xx' });

results.push({ category: 'Resilience', name: 'Error categorization',
  pass: await fileContains('src/', 'categorizeError\\|ApolloApiError'),
  detail: 'Typed error handling' });

results.push({ category: 'Resilience', name: 'Timeout configured',
  pass: await fileContains('src/', 'timeout.*\\d'),
  detail: 'Request timeout set' });

Step 3: Observability

results.push({ category: 'Observability', name: 'PII redaction',
  pass: await fileContains('src/', 'redact'),
  detail: 'PII redaction in logs' });

results.push({ category: 'Observability', name: 'Structured logging',
  pass: await fileContains('src/', 'pino\\|winston\\|console\\.log.*Apollo'),
  detail: 'Logger with Apollo context' });

results.push({ category: 'Observability', name: 'Health endpoint',
  pass: await fileContains('src/', '/health'),
  detail: '/health endpoint checking Apollo connectivity' });

Step 4: Credit & Cost Controls

results.push({ category: 'Credits', name: 'Credit tracking',
  pass: await fileContains('src/', 'credit\\|CreditTracker'),
  detail: 'Track enrichment credit usage' });

results.push({ category: 'Credits', name: 'Deduplication',
  pass: await fileContains('src/', 'dedup\\|isAlreadyEnriched'),
  detail: 'Prevent duplicate enrichment charges' });

results.push({ category: 'Credits', name: 'Budget controls',
  pass: await fileContains('src/', 'budget\\|isOverBudget'),
  detail: 'Daily credit budget enforcement' });

Step 5: Generate Report

function generateReport(results: Check[]) {
  const categories = [...new Set(results.map((r) => r.category))];
  let allPass = true;

  console.log('\n  Apollo Production Readiness Checklist\n');

  for (const cat of categories) {
    console.log(`-- ${cat} --`);
    for (const r of results.filter((r) => r.category === cat)) {
      console.log(`  ${r.pass ? 'PASS' : 'FAIL'}  ${r.name}: ${r.detail}`);
      if (!r.pass) allPass = false;
    }
    console.log('');
  }

  const passCount = results.filter((r) => r.pass).length;
  console.log(`Score: ${passCount}/${results.length} checks passed`);
  console.log(`Status: ${allPass ? 'READY FOR PRODUCTION' : 'BLOCKED — fix failing checks'}`);
  process.exit(allPass ? 0 : 1);
}

generateReport(results);

Output

  • Authentication checks (key source, header auth, validity, gitignore)
  • Resilience checks (rate limiting, retry, error typing, timeouts)
  • Observability checks (PII redaction, logging, health endpoint)
  • Credit controls (tracking, dedup, budget enforcement)
  • Formatted report with pass/fail score and exit code

Error Handling

| Issue | Resolution | |-------|------------| | Auth checks fail | Verify APOLLO_API_KEY env var, switch to x-api-key header | | Missing rate limiting | Add apollo-rate-limits skill patterns | | No credit tracking | Add apollo-cost-tuning skill patterns | | Post-deploy failures | Run checklist in CI as a deployment gate |

Examples

Run as CI Gate

{ "scripts": { "prod:checklist": "tsx src/scripts/prod-checklist.ts" } }
npm run prod:checklist && npm run deploy

Resources

Next Steps

Proceed to apollo-upgrade-migration for API upgrade procedures.

Related Skills

View on GitHub
GitHub Stars2.8k
CategoryOperations
Updated1mo ago
Forks404

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions