用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Melvynx/benchmarks --skill frontend-worker命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Add or update documentation in content/docs/ for features, APIs, or tools
基于 SOC 职业分类
正在显示 SKILL.md
| name | frontend-worker |
| description | Implements frontend UI features following existing codebase patterns |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the WORK PROCEDURE.
Use for features that involve React component changes, UI additions, styling, and client-side logic in a Next.js app with shadcn/radix components.
Read reference files first. Before any code changes, read at least 3 similar files to understand the patterns. The feature description lists specific reference files — read ALL of them.
Plan the changes. Based on the reference files, plan exactly what imports, hooks, handlers, and JSX you need to add. Do not guess patterns — copy from existing code.
Implement the changes. Make the edits following the exact patterns found in reference files. Key rules:
resolveActionResult to call server actionsuseMutation from @tanstack/react-query for mutationsdialogManager.confirm() for delete confirmationsdialogManager.input() for rename dialogsuseQueryClient + invalidateQueries for cache invalidationtoast from sonner for success/error messagese.preventDefault(); e.stopPropagation();Run verification commands:
pnpm ts — must pass with zero errorspnpm lint — must passvitest run — existing tests must passFix any errors found in step 4 before completing.
{
"salientSummary": "Added ContextMenu and DropdownMenu with Rename/Delete to ThumbnailCard. Both menus share the same handlers using dialogManager.input() for rename and dialogManager.confirm() for delete. Ran tsc --noEmit (0 errors), eslint (clean), vitest run (all passing).",
"whatWasImplemented": "Added hover-reveal '...' DropdownMenu button and right-click ContextMenu to ThumbnailCard in thumbnails-page-client.tsx. Rename uses dialogManager.input() + updatePromptNameAction. Delete uses dialogManager.confirm() + deletePromptAction. Both invalidate promptKeys.all on success.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{ "command": "pnpm ts", "exitCode": 0, "observation": "No type errors" },
{ "command": "pnpm lint", "exitCode": 0, "observation": "No lint errors" },
{