AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Couchbase Eventing

skill-celticht32-couchbase-skills-for-claude-ai-couchbase-eventing · by celticht32

Design, deploy, and troubleshoot Couchbase Eventing functions. Use whenever the user asks about Eventing, eventing functions, JavaScript functions on document mutations, source bucket, metadata bucket, source keyspace, metadata keyspace, OnUpdate, OnDelete, cron triggers, curl() in eventing, N1QL in eventing, eventing deployment state (deployed / undeployed / paused), eventing worker count, DCP f…

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-celticht32-couchbase-skills-for-claude-ai-couchbase-eventing

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-celticht32-couchbase-skills-for-claude-ai-couchbase-eventing)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Couchbase Eventing? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Couchbase Eventing

A skill for designing and operating Couchbase Eventing functions — JavaScript that runs in response to document mutations in a source collection.

Distinct from:

  • couchbase-mcp — calling admin_eventing_* tools to deploy and manage functions
  • couchbase-app-integration — SDK-based DCP consumer code for change processing outside the cluster
  • couchbase-data-modeling — document shape decisions

If the conversation is "I want to run code when a document changes," this is the right skill.

When this skill applies

  • "How do Eventing functions work?"
  • "How do I deploy an Eventing function?"
  • "How do I write an OnUpdate handler?"
  • "How do I call an external API from Eventing?"
  • "Can I run SQL++ from inside an Eventing function?"
  • "How do I sync data between two collections automatically?"
  • "Eventing function is deployed but nothing happens"
  • "How do I debug an Eventing function?"
  • "What's the metadata bucket / keyspace for?"
  • "How do I handle errors in Eventing functions?"

Pick the right reference

| Question | Read | |---|---| | "How do I write the JavaScript? OnUpdate, OnDelete, cron, curl, N1QL?" | references/function-authoring.md | | "How do I configure and deploy a function — source, metadata, workers, bindings?" | references/deployment.md | | "Function isn't triggering / processing slowly / throwing errors — what's wrong?" | references/troubleshooting.md |

Three core principles

Principle 1 — Eventing is exactly-once delivery from the DCP feed, not exactly-once execution. The Eventing service reads from Couchbase's internal DCP (Database Change Protocol) feed. Each mutation triggers OnUpdate or OnDelete once in the steady state. But during node failures, rebalances, or function redeploys, a mutation can be delivered more than once. Write your handlers to be idempotent — running the same function against the same document twice should produce the same result.

Principle 2 — The metadata keyspace is reserved; never store application data there. The Eventing service uses the metadata keyspace internally to track which mutations have been processed (checkpointing), manage timers, and store function state. Writing application documents into it causes unpredictable behaviour. Create a dedicated bucket/scope/collection for metadata, separate from your application data.

Principle 3 — Eventing is not a general compute layer. Eventing handlers run synchronously per-mutation on the Eventing service nodes. Heavy computation, large curl() loops, or long-running N1QL queries inside handlers will queue mutations and cause the DCP feed to lag. For complex processing, emit a lightweight "work order" document to a queue collection and process it separately.

Quick tool map

| Task | Tool | |---|---| | List all functions | admin_eventing_list_functions | | Get one function's definition | admin_eventing_get_function | | Create or update a function | admin_eventing_upsert_function | | Delete a function | admin_eventing_delete_function | | Deploy a function | admin_eventing_deploy_function | | Undeploy a function | admin_eventing_undeploy_function | | Pause a function (keeps state) | admin_eventing_pause_function | | Resume a paused function | admin_eventing_resume_function | | Get function stats (processing rate, backlogs) | admin_eventing_get_function_stats |

Deployment state machine

Undeployed ──deploy──► Deployed ──undeploy──► Undeployed
                           │
                         pause
                           │
                           ▼
                        Paused ──resume──► Deployed
  • Undeployed: function definition exists but no processing occurs. DCP checkpoint is not held.
  • Deployed: function is actively processing mutations. DCP checkpoint is maintained.
  • Paused: processing stops but the DCP checkpoint position is held. Resume continues from where processing stopped. Use pause instead of undeploy when you want to make function code changes without reprocessing all historical mutations.

Redeploying an undeployed function by default processes all existing documents in the source collection (a "from beginning" deployment). Use deployment_config.from_now: true to process only new mutations from the deployment point.

Related skills

  • couchbase-mcp — the admin_eventing_* tools that deploy and manage functions
  • couchbase-app-integration — alternative: SDK-based DCP consumers for change processing in application code
  • couchbase-data-modeling — source and destination document shapes

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.