Moltis is a persistent personal agent server written in Rust that runs on hardware controlled by its user. It provides an AI agent with sandboxed command execution, model-provider connections, memory, voice, scheduling, messaging integrations, browser automation, and MCP tools. Its catalogue add-ons extend the agent’s workflows and available tools.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add moltis-org/moltis --skill webhook-subscriptionsgit clone --depth 1 https://github.com/moltis-org/moltisWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/moltis-org/moltis/webhook-subscriptions)<a href="https://agentmods.dev/skills/moltis-org/moltis/webhook-subscriptions"><img src="https://agentmods.dev/badge/skills/moltis-org/moltis/webhook-subscriptions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/moltis-org/moltis/webhook-subscriptions"><img src="https://agentmods.dev/badge/skills/moltis-org/moltis/webhook-subscriptions.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00057 | $0.02937 |
| Opus 5.5 | $0.00023 | $0.01175 |
| Sonnet 5.5 | $0.00011 | $0.00587 |
| Haiku 4.5 | $0.00006 | $0.00294 |
Grade A, and why
webhook-subscriptions scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
1. **Is Moltis running?** `curl http://localhost:<port>/api/gon` should return JSON. How it starts
The opening of the file, as written. The whole thing — 356 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Webhook Subscriptions
Create webhook subscriptions so external services can trigger agent runs by POSTing events to Moltis.
Webhooks are available as soon as the Moltis gateway is running — no extra setup needed.
Ingress Endpoint
Each webhook gets a unique URL:
POST https://<moltis-host>/api/webhooks/ingest/{public_id}
The public_id is a high-entropy identifier like wh_a1b2c3d4... assigned at creation.
Managing Webhooks
Webhooks are managed via RPC or the web UI. The RPC namespace is webhooks.*.
Create a webhook
// RPC: webhooks.create
{
"name": "github-issues",
"description": "Triage new GitHub issues",
"source_profile": "github",
"auth_mode": "github_hmac_sha256",
"auth_config": { "secret": "your-github-webhook-secret" },
"event_filter": { "allow": ["issues.opened", "issues.reopened"] },
"session_mode": "per_entity",
"system_prompt_suffix": "Triage this issue: assign a priority label and suggest next steps."
}
Returns the webhook with its public_id (the URL slug) and all configuration.
List webhooks
// RPC: webhooks.list
Get webhook details
// RPC: webhooks.get
{ "id": 123 }
Update a webhook
// RPC: webhooks.update
{
"id": 123,
"patch": {
"enabled": false,
"event_filter": { "allow": ["issues.opened"], "deny": ["issues.closed"] }
}
}
Delete a webhook
// RPC: webhooks.delete
{ "id": 123 }
View deliveries
// RPC: webhooks.deliveries
{ "webhookId": 123, "limit": 50, "offset": 0 }
// RPC: webhooks.delivery_get
{ "id": 456 }
// RPC: webhooks.delivery_payload
{ "id": 456 }
Source Profiles
Each webhook has a source_profile that determines how events are parsed and authenticated. Use the profile that matches the sending service for best results.
| Profile | Auth Mode | Event Parsing | Dedup Header |
|---|---|---|---|
github |
github_hmac_sha256 |
x-github-event + action |
x-github-delivery |
gitlab |
gitlab_token |
Event from headers | GitLab delivery ID |
stripe |
stripe_webhook_signature |
Event type from JSON body | Stripe event ID |
linear |
linear_webhook_signature |
Event from headers | Linear delivery ID |
pagerduty |
pagerduty_v2_signature |
Event from headers | PagerDuty dedup key |
sentry |
sentry_webhook_signature |
Event from headers | Sentry event ID |
generic |
none (or any) |
x-event-type header |
x-delivery-id / idempotency-key |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 356 lines · 57 tokens per session scan A 1a94ffcd0b47
webhook-subscriptions is a skill published in the GitHub repository moltis-org/moltis (2,899 stars, last pushed today), licensed MIT. It adds 57 tokens to every session and 2,937 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
technical-integrations
Hunt existing integration patterns and design vendor/framework-agnostic API, RFC, SDK, and integration plans for new external vendor integrations.
api-request
Send HTTP API requests using curl. Use when the user asks to call an API, fetch data from a URL, send POST/PUT/PATCH/DELETE requests, work with REST or GraphQL endpoints, upload files, authenticate with Bearer tokens or API keys, debug HTTP responses, or interact with any web service via HTTP.
claude-api
Build apps with the Claude API or Anthropic SDK. TRIGGER when: code imports anthropic/@anthropic-ai/sdk/claudeagentsdk, or user asks to use Claude API, Anthropic SDKs, or Agent SDK. DO NOT TRIGGER when: code imports openai/other AI SDK, general programming, or ML/data-science tasks.
go-functional-options
Use when designing a Go constructor or factory function with optional configuration — especially with 3+ optional parameters or extensible APIs. Also use when building a New function that takes many settings, even if they don't mention "functional options" by name. Does not cover general function design (see…
go-context
Use when working with context.Context in Go — placement in signatures, propagating cancellation and deadlines, and storing values in context vs parameters. Also use when cancelling long-running operations, setting timeouts, or passing request-scoped data, even if they don't mention context.Context directly. Does not…
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).