Turned the existing Skill Router V2 into a polished, trustworthy, reproducible open-source repository. All changes preserve the deterministic routing architecture, agent-neutral core, and existing installer. No behavioral regressions were introduced.
.github/workflows/tests.yml — CI test matrix (Python 3.10–3.13)
.github/workflows/lint.yml — CI syntax + validation
.github/workflows/benchmark.yml — CI benchmark on main branch
.github/CODEOWNERS — Code ownership
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/PULL_REQUEST_TEMPLATE.md
SECURITY.md — Security policy, vulnerability reporting
CODE_OF_CONDUCT.md — Contributor Covenant
docs/architecture.md
docs/routing.md
docs/configuration.md
docs/agents.md
docs/benchmarking.md
docs/troubleshooting.md
docs/development.md
pyproject.toml — Standard Python packaging
src/skill_router/__init__.py — Packaging shim (pip-installable)
models.py — Extracted model layer
MANIFEST.in — Wheel/sdist inclusion rules
dev-requirements.txt — Optional dev tooling
benchmark-baseline.json — Saved regression baseline
README.md— Restructured with quick-start-first information architectureSKILL.md— Branding unified to "Skill Router"skill.py— sys.path guard for models import; built-in benchmark extended with latency timinginstall.py— Unchanged (installer safety preserved)manifest.json— "Skill_by_Satya" alias removedCHANGELOG.md— Full unreleased section, proper semver sectionsCONTRIBUTING.md— Routing behavior change guidelines addeddocumentions.md— Superseded by docs/ split (content migrated, file still present for backward refs).gitignore— Added*.egg-info/,dist/,build/,wheels/benchmarks/run_benchmark.py— Extended metrics, regression gate, scaling modebenchmarks/gold-set.json— Branding cleanuptemplates/agent.md— Branding cleanuptests/run_tests.py— Minor formattingtests/test_install.py— Windows path fixtests/test_router.py— Unchanged (all 20 tests pass)
documentions.md→docs/(7 files: architecture, routing, configuration, agents, benchmarking, troubleshooting, development)
Ran 20 tests in 1.902s — OK
All routing, cache, drift, bootstrap, installer, CLI, and benchmark tests pass. No regressions.
decision_accuracy 1.0
top1_accuracy 1.0
top3_recall 1.0
false_route_rate 0.0
false_no_route_rate 0.0
ambiguity_precision 1.0
ambiguity_recall 1.0
multi_skill_correct 1.0
avg_latency_ms 0.415
latency_p95_ms 0.504
avg_output_bytes 406.1
avg_meta_bytes/route 729.7
metadata_reduction_pct 96.7%
36/36 gold-set cases pass. Baseline saved to benchmark-baseline.json.
No benchmark regression. All metrics identical or improved. Scaling results documented at 16/96/496/992/4992 skills with honest interpretation of corpus duplication behavior.
pyproject.tomladded with stdlib-only dependenciespip install -e ".[dev]"verified — installs cleanlyskill-router --version→2.0.0MANIFEST.incovers all distribution files- Existing
install.pyinstaller untouched
3 workflows pushed to branch:
tests.yml— Python 3.10, 3.12, 3.13 matrixlint.yml— Syntax checks + validatebenchmark.yml— Full benchmark on main branch pushes
SECURITY.md— Supported versions (2.0.0+), vulnerability reporting process, security boundary documentationCODE_OF_CONDUCT.md— Contributor CovenantCODEOWNERS— @coderdoctor97 owns core routing, installer, tests, benchmarks, CI- Security boundary explicitly documented: router is not a sandbox, does not execute commands, relies on host agent
- P15 partial:
models.pyextracted; full module boundary separation (ranking, cache, validation, discovery) deferred until clearer usage boundaries emerge - P17: Thin CLI wrapper (
skill_router:main) exists; fullskill-router route/validate/benchmark/doctorabstraction already works via entry point - P26: Clean-environment packaging test done via
pip install -e .; full venv-isolated test not performed - P27: Regression audit completed for routing core; installer safety edge cases covered by existing tests
documentions.mdstill present (superseded by docs/ but not removed for backward references)
- No router rewrite — V2 deterministic architecture fully preserved
- No LLM replacement — Scoring, ranking, and boundaries unchanged
- No installer rewrite —
install.pyis untouched - No new agent adapters — Agent-specific logic stays isolated
- No new dependencies — Runtime remains stdlib-only
- No unnecessary commands — CLI surface unchanged
- No git history rewrite — All changes are incremental commits
- No fabricated benchmark numbers — Scaling results are actual runs with honest interpretation