Skip to content
Development
Skill

/setup

profile.json을 읽어 CLAUDE.md를 자동 생성한다. 프로젝트 스택에 맞는 모듈을 조합하여 Claude Code 환경을 세팅한다. 세션 시작 시 "code-forge updated" 또는 "version mismatch" 메시지가 보이면 사용자에게 재실행 여부를 물어본 후 이 스킬을 실행한다.

From plugin
code-forge
1923 skills58 agents11 hooks2 MCP

Claude Code

$ npx -y skills add ggombee/code-forge --skill setup --agent claude-code

SKILL.md

setup.SKILL.md
name: setup
description: profile.json을 읽어 CLAUDE.md를 자동 생성한다. 프로젝트 스택에 맞는 모듈을 조합하여 Claude Code 환경을 세팅한다. 세션 시작 시 "code-forge updated" 또는 "version mismatch" 메시지가 보이면 사용자에게 재실행 여부를 물어본 후 이 스킬을 실행한다.
category: setup

/setup 스킬

프로젝트의 `.claude/profile.json`을 읽어 스택에 맞는 CLAUDE.md를 자동 생성한다.

---

동작 흐름

profile.json 존재 → Step 2로 바로 진행 (기존 파싱)
profile.json 없음 → Step 1 대화형 온보딩

---

ARGUMENT 처리

$ARGUMENTS 없음     → .claude/profile.json 자동 탐색
$ARGUMENTS 있음     → 파일 경로로 인식 (예: /setup .claude/profile.json)
$ARGUMENTS --profile → 코딩 프로필 생성만 실행 (아래 "코딩 프로필" 섹션 참조)

---

코딩 프로필 (`/setup --profile`)

`/setup --profile` 또는 "코딩 스타일 분석해줘" 요청 시 실행. `/setup` 기본 흐름에서는 묻지 않는다.

**흐름:** 1. Step 1에서 감지한 스택 정보(또는 package.json 분석)를 기반으로 **분석 카테고리를 동적 선택** 2. 프로젝트 코드를 실제로 읽고 (주요 디렉토리에서 2-3개 파일 샘플링) 패턴 분석 3. 결과를 `.candidate/profile.md`에 저장 (레거시 `.claude/coding-profile.md` 는 폴백으로만) 4. 사용자에게 결과 보여주고 수정 여부 확인

**스택별 분석 카테고리 (동적 선택):**

| 카테고리 | 적용 스택 | 분석 내용 | |---------|----------|----------| | **추상화 습관** | 모든 스택 | 중복 코드 추출 기준, 함수/모듈 분리 기준 | | **모듈/컴포넌트 설계** | React/Vue → 컴포넌트, Python/Go → 모듈/클래스 | 분리 기준, 계층 구조 | | **상태/데이터 관리** | React → hooks/Query, 백엔드 → ORM/캐시 | 데이터 흐름 | | **타입/스키마** | TS → interface/type, Python → type hints, Go → struct | 엄격도 | | **에러 처리** | 모든 스택 | try-catch 전략, 에러 계층 | | **네이밍/스타일** | 모든 스택 | 네이밍, early return, 비동기 | | **폴더 구조** | 모든 스택 | 기능별/레이어별 | | **커밋 스타일** | 모든 스택 | git log 분석 | | **테스트 전략** | 모든 스택 | 단위/통합/E2E 비율 | | **프레임워크 특화** | 감지된 것만 | Next.js→SSR, Django→view, Go→interface 등 |

**감지 못한 스택이면:** 범용 카테고리(추상화, 에러, 네이밍, 폴더, 커밋)만 분석 + Claude가 코드를 읽고 해당 언어에 맞는 질문 동적 생성

**참조 템플릿:** `${CLAUDE_PLUGIN_ROOT}/.candidate/code-analysis-prompt.md` (React/TS 예시)

**생성 경로:** `.candidate/profile.md` (local, 우선) 또는 `~/.claude/coding-profile.md` (global, 레거시 폴백)

---

선택 UI 규칙

**모든 선택은 `AskUserQuestion` 도구를 사용하여 인터랙티브 선택 UI로 제시한다.** 텍스트로 `>` 커서를 출력하거나 숫자/Y/n 입력을 받지 않는다.

구현 방식

