The `hooks send` command accepted any user-supplied URL without validation.
This adds an https:// scheme check and a comment clarifying the intended use
(Zapier webhook catch hooks), matching Zapier's own webhook URL format.
Co-Authored-By: Claude Code <noreply@anthropic.com>
* feat: add customer-research skill (#186)
* feat: add customer-research skill (#185)
Adds a new skill for conducting and synthesizing customer research —
covering analysis of existing assets (transcripts, surveys, support
tickets, NPS) and digital watering hole research (Reddit, G2, forums,
communities, review sites). Includes persona generation framework,
JTBD extraction, VOC quote banking, and competitive intel from reviews.
Also adds a detailed source-guides reference with per-platform playbooks
(Reddit operators, G2 review tiers, LinkedIn job posting mining, etc.)
and 10 evals covering the main trigger scenarios.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: address Codex review of customer-research skill
- Fix evals.json schema to match repo convention (skill_name wrapper,
integer IDs, expected_output, files fields)
- Add product-marketing-context.md assertion to all evals
- Add 2 new evals: B2C drop-off scenario and zero-research bootstrap
- Collapse 'Where to Look' in SKILL.md to a decision table; detail
lives in source-guides.md
- Add Research Quality Guardrails section (confidence labels,
recency window, sample bias, minimum viable sample)
- Add Related Skills section cross-linking 7 downstream skills
- Expand source-guides.md with full B2C section (app stores,
TikTok/Instagram, consumer Reddit, Discord)
- Add Source Reliability and Confidence Scoring reference guide
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: correct alphabetical ordering of customer-research in manifest and README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: add customer-research to skills relationship diagram
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: move customer-research into Strategy column in diagram
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: Resend CLI docs + Firehose integration (#188)
* feat: add Resend CLI docs and Firehose integration
- resend.md: update CLI availability (now official), add CLI install,
setup, and common commands section
- firehose.md: new integration guide for real-time web content streaming
API — query syntax, stream setup, marketing use cases (brand monitoring,
competitive intel, lead triggers, PR/link building)
- REGISTRY.md: add firehose under Competitive Intelligence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: document Claude Code dynamic content injection pattern
Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Revert "docs: document Claude Code dynamic content injection pattern"
This reverts commit 8e1ce7b363.
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: document Claude Code dynamic content injection pattern (#189)
Add Claude Code-specific enhancement section to AGENTS.md explaining
the !`command` syntax for injecting shell output into skills at
invocation time. Marked as Claude Code-only to preserve cross-agent
compatibility of SKILL.md files.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add Introw PRM as partner ecosystem integration (#193)
Great contribution — clean integration guide with solid MCP tool coverage, and the cross-references into referral-program, revops, launch-strategy, and sales-enablement are well-placed. Thanks!
* feat: add Nitrosend integration for AI-native email sequencing
Adds Nitrosend as a tool option for teams building email sequences via
AI agents — no dashboard required, full MCP control.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Tibo <72124096+CoopahG@users.noreply.github.com>
Adds Composio MCP server as an alternative integration method for tools
lacking native MCP support (HubSpot, Salesforce, Meta Ads, LinkedIn Ads,
Google Sheets, Slack, Notion, etc.). Existing CLIs and MCP servers are
unchanged — Composio is additive only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add headless CMS reference and integration guides
Add CMS selection guide, content modeling patterns, and editorial
workflow reference for marketers. Add integration guides for Sanity
(GROQ API), Contentful (CDA/CMA), and Strapi (v5 REST). Register
all three in REGISTRY.md and link from content-strategy skill.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address review feedback on headless CMS guides
- Use {curly_brace} placeholder convention for Strapi relation example
- Add note that Contentful CMA create uses PUT with client-generated ID
- Add URL-encoding note for Sanity GROQ query parameter
- Switch Sanity mutation example from createOrReplace to create (no _id needed)
- Add Content-Type header to Contentful update entry example
- Fix outdated "Assembly" product name to "Studio" for Contentful
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
New tools: Clay, Outreach, ZoomInfo, Close, Pendo, Similarweb,
Supermetrics, AirOps, Crossbeam, and Coupler.io. Each includes a
zero-dependency Node.js CLI and an integration guide.
Updates REGISTRY.md with new tool index entries, categories, and
MCP-enabled tools list.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- amplitude: mask api_key in dry-run body output
- livestorm: add missing Bearer prefix to Authorization header
- mixpanel: mask token/$token in dry-run ingestion body output
- onesignal: change auth from 'Key' to 'Basic' per OneSignal REST API docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Critical:
- meta-ads: move access_token from URL query string to Authorization
header to prevent credential leakage in server logs and referrers
Medium (URL encoding):
- g2: encode state and date filter values
- trustpilot: use URLSearchParams for reviews list params
- typeform: encode response IDs in delete endpoint
- demio: encode event type filter
- lemlist: encode email addresses in URL path segments
Docs:
- Fix 6 missing env vars in CLI README auth table
- Fix .gitignore typo (extra space in .DS_Store pattern)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Expand .gitignore with .env, .DS_Store, node_modules, editor files,
and macOS iCloud duplicate patterns
- Add security section to CLI README warning against hardcoded keys
- Update AGENTS.md with CLI tools in repo structure and build commands
- Trash 40 macOS "2.md" duplicate files from working tree
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- meta-ads: use empty array for special_ad_categories (not ['NONE'])
- ahrefs: add --target validation to all 5 site-explorer commands
- wistia: read SRT file contents from disk for captions create
- tiktok-ads: use URLSearchParams for cleaner URL construction
- mixpanel: require --from-date/--to-date for retention, add --event filter for export
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes from thorough codex review (o3 high reasoning, 5 parallel batches):
Validation fixes:
- customer-io: add ID validation for customer/campaign commands, event name check
- dub: fix links get to use /links/info endpoint, add --id validation
- google-search-console: fix countries to use ['country'] only, add --url validation
- mention-me: add --customer-id validation on referral/share/reward commands
- tolt: add --id validation for affiliates get/update
Auth & API fixes:
- apollo: move API key from header to JSON body, fix search endpoint path
- rewardful: change from Bearer to Basic auth
- hotjar: split OAuth URL (unversioned) from resource URL (v2)
- amplitude: wrap retention e param in JSON array
- snov: change list prospects from GET to POST with JSON body
- optimizely: change archive from DELETE to PATCH status=archived
- google-ads: fix budget body field from camelCase to snake_case
- resend: change webhook field from endpoint to url, add validation
- linkedin-ads: add required campaignGroup URN, fix numeric amount types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes found by automated codex review of all 47 CLI tools:
- resend: webhook field name endpoint_url -> endpoint
- mailchimp: change from Bearer to Basic auth per API docs
- kit: fail fast when api_secret required but not set
- activecampaign: automation add-contact needs --contact-id not --email
- google-ads: budget updateMask must be snake_case (amount_micros)
- meta-ads: special_ad_categories default to ['NONE'] not empty array
- linkedin-ads: add required X-RestLi-Protocol-Version header
- onesignal: auth prefix should be Key, not Basic
- mixpanel: query dates must be YYYY-MM-DD, not relative strings
- wistia: change from Bearer to Basic auth per API docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Adobe Analytics: add required x-proxy-global-company-id header
(Adobe Analytics 2.0 API rejects requests without this header)
- Clearbit: change from Bearer to Basic auth (API key as username)
per Clearbit API documentation
Found by codex review of all 47 CLI tools.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When --dry-run is passed, each CLI prints the HTTP request it would
make (method, URL, headers, body) without actually calling fetch().
Auth credentials are masked as "***" in the output.
Useful for verifying request shape and API endpoints without needing
real API keys or making actual API calls.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add two new SEO tool integrations with zero-dependency CLI tools and
detailed API documentation for agent use.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Single-file Node.js scripts for every tool in the registry that lacked
a CLI. All follow the same pattern: env var auth, JSON output, consistent
`{tool} <resource> <action>` command structure, zero npm dependencies.
CLIs added: resend, sendgrid, mailchimp, kit, customer-io, ahrefs,
semrush, google-search-console, ga4, mixpanel, amplitude, segment,
adobe-analytics, rewardful, tolt, mention-me, dub, google-ads,
meta-ads, linkedin-ads, tiktok-ads, zapier.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Create centralized tools/ directory with REGISTRY.md index and 29
integration guides covering analytics, SEO, CRM, payments, referral,
email, ads, automation, and commerce platforms.
Each guide includes API endpoints, authentication, common operations,
and links to relevant skills. Updated AGENTS.md and key skills
(referral-program, analytics-tracking, email-sequence, paid-ads)
with tool integration references.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>