원클릭으로
front-agent
Single entry point for frontend work. Classify intent, create a plan, and run the minimal agent workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Single entry point for frontend work. Classify intent, create a plan, and run the minimal agent workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Independent adversarial code review via Codex CLI to eliminate Claude self-review bias
Find reusable components with compact output before UI work
Create a task branch after plan approval
Create scoped Conventional Commits after reviewer PASS
Create an issue for failed tests or tracked follow-up work
Push the branch and create a PR with a compact generated summary
SOC 직업 분류 기준
| name | front-agent |
| description | Single entry point for frontend work. Classify intent, create a plan, and run the minimal agent workflow. |
Trigger: /front-agent [request]
Purpose: Handle setup, intent detection, planning, execution, and verification with minimal context overhead.
README.md is documentation only and should not be loaded during executionfront-agent never implements directlycomponent-auditor, developer, ui-builder, api-integrator, test-runner, reviewer, refactor-architectimplementer, test-writer, figma-builder, style-matcher, orchestratorResolve the rtk token-filter mode before any agent spawn. This is plugin-scoped — no global Claude Code hook is installed, so every other project is unaffected.
Resolution order:
--rtk=<mode> or --no-rtk, persist it with bash hooks/rtk-wrap.sh --set <mode> (use off for --no-rtk). Skip UI.FE_COPILOT_RTK is set, do nothing. It is a hard override..fe-copilot-cache/rtk-session.flag already exists, reuse it.AskUserQuestion tool with a single question:
이 작업에서 rtk로 명령 출력을 압축할까요?Off — raw 명령 그대로 (기본 동작)On — standard (git/tsc/lint/test 압축) (Recommended)On — aggressive (+ ultra-compact)On — git-only (git 계열만 압축)bash hooks/rtk-wrap.sh --set <mode> where mode is off | standard | aggressive | git-only.Valid mode strings: off, standard, aggressive, git-only. Anything else must be rejected with a one-line error.
The user can re-run /rtk at any time to change the mode mid-session.
If knowledge/index.md is missing, initialize project knowledge automatically.
Do not ask the user to run /setup.
Ask a clarification question before planning if any of the following apply:
Rules:
| Intent | Detection rule | Workflow |
|---|---|---|
figma | Contains a figma.com URL | Figma implementation |
ui | Contains Korean UI terms such as 만들어줘, 폼, 버튼, 페이지, 화면, 컴포넌트 | UI without design file unless a Figma URL is provided |
feature | Contains Korean feature terms such as 기능, 추가, 연결, API, 로직 | Feature implementation |
refactor | Contains Korean refactor terms such as 리팩토링, 정리, 개선, 중복 | Refactoring |
review | Contains Korean review terms such as 리뷰, 검토, 확인해줘 | Code review |
If intent is ui and no Figma URL is present, ask for one in the user's language.
figmauiTrigger: intent is feature AND request contains any API keyword:
fetch, axios, API, GraphQL, query, mutation, Apollo, WebSocket, endpoint, 서버, 백엔드, 연결, 데이터, 불러와, 저장, 실시간
If triggered, ask once in the user's language:
"Do you have an API spec? (Swagger/OpenAPI URL, GraphQL schema,
.md/.yamlfile, or paste the endpoint directly)"
| Response | Action |
|---|---|
| URL or file provided | Record in plan.md → Inputs.API; fetch on demand in api-integrator step only |
| Endpoint/query pasted directly | Record as-is in plan.md → Inputs.API |
| None available | Ask: "What request/response shape do you expect?" — record the described shape |
Token budget rules:
api-integrator — never to developer, ui-builder, or other agentsapi-integrator fetches only the relevant endpoint(s) on demand — do not load the full document upfrontIf intent is review, skip the Plan Gate entirely and spawn reviewer directly on the current changes. No plan.md, no user approval wait — pure review tasks do not need a plan. The reviewer verdict (PASS/FAIL) is the final output; no commit/push follows.
Applies only when intent is exactly review. Any other intent still goes through the Plan Gate below.
Create plan.md, then wait for explicit user approval before any execution.
Use this format:
# Plan: [task name]
## Goal
[what and why]
## Intent
[figma / ui / feature / refactor / review]
## Inputs
- Figma: [URL or none]
- API: [spec, endpoint, or none]
## Affected Files
- path/to/file.tsx - [change]
## Design Check
- Reuse: [component/hook/util to reuse, or "none — new primitive justified because X"]
- Responsibility: [how logic splits across files — e.g. "fetch in hook, render in component, format in util"]
- Risk: [conflict with an existing pattern or convention, or "none"]
## Execution Steps
- Step 1: [agent] - [task]
- Step 2: [agent] - [task]
## Branch
[feat|fix|ui|refactor]/[task-name]
## Commit Units
- [type]: [description]
Design Check rules:
ui, figma, feature, refactor. Omit for review.Reuse says "new primitive", the justification must be one concrete reason — not a vague "for flexibility".Reuse / Responsibility / Risk from a quick scan + project knowledge.component-auditor runs, update the Reuse line in place with the concrete candidates it surfaced. This is a small in-place edit, not a new section.developer / ui-builder / api-integrator read the updated plan.md as their canonical Design Check.reviewer during the design category check.Ask: Please review plan.md. Approve it and I will execute.
For each agent call, include only:
agents/*.md fileconstraints.md sections — obtained via bash hooks/extract-constraints.sh <agent-name>. Do not pass the full file.plan.md excerpt needed for that step## Handoff
- changed_files: path1, path2
- reusable_components: Button, Card
- decisions: keep existing filter sidebar pattern
- blockers: failing `cart.spec.ts`
- test_status: not_run | passed:npm run test | failed:npm run test
Rules:
|| = run in parallel — launch both agents simultaneously and wait for both before proceeding.
Parallel review gate: [reviewer || codex-review] launches both reviewers concurrently on the same changed files. git-commit proceeds only if BOTH return PASS (or the user explicitly overrides codex-review). Any FAIL blocks commit and its fix list feeds the retry loop.
search-knowledge if stored knowledge is empty or irrelevant. Run bash hooks/knowledge-has-content.sh; exit != 0 means placeholder-only — skip the agent spawn entirely and proceed.component-auditor is MANDATORY for any intent that creates or modifies UI: ui, figma, and any feature whose Affected Files include .tsx/.jsx components, hooks, or styles. Skipping in these cases is a workflow violation.component-auditor only when ALL of the following hold:
review (review fast-path), ORfeature AND the change touches zero component/hook/style files (pure service/util/API wiring)api-integrator unless UI data fetching or mutation behavior changessave-knowledge if the task produced no durable learning[search-knowledge? || component-auditor?] -> developer
-> test-runner -> api-integrator? -> [reviewer || codex-review]
-> git-branch -> git-commit -> git-pr -> save-knowledge?
[search-knowledge? || component-auditor] -> ui-builder
-> [pixel-check || a11y-check] -> [reviewer || codex-review]
-> git-branch -> git-commit -> git-pr -> save-knowledge?
[search-knowledge? || component-auditor] -> ui-builder
-> a11y-check -> [reviewer || codex-review]
-> git-branch -> git-commit -> git-pr -> save-knowledge?
search-knowledge? -> refactor-architect -> user re-approval
-> component-auditor? -> developer -> test-runner -> [reviewer || codex-review]
-> git-branch -> git-commit -> git-pr -> save-knowledge?
Fast-path: bypasses the Plan Gate (see Request Gate step 6).
reviewer
Use the retry loop for feature, ui, figma, and refactor implementation steps.
MAX_ATTEMPTS = 3
run implementation agent
run test-runner when applicable
if tests fail:
retry with only the failing error context
if attempts exceed MAX_ATTEMPTS:
create a git issue
record a repeatable failure pattern if appropriate
stop and report
Retry context must contain only:
Never resend the full previous transcript.
git-commit without reviewer PASS