Josip Musa has released JDS, a GitHub Copilot CLI plugin that transforms your AI coding assistant from an undisciplined code generator into something resembling an actual software engineer. The project, which dropped on Hacker News this week with a modest score of 4, enforces structured development workflows through a skill-based system—think design gates before any code gets written, mandatory test-first cycles, and completion claims that require actual command output as evidence.
The Core Problem JDS Tackles
According to Musa, AI coding assistants are powerful but undisciplined. They skip design and jump straight to implementation, write tests after the fact (or not at all), claim "it works" without running anything, lose track of progress mid-task, and fix symptoms instead of root causes. JDS addresses this by gating every phase of development through a strict skill pipeline: jds-think for exploration and spec writing, jds-plan for breaking work into atomic tasks, jds-execute with TDD enforcement via jds-tdd, jds-debug for systematic root-cause analysis when things break, and jds-verify that requires actual test output—not summaries or reasoning—to confirm completion.
How the Skill System Works
JDS distinguishes between rigid skills and flexible ones. Rigid skills like jds-tdd and jds-verify follow exact protocols with no adaptation or shortcuts—tests must exist before code, verification requires command output. Flexible skills like jds-think and jds-plan adapt to context while maintaining structure. The system ships eight core skills total, plus a worker-pool scheduler in jds-execute that dispatches tasks to isolated subagents running concurrently up to a configurable cap. Subagents never inherit session history—each task gets a focused, self-contained prompt with only what it needs, preventing stale assumptions and forcing verifiable outputs.
Visualization and Agent Support
The plugin includes a real-time task graph visualization server that renders your session's todo dependency graph at http://localhost:3847 (or the next free port if that's occupied). Tasks appear as colored nodes—blue pulsing for in_progress, red pulsing for blocked, green for done—with edges representing dependencies. The graph updates live via WebSocket as tasks change state. JDS also ships with three specialized agents: explainer for translating code into clear explanations, code-reviewer focused on security and quality, and tester that writes tests using When_Action_Expect_Result naming.
Installation and Usage
Getting started is straightforward—add the marketplace with copilot plugin marketplace add josipmusa/jds, then install with copilot plugin install jds@jds-marketplace. Once installed, JDS activates automatically at session start via a SessionStart hook that injects bootstrap context into every new session. Musa recommends copying the included copilot instructions (inspired by Andrej Karpathy's coding agent guidelines) into your global Copilot instructions file so they apply across all projects. The priority chain is your instructions > JDS skills > system defaults, so existing configurations won't break.
Key Principles Enforced
The project rests on five key principles: design before code (even a 2-minute design for simple tasks), tests before implementation (if code exists before a test, delete it and start over—this is non-negotiable according to the docs), evidence over claims (jds-verify requires actual command output, not summaries or reasoning), context isolation (subagents get focused prompts only containing what they need), and no placeholders in plans—every task must be complete code executable by a subagent without inferring intent.
Origins and Attribution
JDS adapts concepts from obra's superpowers repository, used under MIT License. Musa restructured the skills for Copilot's plugin system and added Copilot-specific features like SQL-based task tracking. The project is released under MIT license.
Key Takeaways
- JDS enforces discipline on AI coding assistants through gated skill workflows: think → plan → execute (with TDD) → verify → finish
- Rigid skills enforce exact protocols; flexible skills adapt context while maintaining structure—eight skills total covering design, planning, execution, testing, debugging, and verification
- Subagents run in isolated contexts with no session history inheritance, preventing stale assumptions and forcing verifiable outputs
- Ships with real-time task graph visualization via WebSocket at port 3847, plus specialized explainer, code-reviewer, and tester agents
The Bottom Line
JDS won't be for everyone—some developers find structured workflows constraining even when humans follow them. But if you've ever watched an AI coding assistant rabbit-hole into a solution that doesn't solve the actual problem while generating hundreds of lines you didn't need, Musa has built something worth examining. The skill-based enforcement model forces AI assistants to slow down and verify, which is exactly what most teams need from these tools right now.