create_critique_pin
Create actionable, concrete critique pins for specific UI elements on live pages, naming the element, problem, and fix in under 40 words. For high or medium severity issues only.
Instructions
Create a pin authored by Pincushion AI. ONLY call this from the pincushion-critic subagent or the /critique-latest-deploy flow — never from a regular user prompt, since the bot voice is reserved for AI-driven UI/copy/a11y feedback. Each call should produce one tasteful, high-signal pin (max 3 per page in a critique run). The body must be concrete and actionable: name the specific element + the specific problem + the suggested fix in <40 words. Forbidden: layout philosophy, business-model commentary, generic "consider improving hierarchy" advice. Always read the project's critique context (ai.critique.effectiveContext from get_project_context — falls back to brandContext when no compiled brief exists) before drafting the body so the critique is on-brand. If ai.critique.staleness is "stale" or "missing", suggest the user run /refresh-brand before continuing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The critique itself. Concrete + actionable, <40 words, names the element and proposes a fix. This becomes the first thread message on the pin. | |
| tags | No | Optional tags. "pincushion-ai" is added automatically. Add domain tags like "a11y", "copy", "deploy:<hash>" for traceability. | |
| pageUrl | Yes | Full URL of the page being critiqued (e.g. "http://localhost:3000/dashboard"). | |
| selector | No | CSS selector for the element the critique targets. The Chrome extension uses this to position the pin since the bot has no live page coords. Be specific (e.g. 'main button[type="submit"]' not just 'button'). | |
| severity | No | "high" = ships-blocking (broken contrast, broken keyboard nav, misleading CTA copy). "medium" = worth-fixing (minor copy issues, cramped spacing, polish opportunities). 'low' is intentionally not allowed — bot pins must be worth acting on. | |
| pageTitle | No | Optional page title for the .feedback file header. Defaults to pageUrl if omitted. | |
| projectId | No | Project ID to associate the pin with. Defaults to the MCP server's configured project. | |
| componentName | No | Optional component name (e.g. LWC component, React component) for grouping. Used by get_component_feedback. |