بنقرة واحدة
formax-approval-ui-workflow
Use when adding or changing any Approval prompt/presenter.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when adding or changing any Approval prompt/presenter.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when the user wants a reusable rolling execution pattern (README + TODO-INDEX) like plans/web-reference-react-refactor, and wants to run delivery in small validated loops.
Use when changing web CSS/UI styling so requirements, state ownership, and acceptance checks are locked before edits to prevent rework churn.
Use after task analysis when a non-trivial Formax repository task needs a structured `docs/todolist.md` with [x]/[ ] items, definitions-before-UI ordering, explicit non-goals, tests, and loop-ready execution slices.
Use when a Formax repository task is non-trivial and you should analyze goals, non-goals, boundaries, data/type/interface impact, contract impact, test strategy, and whether an xhigh subagent is actually needed before writing a todo or code.
Use after receiving WebGPT or another LLM review on a Formax todo and before sending the todo back for another pass. Produce a concise handoff response that says what we adopted, what we reject or question, and what the reviewer should specifically re-evaluate in `docs/todolist.md`.
Use for all frontend and web UI tasks by default to apply a business-agnostic desktop web visual style system with medium-strength guardrails; if an existing design system is present, follow it first and use this skill only as a style harmonizer.
| name | formax-approval-ui-workflow |
| description | Use when adding or changing any Approval prompt/presenter. |
packages/core/src/components/ui/ApprovalHeader.tsx (top divider + title color)packages/core/src/components/ui/ConfirmMenu.tsx (numbered options + selection color)packages/core/src/components/tool/ApprovalPreview.tsx (simple file preview)packages/core/src/components/tool/PatchApprovalPreview.tsx (edit-file wrapper: header + file + preview)packages/core/src/components/tool/PatchPreview.tsx (diff rendering + performance guards)packages/core/src/components/tool/bashApprovalPrompt.tsxpackages/core/src/components/tool/fsReadApprovalPrompt.tsxpackages/core/src/components/tool/fsWriteApprovalPrompt.tsxpackages/core/src/components/tool/skillApprovalPrompt.tsxpackages/core/src/components/tool/editApprovalPrompt.tsx (legacy)packages/core/src/tools/modules/bash/presenter.tsxpackages/core/src/tools/modules/read/presenter.tsxpackages/core/src/tools/modules/write/presenter.tsxpackages/core/src/tools/modules/edit/presenter.tsxpackages/core/src/tools/modules/skill/presenter.tsxpackages/core/src/tui/theme.ts (theme.permission, theme.text, theme.diff.*)Layout skeleton (keep consistent)
[Top divider line]Title (color = theme.permission)Preview boxOptions rendering (text + emphasis)
capture-terminal/ bold/white): make ConfirmMenu accept ReactNode labels.Text color={...} when highlighted:
bold, avoid hardcoding color unless required.Preview performance (must not block UI)
fs.readFileSync/fs.statSync/blocking IO inside render path (useMemo included).fs/promises + useEffect.Diff safety (avoid OOM / hangs)
Unit/component tests (minimum regression set):
packages/core/src/components/ui/ConfirmMenu.test.tsx (ReactNode label + selection color)packages/core/src/components/tool/bashApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/fsReadApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/fsWriteApprovalPrompt.test.tsx (if exists)packages/core/src/components/tool/skillApprovalPrompt.test.tsx (if exists)packages/core/src/tools/modules/edit/presenter.test.tsx (preview/diff layout + performance guard)Manual spot-check (fast)
Bash, Read(outside workspace), Write, Edit.bun run test if neededAGENTS.md -> Review Profile (Single Source of Truth); fix all high/medium findings