marketplace/bundles/pm-plugin-development/skills/plan-marshall-plugin/SKILL.md
Plugin development domain manifest with module discovery for plan-marshall workflow integration
npx skillsauth add cuioss/plan-marshall plan-marshall-pluginInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Domain extension providing plugin development skill registration and module discovery to plan-marshall workflows.
Execution mode: Extension manifest; modify only via Extension API contract.
Prohibited actions:
Constraints:
get_skill_domains() from ExtensionBasepm-dev-python:plan-marshall-plugin via marketplace.json detectionDiscovers marketplace bundles as modules for the per-module architecture
layout under .plan/project-architecture/. manage-architecture writes a
top-level _project.json whose modules index is the source of truth for
which modules exist, plus one {module}/derived.json per indexed module
holding this extension's discovery output. Per-module subdirectories present
on disk but absent from _project.json["modules"] are ignored — the index is
authoritative, not the filesystem.
Each bundle in marketplace/bundles/ becomes one such module with:
| Aspect | Value |
|--------|-------|
| Build system | marshall-plugin |
| Descriptor | .claude-plugin/plugin.json |
| Packages | Skills, agents, commands (type-prefixed) |
Each bundle module gets the full set of canonical Python build commands via plan-marshall:build-pyproject:pyproject_build:
| Command | Execution |
|---------|-----------|
| compile | mypy on bundle sources |
| test-compile | mypy on bundle tests |
| module-tests | pytest on bundle tests |
| quality-gate | ruff check on bundle |
| verify | Full verification (compile + quality-gate + module-tests) |
| coverage | pytest with coverage |
| clean | Remove build artifacts |
Components are mapped to packages with type prefixes:
skill:{name} - Skill directories (description from SKILL.md)agent:{name} - Agent .md files (description from frontmatter)command:{name} - Command .md files (description from frontmatter)A "default" root module provides project-wide commands (no bundle filter):
Configuration in extension.py implements the Extension API contract:
| Function | Purpose |
|----------|---------|
| get_skill_domains() | Domain metadata with profiles |
| discover_modules() | Module discovery whose results feed each bundle's per-module derived.json under .plan/project-architecture/{module}/ |
| provides_triage() | Returns pm-plugin-development:ext-triage-plugin |
| provides_outline_skill() | Returns pm-plugin-development:ext-outline-workflow |
This extension is discovered by:
extension-api - Domain registration and module discoverymanage-architecture - Architecture analysismarshall-steward - Project setup wizardplan-marshall:extension-api - Extension API contractpm-dev-python:plan-marshall-plugin - Python build execution via pyproject_build.pypm-plugin-development:ext-triage-plugin - Plugin triage extensionpm-plugin-development:ext-outline-workflow - Plugin outline workflowThe canonical argparse surface for plugin_discover.py. The plugin-doctor analyzer (_analyze_manage_invocation.py) reads this section as source-of-truth for the manage-invocation-invalid and missing-canonical-block rules. Consuming docs xref this section by name instead of restating the command inline. See pm-plugin-development:plugin-script-architecture cross-skill-integration.md § "Script invocation in documentation".
python3 .plan/execute-script.py pm-plugin-development:plan-marshall-plugin:plugin_discover discover \
--root ROOT
testing
A test skill for README generation
testing
A test skill with existing references
tools
Skill without references directory
development
Test skill with table-format references