{"id":"069e74a8-ad75-4749-95d8-bc0c3bf5fe98","shortId":"dksstb","kind":"skill","title":"build-review-interface","tagline":"Build a custom web interface for trace annotation and review. Use when users need a bespoke review surface for their workflow.","description":"# Build Review Interface\n\nUse this skill to design and implement a stack-agnostic custom trace review web UI.\n\n## Interactive Q&A protocol (mandatory)\n\n<HARD-GATE>\nBEFORE the first scoping question, search for a structured question tool (e.g., `AskUserQuestion` or similar interactive widget) and load it. Use that tool for EVERY scoping question. Fall back to plain-text lettered options ONLY if no such tool exists in the environment.\n</HARD-GATE>\n\nStart with custom web UI scoping questions.\n\nRules:\n- Ask one question at a time.\n- Use the structured question tool for every question. Structure each with a short header, 2-4 options with labels and descriptions, and place the recommended option first. Do not add \"(Recommended)\" or similar annotations to option labels.\n- Ask one follow-up when requirements are ambiguous.\n\nExample question:\n\n```\nWhat should the primary annotation action set be in v1?\nA) Pass / Fail only\nB) Pass / Fail + free-text notes\nC) Pass / Fail + notes + Defer\nD) Custom label set\n```\n\n## Custom UI workflow\n\n1. Define annotation contract:\n   - pass/fail controls\n   - free-text notes\n   - defer action\n   - autosave behavior\n2. Define data source and persistence:\n   - JSON/CSV input or API-backed source\n   - CSV/JSON/SQLite output for labels\n3. Build trace review views:\n   - render markdown as markdown\n   - syntax highlight code\n   - pretty-print JSON\n   - collapse low-value verbose sections\n4. Add navigation and productivity controls:\n   - next/previous\n   - position and progress counters\n   - keyboard shortcuts\n5. Validate end to end:\n   - functional checks\n   - data persistence checks\n   - Playwright verification for core annotation loop\n\n## Design checklist\n\n- Consistent layout and terminology across traces\n- Pass/fail actions visually distinct\n- Full trace visible or expandable\n- Autosave on primary actions\n- Keyboard shortcuts for frequent actions\n- Trace-level annotation as default\n\n## Guardrails\n\n- Keep technology guidance stack-agnostic unless the user asks for a specific stack.\n   - Review the existing codebase to determine if any existing stack is available and offer that as an option.\n- Keep sampling logic separate from UI implementation.","tags":["build","review","interface","truesight","mcp","skills","goodeye-labs","agent-skills","ai-evaluation","chatgpt","claude","cursor"],"capabilities":["skill","source-goodeye-labs","skill-build-review-interface","topic-agent-skills","topic-ai-evaluation","topic-chatgpt","topic-claude","topic-cursor","topic-llm","topic-mcp","topic-truesight","topic-vscode","topic-windsurf"],"categories":["truesight-mcp-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Goodeye-Labs/truesight-mcp-skills/build-review-interface","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Goodeye-Labs/truesight-mcp-skills","source_repo":"https://github.com/Goodeye-Labs/truesight-mcp-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (2,201 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T13:22:56.894Z","embedding":null,"createdAt":"2026-05-18T13:22:56.894Z","updatedAt":"2026-05-18T13:22:56.894Z","lastSeenAt":"2026-05-18T13:22:56.894Z","tsv":"'-4':123 '1':189 '2':122,203 '3':220 '4':242 '5':255 'across':277 'action':161,200,280,291,296 'add':137,243 'agnost':39,309 'ambigu':153 'annot':12,141,160,191,269,300 'api':213 'api-back':212 'ask':102,145,313 'askuserquest':62 'autosav':201,288 'avail':329 'b':170 'back':78,214 'behavior':202 'bespok':20 'build':2,5,26,221 'build-review-interfac':1 'c':177 'check':261,264 'checklist':272 'code':231 'codebas':321 'collaps':236 'consist':273 'contract':192 'control':194,247 'core':268 'counter':252 'csv/json/sqlite':216 'custom':7,40,96,183,186 'd':182 'data':205,262 'default':302 'defer':181,199 'defin':190,204 'descript':128 'design':33,271 'determin':323 'distinct':282 'e.g':61 'end':257,259 'environ':93 'everi':74,114 'exampl':154 'exist':90,320,326 'expand':287 'fail':168,172,179 'fall':77 'first':52,134 'follow':148 'follow-up':147 'free':174,196 'free-text':173,195 'frequent':295 'full':283 'function':260 'guardrail':303 'guidanc':306 'header':121 'highlight':230 'implement':35,342 'input':210 'interact':45,65 'interfac':4,9,28 'json':235 'json/csv':209 'keep':304,336 'keyboard':253,292 'label':126,144,184,219 'layout':274 'letter':83 'level':299 'load':68 'logic':338 'loop':270 'low':238 'low-valu':237 'mandatori':49 'markdown':226,228 'navig':244 'need':18 'next/previous':248 'note':176,180,198 'offer':331 'one':103,146 'option':84,124,133,143,335 'output':217 'pass':167,171,178 'pass/fail':193,279 'persist':208,263 'place':130 'plain':81 'plain-text':80 'playwright':265 'posit':249 'pretti':233 'pretty-print':232 'primari':159,290 'print':234 'product':246 'progress':251 'protocol':48 'q':46 'question':54,59,76,100,104,111,115,155 'recommend':132,138 'render':225 'requir':151 'review':3,14,21,27,42,223,318 'rule':101 'sampl':337 'scope':53,75,99 'search':55 'section':241 'separ':339 'set':162,185 'short':120 'shortcut':254,293 'similar':64,140 'skill':31 'skill-build-review-interface' 'sourc':206,215 'source-goodeye-labs' 'specif':316 'stack':38,308,317,327 'stack-agnost':37,307 'start':94 'structur':58,110,116 'surfac':22 'syntax':229 'technolog':305 'terminolog':276 'text':82,175,197 'time':107 'tool':60,72,89,112 'topic-agent-skills' 'topic-ai-evaluation' 'topic-chatgpt' 'topic-claude' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-truesight' 'topic-vscode' 'topic-windsurf' 'trace':11,41,222,278,284,298 'trace-level':297 'ui':44,98,187,341 'unless':310 'use':15,29,70,108 'user':17,312 'v1':165 'valid':256 'valu':239 'verbos':240 'verif':266 'view':224 'visibl':285 'visual':281 'web':8,43,97 'widget':66 'workflow':25,188","prices":[{"id":"4c40b54a-9d8c-4ab2-bc89-f8f1858ff14d","listingId":"069e74a8-ad75-4749-95d8-bc0c3bf5fe98","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Goodeye-Labs","category":"truesight-mcp-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:56.894Z"}],"sources":[{"listingId":"069e74a8-ad75-4749-95d8-bc0c3bf5fe98","source":"github","sourceId":"Goodeye-Labs/truesight-mcp-skills/build-review-interface","sourceUrl":"https://github.com/Goodeye-Labs/truesight-mcp-skills/tree/main/skills/build-review-interface","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:56.894Z","lastSeenAt":"2026-05-18T13:22:56.894Z"}],"details":{"listingId":"069e74a8-ad75-4749-95d8-bc0c3bf5fe98","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Goodeye-Labs","slug":"build-review-interface","github":{"repo":"Goodeye-Labs/truesight-mcp-skills","stars":6,"topics":["agent-skills","ai-evaluation","chatgpt","claude","cursor","llm","mcp","truesight","vscode","windsurf"],"license":"mit","html_url":"https://github.com/Goodeye-Labs/truesight-mcp-skills","pushed_at":"2026-03-26T06:15:56Z","description":"Agent skills for the Truesight MCP. Step-by-step workflow playbooks for scoring inputs, building live evaluations, error analysis, and the review loop. Works with Claude Code, Cursor, ChatGPT, VS Code, Windsurf, and any client that supports the agent skills standard.","skill_md_sha":"f280336fbb669ccf7751496222857be85a3b6205","skill_md_path":"skills/build-review-interface/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Goodeye-Labs/truesight-mcp-skills/tree/main/skills/build-review-interface"},"layout":"multi","source":"github","category":"truesight-mcp-skills","frontmatter":{"name":"build-review-interface","description":"Build a custom web interface for trace annotation and review. Use when users need a bespoke review surface for their workflow."},"skills_sh_url":"https://skills.sh/Goodeye-Labs/truesight-mcp-skills/build-review-interface"},"updatedAt":"2026-05-18T13:22:56.894Z"}}