agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs grepped, user pushback, build evidence, degradation signs. Step 2 launches a forked subagent for unbiased code/plan review with fresh eyes. Combined
$ npx -y skills add LiorCohen/sdd --skill critic --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/criticContext preview
The summary Claude sees to decide when to auto-load this skill.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs grepped, user pushback, build evidence, degradation signs. Step 2 launches a forked subagent for unbiased code/plan review with fresh eyes. Combined
name: critic description: > Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs grepped, user pushback, build evidence, degradation signs. Step 2 launches a forked subagent for unbiased code/plan review with fresh eyes. Combined report classifies findings as hard blocks or soft warnings.
Self-review at every task lifecycle phase. Invoked via `/critic`.
---
The collector has full session context — it can see what commands were just run, what task is being discussed, and what the user asked for. It also uses filesystem/git state for robustness.
1. Run `git branch --show-current` to get the current branch name
2. **If branch matches `feature/task-<N>-*`:**
3. **If branch is `main`:**
4. **Disambiguating planning sub-phases (2, 3, 4):**
5. **If ambiguous at any step → ask the user.** Never guess.
---
These checks are only possible in-context because they require session visibility.
Review the conversation history. For each file central to the current work, determine: was it opened with the Read tool (full file), or only found via Grep/Glob? Build a list of files-read and files-only-grepped. Any file being modified that was only grepped is a **hard block (H11)**.
Review the conversation for pushback — did the user disagree with an approach? If so, check: did Claude evaluate the feedback against evidence, or did it just agree? If Claude immediately agreed without defending the original with evidence, flag it (S10). The reverse: did the user suggest something that contradicts CLAUDE.md or the plan? If so, was it flagged? Silence is not compliance.
Search the conversation for build/test command outputs. For TypeScript changes: was `npm test`, `npm run typecheck:plugin`, or `npm run build:plugin` actually executed? For prompt-only changes (.md files): were structural checks done (file exists, under 500 lines, frontmatter valid)? Collect the actual outputs. "I think it works" is not evidence.
Look for signs of context window exhaustion: placeholder code (`// TODO: implement`), sparse implementations, `...` or `/* rest unchanged */` comments, repeated similar errors, retrying the same approach. If detected, flag as **soft warning (S8)** and recommend context reset.
For each finding, rate confidence based on what was actually verified (read the file, ran the command) vs assumed (inferred from patterns, didn't check). Low-confidence findings are explicitly flagged to the user.
---
After running collector checks, write a structured brief to `.temp/<datetime>-critic-brief-<task-id>.md` (e.g., `.temp/2026-02-13-1530-critic-brief-107.md`). Get the datetime by running `date -u +"%Y-%m-%d-%H%M"` — never guess or fabricate timestamps.
## Critic Brief **Task:** #<id> — <title> **Phase:** N — <phase name> **Branch:** <branch name> **Plan file:** <path to plan.md> **Task file:** <path to task.md> ### Session Signals **Files fully read:** [list of paths opened with Read tool] **Files only grepped:** [list of paths only found via Grep, not fully read] **User pushback:** [yes/no — if yes, summary of what was challenged and how resolved] **Build/test evidence:** [command outputs collected, or "not run"] **Uncommitted changes:** [yes/no] ### Collector Findings [Anti-grep violations, sycophancy signals, degradation signals, evidence gaps] ### Phase-Specific Review Request [What the reviewer should focus on for this phase] ### Learned Patterns [Relevant rules from .critic/ files for this phase]
---
After writing the brief, launch the forked reviewer
Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?
Repo: LiorCohen/sdd
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Standards for authoring SDD plugin commands — frontmatter, user interaction, skill/agent invocation, CLI integration, and output formatting.
Create a commit following repository guidelines with proper versioning and changelog updates.
D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams. Produces .d2 files rendered via…
Writes and maintains user-facing documentation for the SDD plugin. Proactively detects when docs are out of sync with plugin capabilities.
Validate plugin and marketplace manifest files against the official Claude Code specification