1. **`AskUserQuestion` 도구를 호출**하여 클릭 가능한 선택지를 보여준다 2. 감지된 항목이 있으면 해당 옵션의 label에 `(Recommended)` 를 붙여 첫 번째에 배치한다 3. `options`에 없는 선택은 사용자가 "Other"를 통해 자유 입력할 수 있다 (자동 제공됨) 4. 한 번에 최대 4개 질문까지 묶을 수 있지만, 의존 관계가 있으면 순차적으로 묻는다

예시

AskUserQuestion({
  questions: [{
    question: "이 설정을 어디에 적용할까요?",
    header: "설치 위치",
    options: [
      { label: "이 프로젝트에만 (.claude/)", description: "현재 프로젝트에만 적용" },
      { label: "전역 설정 (~/.claude/)", description: "모든 프로젝트에 적용" }
    ],
    multiSelect: false
  }]
})

**핵심: 한 번에 하나만 묻고, 응답을 받은 후 다음으로 넘어간다. 반드시 AskUserQuestion 도구를 사용한다.**

---

Step 1: 대화형 온보딩 (profile.json 없을 때)

`.claude/profile.json`이 없으면 아래 서브스텝을 순차 진행한다. **한 번에 하나씩 질문하고, 사용자 응답을 받은 후 다음으로 넘어간다.**

> **참고:** 아래의 `> 옵션` 형식 예시들은 AskUserQuestion 도구에 전달할 옵션 내용의 참고 자료이다. 실제 구현 시 반드시 AskUserQuestion 도구를 호출하여 인터랙티브 선택 UI로 표시한다. 텍스트로 `>` 커서를 출력하지 않는다.

1-0. 설치 위치 선택

code-forge 설정을 시작합니다.

이 설정을 어디에 적용할까요?

> 이 프로젝트에만 (.claude/)
  전역 설정 (~/.claude/)

| 선택 | installTarget | profile.json 경로 | CLAUDE.md 경로 | |------|--------------|-------------------|---------------| | 이 프로젝트에만 | `local` | `.claude/profile.json` | `./CLAUDE.md` | | 전역 설정 | `global` | `~/.claude/profile.json` | `~/.claude/CLAUDE.md` |

1-1. package.json 자동 감지 + 프로젝트 유형 판별

`package.json`이 존재하면 dependencies를 분석하여 스택을 자동 추론한다.

**프로젝트 유형 판별:**

먼저 프로젝트가 프론트엔드 서비스인지 판별한다.

| 조건 | 유형 | 스택 설정 | |------|------|----------| | `react`, `next`, `vue`, `angular` 등 UI 프레임워크 존재 | **서비스** | 스택 설정 진행 | | `bin` 필드 존재 + UI 프레임워크 없음 | **CLI/도구** | 스택 설정 건너뛰기 | | `main`/`exports` 필드 + UI 프레임워크 없음 | **라이브러리** | 스택 설정 건너뛰기 | | `package.json` 없음 | **기타** | 스택 설정 건너뛰기 | | UI 프레임워크 없지만 판단 불확실 | **확인 필요** | 사용자에게 질문 |

**서비스가 아닌 경우:**

이 프로젝트는 프론트엔드 서비스가 아닌 것 같습니다.
(감지: CLI 도구 / 라이브러리 / 스택 미감지)

스택 모듈 설정이 필요한가요?

> 건너뛰기 (명령어 + 기능 설정만)
  아니요, 스택 설정도 할게요

→ "건너뛰기" 선택 시: 1-2, 1-3을 건너뛰고 1-4(프로젝트 정보)로 직행 → "스택 설정도 할게요" 선택 시: 정상 진행

**감지 규칙 (서비스인 경우):**

| dependency / 파일 | 추론 모듈 | |-----------|----------| | `next` | framework: `react-nextjs-pages` 또는 `react-nextjs-app` | | `react` (next 없음) | framework: `react-spa` | | `jotai` + `@tanstack/react-query` | state: `jotai-tanstack` | | `zustand` + `@tanstack/react-query` | state: `zustand-tanstack` | | `@reduxjs/toolkit` | state: `redux-rtk` | | `@emotion/styled` 또는 `@emotion/react` | styling: `emotion` | | `tailwindcss` | styling: `tailwind` | | `styled-components` | styling: `styled-components` | | `@mui/material` | design-system: `mui` | | `antd` | design-system: `ant-design` | | `jest` | testing: `jest` | | `vitest` | testing: `vitest` | | `fastapi` in requirements.txt/pyproject.toml | framework: `python-fastapi` | | `django` in requirements.txt/pyproject.toml | framework: `python-django` | | `express` in package.json | framework: `node-express` | | `go.mod` 존재 | framework: `go-standard` |

