You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the skilllint repository substantially easier for coding agents to navigate, reason about, modify, and verify without changing the product's established validation semantics.
The repository already has useful domain seams — rules/, adapters/, boundary/, schemas/, scan_runtime.py, reporting, and provenance — but those seams are obscured by:
a very large packages/skilllint/plugin_validator.py compatibility/implementation surface;
host-specific orchestration policy living in the universal AGENTS.md;
a large checked-in agent/workflow/runtime surface that competes with product source during retrieval;
duplicated volatile CLI/rule facts across README, usage docs, and the bundled skill;
a slow default test loop that makes repeated agent verification expensive.
This epic coordinates changes that improve change-location inference, context efficiency, documentation authority, and verification latency for agents while preserving the public skilllint behavior.
Design principles
Make the correct change seam obvious before an agent reads implementation detail.
Keep host-neutral repository rules separate from host-specific orchestration behavior.
Treat non-product agent/runtime/planning trees as intentionally classified context, not implicit product architecture.
Query volatile product facts from the runtime/registry rather than duplicating them in prose.
Decompose the legacy central module incrementally behind compatibility exports.
Keep the fast deterministic linter role fast; richer analysis remains opt-in.
Moving packages/skilllint to src/skilllint purely for aesthetics.
Rewriting the rule/adapters/schema architecture that already provides useful extension seams.
Removing development tooling merely because it is large.
A big-bang compatibility-breaking rewrite of plugin_validator.py.
Enabling instruction-context analysis by default.
The repository currently contains one Python package beneath packages/; document the root pyproject.toml ownership clearly, but do not churn paths merely to make the layout look like a conventional single-package src/ project.
Completion criteria
An unfamiliar coding agent can identify the intended edit location for common change types from the root instructions without repository-wide searching.
Host-specific agent behavior is not imposed as a universal repository contract.
Repository tooling/runtime/planning/vendor trees are explicitly distinguishable from product architecture.
plugin_validator.py is no longer the default owner for unrelated concerns, with compatibility preserved during migration.
Agent-facing guidance does not duplicate rule catalogs, fixability, command inventories, thresholds, or release/version facts that can be queried from skilllint itself.
A documented fast verification path exists for iterative work, with the full repository gate remaining authoritative before completion.
Outcome
Make the skilllint repository substantially easier for coding agents to navigate, reason about, modify, and verify without changing the product's established validation semantics.
The repository already has useful domain seams —
rules/,adapters/,boundary/,schemas/,scan_runtime.py, reporting, and provenance — but those seams are obscured by:packages/skilllint/plugin_validator.pycompatibility/implementation surface;AGENTS.md;This epic coordinates changes that improve change-location inference, context efficiency, documentation authority, and verification latency for agents while preserving the public skilllint behavior.
Design principles
Work breakdown
plugin_validator.pybehind stable compatibility exports.Current-main reconciliation — 2026-09-29
main; the bundled skill is procedural/runtime-driven and the volatile catalog ownership has been reduced.scripts/run_fast_tests.pyexists, AGENTS distinguishes inner-loop from completion proof, and CI runs the named fast profile. Remaining performance/economic work stays coupled to perf(tests): suite spends ~two thirds of its wall clock on subprocess startup #148, so test(agent-ux): define a fast inner verification loop and retain the full completion gate #285 remains open.models.py; policy/config is the next coherent ownership slice.Recommended implementation order
Phase 1 — make the repository legible before moving code
These are low-behavior-risk changes and establish the context rules later agents should follow.
Phase 2 — remove architectural gravity and duplicated knowledge
plugin_validator.pyconsumers and extract shared models/contracts first.#284 can overlap with later #283 slices, but should not invent target module names before the corresponding seam exists.
Phase 3 — improve iteration cost
Performance work should preserve the distinction between a fast affected-boundary check and repository-wide completion proof.
Phase 4 — add richer analysis on the clean boundary
Existing related work
Non-goals
packages/skilllinttosrc/skilllintpurely for aesthetics.plugin_validator.py.The repository currently contains one Python package beneath
packages/; document the rootpyproject.tomlownership clearly, but do not churn paths merely to make the layout look like a conventional single-packagesrc/project.Completion criteria
plugin_validator.pyis no longer the default owner for unrelated concerns, with compatibility preserved during migration.