Skip to content

testing: unguarded inline dotnet-test:* cross-plugin ref; .NET-only enrichment lists presented as the universal path #430

Description

@kyle-sexton

Plugin: testing · Categories: hardcoded opinion (1), missing seam guard (2)
Source: work-readiness sweep (read-only audit vs docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md)

Findings

  • plugins/testing/skills/write/context/write.md:78 — "(detection layer: dotnet-test:test-anti-patterns + dotnet-test:assertion-quality plugins)" — inline parenthetical, NOT under any "invoke only when installed" guard
  • Guarded lists (structurally fine but all-.NET): write.md:138-142, organize.md:61-64, plan/SKILL.md:105-108, run-e2e/context/e2e.md:134-137, diagnose/context/investigate.md:55-58, diagnose/context/loop.md:110-113dotnet-test:*, dotnet-diag:*, dotnet-msbuild:*, cloudflare:web-perf, document-skills:webapp-testing

Why it breaks the repo's rules

(1) write.md:78 is a bare unguarded cross-plugin reference — exactly what PLUGIN-PHILOSOPHY's design boundary calls "a defect". (2) Every recommended sibling is .NET-ecosystem-specific, so a plugin billed "across all ecosystems" offers a house-stack-only enrichment path. None of the dotnet-* plugins exist in this marketplace (verified in this sweep — same pattern as #405/#412/#422); cloudflare:* and document-skills:* are external.

Fix direction

Move write.md:78's mention under the existing guarded pattern (or drop it). Frame the .NET-only lists explicitly as ".NET-ecosystem plugins — applicable when your stack is .NET" so non-.NET consumers are not handed a dead list as the universal path; keep them optional/gated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: highSignificant impact, or blocks an imminent release; staff this cycle.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions