plugin-platform

plugin-platform is a skill for Claude Code, Codex from samugit83/redamon. It costs 172 tokens per session (2,192 once invoked), scanned A, original, MIT.

A set of rules for running third-party add-ons in an agent platform. Add-on code runs separately and communicates with the main application through a gateway, while changes to agent behaviour require approval in the core interface.

In plain words
What is it for?
Use it when changing the plugin manager, runner, software development kit, gateway, user-interface host, or startup and installation flow.
Why use it?
It keeps add-on code separate from the main application and prevents unsupported hosts from running an incomplete setup.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is bash tests/redamon_plugins_lifecycle_test.sh # install/update/up and every refusal, stubbed docker.

Good fit Use it when changing the plugin manager, runner, software development kit, gateway, user-interface host, or startup and installation flow.

Compare 6 skills from other repositories ↓
About the project

RedAmon is an AI framework that connects reconnaissance, exploitation, and post-exploitation activities into an automated security-testing pipeline, while organizing findings and proposing code fixes. It is for authorized penetration testing, security research, and education. The catalogue entries provide skills and instructions for working with the framework.

samugit83/redamon · 3,106 stars · on GitHub · redamon.org

Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/samugit83/redamon
agentmods
npx agentmods add skills/samugit83/redamon/plugin-platform

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for plugin-platform

