agentsclimarketplace

Selfcontained nds design doc html

Skill kjuhwa/skills-hub/skills/design/selfcontained-nds-design-doc-html

Self-correcting knowledge corpus for Claude Code — 9 stable shape clusters, bias-correction pipeline baked into contribution flow. 47 papers, 45 techniques, 1.1k skills.

Install
npx -y skills add kjuhwa/skills-hub --skill selfcontained-nds-design-doc-html

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

외부 CSS/JS 의존 없이 단일 .html로 완성되는 Lucida/NDS 톤 디자인 문서 템플릿. As-Is/To-Be, 페이지 맥락 목업, 다이얼로그, 인터랙션, API 테이블, MoSCoW Phase 카드 등 10개 섹션 카드로 구성. 메일/Slack/PR에 첨부해도 깨지지 않는 self-contained 아티팩트가 필요할 때 사용.

SKILL.md

5.9 KB, as published. Nobody here has run it

Self-contained NDS 스타일 디자인 문서 HTML

언제 쓰는가

  • 기획서(.md)와 쌍으로 붙일 비주얼 목업이 필요한데, Figma 링크 공유가 제한적이거나 오프라인 리뷰 상황
  • 이해관계자에게 메일/Slack/PR로 HTML 하나만 던져도 그대로 보이는 문서가 필요할 때
  • Lucida의 NDS 팔레트·톤(심각도 색, brand blue, line/muted 중립톤)을 대충이라도 유지하고 싶을 때

Figma가 확보되면 nds-html-mockup-from-tokens 쪽이 상위 호환이다. 이 스킬은 Figma 없이 기획서만 가지고 도면을 뽑는 용도.

핵심 원칙

  1. 외부 요청 금지 — Google Fonts, CDN icon, fetch 전부 금지. <style> 한 블록 + 인라인 SVG만.
  2. CSS 변수로 NDS 톤 근사치를 먼저 정의. 하드코딩된 색 값 반복 금지.
  3. 섹션 카드 패턴<section class="card"> + <h2><span class="num">{N}</span> ...</h2> + <div class="body">. 번호는 기획서 섹션과 1:1.
  4. 목업은 실제 컴포넌트를 흉내낸 div 구조로 그린다. <img> placeholder 금지.

팔레트 (복붙용)

:root{
  --bg:#f4f6fa; --panel:#ffffff; --ink:#1b1f27; --muted:#6b7380;
  --line:#e4e7ee; --line-strong:#c9cfdb;
  --brand:#1c6dd0; --brand-weak:#e9f1fb;
  --sev-crit:#d23f3f; --sev-warn:#e08a1a; --sev-caut:#e0b41a; --sev-ok:#2b8a58;
  --chip:#eef1f6; --chip-ink:#3a4453;
  --accent:#7a3ff2;
  --mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shadow: 0 6px 24px rgba(18,30,55,0.08);
  --radius: 10px;
}
body{font:14px/1.55 "Pretendard","Apple SD Gothic Neo","Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);margin:0}

권장 섹션 구성 (10 카드)

#섹션주 콘텐츠
1요약 · 핵심 변경점3열 그리드 카드, 한 줄 hook + 한 문장 설명
2As-Is vs To-Becompare.col 2열, As-Is는 빨강 태그·To-Be는 초록 태그, <ul> 대비 리스트
3페이지 맥락탭·액션바·테이블 목업. 심각도 .sev.crit/warn/caut/info/ok 뱃지, .truncate로 말줄임 연출
4다이얼로그 목업.stage(줄무늬 배경)에 .modal 올리기. 상단 툴바 + .collist(☰ 핸들 + .checkbox + 뱃지) + 하단 좌:위험버튼 / 우:취소·저장
5핵심 인터랙션드래그 재배치·너비 리사이즈·우클릭 메뉴·확인 모달. 2×2 그리드
6사용자 시나리오.steps에 번호 달린 5 스텝 카드, 각 스텝 상단 원형 번호 뱃지
7API 설계Method 칩(GET/POST/PUT/PATCH/DELETE 색상 구분) + 경로 + 용도 테이블 + 다크 codeblock(JSON) + 에러 응답 테이블
8Phase (MoSCoW)Must/Should/Could/Won't 4열 카드, 색상 태그 구분
9수용 기준체크박스 box UI로 시각적 체크리스트
10Open Questions<ol> 단순 나열

각 카드 스타일(권장):

section.card{background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);margin:18px 0;overflow:hidden}
section.card > h2{margin:0;padding:16px 22px;border-bottom:1px solid var(--line);
  font-size:15px;background:#fbfcff;display:flex;align-items:center;gap:10px}
section.card > h2 .num{display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:6px;background:var(--brand);color:#fff;font-size:12px;font-weight:700}
section.card > .body{padding:22px}

관용 마이크로 컴포넌트

  • .btn / .btn.primary / .btn.danger / .btn.sm — 913px 패딩, 56px radius, 라인 버튼 기본
  • .sev.{crit|warn|caut|info|ok}::before 원형 점 + pill 스타일 뱃지
  • .chip — 선택된 컬럼 등 태그 표현. .x로 제거 아이콘
  • .collist .row — 드래그 핸들(☰) + checkbox div + name + 우측 width meta
  • .m.{GET|POST|PUT|PATCH|DELETE} — HTTP method 태그, 각 색상 고유
  • .codeblock — 다크(#0f172a) JSON/코드 블록, .k/.s/.c span으로 키/문자열/주석 색 구분

검증

태그 밸런스 체크는 항상 마지막에:

node -e "const fs=require('fs');const s=fs.readFileSync('{path}','utf8');
['section','div','table','ul'].forEach(t=>{
  const o=(s.match(new RegExp('<'+t+'(?:\\\\s|>)','g'))||[]).length;
  const c=(s.match(new RegExp('</'+t+'>','g'))||[]).length;
  console.log(t, o, '/', c);
});"

브라우저에서 열었을 때:

  1. 스크롤 시 섹션 헤더가 sticky하지 않도록(기본 그대로 둘 것). 긴 스크롤 허용.
  2. 960px 미만에서 .grid-2·.grid-3·.phase·.steps가 1~2열로 접히는지.
  3. 브라우저 인쇄 시 다이얼로그 .stage의 줄무늬 배경이 잉크 낭비라 @media print{.stage{background:none}} 추가 가능.

실패 모드

상황대처
기획서에 API 설계 없음섹션 7 자체 삭제하고 남은 번호 재정렬. 빈 카드 두지 말 것.
한국어 폰트가 두꺼워 보임Pretendard가 없으면 Apple SD Gothic Neo fallback. Noto Sans KR CDN은 금지(외부 요청).
다크모드 요청CSS 변수를 @media (prefers-color-scheme: dark)로 재정의. 기본은 라이트 고정(리뷰 환경이 대개 라이트).
파일이 커짐(>50KB)인라인 SVG 반복 제거, 목업 테이블 행 수 줄이기. 30KB 내외가 이상적.

참고 결과물

  • specs/alarm/design/알람이벤트_컬럼_개인화설정_디자인.html (605줄, 31KB, 섹션 10 / div 153, 모두 쌍 밸런스)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.