marketplace/bundles/pm-plugin-development/skills/ext-triage-plugin/SKILL.md
Triage extension for marketplace plugin findings during plan-finalize phase
npx skillsauth add cuioss/plan-marshall ext-triage-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.
Provides decision-making knowledge for triaging marketplace plugin development findings during the finalize phase.
This skill is a triage extension loaded by the plan-finalize workflow skill when processing plugin development findings (Python scripts, markdown documentation, YAML configurations).
Key Principle: This skill provides knowledge, not workflow control. The finalize skill owns the process.
Loaded via resolve-workflow-skill-extension --domain plan-marshall-plugin-dev --type triage during finalize phase when:
| Document | Purpose | |----------|---------| | suppression.md | Python and markdown suppression syntax | | severity.md | Plugin-specific severity guidelines | | pr-comment-disposition.md | PR review comment disposition (FIX / REPLY-AND-RESOLVE / ESCALATE) for marketplace plugins |
Registered in marshal.json under the plugin development domain:
"plan-marshall-plugin-dev": {
"workflow_skill_extensions": {
"triage": "pm-plugin-development:ext-triage-plugin"
}
}
| Finding Type | Syntax |
|--------------|--------|
| Python linting | # noqa: E501 or # noqa |
| Python typing | # type: ignore |
| Pytest skip | @pytest.mark.skip(reason="...") |
| Markdown lint | <!-- markdownlint-disable MD001 --> |
| YAML validation | Configure .yamllint rules |
| Plugin-doctor | Fix structurally (no suppression) |
| Severity | Default Action | |----------|----------------| | Test failure | Fix (tests must pass) | | Plugin-doctor error | Fix (quality gate) | | Script type error | Fix or add type ignore | | Documentation issue | Fix for consistency | | Frontmatter warning | Fix (required for loading) |
These findings frequently appear in plugin development but are typically acceptable:
| Finding | Context | Why It's a False Positive |
|---------|---------|--------------------------|
| MD041 (first line heading) | SKILL.md, agent.md, command.md | YAML frontmatter precedes the first heading |
| MD013 (line length) | Tables in standards/*.md | Tables with multiple columns cannot be wrapped |
| MD033 (inline HTML) | HTML comments for markdownlint control | <!-- markdownlint-disable --> is intentional |
| E501 (line too long) | Script help text, URL strings | Long help strings and URLs are not splittable |
| F401 (unused import) | __init__.py re-exports | Imports for public API re-export |
| Type ignore on json.loads | Dynamic JSON parsing in scripts | Return type depends on input, not statically known |
| Plugin-doctor Rule 8 | Bootstrap/init scripts | Bootstrap scripts need absolute paths for initial setup |
| Heading skip (MD001) | Skills with ## Enforcement after # title | Intentional structure per enforcement block pattern |
| Issue | Resolution |
|-------|-----------|
| tools: as comma-separated string | Correct format — not YAML array syntax |
| description: with pipe or colon | Wrap in quotes: description: "Analyze: find issues" |
| user-invocable: as string | Must be boolean: true or false, not "true" |
| Multi-line description | Use >- folded scalar or single-line |
name or description in frontmatterpm-plugin-development:plugin-architecture - Plugin patternstesting
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