skill
outbound-builder-plugin
Claude Code plugin packaging production-tested outbound infrastructure patterns. 24 implementation docs, 25 templates, 8 skills and an architecture agent covering Trigger.dev, Drizzle ORM, PostgreSQL
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/ankit4479/outbound-builder-plugin itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 23, 2026Outbound Builder Plugin
A development plugin for Claude Code. Install this plugin and gain production-tested expertise in Trigger.dev, Drizzle ORM, PostgreSQL, Axiom observability, API client patterns, data viewers, LLM integration, caching, and more.
The plugin packages 24 implementation docs, 25 code templates, 8 skills, and 1 architecture agent into a self-contained knowledge base that any Claude Code session can use to build systems from scratch or improve existing ones.
What's Included
- 24 implementation docs (
imp_doc/) -- Architecture patterns, schema design, API client patterns, error handling, config conventions, data viewers, caching, concurrency, testing, LLM integration, and more. - 25 code templates (
templates/) -- Production-tested starter files for schemas, configs, API clients, tasks, orchestrators, rate limiting, bulk operations, deduplication, caching, data viewers, MCP servers, and more. - 8 skills -- 1 discovery + 1 onboarding wizard + 4 scaffold generators + 1 browser skill + 1 memory skill.
- 1 agent -- Architecture advisor for design questions across all technology domains.
- SessionStart hook -- Automatically runs project discovery on first install, then checks for configuration on subsequent sessions.
Installation
Quick Install (2 commands)
claude plugin marketplace add https://github.com/ankit4479/outbound-builder-plugin
claude plugin install outbound-builder-plugin@outbound-builder
Already added the marketplace?
claude plugin marketplace update outbound-builder
claude plugin install outbound-builder-plugin@outbound-builder
Session-only (for testing)
claude --plugin-dir /path/to/outbound-builder-plugin
After installation, start a new Claude Code session. The SessionStart hook will automatically run project discovery -- analyzing your existing code or interviewing you about a new project -- to map the plugin's knowledge to your specific needs.
Discovery (Automatic)
On first session after install, the plugin automatically runs discovery:
- Existing project: Scans your code (package.json, src/, trigger/, schema, API clients) and identifies which technology domains are relevant. Presents a capability mapping with gaps and a build roadmap.
- Greenfield project: Conducts a focused interview (one question at a time) covering what you're building, external APIs, background jobs, database needs, observability, data viewer, and LLM integration.
Discovery writes .outbound-builder-plugin-discovery.json with the full project profile and build roadmap.
You can also run discovery manually:
/outbound-builder-plugin:discover
Onboarding
After discovery, run the onboarding wizard to configure credentials:
/outbound-builder-plugin:onboard
If discovery results exist, the wizard pre-fills known answers so you can skip redundant questions and go straight to configuring infrastructure credentials.
The wizard walks you through:
- Project Info -- Project name, description, starting point
- Core Infrastructure -- DATABASE_URL, Trigger.dev keys, LLM provider + API keys
- External APIs -- API keys for your specific integrations
- Observability -- Axiom, Discord alerts, GitHub issue creation (optional)
After the interview, the wizard creates:
.outbound-builder-plugin-config.json-- Project configuration.env-- All collected credentials (gitignored).env.example-- Same keys with placeholder values (safe to commit)
Quick Start
# 1. Install the plugin (see Installation above)
claude plugin install outbound-builder-plugin@outbound-builder
# 2. Start a session -- discovery runs automatically on first launch
# (or run manually: /outbound-builder-plugin:discover)
# 3. Run onboarding (first time only -- pre-filled from discovery)
/outbound-builder-plugin:onboard
# 4. Scaffold a new project
/outbound-builder-plugin:scaffold-project my-project
# 5. Add your first API client
/outbound-builder-plugin:scaffold-client my-data-api
# 6. Add your first background task
/outbound-builder-plugin:scaffold-task fetch-data
# 7. Ask the architecture advisor for help
# Use the architecture-advisor agent for design questions
Technology Domains
The plugin organizes knowledge by technology domain. Each domain includes implementation docs, code templates, and proven patterns:
| Domain | Key Docs | What You Get |
|---|---|---|
| Trigger.dev | Task patterns, orchestration, deployment, troubleshooting | Batch processing, convergence loops, fan-out control |
| Database | Schema patterns, bulk operations, concurrent access, conventions | Status-gated tables, UNNEST bulk writes, advisory locks |
| API Clients | Client patterns, error handling, error recovery | Dual-layer rate limiting, retry with backoff, cache-first enrichment |
| Observability | Axiom queries, status monitoring | APL queries, pipeline status SQL, error aggregation |
| Caching | Cache architecture | TTL config, invalidation, data completeness validation |
| LLM Integration | Integration patterns | BAML framework, structured output, prompt management |
| Data Viewer | Viewer patterns | Hono server, AG Grid frontend, dark theme dashboard |
| Testing | Testing patterns | Schema drift tests, integration tests, API mocking |
| Security | Environment & secrets | SSL/TLS config, key rotation, env var management |
| MCP | Server template, config patterns | Custom MCP servers, 4 config patterns |
Directory Structure
outbound-builder-plugin/
├── .claude-plugin/
│ └── plugin.json -- Plugin metadata (name, version, description)
├── CLAUDE.md -- Plugin instruction card for Claude
├── README.md
├── hooks/
│ └── hooks.json -- SessionStart hook (config validation)
├── scripts/
│ └── check-config.sh -- Hook script (checks .outbound-builder-plugin-config.json)
├── imp_doc/ -- Implementation reference documents (24 files)
│ ├── trigger-dev/
│ │ ├── task-patterns.md -- Trigger.dev task patterns (batch, convergence, status gates)
│ │ ├── orchestration.md -- Orchestration patterns (round-based, fan-out, unified)
│ │ ├── deployment.md -- Deployment, versioning, monitoring
│ │ ├── troubleshooting.md -- Common issues and fixes
│ │ └── pipeline-config.md -- Rate limits, batch sizes, convergence parameters
│ ├── database/
│ │ ├── schema-patterns.md -- Schema design patterns, indexes, column conventions
│ │ ├── bulk-operations.md -- Bulk write patterns (UNNEST)
│ │ ├── bulk-write-advanced.md -- Advanced UNNEST, conflict handling
│ │ ├── concurrent-access.md -- Advisory locks, optimistic concurrency
│ │ └── conventions.md -- NULL handling, status gates, formatting
│ ├── api-clients/
│ │ ├── patterns.md -- API client patterns, rate limiting, MCP integration
│ │ ├── error-patterns.md -- Common failures and recovery strategies
│ │ └── error-recovery.md -- Stale reset, retry tiers, dead-letter patterns
│ ├── observability/
│ │ ├── axiom-queries.md -- Axiom APL query examples
│ │ └── status-monitoring.md -- Status monitoring SQL queries
│ ├── caching/
│ │ └── architecture.md -- Cache TTL, invalidation, completeness checks
│ ├── llm/
│ │ └── integration-patterns.md -- LLM integration, prompt management, BAML
│ ├── data-viewer/
│ │ └── patterns.md -- Data viewer server, query builder, AG Grid
│ ├── testing/
│ │ └── patterns.md -- Schema drift, integration tests, mocking
│ ├── security/
│ │ └── environment.md -- Environment variables, secrets, SSL config
│ ├── getting-started/
│ │ ├── setup.md -- Project bootstrap guide
│ │ ├── entity-processing.md -- Atomic per-entity processing
│ │ ├── implementation-guide.md -- Phased build order with milestones
│ │ └── url-deduplication.md -- URL normalization and dedup
│ └── _archived/ -- Pipeline-specific docs (historical reference)
├── templates/ -- Code templates (25 files)
│ ├── drizzle-schema.ts -- Base Drizzle ORM table definitions
│ ├── pipeline-config.ts -- Rate limits, batch sizes, defaults
│ ├── trigger-config.ts -- Trigger.dev project configuration
│ ├── base-api-client.ts -- API client with rate limiting + retry
│ ├── trigger-task.ts -- Batch processing task template
│ ├── orchestrator.ts -- Convergence loop orchestrator
│ ├── rate-limiter.ts -- Dual-layer rate limiter
│ ├── pipeline-run.ts -- Pipeline run tracking
│ ├── cache-config.ts -- Cache TTL + completeness validation
│ ├── process-entity.ts -- Per-entity atomic processing
│ ├── bulk-upsert.ts -- UNNEST bulk insert/upsert
│ ├── dedup.ts -- Within-batch deduplication
│ ├── stale-recovery.ts -- Reset stuck entities
│ ├── data-viewer-server.ts -- Hono data viewer server
│ ├── query-builder.ts -- Paginated query builder + LRU cache
│ ├── column-defs.ts -- ColumnDef + schema-to-grid mapping
│ ├── viewer-route.ts -- Hono route template
│ ├── shared.js -- Data viewer frontend framework
│ ├── shared.css -- Dark theme design system
│ ├── data-viewer-dashboard.html -- Dashboard landing page
│ ├── data-viewer-page.html -- Generic table viewer (AG Grid)
│ ├── schema-drift-test.ts -- ORM vs live DB comparison test
│ ├── mcp-server.js -- Custom MCP server template
│ ├── mcp-config.json -- .mcp.json config patterns
│ └── setup-mcp.sh -- MCP setup script
├── skills/
│ ├── discover/SKILL.md -- Automatic project discovery
│ ├── onboard/SKILL.md -- Interactive setup wizard
│ ├── scaffold-project/SKILL.md -- Bootstrap a new project
│ ├── scaffold-task/SKILL.md -- Add a new Trigger.dev background task
│ ├── scaffold-client/SKILL.md -- Add a new API client
│ ├── scaffold-viewer/SKILL.md -- Add a data viewer page
│ ├── browse/SKILL.md -- Browser automation via DOM
│ └── remember/SKILL.md -- Record/view build-time memory
└── agents/
└── architecture-advisor.md -- Architecture expert across all domains
Implementation Documents
| Document | Description |
|---|---|
trigger-dev/task-patterns.md | Trigger.dev task patterns: batch processing, status-gated queries, per-item error handling, module-level Pool, rate limiter integration |
trigger-dev/orchestration.md | Orchestration patterns: round-based architecture, consecutive-zero convergence, fan-out control, unified multi-stage orchestrators |
trigger-dev/deployment.md | Trigger.dev deployment, version management, env var syncing, run monitoring |
trigger-dev/troubleshooting.md | Common Trigger.dev issues: build failures, env var sync, task timeouts, version conflicts |
trigger-dev/pipeline-config.md | Rate limit configuration (dual-layer), batch size defaults, convergence parameters, timeout settings |
database/schema-patterns.md | Schema design patterns with column conventions, indexes, status-gated tables, multi-tenant scoping |
database/bulk-operations.md | Bulk write patterns: UNNEST for INSERT/UPDATE, batch sizing, within-batch dedup, transaction wrapping |
database/bulk-write-advanced.md | Advanced UNNEST patterns: multi-table upserts, conflict handling, partial updates, type casting |
database/concurrent-access.md | Advisory locks for exclusive processing, optimistic concurrency with version columns, queue isolation |
database/conventions.md | NULL handling rules, status gate columns, data formatting conventions |
api-clients/patterns.md | API client patterns covering rate limiting, retry with backoff, timeout, caching, error classification |
api-clients/error-patterns.md | Common failure modes (rate limit exhaustion, partial API responses, SSL errors) and recovery strategies |
api-clients/error-recovery.md | Stale entity reset, retry with exponential backoff, dead-letter escalation, error classification tiers |
observability/axiom-queries.md | Axiom APL query examples for error aggregation, run tracing, per-entity debugging |
observability/status-monitoring.md | SQL queries for status monitoring: counts, stuck entity detection, before/after snapshots |
caching/architecture.md | Cache TTL configuration, invalidation strategies, data completeness validation, cache-first enrichment pattern |
llm/integration-patterns.md | LLM integration patterns: prompt management, BAML framework, structured output, retry strategies |
data-viewer/patterns.md | Data viewer server pattern: Hono app, query builder, column definitions, AG Grid frontend |
testing/patterns.md | Schema drift detection tests, integration test patterns, external API mocking, test data factories |
security/environment.md | Environment variables, secrets management, SSL/TLS configuration, key rotation |
getting-started/setup.md | Step-by-step project bootstrap: directory structure, dependencies, configuration, first deploy |
getting-started/entity-processing.md | Atomic per-entity processing with Promise.allSettled, status transitions, error isolation |
getting-started/implementation-guide.md | Phased build order with milestones: foundation, core processing, monitoring, data viewer |
getting-started/url-deduplication.md | URL normalization, dedup strategies, canonical URL resolution |
Skills
| Skill | Description |
|---|---|
/outbound-builder-plugin:discover | Project discovery: scans existing code or interviews for greenfield, maps technology domains, identifies gaps, writes .outbound-builder-plugin-discovery.json |
/outbound-builder-plugin:onboard | Setup wizard: collects infrastructure credentials, API keys, and feature preferences. Creates .outbound-builder-plugin-config.json, .env, and .env.example |
/outbound-builder-plugin:scaffold-project [name] | Initialize a new project with directory structure, package.json, TypeScript, Drizzle schema, Trigger.dev config |
/outbound-builder-plugin:scaffold-task [name] | Add a new Trigger.dev background task: task file, orchestrator, trigger script, test, and config registration |
/outbound-builder-plugin:scaffold-client [name] | Add an API client with rate limiting, retry, timeout, and config entries |
/outbound-builder-plugin:scaffold-viewer [table] | Add a data viewer page: route, column definitions, AG Grid frontend |
/outbound-builder-plugin:browse [url] | Read and interact with Chrome tabs via DOM-based tools |
/outbound-builder-plugin:remember [show | description] | Record or view build-time learnings. Proven patterns (2+ occurrences) are injected at session start |
Agent
| Agent | Description |
|---|---|
architecture-advisor | Architecture expert that answers design questions, reviews implementations against patterns, and recommends configurations. Consults all 24 implementation docs. |
Build-Time Memory
The plugin includes a build-time memory system (.outbound-builder-plugin-memory.json) that captures development learnings across sessions.
How it works:
- When you scaffold tasks, fix errors, or discover API quirks, the plugin records what you learned
- Each learning is categorized:
error-fix,api-quirk,schema-pattern,config-gotcha,build-pattern,domain-insight - Entries deduplicate by a deterministic ID (hash of category + title)
- At
success_count >= 2, a learning becomes a proven pattern - Proven patterns are injected at every session start via the SessionStart hook
Usage:
# Record a learning manually
/outbound-builder-plugin:remember "Drizzle push needs SSL disabled for Neon"
# View all learnings and proven patterns
/outbound-builder-plugin:remember show
Scaffold skills automatically record learnings after each run when errors or workarounds were encountered.