Agent skill

Clay Architecture Variants

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

Choose and implement Clay integration architecture for different scales and use cases.

MITAuto-check passedBackend & APIs

Install Clay Architecture Variants

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill clay-architecture-variants -a claude-code

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

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace clay-architecture-variants --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/plugins/saas-packs/clay-pack/skills/clay-architecture-variants .claude/skills/clay-architecture-variants && 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
clay-architecture-variants
GitHub stars
2.8k
Token cost
~2.4k tokens
SKILL.md length
417 words
Files
1
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Choose and implement Clay integration architecture for different scales and use cases.

  • Designing new Clay integrations
  • SKILL.md covers Overview, Prerequisites, Instructions and Decision Matrix, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Comparing direct vs queue-based vs event-driven

What it does

Clay Architecture Variants is an agent skill from jeremylongshore/tons-of-skills-marketplace. Choose and implement Clay integration architecture for different scales and use cases. Use when designing new Clay integrations, comparing direct vs queue-based vs event-driven, or planning architecture for Clay-powered data operations. Trigger with phrases like "clay architecture", "clay blueprint", "how to structure clay", "clay integration design", "clay event-driven".

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code

It sits in Backend & APIs, covering Event-driven systems. 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

  • Designing new Clay integrations
  • Comparing direct vs queue-based vs event-driven
  • Planning architecture for Clay-powered data operations
  • With phrases like clay architecture

Example prompts

  • “clay architecture”
  • “clay blueprint”
  • “how to structure clay”
  • “/clay-architecture-variants”

Requirements

  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Grep

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. 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
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

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

  • Network

    Links to these hosts (documentation or services it may open):

    • university.clay.com
    • docs.bullmq.io

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    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

Clay Architecture Variants loads about 2.4k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 417 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

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 passed

The automated check found no risky patterns in SKILL.md.

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 cfae287, republished under its MIT licence (© jeremylongshore). 417 words, ~2,385 tokens.

Download SKILL.mdSave it as .claude/skills/clay-architecture-variants/SKILL.md (or your agent's skills folder).
name
clay-architecture-variants
description
Choose and implement Clay integration architecture for different scales and use cases. Use when designing new Clay integrations, comparing direct vs queue-based vs event-driven, or planning architecture for Clay-powered data operations. Trigger with phrases like "clay architecture", "clay blueprint", "how to structure clay", "clay integration design", "clay event-driven".
allowed-tools
Read, Write, Edit, Grep
compatibility
Designed for Claude Code
version
1.14.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, clay, migration, scaling

Clay Architecture Variants

Overview

Three proven architecture patterns for Clay data enrichment at different scales. Clay is a hosted SaaS -- your architecture decisions focus on how you send data in (webhooks), how you get enriched data out (HTTP API columns, CRM sync, or CSV export), and how you orchestrate the flow.

Prerequisites

  • Clay account with appropriate plan tier
  • Clear understanding of data volume and latency requirements
  • Infrastructure for chosen architecture tier (if queue-based or event-driven)

Instructions

Architecture 1: Direct Integration (Simple)

Best for: Small teams, < 1K enrichments/day, ad-hoc usage.

┌──────────────┐     webhook     ┌───────────┐
│ Your App     │───────POST─────>│ Clay Table │
│ (or CSV)     │                 │ (enriches) │
└──────────────┘                 └─────┬─────┘
                                       │
                                  CRM action
                                  or CSV export
                                       │
                                       v
                                 ┌───────────┐
                                 │ CRM / DB  │
                                 └───────────┘
typescript
// Direct: send leads synchronously, export results manually
async function directEnrich(leads: Lead[]): Promise<void> {
  for (const lead of leads) {
    await fetch(process.env.CLAY_WEBHOOK_URL!, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(lead),
    });
    await new Promise(r => setTimeout(r, 250)); // Rate limit
  }
  console.log(`Sent ${leads.length} leads. Check Clay table for enriched data.`);
  // Enriched data reaches CRM via Clay's native CRM action column
}

Pros: Zero infrastructure, 5-minute setup, works on all Clay plans. Cons: No retry logic, no programmatic access to enriched data, manual export only.


Architecture 2: Webhook-in, HTTP API-out (Standard)

Best for: Growing teams, 1K-10K enrichments/day, CRM integration.

┌──────────────┐     webhook     ┌───────────┐   HTTP API col   ┌──────────────┐
│ Your App     │───────POST─────>│ Clay Table │──────POST──────>│ Your Webhook │
│              │                 │ (enriches) │                 │ Handler      │
└──────────────┘                 └───────────┘                 └──────┬───────┘
                                                                      │
                                                                 Process +
                                                                 Route
                                                                      │
                                                          ┌───────────┼───────────┐
                                                          │           │           │
                                                          v           v           v
                                                       ┌─────┐   ┌───────┐   ┌──────┐
                                                       │ CRM │   │Outreach│  │ DB   │
                                                       └─────┘   └───────┘   └──────┘
