osdlc
@osdlc Organization
Public Skills
parley
by osdlc
Check, serve and render a parley document as one review page, then read the reviewer's comments and answers back and reply to each one. A document is JSON: a list of typed blocks and the questions the agent needs answered. The peer parley.mjs is one bundled file that runs under bun, node 22+ and deno with no dependencies and no build step.
collaborate
by osdlc
Co-edit a markdown document the user has open and is typing in. Read the document, find @agent markers, do the work each one asks for, then present every proposed change in chat and get approval before writing anything. Use when the user points at a markdown file containing @agent markers, asks you to fill in or answer parts of a doc you are both working on, or says to collaborate on / work through a document together. Exists to keep writes from clobbering content the user is editing live.
decision-make
by osdlc
Make one decision in the open: state the question and its forcing drivers, research the facts and the prior art it rests on, write the options with consequences, choose with criteria written first, and record what would reopen it. Use it whenever a choice will constrain later work.
parley
by osdlc
Check, serve and render a parley document as one review page, then read the reviewer's comments and answers back and reply to each one. A document is JSON: a list of typed blocks and the questions the agent needs answered. The peer parley.mjs is one bundled file that runs under bun, node 22+ and deno with no dependencies and no build step.
bug-finder
by osdlc
Sweep an entire codebase for real bugs and fix them. Partitions the tree into module-boundary territories, then runs three chained agent workflows — scan (three altitudes: in-function, in-module, in-library) → adversarial validate → fix → verify-fix → land — so a fresh agent performs every step and the orchestrating session never reads source itself. Opens one PR per module boundary, then surveys the open PRs, computes the conflict matrix deterministically with git merge-tree, and merges the overlapping bugfix branches into each affected PR in a single aggregated push so CI runs once per PR, not once per fix. Pass --bomb for maximum parallelization.
api-enhancement-scan
by osdlc
Given a library or module name, survey every call site of it across the codebase — fanning out subagents over independent codebase sections — and surface recurring caller-side patterns (repeated boilerplate, copy-pasted wrappers, awkward argument plumbing, repeated post-processing) that a new or enhanced API on the called module would absorb. Returns ranked enhancement opportunities, each backed by real call-site citations. Use when asked to find API improvement or enhancement opportunities for a module, library, or package, to spot missing affordances, or to understand how a module is actually used by its callers. Pass --in to survey only named packages or directories instead of the whole project, and --workflow to have it propose a reusable Workflow script for the survey instead of running it ad hoc.
milestones-from-file
by osdlc
Given a filepath, do a best-effort extraction of milestone entities from that file (markdown notes, planning docs, brain-dump, anything). Creates one milestone file per extracted candidate via sdlc milestone create, all inside a fresh worktree, then opens a PR. Pass --auto to skip per-candidate confirmation.
pr-review
by osdlc
Shell out to a headless external agent — codex by default, claude on request — for a code review of the current branch against the upstream default branch: potential errors, cleanup areas, duplication, and opportunities to better use or grow the project's own library set.
pr-mermaid-comment
by osdlc
Post or update a GitHub pull request comment (or PR body) that carries Mermaid diagrams, and prove the diagrams render before it goes up. Drafts the Markdown in a scratch file, renders every fenced mermaid block through the same pipeline GitHub's viewer uses (GitHub's Markdown API, then Mermaid in headless Chromium at the default security level), screenshots the result, then posts with gh. Use when asked to add diagrams, an architecture summary, or a flow to a PR, or to check whether a Mermaid block on GitHub will render.
setup
by osdlc
Initialize the docs/planning/<type>/ directory layout in the current project for every artifact type the sdlc plugin ships a schema for (backlog, capability, decision, driver, milestone, principle, product, reference, standard, task, term). Idempotent — safe to re-run; reports created vs already-existing.
backlog-triage
by osdlc
Walk untriaged backlog files in docs/planning/backlog/ and decide what to do with each: promote to task, promote to milestone, close, defer (bump last_reviewed), or leave it for an open PR. Before each decision, checks the item against main: the code it names, merged and open PRs, and existing planning entities, and recommends an action with quoted evidence. Promotion calls sdlc task create / sdlc milestone create directly, or points at existing work that already covers the item, and updates the backlog frontmatter to match. Commits each decision atomically on the current branch, honouring the project's branching conventions.
duplication-scan
by osdlc
Run a deep, evidence-backed scan of a repository for duplication (the same logic, contract, configuration or infrastructure implemented more than once) and modularization opportunities (code to extract, split, move, or re-wire in the right dependency direction), as an orchestrated adversarial loop: Prospector agents generate candidates, Adversary agents with no shared context try to falsify them, an Arbiter adjudicates against a fixed rubric, and the loop exits only on measured convergence. Read-only on the source tree; writes a map, a ledger, a decision report, a round log and a one-PR pilot plan under a work directory. Use when asked to find duplicated code, copy-pasted wrappers, parallel implementations, drifted copies, "shared package" candidates, wrong-tier packages, god packages, or to audit a monorepo's modularization; when a user says "what should be extracted", "where are we repeating ourselves", or "is this package in the right place".
check-pr
by osdlc
"Tend one or more pull requests in a single pass: report their state, rebase them onto their base branch when they are behind or conflicting, and assess and answer new review comments. Fixes worthwhile comments straight away with --fix auto, or proposes the fix and waits for a thumbs-up with --fix ask (the default). Keeps no files of its own and records its answers to review-pr findings on a state ref beside the PR, so it suits a loop such as /loop /check-pr."
code-review
by osdlc
"Review a change for correctness bugs and report concrete findings with a fix for each. The rubric other reviewing skills embed: what to read, what to look for, what to skip, and how to write a finding."
check-pr
by osdlc
"Tend one or more pull requests in a single pass: report their state, rebase them onto their base branch when they are behind or conflicting, and assess and answer new review comments. Fixes worthwhile comments straight away with --fix auto, or proposes the fix and waits for a thumbs-up with --fix ask (the default). Keeps no files of its own and records its answers to review-pr findings on a state ref beside the PR, so it suits a loop such as /loop /check-pr."
review-pr
by osdlc
Review one or more pull requests and post the findings as a GitHub review. A marker in the posted review records the head commit it covered, so a later run with nothing new either stops (--mode auto) or asks whether to review again (--mode ask, the default), and a run over new commits reviews the delta since the last review first while still judging the changeset as a whole. Keeps its state on a per-PR git ref on origin (claim, findings, answers), rebuilt from the PR when missing, so several sessions can run the same sweep without posting twice. Suits a loop such as /loop /review-pr --mode auto.
comment-review
by osdlc
"Review the comments in a diff or a subtree and minimize them against the expression ladder: a fact belongs first in the identifier, then in the signature and types, then in the declaration's doc annotation, and only when none of those can carry it does it earn an inline comment. Deletes comments that restate the code, moves facts down the ladder, tightens what survives to one short literal statement, strips volatile project state, and replaces duplicated prose with a reference to one canonical home. Invoke for \"review the comments\", \"too many comments\", \"comment cleanup\", or as the comment pass on a branch before review."
comment-review
by osdlc
"Review the comments in a diff or a subtree and minimize them against the expression ladder: a fact belongs first in the identifier, then in the signature and types, then in the declaration's doc annotation, and only when none of those can carry it does it earn an inline comment. Deletes comments that restate the code, moves facts down the ladder, tightens what survives to one short literal statement, strips volatile project state, and replaces duplicated prose with a reference to one canonical home. Invoke for \"review the comments\", \"too many comments\", \"comment cleanup\", or as the comment pass on a branch before review."
backlog-triage
by osdlc
Walk untriaged backlog files in docs/planning/backlog/ and decide what to do with each: promote to task, promote to milestone, close, defer (bump last_reviewed), or leave it for an open PR. Before each decision, checks the item against main: the code it names, merged and open PRs, and existing planning entities, and recommends an action with quoted evidence. Promotion calls sdlc task create / sdlc milestone create directly, or points at existing work that already covers the item, and updates the backlog frontmatter to match. Commits each decision atomically on the current branch, honouring the project's branching conventions.
duplication-scan
by osdlc
Run a deep, evidence-backed scan of a repository for duplication (the same logic, contract, configuration or infrastructure implemented more than once) and modularization opportunities (code to extract, split, move, or re-wire in the right dependency direction), as an orchestrated adversarial loop: Prospector agents generate candidates, Adversary agents with no shared context try to falsify them, an Arbiter adjudicates against a fixed rubric, and the loop exits only on measured convergence. Read-only on the source tree; writes a map, a ledger, a decision report, a round log and a one-PR pilot plan under a work directory. Use when asked to find duplicated code, copy-pasted wrappers, parallel implementations, drifted copies, "shared package" candidates, wrong-tier packages, god packages, or to audit a monorepo's modularization; when a user says "what should be extracted", "where are we repeating ourselves", or "is this package in the right place".
review-pr
by osdlc
Review one or more pull requests and post the findings as a GitHub review. A marker in the posted review records the head commit it covered, so a later run with nothing new either stops (--mode auto) or asks whether to review again (--mode ask, the default), and a run over new commits reviews the delta since the last review first while still judging the changeset as a whole. Keeps its state on a per-PR git ref on origin (claim, findings, answers), rebuilt from the PR when missing, so several sessions can run the same sweep without posting twice. Suits a loop such as /loop /review-pr --mode auto.
status-dashboard
by osdlc
Start, stop, or list the SDLC status dashboard — a local web view of the current project's tickets and leases. Thin dispatcher: shells out to the sdlc dashboard verb matching the requested action (dashboard start to start it in the background, dashboard stop to stop this project's instance, dashboard list to show every dashboard running across checkouts on this machine). Read-only on project state; the service itself never mutates tasks or leases.
code-review
by osdlc
"Review a change for correctness bugs and report concrete findings with a fix for each. The rubric other reviewing skills embed: what to read, what to look for, what to skip, and how to write a finding."
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.