Agent skill

Oraclecloud Webhooks Events

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

Wire up event-driven workflows with OCI Events, Notifications, and Functions.

MITAuto-check passedBackend & APIs

Install Oraclecloud Webhooks Events

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill oraclecloud-webhooks-events -a claude-code

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

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace oraclecloud-webhooks-events --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/skills/.curated/oraclecloud-webhooks-events .claude/skills/oraclecloud-webhooks-events && 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
oraclecloud-webhooks-events
GitHub stars
2.8k
Token cost
~2.2k tokens
SKILL.md length
507 words
Files
2 (incl. references)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Wire up event-driven workflows with OCI Events, Notifications, and Functions.

  • Works in 5 steps: Create an ONS Topic and Subscription → Create an Events Rule → Common Event Types Reference → …
  • Building serverless event processing
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 4 more sections
  • Calls pip; reaches docs.oracle.com and hooks.slack.com

What it does

Oraclecloud Webhooks Events is an agent skill from jeremylongshore/tons-of-skills-marketplace. Wire up event-driven workflows with OCI Events, Notifications, and Functions. Use when building serverless event processing, subscribing to instance lifecycle changes, or routing audit events to alerting systems. Trigger with "oraclecloud webhooks events", "oci events rules", "oci notifications", "oci ons topics".

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/one-pager.md`). Compatibility notes: Designed for Claude Code

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

  • Building serverless event processing
  • Subscribing to instance lifecycle changes
  • Routing audit events to alerting systems
  • With oraclecloud webhooks events

Example prompts

  • “oraclecloud webhooks events”
  • “oci events rules”
  • “oci notifications”
  • “/oraclecloud-webhooks-events”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash(pip:*), Bash(oci:*), Grep

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Create an ONS Topic and Subscription
  2. Create an Events Rule
  3. Common Event Types Reference
  4. Route Events to a Function
  5. Verify the Pipeline

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
    • Bash(pip:*)
    • Bash(oci:*)
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • docs.oracle.com
    • hooks.slack.com

    Also links to:

    • ocistatus.oraclecloud.com

    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

Oraclecloud Webhooks Events loads about 2.2k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 507 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

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). 507 words, ~2,209 tokens.

Download SKILL.mdSave it as .claude/skills/oraclecloud-webhooks-events/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
oraclecloud-webhooks-events
description
Wire up event-driven workflows with OCI Events, Notifications, and Functions. Use when building serverless event processing, subscribing to instance lifecycle changes, or routing audit events to alerting systems. Trigger with "oraclecloud webhooks events", "oci events rules", "oci notifications", "oci ons topics".
allowed-tools
Read, Write, Edit, Bash(pip:*), Bash(oci:*), Grep
compatibility
Designed for Claude Code
version
1.8.0
license
MIT
author
Jeremy Longshore <jeremy@intentsolutions.io>
tags
saas, oraclecloud, oci

Oracle Cloud Webhooks & Events

Overview

Build event-driven workflows using the OCI Events service, Oracle Notification Service (ONS), and OCI Functions. OCI Events monitors resource state changes across your tenancy and fires rules that route events to ONS topics, streaming, or Functions. This skill covers event rule creation, ONS topic/subscription setup, event pattern matching syntax, and Functions integration.

Purpose: Create reliable event-driven pipelines that react to OCI resource changes in real time.

Prerequisites

  • OCI Python SDK — pip install oci
  • OCI config file at ~/.oci/config with valid credentials (user, fingerprint, tenancy, region, key_file)
  • IAM policies granting access to Events, ONS, and Functions:
    • Allow group EventAdmins to manage cloudevents-rules in compartment <name>
    • Allow group EventAdmins to manage ons-topics in compartment <name>
    • Allow group EventAdmins to use fn-function in compartment <name>
  • Compartment OCID for the target compartment
  • Python 3.8+

Instructions

Step 1: Create an ONS Topic and Subscription

Create a notification topic that will receive events, then subscribe an endpoint (email, HTTPS, PagerDuty, or Slack via HTTPS):

python
import oci

config = oci.config.from_file("~/.oci/config")
ons_control = oci.ons.NotificationControlPlaneClient(config)
ons_data = oci.ons.NotificationDataPlaneClient(config)

# Create a topic
topic_response = ons_control.create_topic(
    oci.ons.models.CreateTopicDetails(
        name="infra-alerts",
        compartment_id="ocid1.compartment.oc1..example",
        description="Infrastructure lifecycle alerts"
    )
)
topic_id = topic_response.data.topic_id
print(f"Topic created: {topic_id}")

# Subscribe an HTTPS endpoint (e.g., Slack incoming webhook)
subscription = ons_data.create_subscription(
    oci.ons.models.CreateSubscriptionDetails(
        topic_id=topic_id,
        compartment_id="ocid1.compartment.oc1..example",
        protocol="HTTPS",
        endpoint="https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK"
    )
)
print(f"Subscription: {subscription.data.id} ({subscription.data.lifecycle_state})")
Step 2: Create an Events Rule

Events rules use a condition block that matches on eventType, compartmentId, and optional attribute filters. The condition syntax is JSON, not HCL:

python
events_client = oci.events.EventsClient(config)

rule = events_client.create_rule(
    oci.events.models.CreateRuleDetails(
        display_name="instance-state-changes",
        compartment_id="ocid1.compartment.oc1..example",
        description="Fire on compute instance lifecycle changes",
        is_enabled=True,
        condition='{"eventType":["com.oraclecloud.computeapi.launchinstance.end","com.oraclecloud.computeapi.terminateinstance.end","com.oraclecloud.computeapi.instanceaction.end"]}',
        actions=oci.events.models.ActionDetailsList(
            actions=[
                oci.events.models.ActionDetails(
                    action_type="ONS",
                    topic_id=topic_id,
                    is_enabled=True,
                    description="Notify infra-alerts topic"
                )
            ]
        )
    )
)
print(f"Rule created: {rule.data.id}")
Step 3: Common Event Types Reference

Use these exact eventType strings in your rule conditions:

CategoryEvent TypeFires When
Computecom.oraclecloud.computeapi.launchinstance.endInstance launch completes
Computecom.oraclecloud.computeapi.terminateinstance.endInstance terminated
Computecom.oraclecloud.computeapi.instanceaction.endStop/start/reboot finishes
Storagecom.oraclecloud.objectstorage.createbucketNew bucket created
Storagecom.oraclecloud.objectstorage.deleteobjectObject deleted
Identitycom.oraclecloud.identitycontrolplane.createuserNew user created
Identitycom.oraclecloud.identitycontrolplane.updatepolicyIAM policy modified
Auditcom.oraclecloud.audit.eventAny auditable action
Step 4: Route Events to a Function

For complex processing, route events to an OCI Function instead of (or in addition to) ONS:

python
# Create a rule that invokes a Function
fn_rule = events_client.create_rule(
    oci.events.models.CreateRuleDetails(
        display_name="bucket-change-processor",
        compartment_id="ocid1.compartment.oc1..example",
        is_enabled=True,
        condition='{"eventType":["com.oraclecloud.objectstorage.createobject","com.oraclecloud.objectstorage.deleteobject"]}',
        actions=oci.events.models.ActionDetailsList(
            actions=[
                oci.events.models.ActionDetails(
                    action_type="FAAS",
                    function_id="ocid1.fnfunc.oc1.iad.example",
                    is_enabled=True,
                    description="Process bucket changes"
                )
            ]
        )
    )
)
Step 5: Verify the Pipeline

List active rules and test by triggering an event:

text
# List event rules via CLI
oci events rule list --compartment-id ocid1.compartment.oc1..example --all

# Check ONS subscription confirmation status
oci ons subscription list --compartment-id ocid1.compartment.oc1..example --topic-id <topic-ocid>
Show full SKILL.md (222 more words)Show less

Output

Successful completion produces:

  • An ONS topic with at least one confirmed subscription (email, HTTPS, or PagerDuty)
  • One or more Events rules with condition filters matching target event types
  • Verified event delivery — triggering a matched action (e.g., stopping an instance) delivers a notification to the subscribed endpoint

Error Handling

ErrorCodeCauseSolution
NotAuthenticated401Bad config or API keyVerify ~/.oci/config credentials and key_file path
NotAuthorizedOrNotFound404Missing IAM policy or wrong OCIDAdd manage cloudevents-rules / manage ons-topics policies
TooManyRequests429Rate limited (no Retry-After header)Back off exponentially; see oraclecloud-rate-limits
InvalidParameter400Malformed condition JSON in ruleValidate JSON syntax — condition must be valid JSON, not HCL
TopicLimitReached400ONS topic limit (max 100 per compartment)Delete unused topics or request a limit increase
InternalError500OCI service errorRetry after 30 seconds; check https://ocistatus.oraclecloud.com
SubscriptionPending—HTTPS endpoint did not confirmCheck endpoint logs — OCI sends a confirmation POST that must return 200

Examples

Quick event rule via CLI:

bash
# Create a rule that fires on all audit events in a compartment
oci events rule create \
  --compartment-id ocid1.compartment.oc1..example \
  --display-name "audit-all" \
  --is-enabled true \
  --condition '{"eventType":["com.oraclecloud.audit.event"]}' \
  --actions '{"actions":[{"actionType":"ONS","topicId":"ocid1.onstopic.oc1.iad.example","isEnabled":true}]}'

List all event types available:

python
import oci

config = oci.config.from_file("~/.oci/config")
events_client = oci.events.EventsClient(config)

# Event types are documented — no list API exists.
# Reference: https://docs.oracle.com/en-us/iaas/Content/Events/Reference/eventsproducers.htm

Resources

Next Steps

After event pipelines are running, see oraclecloud-observability for monitoring event delivery metrics, or oraclecloud-rate-limits for handling 429 errors in high-volume event processing.

© 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

SKILL.md and 1 other file (references) in skills/.curated/oraclecloud-webhooks-events of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • references/one-pager.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Oraclecloud Webhooks Events 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.

Oraclecloud Webhooks Events compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Oraclecloud Webhooks Events this skilljeremylongshore/tons-of-skills-marketplace2.8k—~2.2kAutomated safety check: PassMIT
Adobe App Builder Action Scaffolderadobe/skills197—~3.1kAutomated safety check: PassApache-2.0
Upstash Qstashdavila7/claude-code-templates33k5 repos~597Automated safety check: PassMIT
AWS Serverless Edazxkane/aws-skills3674 repos~3.2kAutomated safety check: PassMIT
Polylith Base CreationDavidVujic/python-polylith554—~757Automated safety check: PassMIT
Sanity Best Practicessanity-io/agent-toolkit188—~1.4kAutomated safety check: PassMIT

Similar skills

  • Scaffolds, implements, deploys and debugs Adobe Runtime actions in App Builder projects, with templates for webhooks, events, database CRUD, sequences and Asset Compute workers.

    197 GitHub stars~3.1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Upstash Qstash

    davila7/claude-code-templates

    Upstash QStash expert for serverless message queues, scheduled jobs, and reliable HTTP-based task delivery without managing infrastructure.

    33k GitHub starsUsed in 5 repos~597 tokens
    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
  • Polylith Base Creation

    DavidVujic/python-polylith

    Create a Polylith base with poly create base — the entry point of a deployable application (HTTP API, CLI, message-queue consumer, AWS Lambda handler, GCP Cloud Function, scheduled job).

    554 GitHub stars~757 tokensUpdated 6 days ago
    Backend & APIsAuto-check passed
  • Sanity Best Practices

    sanity-io/agent-toolkit

    Official

    Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, webhooks, Blueprints…

    188 GitHub stars~1.4k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Official

    Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size.

    2.8k GitHub stars~4k tokensUpdated yesterday
    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 Oraclecloud Webhooks Events

What does Oraclecloud Webhooks Events do?

Wire up event-driven workflows with OCI Events, Notifications, and Functions. Oraclecloud Webhooks Events is an agent skill from jeremylongshore/tons-of-skills-marketplace. Wire up event-driven workflows with OCI Events, Notifications, and Functions.

When should I use Oraclecloud Webhooks Events?

Oraclecloud Webhooks Events fits situations like: building serverless event processing; subscribing to instance lifecycle changes; routing audit events to alerting systems; with oraclecloud webhooks events.

How do I install Oraclecloud Webhooks Events in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill oraclecloud-webhooks-events -a claude-code`. Or copy the skill folder (skills/.curated/oraclecloud-webhooks-events in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/oraclecloud-webhooks-events in your project. Claude Code loads it when a task matches its description.

How do I install Oraclecloud Webhooks Events in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill oraclecloud-webhooks-events -a codex`. Or copy the skill folder (skills/.curated/oraclecloud-webhooks-events in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/oraclecloud-webhooks-events in your project. Codex loads it when a task matches its description.

Can I use Oraclecloud Webhooks Events 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 oraclecloud-webhooks-events -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oraclecloud-webhooks-events, .gemini/skills/oraclecloud-webhooks-events, .github/skills/oraclecloud-webhooks-events and .opencode/skills/oraclecloud-webhooks-events in your project.

What does Oraclecloud Webhooks Events need to run?

Going by SKILL.md and its folder, Oraclecloud Webhooks Events needs the command-line tools its instructions call (pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(pip:*), Bash(oci:*), Grep. Compatibility (from SKILL.md): Designed for Claude Code.

Does Oraclecloud Webhooks Events access the network?

SKILL.md names 3 domains. In commands or code: docs.oracle.com and hooks.slack.com; the agent is likely to contact these when it follows the instructions. As links in the text: ocistatus.oraclecloud.com. This is read from the text; nothing was executed.

Is Oraclecloud Webhooks Events 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 Oraclecloud Webhooks Events use?

Oraclecloud Webhooks Events 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 Oraclecloud Webhooks Events use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 470 tokens, read only when the agent opens those files.

What are the alternatives to Oraclecloud Webhooks Events?

Skills that share tags, products or a category with Oraclecloud Webhooks Events: Adobe App Builder Action Scaffolder (adobe/skills, 197 stars), Upstash Qstash (davila7/claude-code-templates, 33k stars), AWS Serverless Eda (zxkane/aws-skills, 367 stars) and Polylith Base Creation (DavidVujic/python-polylith, 554 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Oraclecloud Webhooks Events?

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.