본문으로 건너뛰기
cccskills
무료GitHub에 공개

testing

Use when testing a bundle-plugin locally before release — generating dev-marketplace environments, verifying component discovery, running hook smoke tests, and validating cross-platform readiness

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md7.2 KB
  • references/platform-test-guides.md4.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

TargetMode
Project root with multiple platformsFull testing — all 5 test phases
Project root with single platformPlatform testing — phases 1-4 for the target platform
Single skill directorySkill-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:

To test locally in Cursor:
  1. Open Cursor Settings → Extensions → Install from Path
  2. Select the project root directory
  3. Reload Cursor to pick up changes

For Other Platforms

  • Codex: Symlink skills/ into ~/.agents/skills/ per INSTALL.md
  • OpenCode: Register the plugin path in .opencode/plugins/
  • Gemini CLI: Point the extension config to the local directory

See references/platform-test-guides.md for platform-specific setup instructions.


Phase 2: Hook Smoke Tests

Verify hooks execute without errors by running them directly.

SessionStart Hook

bash hooks/session-start

Expected: Exits 0, prints a one-line prompt containing the project name and available skills. No stderr output.

Verify output format:

  • If CLAUDE_PLUGIN_ROOT is set: valid JSON with hookSpecificOutput.additionalContext
  • If CURSOR_PLUGIN_ROOT is set: valid JSON with additional_context
  • Neither: plain text

Custom Hooks (if configured)

If the project defines PreToolUse or PostToolUse hooks in hooks.json, run each referenced script directly and verify:

  • PreToolUse scripts: exit 0 on a valid project, exit 2 to block writes on critical issues
  • PostToolUse scripts: always exit 0, warnings go to stderr

OpenClaw Hook-Pack (if present)

Verify hooks/openclaw-bootstrap/HOOK.md has valid YAML frontmatter with events declaration, and handler.js uses ESM export default.


Phase 3: Component Discovery

Verify that all declared components can be found by the host platform.

Skills

For each directory under skills/:

  • Contains SKILL.md
  • Frontmatter has name and description
  • name matches directory name
  • description starts with "Use when..."

Agents

For each .md file under agents/:

  • Has YAML frontmatter
  • Body has 5+ non-empty lines (self-contained protocol)

Platform Manifests

For each target platform:

  • Manifest file exists and is valid JSON
  • Paths in manifest resolve to existing files/directories
  • Version matches package.json version

Phase 4: Cross-Platform Readiness

Generate a platform-specific test checklist based on references/platform-test-guides.md and known limitations from bundles-forge:scaffolding — references/platform-adapters.md.

Known Limitations to Verify

PlatformLimitationTest
Claude CodePlugin caching breaks ../ pathsVerify no ../ in hook commands or manifest paths
CursorBootstrap lost after /clearVerify session-start runs independently of prior context
CodexNo hook bootstrapVerify AGENTS.md or INSTALL.md has manual setup instructions
OpenCodePlugin JS must use ESMVerify export default in .opencode/plugins/*.js
Gemini CLIExtension needs contextFileNameVerify gemini-extension.json has contextFileName field
OpenClawHook-pack wiring uncertainDocument as known risk in test report

Phase 5: Test Report

Generate a test report summarizing all findings.

Report Structure

# Test Report: <project-name>

**Date:** YYYY-MM-DD
**Scope:** [Full / Platform / Skill-only]
**Platforms tested:** [list]

## Results

| Phase | Status | Details |
|-------|--------|---------|
| 1. Local Environment | PASS/FAIL/SKIP | ... |
| 2. Hook Smoke Tests | PASS/FAIL/SKIP | ... |
| 3. Component Discovery | PASS/FAIL/SKIP | N skills, K agents |
| 4. Cross-Platform | PASS/FAIL/SKIP | ... |

## Issues Found

### Critical
- (blocks release)

### Warnings
- (should fix before release)

## Recommendations

- ...

Report location: .bundles-forge/audits/<timestamp>-test-report.md


Integration with Releasing

In the releasing pipeline, testing runs after auditing and before version bump:

audit → test → version bump → publish

If testing reveals critical issues, the release pipeline is blocked until they are resolved.


Common Mistakes

MistakeFix
Skipping local install testAlways test with a real dev-marketplace — file discovery differs from file existence
Testing only on one platformRun cross-platform checklist for every target platform
Ignoring hook exit codesHooks must exit 0 to avoid blocking the host; test all code paths
Not cleaning up dev-marketplaceAlways remove dev-marketplace after testing
Testing after version bumpTest before bumping — avoid releasing a broken version

Inputs

  • project-directory (required) — bundle-plugin project root

Outputs

  • test-report — comprehensive test results written to .bundles-forge/audits/
  • dev-marketplace (temporary) — local marketplace directory for installation testing

Integration

Called by:

  • bundles-forge:releasing — pre-release dynamic verification (after audit, before version bump)
  • User directly — standalone local testing during development

Calls:

  • (none — testing is a pure executor, does not dispatch other skills)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

auditing

무료

Use when reviewing a bundle-plugin for structural issues, version drift, skill quality, workflow integration, or security risks — before releasing, after changes, or after adding skills. Auto-detects scope (full project vs skill vs workflow)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

authoring

무료

Use when writing, completing, improving, or adapting SKILL.md and agents/*.md in a bundle-plugin — integrating external skills, filling scaffolded stubs, or rewriting for better triggering and token efficiency

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

Use when planning new bundle-plugins, splitting complex skills, combining skills into bundles, or exploring a vague idea about packaging skills

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

Use when optimizing a bundle-plugin or single skill — improving descriptions, reducing tokens, fixing audit findings, restructuring workflows, adding skills to fill gaps, or iterating on user feedback

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

releasing

무료

Use when releasing a bundle-plugin, bumping versions, fixing version drift across manifests, setting up version sync infrastructure, updating CHANGELOG, publishing to marketplaces, or checking release readiness

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

Use when generating project structure for new bundle-plugins, adding or removing platform support (Claude Code, Cursor, Codex, OpenCode, Gemini CLI, OpenClaw), updating platform manifests, or migrating hooks and configuration between platforms

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

OdradekAI/bundles-forge2282026년 4월 27일 업데이트

OdradekAI의 스킬 모두 보기

이 스킬의 문제 신고