Use when starting any conversation - establishes the JDS skill suite, requiring skill checks before ANY action including clarifying questions. Invoke this at session start to activate the JDS workflow.
Use when a confirmed implementation plan exists under docs/jds/plans/ and you need to execute it task by task using subagents with context isolation. Invoke after jds-plan completes, or when the user asks to execute or implement an existing plan.
Use before writing any code, asking clarifying questions, or taking any action on a task. This is the exploration, communication, and design gate — the most important skill in the suite. Every task that does not match a well-defined domain skill (per jds-bootstrap's Domain Skill Fast Track) passes through it, regardless of perceived simplicity. Invoke whenever implementation work is about to begin, when requirements are unclear, or when the user asks to build, add, fix, or change something. Also invoke for lightweight tasks that don't need a full design — jds-think scales down.
Use after a spec has been confirmed via jds-think, to translate it into an executable implementation plan. Requires a spec file to exist under docs/jds/specs/. Invoke when transitioning from design to implementation, or when the user asks to plan how to build something that already has a spec. Also invoke for Moderate tasks that skip the spec phase — jds-plan can work directly from jds-think's exploration context.
Use when encountering any bug, test failure, unexpected behavior, or error at any phase of development. Invoke before attempting any fix - this skill prevents symptom-patching by enforcing systematic root-cause analysis. Also use when a fix attempt has already failed and you need a structured approach.
Use when writing any code during implementation - enforces the RED-GREEN-REFACTOR TDD cycle. This is a rigid skill that cannot be adapted or skipped. Invoke whenever code is being written as part of a feature, bugfix, or any implementation task.
Use when all tasks in a plan are marked done and jds-verify has passed. This skill handles final verification and cleanup of JDS working artifacts. It does NOT commit, push, or create PRs - those actions belong to the caller or the developer.
Use when restructuring code without changing behavior — renaming, extracting methods, moving classes, simplifying logic, reducing duplication, or improving readability. Invoke when the user asks to refactor, clean up, restructure, reorganize, simplify, or improve code quality without adding features. Also use when jds-debug or code review identifies structural issues that need resolution.