Skip to content

T-LNHL-delete-skill-prose-custom-matcher

Status: closed/done · Impact: medium · Complexity: small

With the gate running the contract, the bespoke matcher is dead code. Remove plugin/lib/services/gate/ops/_skill_prose_core.ts and its hand-rolled phrase / section / tool-ref matching, and thin the skill-prose op down to a markdown-contract caller — mirroring the shape of skill_md_harness.ts, the sibling SKILL.md harness that is already a thin contract caller.

LocationRole today
plugin/lib/services/gate/ops/_skill_prose_core.tsThe bespoke matcher — lintSkill plus the phrase / section / tool-ref matching logic; once the gate is rewired, nothing imports it
plugin/lib/services/gate/ops/skill-prose.tsThe gate op; after this task it is a thin contract caller with no project-local matching
.claude/skills/project-check/skill_md_harness.tsThe thin-contract-caller pattern this op mirrors

After T-6OS7 the op imports the contract runner, so _skill_prose_core.ts has no callers. Confirm, then remove it.

  • Grep for importers: the only one is skill-prose.ts (rewired in T-6OS7). The op’s local Violation interface (skill-prose.ts:88) is independent of the core’s, so deleting the core orphans no shared type.
  • Delete _skill_prose_core.ts and any residual import line; confirm the op is a thin markdown-contract caller in the shape of skill_md_harness.ts.
LocationKindChange
plugin/lib/services/gate/ops/_skill_prose_core.tsdeleteRemove the bespoke matcher (lintSkill + phrase / section / tool-ref logic); no importers remain after the rewire
plugin/lib/services/gate/ops/skill-prose.tsmodifyRemove the now-unused _skill_prose_core.ts import if T-6OS7 left it; confirm no residual references
  • AC-1: _skill_prose_core.ts is deleted; no source file imports lintSkill or any symbol from it.
  • AC-2: The skill-prose op is a thin markdown-contract caller with no bespoke matching, structured like skill_md_harness.ts.
  • AC-3: The skill-prose tests and the lefthook gate run green after the deletion.
  • Removing the invariants.yaml sidecars or migrating fixtures — the next task.
  • Authoring or changing the contract — done in earlier phase-B tasks.

T-6OS7-rewire-skill-prose-gate-onto-contract


← Back to Tasks