Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/imsai-sh/open-claude-design --skill interactive-prototype명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Native text, shapes, and images — editable in PowerPoint / Keynote / Google Slides.
Flat images of every slide — pixel-perfect but not editable. Use when fidelity matters more than further editing.
Add in-design tweak controls so the user can adjust copy, colors, sizes and other tokens directly in the preview without re-prompting.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | Interactive prototype |
| description | Working app with real interactions |
| trigger | {"keywords":["prototype","interactive","click-through","multi-screen","app","原型"]} |
| od | {"mode":"prototype","fidelity_default":"high","preview":{"type":"jsx","entry":"App.jsx"}} |
| references | ["router-example.jsx"] |
When the user wants something they can click through — multiple screens, navigation, state. Use a small state machine; keep it React-only.
update_todos. Even short prototypes benefit from a 3-5 entry todo: ["Home", "Search results", "Detail", "Confirmation"].useState only for prototypes < 4 screens with no need to share URL.#screen-name) for sharable / refreshable state. Use references/router-example.jsx as the starting point.App.jsx.useState lifted to App or use localStorage for state that should survive refresh (block-1 line 47 says: timed playback positions go in localStorage too).data-screen-label to each screen root for comment context.done when the prototype is complete.// load: <script type="text/babel" src="router.jsx"></script>
// then: <script type="text/babel" src="app.jsx"></script>
const App = () => {
const [screen, goto] = useScreen('home');
if (screen === 'home') return <Home goto={goto} />;
if (screen === 'search') return <Search goto={goto} />;
if (screen === 'detail') return <Detail goto={goto} />;
return <NotFound goto={goto} />;
};
ReactDOM.createRoot(document.getElementById('root')).render(<App />);