**추가 감지:**

| 조건 | 추론 | |------|------| | `app/layout.tsx` 존재 | App Router | | `pages/_app.tsx` 존재 | Pages Router | | `tailwind.config.*` 존재 | styling: `tailwind` | | `jest.config.*` 존재 | testing: `jest` | | `vitest.config.*` 존재 | testing: `vitest` |

**미매칭 라이브러리 감지:**

감지 규칙에 매칭되지 않는 관련 라이브러리가 있으면 해당 카테고리의 "기타" 옵션으로 자동 추가한다.

예시:

  • `recoil` 감지 → State 카테고리에 `recoil (감지됨)` 옵션 동적 추가
  • `sass` 감지 → Styling 카테고리에 `sass (감지됨)` 옵션 동적 추가
  • `@testing-library/react` 있지만 jest/vitest 없음 → Testing에 해당 정보 표시

**카테고리별 감지 확장 규칙:**

| 카테고리 | 추가 감지 대상 | |---------|--------------| | Framework | `vue`, `angular`, `svelte`, `solid-js`, `remix`, `gatsby` | | State | `recoil`, `mobx`, `valtio`, `xstate`, `swr` (TanStack Query 대체) | | Styling | `sass`/`scss`, `less`, `vanilla-extract`, `panda-css`, `linaria` | | Design System | `chakra-ui`, `radix-ui`, `shadcn`, `mantine` | | Testing | `playwright`, `cypress`, `storybook` |

감지되면 해당 카테고리 옵션 목록에 `{라이브러리명} (감지됨)` 형태로 자동 삽입한다.

**프로젝트 정보 자동 추출:**

`package.json`의 `scripts`에서 `dev`, `build`, `lint`, `test` 명령어를 추출한다. 패키지 매니저는 lock 파일로 판단: `yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm, 그 외 → npm.

package.json을 분석합니다...

감지된 스택:
  Framework:     next (14.2.x)
Read more
@ggombee
Ships withcode-forge

설치하면 Claude Code가 더 잘 동작합니다. 전문 에이전트, 슬래시 스킬, 스택 모듈을 제공하는 Claude Code 플러그인. 검증된 사고모델(GROUND→APPLY→VERIFY→ADAPT)이 모든 작업의 품질을 일관되게 유지합니다. (에이전트/스킬 개수는 디스크가 진실 — ls agents/.md | wc -l, ls skills//SKILL.md | wc -l) 현재 상태: 개인 GitHub 운영 중 (마켓플레이스 배포 4.10.0).

1923 skills58 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19
Star history of ggombee/code-forge on GitHub, a chart by star-history.com

Other skills on code-forge.

gemini

gemini

Google Gemini CLI 래퍼. Claude Code 내에서 Gemini 모델을 호출하여 멀티모델 워크플로우 지원.

@ggombee@ggombeeInstall Skill
codex

codex

Claude + OpenAI Codex 협업 스킬. MCP 서버 설정 시에만 사용 가능.

@ggombee@ggombeeInstall Skill
crawler

crawler

Playwright로 웹사이트를 직접 탐색하여 크롤링 흐름 설계. API/네트워크 분석, 문서화, 크롤러 코드 생성.

@ggombee@ggombeeInstall Skill
debate

debate

교차 모델 토론. Agent Teams / Codex CLI / self-debate 모드 선택. 설계 결정, 아키텍처 선택 시 활용. "어느 쪽이 나을까", "설계 비교해줘", "토론시켜줘", "교차 검증해줘" 등의 요청에 사용.

@ggombee@ggombeeInstall Skill
e2e

e2e

화면 단위 E2E 테스트 자동화. Figma/코드 기반 테스트 케이스 도출 → Playwright 코드 생성 → Forge Loop(에스컬레이션 기반 자율 실행). "E2E 돌려줘", "화면 테스트 만들어줘", "이 페이지 자동…

@ggombee@ggombeeInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about setup.

Which coding agents can use setup?
setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.