osdlc
@osdlc Organization
Public Skills
docs-sweep
by osdlc
Sweep a codebase's comments and prose for ACCURACY first and length second. Nominates comment blocks deterministically, shards them one owner per file so agents edit concurrently without racing, applies a keep/delete rubric, then runs three verification passes: a comment-only gate over the diff, a review of removals that lost a constraint, and a check that what the sweep WROTE is true. Use for stale comments, dead path citations, doc drift, verbose module headers, duplicated prose, or a "clean up the docs" request at a scale one context cannot hold. Not a formatter and not a linter.
milestone-review
by osdlc
Given a milestone id (M-NNNN) or milestone file, assess its real state against its declared frontmatter state: walk its member tasks and related items to derive a grounded state and the concrete gaps / remaining work, then scan unclosed tasks and backlog items for related-but-unlinked work — bugs or gaps reported elsewhere. Reports read-only by default; corrects frontmatter drift on --fix or after asking. Use when asked to review or audit a milestone, check whether a milestone's state is accurate, or find what's left before closing it.
milestone-new
by osdlc
Interactively define a new milestone. Walk the user through title, state, version, target date, and known member tasks; create the file via sdlc milestone create (which auto-assigns an immutable id); validate the frontmatter; report the path. Optionally also capture prose for Goal / Success criteria / Out of scope and Edit them into the file.
info
by osdlc
Report the runtime state of the sdlc plugin this session is actually running — the on-disk root it loaded from (CLAUDE_PLUGIN_ROOT, resolved through any symlink), the manifest version, whether it's a live working tree or a pinned cache snapshot, the git branch/commit/dirty state, and every ~/.claude/plugins registration that mentions the plugin. Read-only; for self-verifying which install won when several are configured.
backlog-capture
by osdlc
Capture a stray idea fast: interpret freeform text in-session into a concise headline, an optional body, and inferred tags, then shell out to sdlc backlog create (the deterministic tail) to land it on the rolling backlog-capture PR. Invoked as /sdlc:backlog-capture <text>; --fast takes a single silent shot with no clarifying question.
info
by osdlc
Report the runtime state of the sdlc plugin this session is actually running — the on-disk root it loaded from (CLAUDE_PLUGIN_ROOT, resolved through any symlink), the manifest version, whether it's a live working tree or a pinned cache snapshot, the git branch/commit/dirty state, and every ~/.claude/plugins registration that mentions the plugin. Read-only; for self-verifying which install won when several are configured.
task-new
by osdlc
Interactively define a new task. Walk the user through headline, slug, state, impact, and complexity; create the file via sdlc task create; validate the frontmatter; report the path. Optionally also capture prose for the body sections and Edit them into the file before reporting.
backlog-capture
by osdlc
Capture a stray idea fast: interpret freeform text in-session into a concise headline, an optional body, and inferred tags, then shell out to sdlc backlog create (the deterministic tail) to land it on the rolling backlog-capture PR. Invoked as /sdlc:backlog-capture <text>; --fast takes a single silent shot with no clarifying question.
find-verbs
by osdlc
Interactively populate or update named verb lists (setup, check, or custom) in a project's top-level sdlc.yaml. For check and setup, probes the project root via sdlc quality detect and sdlc project detect-setup respectively, presents the detected candidates through AskUserQuestion (multiSelect), and writes the approved subset back to sdlc.yaml. For other names, edits the current list without probing. Idempotent — re-running with the same selection is a no-op. Runs standalone or as a called step of /sdlc:setup.
find-verbs
by osdlc
Interactively populate or update named verb lists (setup, check, or custom) in a project's top-level sdlc.yaml. For check and setup, probes the project root via sdlc quality detect and sdlc project detect-setup respectively, presents the detected candidates through AskUserQuestion (multiSelect), and writes the approved subset back to sdlc.yaml. For other names, edits the current list without probing. Idempotent — re-running with the same selection is a no-op. Runs standalone or as a called step of /sdlc:setup.
product-new
by osdlc
Define a new Product — a thing this project builds and ships, usually a library — together with its Drivers, grounded in parallel domain research. Gathers the Product/Driver contracts and next ids, dispatches multiple research subagents (theory / prior-art / existing-libraries, each a configurable goal, run autonomously or with check-ins), synthesizes a Product entry + Driver entries + a research writeup, and validates. Invoke for "define a product", "scope/define a new library", "new product entry", or when starting a library with a product-definition-and-research pass.
docs-sweep
by osdlc
Sweep a codebase's comments and prose for ACCURACY first and length second. Nominates comment blocks deterministically, shards them one owner per file so agents edit concurrently without racing, applies a keep/delete rubric, then runs three verification passes: a comment-only gate over the diff, a review of removals that lost a constraint, and a check that what the sweep WROTE is true. Use for stale comments, dead path citations, doc drift, verbose module headers, duplicated prose, or a "clean up the docs" request at a scale one context cannot hold. Not a formatter and not a linter.
docs
by osdlc
Regenerate the generated-docs artifacts from the entities on disk: docs/index.md — SDLC's single front-door — docs/glossary.md — the vocabulary roster assembled from term entities — and docs/references.md — the external-source roster assembled from reference entities. All are build artifacts: never hand-edited, always regenerated via sdlc docs generate [<artifact>…] (bare invocation = the three committed wiki artifacts; positional names scope the run — name site explicitly to build the Cloudflare-owned Astro site, which is otherwise gitignored and rebuilt at deploy time). Trigger when an entity is added/removed/renamed/re-kinded, a term or reference is added or edited, or a narrative section is added.
session-cleanup
by osdlc
Tear down the branch and worktree a conversation worked in, but only after proving the work landed: nothing uncommitted, nothing unpushed, and the branch merged (squash merges included). When that fails it reports what is unlanded and stops without touching anything. Invoke at the end of a session for "clean up", "clean up this branch", "we're done here", "tear down the worktree", or "is this safe to delete".
migrate
by osdlc
Umbrella migration skill. Sequences the two migrations a consuming project needs after a plugin upgrade: entity-schema drift (/sdlc:entities-migrate), then runtime-state relocation (/sdlc:migrate-runtime-state). Forwards flags and reports each subskill's result; the subskills do the work — entities-migrate opens its own PR, migrate-runtime-state mutates gitignored state in place.
migrate
by osdlc
Umbrella migration skill. Sequences the two migrations a consuming project needs after a plugin upgrade: entity-schema drift (/sdlc:entities-migrate), then runtime-state relocation (/sdlc:migrate-runtime-state). Forwards flags and reports each subskill's result; the subskills do the work — entities-migrate opens its own PR, migrate-runtime-state mutates gitignored state in place.
entities-audit
by osdlc
Audit every entity instance under docs/planning/<plural>/ against the current entity schemas in the plugin. Reports schema_version drift, frontmatter validation errors, depends_on graph issues, and prose-section drift (missing template H2s). Read-only: catalogues drift, applies no fixes. Mechanical fixes are /sdlc:entities-migrate's job (see also).
milestone-new
by osdlc
Interactively define a new milestone. Walk the user through title, state, version, target date, and known member tasks; create the file via sdlc milestone create (which auto-assigns an immutable id); validate the frontmatter; report the path. Optionally also capture prose for Goal / Success criteria / Out of scope and Edit them into the file.
entities-audit
by osdlc
Audit every entity instance under docs/planning/<plural>/ against the current entity schemas in the plugin. Reports schema_version drift, frontmatter validation errors, depends_on graph issues, and prose-section drift (missing template H2s). Read-only: catalogues drift, applies no fixes. Mechanical fixes are /sdlc:entities-migrate's job (see also).
migrate-runtime-state
by osdlc
Move SDLC-plugin runtime state from the legacy .claude/ location to .sdlc/ in a consuming project (worktrees, pr-cursors, orchestrator-log). Idempotent — re-running on an already-migrated project is a no-op. Operates directly on the main repo, since the things being moved are worktrees.
review-todos
by osdlc
Scan the codebase for TODO / FIXME / HACK comments, judge each one's worth in context, and ask the user what to do per item: promote to a task (immediate work), capture as a backlog item (defer triage), edit the comment in place, or skip. Promotion to a task calls sdlc task create and commits on main; promotion to a backlog item calls sdlc backlog create, which lands it on the rolling backlog-capture PR.
docs
by osdlc
Regenerate the generated-docs artifacts from the entities on disk: docs/index.md — SDLC's single front-door — docs/glossary.md — the vocabulary roster assembled from term entities — and docs/references.md — the external-source roster assembled from reference entities. All are build artifacts: never hand-edited, always regenerated via sdlc docs generate [<artifact>…] (bare invocation = the three committed wiki artifacts; positional names scope the run — name site explicitly to build the Cloudflare-owned Astro site, which is otherwise gitignored and rebuilt at deploy time). Trigger when an entity is added/removed/renamed/re-kinded, a term or reference is added or edited, or a narrative section is added.
task-review
by osdlc
Triage every unfinished task in docs/planning/tasks/: verify each is still relevant against the current codebase, check that the spec is complete enough to act on, update frontmatter (impact, complexity, last_reviewed, plus closed/done when code shows the work shipped), and produce a ranked recommendation of the next 1-2 tasks to tackle and why.
principle-review
by osdlc
Walk every principle under docs/planning/principles/ and scan the project for contradictions — code, docs, or conventions that violate a principle, principles that contradict each other — and read each principle's own text for being fully descriptive yet succinct. Fans out one subagent per principle via the Workflow tool and writes an HTML report to .sdlc/reports/. With --propose, also lands the text edits it recommends on a branch and opens one PR. Invoke for "review the principles", "do the principles contradict each other", "are the principles too long", or "propose principle fixes".