From sdd
Use when the user invokes `/sdd:projection-comments <name>`, says "address projection comments for <name>", "process comments on <name>", or wants to apply and prune pending comments on a projection document. Reads the co-located .comments.json, applies clarify/re-evaluate/expand/condense edits to the projection markdown, removes addressed entries, and leaves unaddressable entries in place.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd:projection-commentsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read a projection's pending comment entries, apply the requested action to the
Read a projection's pending comment entries, apply the requested action to the corresponding text in the projection markdown, and prune successfully addressed entries from the comments JSON. Entries that cannot be confidently addressed are left in place rather than silently dropped.
Accept a required projection name argument: /sdd:projection-comments overview
The name becomes the filename stem:
.sdd/projections/<name>.md.sdd/projections/<name>.comments.jsonIf no name is provided, list available projections in .sdd/projections/ and ask
the user to pick one.
Read the projection markdown:
cat .sdd/projections/<name>.md
Read the co-located comments JSON (SPEC-arch-042):
cat .sdd/projections/<name>.comments.json
If the comments file is absent or empty, report "No pending comments for ." and stop.
Entries carry: id, action (clarify | re-evaluate | expand | condense),
selectedText, line, note, createdAt.
Locate the relevant text in <name>.md using selectedText (and line as a hint
to disambiguate when the text appears more than once). Then apply the action:
note field to guide what needs to be clarified.selectedText. The note field states the concern to address.selectedText with more detail. Add
prose, examples, or sub-points as appropriate. The note guides the direction.selectedText.
Preserve the core meaning while removing redundancy. The note may name specific
parts to cut.After applying an action, mark the entry as addressed (track locally — do not write to the file mid-loop).
If the relevant text cannot be found (the projection may have changed) or the required edit is ambiguous beyond a reasonable interpretation, mark the entry as unaddressable and leave it in the comments JSON unchanged. Do not silently drop an unaddressable entry.
Overwrite .sdd/projections/<name>.md with the edited content.
Remove only the addressed entries from the array. Keep all unaddressable entries
exactly as they were. Write the result back to .sdd/projections/<name>.comments.json
(or delete the file if the array is now empty).
The pruned JSON must be consistent with the format the Projections UI reads
(SPEC-arch-042): a plain JSON array of entries with id, action, selectedText,
line, note, createdAt fields.
Print a summary:
## Projection comments — <name>
Addressed (<n>): <list of ids + action>
Unaddressed (<m>): <list of ids + reason why each was skipped>
<name>.md updated.
<name>.comments.json pruned — <n> entr(y|ies) removed, <m> remaining.
Next: Run /sdd:session-start to review overall SDD state after applying projection comments.
npx claudepluginhub srotbart/sdd --plugin sddProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.