testing

A local testing process for bundle-plugins before release. It checks whether a plugin can be installed, its components can be found, its hooks run, and its supported platforms work.

In plain words
What is it for?
Use it to test a complete plugin, one platform, or a single skill before publishing changes.
Why use it?
It catches problems that a file review cannot, such as a skill not being discovered or a hook failing at runtime. It requires a local project containing package.json and a skills folder.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/odradekai/bundles-forge/testing
Any agent
npx skills add OdradekAI/bundles-forge --skill testing
Clone the repo
git clone --depth 1 https://github.com/OdradekAI/bundles-forge

Made for: Claude Code, Codex.

Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,687 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00032 $0.01687
Opus 5 $0.00016 $0.00843
Sonnet 5 $0.00006 $0.00337
Haiku 4.5 $0.00003 $0.00169

Measured 2d ago against content hash f602255ba8b6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

testing 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 2d 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.

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/testing/SKILL.md · 244 lines

How it starts

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

Testing Bundle-Plugins

Overview

Dynamic verification of a bundle-plugin project: install it locally, confirm components are discoverable, validate hooks fire correctly, and run cross-platform smoke tests. Complements bundles-forge:auditing (static analysis) with runtime validation.

Core principle: Audit tells you if the structure is correct; testing tells you if it actually works.

Skill type: Flexible — adapt the test scope based on target platforms and project maturity.

Announce at start: "I'm using the testing skill to verify this plugin works correctly."

Step 1: Resolve Input & Detect Scope

Input Normalization

The target must be a local bundle-plugin project (has package.json + skills/). Remote URLs and archives are not supported — testing requires a local working directory.

Scope Detection

Target Mode
Project root with multiple platforms Full testing — all 5 test phases
Project root with single platform Platform testing — phases 1-4 for the target platform
Single skill directory Skill-only testing — phase 3 (component discovery) only

Phase 1: Local Test Environment

Generate a temporary dev-marketplace for local installation testing.

For Claude Code

  1. Create ../dev-marketplace/ adjacent to the project directory
  2. Generate .claude-plugin/marketplace.json pointing to the project:
{
  "name": "<project-name>-dev",
  "owner": { "name": "dev" },
  "plugins": [
    {
      "name": "<project-name>",
      "source": "../<project-directory-name>"
    }
  ]
}
  1. Instruct the user:
Dev marketplace created at ../dev-marketplace/

To install locally:
  /plugin marketplace add ./dev-marketplace
  /plugin install <project-name>@<project-name>-dev

To reload after changes:
  /plugin marketplace update <project-name>-dev

To clean up when done:
  /plugin marketplace remove <project-name>-dev

For Cursor

Cursor plugins are installed from local paths directly:

Read the full file on GitHub · 244 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 244 lines · 32 tokens per session scan A f602255ba8b6

Subscribe to this mod's changes

testing is a skill published in the GitHub repository OdradekAI/bundles-forge (230 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 32 tokens to every session and 1,687 once invoked, about $0.0002 per session on Opus 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-08-30.

Related

Other skills, from other repositories

uikit-expert

Write, review, or improve UIKit code following best practices for view controller lifecycle, Auto Layout, collection views, navigation, animation, memory management, and modern iOS 18–26 APIs. Use when building new UIKit features, refactoring existing views or view controllers, reviewing code quality, adopting modern…

zinxj/uikit-expert-skill · 95 tokens

add-ai-protection

Deprecated: use the arcjet skill instead. Adds security protection to AI/LLM endpoints and non-HTTP code paths — prompt injection detection, PII blocking, and token budget rate limiting.

arcjet/arcjet-plugin · 46 tokens

add-request-protection

Deprecated: use the arcjet skill instead. Adds security protection to a server-side route or endpoint — rate limiting, bot detection, email validation, and abuse prevention.

arcjet/arcjet-plugin · 40 tokens

add-guard-protection

Deprecated: use the arcjet skill instead. Adds Arcjet Guard protection to AI agent tool calls, background jobs, queue workers, and other non-HTTP code paths.

arcjet/arcjet-plugin · 42 tokens

arcjet

Add Arcjet security protection to any code path – HTTP route handlers, API endpoints, AI agent tool calls, MCP servers, background jobs, and queue workers. Covers rate limiting, bot detection, email validation, prompt injection detection, sensitive information blocking (including Rampart NER), content moderation…

arcjet/arcjet-plugin · 254 tokens

protect-route

Deprecated: use the arcjet skill instead. Adds security protection to a server-side route or endpoint — rate limiting, bot detection, email validation, and abuse prevention.

arcjet/arcjet-plugin · 38 tokens