Help us improve
Share bugs, ideas, or general feedback.
From pipeline
Reviews current codebase state and UX before planning changes, producing Current State and UX reports. Use when starting a feature, iterating on existing work, or needing a baseline understanding before making changes. Invoke with /pipeline-assess or as the first phase of /pipeline. Dispatches parallel code and UX assessment agents to evaluate what EXISTS, not what CHANGED.
npx claudepluginhub design-machines-studio/depot --plugin pipelineHow this skill is triggered — by the user, by Claude, or both
Slash command
/pipeline:assessThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluate the current state of a codebase area before planning changes. Unlike dm-review which reviews a diff, this reviews what exists -- architecture, patterns, tech debt, UX quality, and known issues.
Provides 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.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Share bugs, ideas, or general feedback.
Evaluate the current state of a codebase area before planning changes. Unlike dm-review which reviews a diff, this reviews what exists -- architecture, patterns, tech debt, UX quality, and known issues.
The user provides a feature idea, area description, or specific file paths. If vague, ask: "Which part of the codebase should I assess? Give me a feature area, directory, or file paths."
Determine what to assess based on the user's input:
Produce a file list of 5-20 key files to examine. Prioritize:
Launch two agents simultaneously:
Agent 1: Code Assessment
Read the references/code-assessment-protocol.md for the full protocol. In summary:
ai-memory skill from ned as companion)Produce a Current State Report covering:
Agent 2: UX Assessment (conditional -- dev server AND UI-touching feature)
Skip rule (token budget): if the feature's scope is entirely backend/logic -- none of the planned work touches templates, CSS, JS modules, or rendered pages -- skip the UX assessment. Log one line: UX assessment: skipped (no UI/Integration surface detected).
Heuristic (applied on the user's feature description since the chunk classification does not yet exist in Phase 1):
.templ, .twig, .html, .css, .jsx, .tsx.When in doubt, run the UX assessment -- false positives are cheaper than missing a regression. But a strict backend-only assessment (e.g. "add a new migration column for vote_count") should NOT trigger 3-viewport screenshots.
Only runs if a dev server is detected or a URL is provided. Read references/ux-assessment-protocol.md for the full protocol. In summary:
Produce a Current UX Report covering:
If no dev server is available, skip this agent and note: "UX assessment skipped -- no dev server detected."
Save all screenshots taken during the UX assessment to disk for later comparison:
plans/<feature-slug>/baselines/baselines/<route-slug>-<viewport>.png
baselines/governance-proposals-desktop-1440.pngbaselines/governance-proposals-mobile-375.png## Baseline Screenshots section listing every saved file and its route/viewport.These baselines serve as the "before" state for visual diff comparisons after implementation. The execution-orchestrator's visual verification protocol compares post-implementation screenshots against these baselines to detect regressions. Expected changes (the feature being built) are fine; unexpected visual differences are findings.
Baseline screenshots are Tier 1 (ephemeral) artifacts per the artifact lifecycle policy (${CLAUDE_PLUGIN_ROOT}/plugins/pipeline/references/artifact-lifecycle.md). They are auto-deleted by the execution-orchestrator's cleanup phase (Step 5b). Gitignore enforcement in Step 0d ensures they are never tracked by git.
Many codebases ship with dev-time auth bypasses or persona-switching helpers. Discovering these up-front saves the prompt-writer from having to re-derive them from handler code.
Protocol:
internal/handlers/middleware.go, backend/auth/*.go, app/Http/Middleware/*.php, config/authentication.*) for keywords: cookie, X-Test-User, Bearer, session, impersonate. Extract the header/cookie NAME only. Redact values. If a matched line contains =<literal>, : "<literal>", Bearer <literal>, or any hardcoded token, flag the file for manual review and record only the field name in the Assessment Brief. Never copy raw matched lines into plans/<feature-slug>/assessment.md -- dev-mode middleware sometimes hardcodes bearer tokens or session secrets that must not propagate downstream.seeds/, fixtures/, db/seed.*, internal/fixtures/*/seed.go) for user/member IDs and role names. Collect 2-3 representative personas per role.tests/, _test.go, spec/ for patterns like loginAs(, asUser(, setCurrentUser( to find helper functions that scripts/tests use to switch identity.Report findings in the Assessment Brief under a ## Test Personas heading:
## Test Personas
**Auth-switching mechanism:** `coop_member` cookie (fake auth middleware at internal/handlers/middleware.go:42)
| Persona | ID | Role | Use for |
|---------|-----|------|---------|
| Aisha Williams | mem_005 | Member, no position | Verify empty-state and unprivileged views |
| David Chen | mem_012 | Member with position | Verify authored-content views |
| Maria Rodriguez | mem_001 | Director | Verify privileged actions and approvals |
To switch identity: set `coop_member=<id>` cookie before navigating.
The prompt-writer reuses this instead of re-discovering the mechanism per chunk.
If no auth-bypass mechanism is found, log fixture discovery: no dev-mode auth bypass detected and continue.
If tasks/lessons.md exists in the project root (created by prior pipeline runs via execution-orchestrator), surface recent entries that may apply to this feature:
test -f tasks/lessons.md && grep -A 3 "^## " tasks/lessons.md | head -60 to list the most recent lesson headings plus their first three lines.git log --format=%ad --date=short tasks/lessons.md | head -5 to estimate recency if file-level mtime is unreliable).## Recent Lessons That May Apply heading. Include the lesson heading and a one-line excerpt.If no tasks/lessons.md exists, log prior lessons check: no lessons file -- skipping and continue.
Combine both reports into a single Assessment Brief. When running as part of /pipeline, the Assessment Brief also serves as the cached source of truth for the Key Requirements list (extracted from original-prompt.md once, referenced many times across phases).
# Assessment: [Area Name]
## Key Requirements (cached from original-prompt.md)
1. [Requirement 1 verbatim]
2. [Requirement 2 verbatim]
3. [Requirement N verbatim]
## Code State
[From Code Assessment agent]
## UX State
[From UX Assessment agent, or "Skipped" if no dev server or no UI surface]
## Test Personas
[From Fixture Discovery, or "No dev-mode auth bypass detected."]
## Recent Lessons That May Apply
[From Prior Lessons Check, or "No lessons file."]
## Baseline Screenshots
[Manifest of saved baselines, or "No baselines -- skipped UX assessment."]
## Key Findings
- [Top 3-5 findings that should inform planning]
## Recommendations
- [What to address in the upcoming work]
- [What to leave alone]
Save the brief to plans/<feature-slug>/assessment.md in the target project. When running standalone via /pipeline-assess, the slug may be the area name instead of a feature slug.
Present the Assessment Brief to the user. If running as part of /pipeline, pass it forward to the research phase. If running standalone via /pipeline-assess, present it and stop.
mcpDependencies because the UX assessment is optional -- the skill functions without it.