typescript
// Standard: send leads via webhook, receive enriched data via HTTP API column
// Inbound: Your app -> Clay
async function sendLeads(leads: Lead[]): Promise<void> {
  const batchResult = await clayClient.sendBatch(leads, 200);
  console.log(`Sent: ${batchResult.sent}, Failed: ${batchResult.failed}`);
}

// Outbound: Clay HTTP API column -> Your webhook handler
app.post('/api/clay/enriched', async (req, res) => {
  res.json({ ok: true }); // Respond fast

  const lead = req.body;
  if (lead.icp_score >= 80 && lead.work_email) {
    await pushToCRM(lead);
    await addToOutreachSequence(lead);
  } else if (lead.icp_score >= 50) {
    await addToNurtureCampaign(lead);
  }
});

Pros: Full automation, programmatic access to enriched data, flexible routing. Cons: Requires Growth plan (HTTP API columns), needs public HTTPS endpoint.


Architecture 3: Queue-Based Pipeline (Scale)

Best for: Enterprise, 10K+ enrichments/day, multiple data sources.

┌───────────┐
│ Web Forms │──┐
└───────────┘  │     ┌───────────┐     webhook     ┌───────────┐
               ├────>│ Job Queue │───────POST─────>│ Clay Table │
┌───────────┐  │     │ (BullMQ)  │                 │ (enriches) │
│ CRM Events│──┘     └───────────┘                 └─────┬─────┘
└───────────┘              │                              │
                      DLQ on fail                   HTTP API col
┌───────────┐              │                              │
│ CSV Import│──────────────┘                              v
└───────────┘                                   ┌──────────────┐
                                                │ Your Handler │
                                                │ (w/ circuit  │
                                                │  breaker)    │
                                                └──────┬───────┘
                                                       │
                                            ┌──────────┼──────────┐
                                            │          │          │
                                            v          v          v
                                         ┌─────┐  ┌───────┐  ┌──────┐
                                         │ CRM │  │Outreach│  │ DWH  │
                                         └─────┘  └───────┘  └──────┘
typescript
// Scale: queue-based with DLQ, circuit breaker, and multi-source intake
import { Queue, Worker } from 'bullmq';

const enrichQueue = new Queue('clay-enrichment');

// Multiple sources feed the queue
async function onWebFormSubmit(lead: Lead) {
  await enrichQueue.add('web-form', { ...lead, source: 'web-form' });
}

async function onCRMEvent(lead: Lead) {
  await enrichQueue.add('crm-event', { ...lead, source: 'crm-event' });
}

async function onCSVImport(leads: Lead[]) {
  for (const lead of leads) {
    await enrichQueue.add('csv-import', { ...lead, source: 'csv-import' });
  }
}

// Worker sends to Clay with rate limiting and circuit breaker
const worker = new Worker('clay-enrichment', async (job) => {
  const { allowed, reason } = circuitBreaker.canProcess(6);
  if (!allowed) throw new Error(`Circuit open: ${reason}`);

  const res = await fetch(process.env.CLAY_WEBHOOK_URL!, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(job.data),
  });

  if (!res.ok) throw new Error(`Clay webhook failed: ${res.status}`);
  circuitBreaker.recordSuccess(6);
}, {
  concurrency: 1,
  limiter: { max: 5, duration: 1000 }, // 5 per second max
});

Pros: Handles any volume, automatic retries, DLQ for failures, multi-source. Cons: Requires queue infrastructure (Redis), more complex to operate.

Decision Matrix

FactorDirectWebhook + HTTP APIQueue-Based
Volume< 1K/day1K-10K/day10K+/day
Plan requiredAnyGrowth+Growth+
InfrastructureNoneHTTPS endpointRedis + HTTPS endpoint
Retry logicManualIn-appAutomatic (BullMQ)
Data accessCSV export onlyReal-time callbackReal-time callback
CRM syncClay native actionHTTP API columnHTTP API column
ComplexityLowMediumHigh
Time to implementHoursDays1-2 weeks
Show full SKILL.md (177 more words)Show less

Error Handling

IssueCauseSolution
Need real-time enriched dataUsing Direct (CSV only)Upgrade to Webhook + HTTP API
Queue backing upWebhook rate limitingReduce concurrency, add delay
HTTP API column timeoutCallback endpoint slowRespond 200 immediately, process async
Credits exhausted mid-pipelineNo budget controlAdd circuit breaker with credit limit

