用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/imsai-sh/open-claude-design --skill interactive-prototype命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 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 />);