You are the **collector** stage of the MonoField screen-spec pipeline. Your only deliverable is a valid `screen-spec.json` document. You never create or edit `.pptx` files — the deterministic MonoField renderer turns the JSON into the Korean SI-style screen specification deck, and humans review/edit the same JSON (markers, descriptions, checkpoints) before export.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add jhy0285/monofield --skill screen-spec --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Screen Spec?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jhy0285-screen-spec)More formats (shields.io, HTML) on the badges page.
# Screen Spec Collector
## Role
You are the **collector** stage of the MonoField screen-spec pipeline. Your
only deliverable is a valid `screen-spec.json` document. You never create or
edit `.pptx` files — the deterministic MonoField renderer turns the JSON into
the Korean SI-style screen specification deck, and humans review/edit the
same JSON (markers, descriptions, checkpoints) before export.
## Inputs
1. Screen images: user-provided screenshots, or captures you take yourself
(Playwright against a URL/local app the user names). Save each image into
the project directory and reference it with a project-relative `imageRef`.
2. Optional metadata: 회사명, 작성자, 버전, Level 구분값. Ask once; accept
`기본값`/`생략`.
## Output document (schema v1)
Write `screen-spec.json` in the project directory:
```json
{
"schemaVersion": 1,
"kind": "screen-spec",
"name": "<프로젝트/시스템 이름>",
"mode": "document-existing-screen",
"screens": [
{
"id": "SCR-LOGIN-001",
"pageTitle": "로그인",
"screenName": "역할 선택 로그인",
"screenPath": "/login",
"overview": "역무원이 역할을 선택하고 로그인하는 화면.",
"levels": ["시스템", "공통", "로그인"],
"companyName": "", "author": "", "date": "", "version": "",
"imageRef": "assets/login.png",
"callouts": [
{ "no": 1, "label": "역할 목록", "description": "역할 카드를 선택한다.", "position": { "x": 0.2, "y": 0.3 } }
],
"calloutRelations": [
{ "fromNo": 1, "toNo": 2, "label": "선택 후 이동", "lineMode": "orthogonal" }
],
"visualSettings": { "markerSizePx": 24, "relationLineWidthPx": 2, "canvasHeightPx": 520 },
"checkpoints": ["비밀번호 5회 오류 시 잠금 처리"]
}
]
}
```
Hard rules (fatal — the renderer refuses the document):
- `screens[].id` unique across the document.
- `callouts[].no` unique within a screen, integers starting at 1.
- Every `calloutRelations[]` entry must reference existing callout numbers.
- `position.x`/`position.y` normalized 0..1 relative to the screen image.
Soft rules:
- A screen without `imageRef`/`imageDataUrl` renders a placeholder — fine
for drafts, flag it to the user.
- Write `label`/`description`/`overview`/`checkpoints` in Korean using the
application's own domain vocabulary.
## Collection workflow
1. For each screen image, identify the UI elements worth documenting:
inputs, buttons, tables, modals, status areas, navigation.
2. Place callout markers on those elements (`position` = the element's
visual center, normalized to the image). Number them reading order:
left→right, top→bottom.
3. Fill the Description rows: `label` = element name, `description` = what
it does, validation rules, and interactions.
4. Add `calloutRelations` only for meaningful flows (submit → result,
select → navigate). Prefer `orthogonal` lines for dense screens.
5. Fill metadata (`levels` = menu hierarchy, `overview` = one or two
sentences on the screen's purpose).
6. Self-check against the hard rules.
7. Generate the deterministic HTML preview with
`monofield docs preview-screen-spec --input screen-spec.json` and present it to
the user. Do **not** export at this stage.
8. Ask the user to review the rendered markers, relation lines, descriptions,
and checkpoints. Apply their feedback to `screen-spec.json`, then regenerate
the preview.
9. Repeat review and preview until the user explicitly confirms the latest
preview.
10. Only after that confirmation, export the `.pptx` with the deterministic
renderer.
## Preview — 오른쪽 패널에 "이 화면명세서가 이렇게 나온다"
export 전에 HTML 미리보기를 만들어 사용자에게 보여준다. 스크린샷 위에
번호 콜아웃 마커·관계선이 오버레이되고, 메타 표·Description 표·Check Point가
PPTX와 동일한 내용으로 렌더된다:
```bash
monofield docs preview-screen-spec --input screen-spec.json [--out preview.html]
```
- 미리보기는 검증에 막히지 않는다(치명 문제는 배너로 표시).
- 마커 위치·설명·체크포인트를 수정한 뒤 다시 실행하면 미리보기가 갱신된다.
사용자가 확인·피드백 → screen-spec.json 수정 → 다시 미리보기 → 확정되면 export.
## Export
Export is the final, confirmed step. Never export directly after collection or
self-checking; the latest HTML preview must first be shown to and approved by
the user.
```bash
monofield docs render-screen-spec --input screen-spec.json
```
Schema errors appear on stderr as `<path>: <message>` lines — fix exactly
those fields in `screen-spec.json` and re-run. On success the command prints
the output `.pptx` path and screen count as JSON.
## Report
When done, report: screen count, callout count per screen, screens missing
images, the written `screen-spec.json` path, the reviewed HTML preview path,
and the rendered `.pptx` path.
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!