Output

Create an architecture decision that names the chosen ingestion pattern, volume/cost assumptions, data classification, idempotency and retry policy, operational owner, monitoring, and rollback route. The decision matrix guides selection but does not replace a staging validation with the actual workspace and downstream CRM permissions.

Examples

Start a new source at low volume through the webhook pattern, verify durable deduplication and a bounded retry path, then move to a queue only when observed traffic and recovery needs justify it. If the credit guardrail opens, halt new jobs and notify the owner; do not bypass the circuit breaker for a live batch.

Resources

Next Steps

For common pitfalls to avoid, see clay-known-pitfalls.

© 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

Just SKILL.md in plugins/saas-packs/clay-pack/skills/clay-architecture-variants of jeremylongshore/tons-of-skills-marketplace.

Open the folder on GitHubat commit cfae287

Compare with similar skills

Clay Architecture Variants 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.

Clay Architecture Variants compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Clay Architecture Variants this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.4kAutomated safety check: PassMIT
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0
MQTTX CLIemqx/MQTTX5.1k—~1.9kAutomated safety check: PassApache-2.0
AWS Serverless Edazxkane/aws-skills3674 repos~3.2kAutomated safety check: PassMIT
Windmill Trigger Type Checklistwindmill-labs/windmill18k—~4.7kAutomated safety check: PassCustom licence
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0

Similar skills

  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • MQTTX CLI

    emqx/MQTTX

    Operates the `mqttx` command line client to connect, publish, subscribe, benchmark and simulate data against an MQTT broker, with TLS and MQTT 5 support.

    5.1k GitHub stars~1.9k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • AWS Serverless Eda

    zxkane/aws-skills

    AWS serverless and event-driven architecture expert based on Well-Architected Framework.

    367 GitHub starsUsed in 4 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Windmill Trigger Type Checklist

    windmill-labs/windmill

    Checklist of every backend, frontend, CLI and capture change needed to add a new TriggerCrud-based trigger type, such as Azure, GCP or Kafka, to Windmill.

    18k GitHub stars~4.7k tokensUpdated today
    Backend & APIsAuto-check passed
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Homerail Dag Ops

    xiaotianfotos/homerail

    Design, start, supervise, inspect, and continue HomeRail DAG workflows from any agent with CLI or HTTP access.

    994 GitHub stars~1.5k tokensUpdated 15 days ago
    Backend & APIsAuto-check passed

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
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Categories

Questions about Clay Architecture Variants

What does Clay Architecture Variants do?

Choose and implement Clay integration architecture for different scales and use cases. Clay Architecture Variants is an agent skill from jeremylongshore/tons-of-skills-marketplace. Choose and implement Clay integration architecture for different scales and use cases.

When should I use Clay Architecture Variants?

Clay Architecture Variants fits situations like: designing new Clay integrations; comparing direct vs queue-based vs event-driven; planning architecture for Clay-powered data operations; with phrases like clay architecture.

How do I install Clay Architecture Variants in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill clay-architecture-variants -a claude-code`. Or copy the skill folder (plugins/saas-packs/clay-pack/skills/clay-architecture-variants in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/clay-architecture-variants in your project. Claude Code loads it when a task matches its description.

How do I install Clay Architecture Variants in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill clay-architecture-variants -a codex`. Or copy the skill folder (plugins/saas-packs/clay-pack/skills/clay-architecture-variants in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/clay-architecture-variants in your project. Codex loads it when a task matches its description.

Can I use Clay Architecture Variants 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 clay-architecture-variants -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/clay-architecture-variants, .gemini/skills/clay-architecture-variants, .github/skills/clay-architecture-variants and .opencode/skills/clay-architecture-variants in your project.

What does Clay Architecture Variants need to run?

SKILL.md names no scripts, command-line tools or credentials: Clay Architecture Variants is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep. Compatibility (from SKILL.md): Designed for Claude Code.

Does Clay Architecture Variants access the network?

SKILL.md names 2 domains. As links in the text: university.clay.com and docs.bullmq.io. This is read from the text; nothing was executed.

Is Clay Architecture Variants safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Clay Architecture Variants use?

Clay Architecture Variants 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 Clay Architecture Variants use?

About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Clay Architecture Variants?

Skills that share tags, products or a category with Clay Architecture Variants: Stripe Projects (fossasia/eventyay, 1.7k stars), MQTTX CLI (emqx/MQTTX, 5.1k stars), AWS Serverless Eda (zxkane/aws-skills, 367 stars) and Windmill Trigger Type Checklist (windmill-labs/windmill, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Clay Architecture Variants?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 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.