README.md
[![agentmods](https://agentmods.dev/badge/skills/samugit83/redamon/plugin-platform/github.svg)](https://agentmods.dev/skills/samugit83/redamon/plugin-platform)
Your own site
<a href="https://agentmods.dev/skills/samugit83/redamon/plugin-platform"><img src="https://agentmods.dev/badge/skills/samugit83/redamon/plugin-platform/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.

agentmods 80×15 button for plugin-platform

Your own site · 80×15
<a href="https://agentmods.dev/skills/samugit83/redamon/plugin-platform"><img src="https://agentmods.dev/badge/skills/samugit83/redamon/plugin-platform.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 172 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,192 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00172 $0.02192
Opus 5.5 $0.00069 $0.00877
Sonnet 5.5 $0.00034 $0.00438
Haiku 4.5 $0.00017 $0.00219

Measured yesterday against content hash fbafb9a0a6fc, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

plugin-platform scanned grade A with 0 findings 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 yesterday.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/plugin-platform/SKILL.md · 130 lines

How it starts

The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.

When to Use

  • Changing the Plugin Manager, the catalog check, the Gateway, the override store or the UI host.
  • Changing the runner, its worker spawn, the SDK or the plugin-gateway proxy.
  • Touching how redamon.sh or compose start, remove or wire the plugin services.

For a new built-in skill part also follow builtin-agent-skill (layer 10, the part registry); for an LLM call path, llm-provider-integration; for tests, redamon-testing.


Critical Rules

  • NEVER put plugin-specific logic in the base repository. No plugin id, prompt or behaviour in webapp/src, agentic or services; a plugin's name may appear only in tests, fixtures and docs. Check: grep -rnw -i "skiller" --include=*.ts --include=*.tsx --include=*.py webapp/src agentic services finds only test files (-w, or every UserSkillError matches). The platform is generic; a plugin lives in redamon-plugins.
  • NEVER add an off switch or a degrade-to-off path. The platform always runs (owner decision 2026-10-12). A host that cannot run it is refused by install, update and up with the cause named, before any core service is recreated (require_plugin_engine, plugins_preflight, _plugins_prepare in redamon.sh); a runner that is down at runtime is a state the UI shows (the runner banner, 503 runner_unavailable), never a 404.
  • NEVER name a plugin service in a plain up. docker compose up -d --no-deps <profile service> starts a profile service even without --profile (measured, experiment E8), so a plugin service in rebuild_core, restart_only or any ad-hoc up starts it without the recreate a runner rebuild needs and without the failure that stops the command. Only plugins_converge starts plugin-runner and plugin-gateway.
  • NEVER wire the webapp to the plugins in docker-compose.yml. Its plugins-edge network and plugins volume live in docker-compose.plugins.yml, which redamon.sh loads only after the plugin preflight created the plugin networks, so a Docker that refuses them stops the command with that cause instead of failing halfway through the core up. A new webapp plugin variable still goes in the webapp's environment: list: the webapp has no env_file.
  • NEVER put the runner or the proxy on redamon, and never widen the proxy's prefixes. Postgres, Neo4j, kali-sandbox and agent routes there trust the network. The proxy passes only /api/plugin-gateway/v1/*, /api/plugin-runner/v1/* and /runner/v1/* (proxy.py); tests/redamon_plugins_profile_test.sh asserts the networks.
  • ALWAYS serve a Gateway call through withGateway (gateway.ts). It re-authorizes every call: the call token, action_ended/job_ended (a token must not outlive its action or job; found by the phase 04 review), the plugin still serving (enabled, ready, not revoked), the permission an admin granted, and the tenancy of the session. A route that reads the token itself skips some of these.
  • NEVER let a plugin write what the agent runs. A plugin may only propose; approval, reset and deletion are core routes that check the scope owner strictly (changeSetAccess.ts: ownsScope, and bodyOwnerMatches because the act-as cookie is site-wide), and admin lifecycle routes re-read the role from the database because the session JWT outlives a demotion (lifecycleRoutes.ts). A reviewProposal that a job reports is validated in jobs/complete like a sync result, never trusted.
  • NEVER deliver approved text outside the agent's own settings fetch. skillTextOverrides goes only to the master internal key with includeSkillOverrides=true (projects/[id]/route.ts): includeSkillContent alone is also sent by text-to-cypher and accepted from the scanner key. On the agent side the seam reads only the session's settings context and falls back to the factory text (skill_part_seam.py); it never raises. The one exception is user_skill.text: approving never makes it active, it saves a NEW user skill (adopted), which is the person's own and travels the ordinary user-skill path (userAttackSkills with includeSkillContent, which the scanner key can read too). Never deliver a user_skill.text row's value any other way.
  • ALWAYS gate saving a user_skill.text proposal on the proposer (enabled, ready, not revoked, granted override:user_skill.text, and activeVersion === meta.pluginVersion) in the save transaction, failing closed (userSkillAdoption.ts). What a save creates outlives the plugin, so the catalog's revocation must reach it: reconcile withdraws the revoked version's waiting proposals and quarantines the skills saved from them, installed or not (userSkillRevocation.ts), and every toggle writer refuses true on a quarantined skill.
  • NEVER hand a plugin a user skill outside its session or holding credentials. The Gateway's user_skill.text target (userSkillOverrideOps.ts) requires the token's user as owner, a session whose turns used the skill (sessionSkills.ts) and no quarantine, answers every refusal with the same 404 (no existence oracle), and refuses credential-shaped text with 422 skill_contains_credentials. The platform's meta keys (PLATFORM_META_KEYS in overrides.ts) are stripped from a plugin's meta; the proposer's version, conversation and job come from the call token.
  • ALWAYS read time from clock.ts and never import the test doubles from production code. clock.ts is the only clock, so tests pin it; noProductionImports.test.ts fails when a production module imports webapp/src/lib/plugins/__testing__/.
  • A new extension point, SDK call or UI primitive is a platform version bump held equal in five files by platformVersion.parity.test.ts (the runner's contract cases included). Follow the checklist in README.DEV.md §6.6.

Read the full file on GitHub · 130 lines

Changes

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.

  1. yesterday First seen · 130 lines · 172 tokens per session scan A fbafb9a0a6fc

Subscribe to this mod's changes

plugin-platform is a skill published in the GitHub repository samugit83/redamon (3,106 stars, last pushed today), licensed MIT. It adds 172 tokens to every session and 2,192 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-15.

Related

Other skills, from other repositories

detecting-shadow-api-endpoints

Discover and inventory shadow API endpoints that operate outside documented specifications using traffic analysis, code scanning, and API discovery platforms.

xalgorix/xalgorix · 30 tokens

codex-autoresearch

Triage improvement work and run or resume accepted measured loops in a local project. Architecture, documentation, UX, product study, open research, taste, and one-shot fixes stay direct unless the user explicitly requests repeated measurement with a complete experiment contract.

TheGreenCedar/codex-autoresearch · 55 tokens

openai-docs

Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, or model upgrade and prompt-upgrade guidance; use OpenAI docs MCP tools for non-Codex docs…

deonmenezes/mantishack · 98 tokens

skill-creator

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.

deonmenezes/mantishack · 46 tokens

ad-attacks

Active Directory attack reference — BloodHound Cypher queries, Kerberos attack decision tree, ACE/ACL abuse, ADCS ESC1-8, and AD misconfig checklist.

mukul975/Threatswarm · 39 tokens

wordlists

SecLists path map, hashcat rules, CeWL usage, and custom wordlist generation for all attack categories.

mukul975/Threatswarm · 25 tokens