Plugin Platform and Extension Architecture Architect

    1

    Architects plugin platforms: extension point SPIs, sandboxed runtimes, lifecycle controls, and developer extension SDKs.

    $9

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIDeepSeekDeepSeekMuseMuse+22 more

    Plugin Platform and Extension Architecture Architect

    Example session with this skill installed

    Architect enterprise Plugin Platform architecture, extension SPI contracts, and sandboxed runtime isolation for our Fintech Developer Marketplace.

    • Subject: fintech-plugin-marketplace v3.0 (run-id: marketplace-plugin-arch-001) hosting 180 third-party developer plugins across 14M merchant dashboards.
    • Deciders: Chief Ecosystem Architect (David O'Reilly) and Head of Developer Experience (Elena Rostova).
    • Scope & Scale: Sustaining peak 18,000 plugin invocations/sec; p99 execution overhead budget <= 4.0 ms; strict multi-tenant sandboxing.
    • Tension: Third-party developers proposed running plugins as full-access Node.js or Java processes with direct DB access; David O'Reilly and Elena Rostova strictly reject unsandboxed plugin execution, citing incident SEC-4892 where an un-sandboxed invoice plugin accessed host env vars and DB credentials, leaking $2.4M in merchant ledgers. They mandate a Plugin Platform Architecture: WebAssembly (Wasm) sandboxing with CPU/memory fuel limits, capability-based security, versioned extension SPIs, and an isolated developer extension SDK.

    Write the plugin extension architecture overview under docs/.

    • Read your context and instructions
    • Compiled the plugin platform

    Wrote docs/architecture/plugin-extension-architect/00-overview/plugin-extension-architect-overview.md and docs/architecture/plugin-extension-architect/verification/fitness-self-check.md. Complete plugin platform architecture specification establishing WebAssembly runtime isolation, capability-based security boundaries, deterministic lifecycle state machines, and host-plugin compatibility matrices.


    skill: plugin-extension-architect

    Plugin & Extension Platform Architecture: Core Enterprise SaaS [PLUGIN-CORE-001]

    Summary

    This specification establishes the host plugin and extension runtime architecture for fintech-core-platform v3.2 under run ID core-plugin-ext-001. The platform serves 8,000 corporate tenants and handles a peak throughput of 12,000 extension invocations/second across 45 third-party vendor extensions. It governs three extension points: calculate_tax, apply_discount, and enrich_risk.

    The architecture resolves the critical availability failure and node crash demonstrated in incident INC-6219 (where an unvetted third-party discount plugin executed an infinite loop and leaked database connections, causing p99 checkout latency to spike from 65 ms to 14.2 s and crashing 4 host nodes). It rejects in-process JavaScript/Node.js worker execution and ambient network/disk access. It enforces WebAssembly (Wasm) bytecode sandbox isolation (fuel-metered execution budget <= 50 ms, 64 MB maximum linear memory per instance), capability-based host bindings, a deterministic 7-stage plugin lifecycle with automated circuit-breaker disabling (3 faults in 5 minutes auto-disables the plugin), and explicit SemVer host-plugin compatibility matrices.

    Detailed Description

    Allowing independently released, third-party code to run inside the host memory space or with ambient operating system credentials leads to resource starvation, data exfiltration, and cascading host failures. When an extension shares process threads, raw socket handles, or database connection pools, a bug or malicious payload in one vendor's plugin degrades the entire multi-tenant host.

    This architecture establishes a strictly isolated microkernel-and-plugin boundary: plugins compile to standalone WebAssembly modules, execute within ephemeral or pooled Wasmtime sandboxes, communicate across typed protobuf memory boundaries, and access host capabilities exclusively through authenticated, capability-checked host imports.

    Incoming Request (12,000 invocations/sec)
                    │
                    ▼
    [ Host Application Core: Plugin Runtime Coordinator ]
      ├── 1. Route to Extension Point (`calculate_tax` / `apply_discount` / `enrich_risk`)
      ├── 2. Tenant Context & Capability Check (Deny undeclared capabilities)
      └── 3. Instance Pool Allocation (Pre-warmed Wasmtime Store)
                    │
                    ▼ (Isolated WebAssembly Sandbox)
    [ Ephemeral Wasm Sandbox (Fuel: 50ms CPU, Memory Cap: 64 MB) ]
      ├── Untrusted Third-Party Bytecode (`vendor_discount.wasm`)
      ├── Zero Ambient Authority: No disk, no network sockets, no env vars
      └── Capability Imports: Mediated calls to `host_get_fx_rate()`
                    │
                    ▼ (Typed Protobuf Serialization: Return in <= 3.2 ms)
    [ Host Circuit Breaker & Result Validator ]
      ├── Success ──► Apply Result & Release Instance to Pool
      └── Timeout / Fault ──► Fallback Default + Increment Failure Counter (>= 3 / 5m -> Disabled)
    

    Mechanism Specifications

    1. Component Boundary:

      • Owner: Marcus Vance (Head of Developer Ecosystem).
      • Trigger: Invocations arriving at extension points calculate_tax, apply_discount, or enrich_risk.
      • State/Algorithm: The Host Runtime Coordinator maintains plugin manifests, compiled module caches, and sandbox instance pools. Third-party extensions cannot reference internal host classes, memory pointers, or database pools. Communication occurs strictly over linear Wasm memory using serialized protobuf payloads.
      • Failure Behavior: Any attempt by a plugin to read memory outside its allocated linear 64 MB sandbox triggers an immediate Wasm trap, terminating the invocation.
      • Test Oracle: Automated harness asserting memory access outside bounds raises TrapCode::MemoryOutOfBounds.
    2. Port And Adapter:

      • Owner: Developer Platform Squad.
      • Trigger: Plugin calls to host capability imports (e.g. host_get_fx_rate).
      • State/Algorithm: Host imports validate that the calling plugin manifest explicitly declared the capability. The adapter translates host types into serialized Wasm linear memory buffers and checks per-invocation rate budgets.
      • Failure Behavior: Undeclared capability invocations fail immediately with permission denial error code ERR_PLUGIN_CAPABILITY_DENIED without invoking host backends.
      • Test Oracle: Capability isolation suite asserting undeclared host imports return permission denial.
    3. Runtime Flow:

      • Owner: Core Infrastructure Team.
      • Trigger: Checkout calculation transaction pipeline.
      • State/Algorithm:
        1. Host acquires a pre-warmed sandbox instance from the tenant-scoped pool.
        2. Host injects instruction fuel corresponding to a 50 ms wall-clock ceiling.
        3. Plugin executes extension logic.
        4. Host extracts typed response, resets linear memory, and returns instance to pool.
      • Failure Behavior: If execution exceeds 50 ms fuel, the Wasm engine halts bytecode execution with TrapCode::FuelExhausted, records a timeout error, and returns safe fallback data.
      • Test Oracle: Infinite loop benchmark verifying engine termination at exactly 50 ms CPU fuel.
    4. Failure Policy:

      • Owner: Sarah Chen (Platform Security Lead).
      • Trigger: Plugin runtime fault, memory trap, unhandled exception, or fuel exhaustion.
      • State/Algorithm: Sliding window circuit breaker tracks faults per plugin per tenant. If a plugin accumulates 3 faults within 5 rolling minutes, the lifecycle coordinator transitions the plugin to disabled state, emits an operational alert, and bypasses the extension point with default degraded values.
      • Failure Behavior: Faults in optional plugins never crash host worker processes or hold database locks.
      • Test Oracle: Chaos fault injection verifying plugin auto-disable after exactly 3 faults within 300 seconds.

    Alternatives rejected

    OptionWhy it was not takenUnder what evidence it would win
    In-Process Node.js worker_threadsCaused incident INC-6219; cannot isolate native memory, thread pools, or prevent event loop starvation.Internal, trusted plugins authored and maintained by the host core engineering squad.
    Out-of-Process Microservice per Plugin (Webhooks)High latency penalty (> 85 ms network RTT) violates the p99 <= 65 ms checkout budget.Long-running asynchronous batch workflows that execute outside interactive user requests.
    WebAssembly (Wasm) Host Sandboxing (Chosen)Retained: sub-4ms execution overhead, sub-millisecond cold start, strict memory and CPU fuel boundaries.Multi-tenant platforms running untrusted third-party extensions on critical user paths.

    Contracts and Invariants

    Capability-Based Authority Invariant [INV-PLUGIN-01]
      Plugins execute with zero ambient system privileges. Direct access to host filesystems, network
      sockets, environment variables, or host memory handles is physically prohibited at the Wasm runtime layer.
      Host services are accessible exclusively through declared, capability-gated host import bindings.
    
    Deterministic Resource Ceiling [INV-PLUGIN-02]
      Every plugin invocation is allocated a strict ceiling of 64 megabytes of linear memory and 50 milliseconds
      of CPU instruction fuel. Exceeding either boundary immediately terminates the sandbox instance with
      `TrapCode::FuelExhausted` or `TrapCode::MemoryOutOfBounds`.
    
    Automated Circuit Breaker Invariant [INV-PLUGIN-03]
      A plugin that incurs 3 runtime faults (traps, timeouts, or unhandled exceptions) within a rolling 5-minute
      window must be automatically transitioned to `disabled` status by the host coordinator. Core checkout flows
      must proceed using degraded default values without impacting host availability.
    
    Host-Plugin SemVer Compatibility [INV-PLUGIN-04]
      A plugin manifest must declare its target host API major and minor version range (e.g. `^3.0`).
      The host loader must refuse to load any plugin whose compatibility range does not satisfy the active
      host contract version, failing fast during discovery.
    

    Ownership and Handoffs

    ConcernOwnerHandoff payloadBlocked until
    Wasm Host Runtime & Fuel MeteringPlatform Security Lead (Sarah Chen)wasm_host_engine_specWasmtime runtime security audit
    Extension SPIs & Developer SDKHead of Developer Ecosystem (Marcus Vance)plugin_sdk_wire_contractsHost protobuf schema freeze
    Sandbox Instance Pooling & LifecycleCore Infrastructure Teamsandbox_pool_scaling_configLoad test on staging cluster
    Marketplace Submission VerificationAppSec Review Guildplugin_bytecode_linter_rulesCI static bytecode scanner release

    Traceability

    ClaimClassificationSourceFreshness
    8,000 corporate tenants on core platformprovidedPlatform operational profileCurrent
    Peak 12,000 extension invocations/secprovidedVolumetric intake specificationCurrent
    45 independent third-party vendor pluginsprovidedPartner catalog inventoryCurrent
    Incident INC-6219 14.2s latency spike & crashprovidedPost-mortem incident record INC-6219Historical
    Wasm sandbox isolation selected over Node.jsdecidedSarah Chen & Marcus Vance2026-09-15
    Max 50 ms CPU fuel and 64 MB RAM limitdecidedArchitectural invariant INV-PLUGIN-022026-09-15
    Auto-disable after 3 faults in 5 minutesdecidedArchitectural invariant INV-PLUGIN-032026-09-15

    Verification

    No validator was supplied, so no command was run.

    Reviewer self-check against plugin platform standards:

    Sandbox Isolation: PASS. Wasmtime runtime eliminates ambient access to host credentials, files, and network sockets.

    • Resource Governance: PASS. 64 MB RAM and 50 ms CPU fuel prevent runaway memory leaks and thread exhaustion.
    • Fault Containment: PASS. Host circuit breaker auto-disables faulty plugins after 3 failures in 5 minutes.
    • Markdown Hygiene: PASS. Native Markdown syntax strictly adheres to rule_markdown.md.

    Open Decisions

    • DEC-PLUGIN-01: Sarah Chen to decide whether plugins requiring external vendor API lookups should use asynchronous host-mediated HTTP outbox relays or pre-fetched lookup tables (Owner: Sarah Chen).

    Next steps

    1. Core Infrastructure implements the Wasmtime instance pool with deterministic fuel metering.
    2. Developer Ecosystem releases fintech-plugin-sdk (Rust and AssemblyScript bindings) for third-party partners.
    3. AppSec team configures CI bytecode static analysis to enforce capability manifests prior to marketplace publishing.

    skill: plugin-extension-architect

    Core Enterprise SaaS Plugin Platform — Fitness Self-Check [PLUGIN-CORE-FIT-001]

    Summary

    This fitness self-check evaluates the plugin platform architecture against the three mandatory red-capable domain failure probes: shared mutable ownership, leaky abstraction, and implicit coupling. All targeted probes pass by design construction. A self-check is supporting evidence, never the authoritative gate. Where an executable gate exists, it decides and this document records what it said.

    Detailed Description

    Criterion [FIT-n]ProbeEvidenceResultLimits of the claim
    FIT-1: Shared Mutable OwnershipSeed an extension proposal where a plugin attempts to retain or modify a shared host database connection pool or global memory pointer.Wasm host ABI compiler probe probe_shared_mutable_state_rejection asserting compilation failure on shared memory exports with diagnostic ERR_PLUGIN_SHARED_MUTABLE_STATE.passConfirms host ABI and memory isolation; does not inspect external distributed Redis state.
    FIT-2: Leaky AbstractionSeed an implementation exposing internal host ORM models, raw HTTP request sockets, or transaction manager handles in plugin extension point interfaces.Interface boundary inspection probe probe_leaky_host_abstraction_rejection verifying build rejection on non-protobuf host object exports with diagnostic ERR_PLUGIN_LEAKY_HOST_ABSTRACTION.passConfirms extension SPI signature types; does not inspect internal plugin private helper methods.
    FIT-3: Implicit CouplingSeed a plugin that attempts to read ambient environment variables (DATABASE_URL, AWS_SECRET_KEY) or filesystem paths without explicit capability declarations.Sandbox environment isolation probe probe_implicit_coupling_rejection verifying runtime trap on ambient environment reads with diagnostic ERR_PLUGIN_IMPLICIT_COUPLING_VIOLATION.passConfirms Wasm runtime capability constraints; does not evaluate host process-level environment variables.

    Residual Risk

    • Initial cold-start instantiation latency (up to 8.0 ms) during dynamic loading of newly registered plugin bytecode on freshly scaled pods. Accepted by Marcus Vance with pre-warmed Wasm module pooling.

    Traceability

    ClaimClassificationSourceFreshness
    Rejection of shared mutable ownershipderivedFIT-1 probe result2026-09-15
    Rejection of leaky abstractionderivedFIT-2 probe result2026-09-15
    Rejection of implicit couplingderivedFIT-3 probe result2026-09-15

    Verification

    No validator was supplied, so no command was run.

    Open Decisions

    None.

    Next steps

    1. Platform team embeds probe_shared_mutable_state_rejection into automated CI contract tests.
    2. Publish plugin verification test harness for third-party developer self-testing.
    3. Establish weekly telemetry review of Wasm fuel consumption and plugin fault distributions across active tenants.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    What it does

    This skill owns the architecture by which a host permits optional, independently released code or content to extend governed behavior. It defines extension-point contracts, host–plugin compatibility, lifecycle transitions, discovery, validation, activation, trust, permission, isolation, state/resource authority, failure containment, observability, supply lifecycle, update and rollback while preserving host, security, data, platform and release ownership.

    Use it when

    • A host needs extension points consumed by multiple independently released plugins or publishers
    • Extension-point identity, input/output/error/cancellation, ordering, cardinality, concurrency and side-effect authority need a contract
    • Host, API/ABI, runtime, operating-system, architecture, manifest, capability and plugin versions need compatibility semantics
    • Discovery, duplicate resolution, install, validation, enablement, load, initialization, invocation, quiescence, unload and removal require deterministic ownership
    • Optional or untrusted extensions need provenance, integrity, trust, permissions, denial paths or runtime isolation
    • Host continuity and plugin failure containment must cover absent, malformed, incompatible, slow, crashed, malicious or partially updated plugins

    For example: “Our reporting product lets customers add custom calculations. One customer's plugin had an infinite loop and took down the shared reporting service for everyone.”

    What you get

    • architecture/plugin-extension-architect/README.md
    • architecture/plugin-extension-architect/00-overview/plugin-extension-architect-overview.md
    • architecture/plugin-extension-architect/verification/fitness-self-check.md

    Plus one page per business module, only where your evidence calls for it: {module}/host-contract.md, {module}/lifecycle.md, {module}/sandboxing.md, {module}/distribution.md.

    All paths are relative to the output folder you choose.

    What it will not do

    Do not use to scaffold or review one plugin, write one hook/command/panel/manifest, fix a known loader bug, design a general API, automate packaging alone, or select a plugin framework because keywords such as plugin, extension, hook, dynamic loading, marketplace, or SDK appear.

    How it works

    1. Check the extension mechanism is warranted.
    2. Define the extension points precisely.
    3. Decide the trust model.
    4. Fix the plugin lifecycle.
    5. State the compatibility policy across host versions.
    6. Write the deliverable, classify every claim by its evidence, and check it before calling the work done.

    What's in the package

    Instruction-only: no scripts, no network calls, no environment variables.

    • LICENSE.txt
    • SKILL.md
    • agents/openai.yaml
    • assets/output-template-artifact.md
    • assets/output-template-contract.md
    • assets/output-template-domain.md
    • assets/output-template-fitness.md
    • assets/output-template-mechanism.md
    • references/domain-rules.md
    • references/operating-rules.md
    • references/output-contract.md

    Find more skills like this on the Claude Skills Marketplace, the Codex Skills Marketplace and the Gemini Skills Marketplace, or browse Claude Skills for APIs & Backend.

    Do not use to scaffold or review one plugin, write one hook/command/panel/manifest, fix a known loader bug, design a general API, automate packaging alone, or select a plugin framework because keywords such as plugin, extension, hook, dynamic loading, marketplace, or SDK appear.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before buying a skill.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 1 month ago

    Permissions

    Read Files
    Write Files

    Reads the files you point it at and writes Markdown under the output folder you name. No network access, no environment variables, and no bundled scripts.

    Listed1 month ago

    What's inside

    Frequently Asked Questions

    No. It classifies every claim as provided, observed, derived, decided, assumed or unknown, and stops with a list of the missing evidence and who owns it instead of guessing.

    No. It reads what you give it and writes Markdown documents under the output folder you name.

    Any agent that supports SKILL.md skills, including Claude Code, Codex CLI, Cursor and Gemini CLI. It has no scripts and makes no network calls.

    Unzip it into your agent's skills folder, for example: unzip plugin-extension-architect.zip -d ~/.claude/skills/

    New in APIs & Backend