사람이 다른 데서 만들던 것을 넘겨줬다. 기존 웹 서비스일 수도, 기획 문서 뭉치일 수도, 반쯤 만들다 만 앱일 수도 있다. **들여온 것을 그대로 옮기는 일이 아니다.** 미니앱은 제약이 다르다 — SSR 이 안 되고, TDS 를 써야 하고, 심사를 통과해야 한다. 옮길 수 있는 것과 없는 것을 갈라내는 것이 이 일의 핵심이다.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add TOKTOKHAN-DEV/agent-company --skill from-intake --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of From Intake?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/toktokhan-dev-from-intake-agent-company)More formats (shields.io, HTML) on the badges page.
---
name: from-intake
summary: 다른 워크스페이스에서 넘겨받은 프로젝트를 읽고 명세로 옮긴다.
when: 사람이 `pnpm intake` 로 기존 프로젝트·기획서를 넘겨줬을 때.
---
# from-intake
사람이 다른 데서 만들던 것을 넘겨줬다. 기존 웹 서비스일 수도, 기획 문서 뭉치일 수도,
반쯤 만들다 만 앱일 수도 있다.
**들여온 것을 그대로 옮기는 일이 아니다.** 미니앱은 제약이 다르다 — SSR 이 안 되고,
TDS 를 써야 하고, 심사를 통과해야 한다. 옮길 수 있는 것과 없는 것을 갈라내는 것이
이 일의 핵심이다.
## 읽는 순서
```bash
ls inbox/
```
각 폴더의 `INVENTORY.md` **부터** 읽는다. 파일을 하나씩 열면 컨텍스트만 태운다.
목차가 알려주는 것:
| 항목 | 어떻게 쓰나 |
| --- | --- |
| **무엇으로 만들어진 것인가** | 스택. Next.js 였다면 SSR 을 걷어낼 각오를 한다 |
| **먼저 읽을 것** | README · 기획 문서. 의도가 여기 있다 |
| **구성** | 화면 단위를 짐작한다 (`pages/` · `screens/` · `routes/`) |
| **이미지** | 실제 화면 캡처가 있으면 기능을 역으로 읽어낼 수 있다 |
| **⚠ 비밀** | **열지 마라.** 명세에 키가 들어가면 저장소에 새어 나간다 |
## 규칙
1. **`inbox/` 안의 파일을 고치지 않는다.** 재료다.
2. **실행하지 않는다.** `npm install` 도 빌드도 하지 않는다. 남이 준 zip 은 읽을거리다.
3. **코드를 베껴 오지 않는다.** 당신은 명세를 쓴다. 구현은 `ui-builder` 가 한다.
4. **모르는 것을 지어내지 않는다.** 코드에서 읽히지 않는 의도는 열린 질문으로 남긴다.
## 옮길 수 있는지 갈라내기
명세를 쓰기 전에 이 표를 채워라. 여기서 걸러내지 않으면 `ui-builder` 가 심사에서
막히는 것을 만든다.
| 원본에 있던 것 | 미니앱에서 |
| --- | --- |
| SSR · 서버 미들웨어 · API Route | **불가.** CSR·SSG 만 허용된다. 서버가 필요하면 외부 API 로 뺀다 |
| 자체 디자인 시스템 · Tailwind 테마 | **TDS 로 갈아탄다.** 비게임 미니앱은 TDS 필수다 |
| 다크 모드 | **뺀다.** 라이트 모드만 지원한다 |
| 자체 로그인 | 토스 로그인으로 갈아탄다 |
| `eval` · 동적 import 로 코드 로딩 | **불가.** 바로 반려된다 |
| 웹소켓 `ws://` | `wss://` 로 |
| 100MB 넘는 에셋 | CDN 으로 뺀다 |
전체 목록은 `wiki/04-review-checklist.md`.
## 명세로 옮긴다
한 기능에 파일 하나다. 원본의 화면 수를 그대로 옮기지 마라 — **미니앱은 더 작아야
한다.** 웹에서 5화면짜리 흐름이 미니앱에서는 2화면이 되는 것이 정상이다.
`specs/_template.md` 를 복사해 쓰고, 반드시 넣는다:
- `## 수용 기준` — 없으면 preflight 가 error 로 잡는다
- `## 화면` — 화면마다 하나씩. `ui-builder` 가 이 단위로 병렬로 돈다
- **근거** — 어느 파일에서 읽었는지. `inbox/` 는 버전 관리되지 않아 나중에 사라진다.
경로만 적지 말고 **읽어낸 내용을 명세 안에 옮겨 적어라.**
```markdown
## 근거
`inbox/legacy-shop/docs/checkout.md` 에서 옮김 —
결제는 3단계(장바구니 → 배송지 → 확인)였고, 배송지는 이전 주문에서 자동 채움.
```
## 열린 질문
원본에서 읽히지 않는 것은 지어내지 말고 남긴다. **열린 질문이 있으면 구현으로
넘기지 않는다** — 이 에이전트의 하드 룰이다.
자주 걸리는 것: 서버가 하던 일을 어디로 뺄지 · 로그인을 어떻게 갈아탈지 ·
원본에 있던 화면 중 무엇을 버릴지.
## 출력
- 명세 파일 목록
- **옮기지 못한 것과 이유** (SSR · 다크 모드 · 자체 로그인 …)
- 열린 질문
- `asset-maker` 에 넘길 것이 있으면 알려준다 (기존 로고 · 브랜드 가이드 위치)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!