* feat: add WeChat design system, login-flow skill, and fix API mode tool_calls bug - Add WeChat design system (design-systems/wechat/) with full brand spec including color palette, typography, and component rules for chat UI - Add login-flow skill (skills/login-flow/) for mobile authentication flows with P0 checklist, example HTML, and i18n registration across 3 locales - Fix DeepSeek V4 bug: API/BYOK mode (streamFormat=plain) models now receive a directive to emit only <artifact> HTML blocks and suppress tool_calls, since plain adapters proxy to external providers that cannot execute tools * fix: restore full server.ts and WeChat DESIGN.md from ad46d8cd commit Restore files that were corrupted in PR #1083 head branch. The WeChat DESIGN.md was reduced to a single line (filename only) and server.ts was reduced to ~1 line. Both are restored to their original ad46d8cd state with full content. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * fix: restore full server.ts and WeChat DESIGN.md from ad46d8cd Restore files corrupted in PR #1083: - apps/daemon/src/server.ts: restored 7106-line file - design-systems/wechat/DESIGN.md: restored 301-line WeChat design spec - skills/login-flow/SKILL.md: restored from local working state - skills/login-flow/example.html: restored 351-line example HTML * fix: only suppress tool_calls when streamFormat='plain' explicitly, remove nonexistent assets/template.html 1. streamFormat check now requires explicit 'plain' value instead of defaulting to 'plain' when undefined. This prevents normal tool-using chat runs from incorrectly inheriting the API/BYOK tool_calls suppression rule. 2. login-flow SKILL.md: removed reference to assets/template.html since that file does not exist in the skill bundle and derivePreflight() would inject a hard instruction to read it before any other tool, causing pre-flight to fail. * fix: thread streamFormat to composeSystemPrompt in server.ts call Previously the composeSystemPrompt call at line ~4940 omitted streamFormat, causing the composer to default to 'plain' and suppress tool_calls even for tool-using chat runs. Now streamFormat is passed through from the adapter definition so the API mode rule only fires when streamFormat='plain' is explicitly set. * fix: WeChat category metadata, font-family, and login-flow example interactivity WeChat DESIGN.md: - Add Category: Social & Messaging metadata so it appears correctly in picker - Fix font-family declaration: remove invalid -webkit-font-family prefix, use standard font-family so downstream CSS generation works correctly skills/login-flow/example.html: - Add password toggle click handler so show/hide actually works - Change Apple icon fill from hardcoded #fff to currentColor so it is visible on light backgrounds * fix: mirror streamFormat suppression in contracts composer and add WeChat i18n 1. packages/contracts/src/prompts/system.ts: Add streamFormat parameter to ComposeInput and ComposeInput interface, mirroring the same suppression rule from daemon prompts/system.ts. When streamFormat='plain' is passed, a directive is appended telling models not to emit tool_calls and to only output <artifact> HTML blocks. 2. apps/web/src/i18n/content.{ts,fr,ru}.ts: Add WeChat design system entries: - Add 'wechat' to DE/FR/RU_DESIGN_SYSTEM_IDS_WITH_EN_FALLBACK arrays - Add 'wechat' summary to DE/FR/RU_DESIGN_SYSTEM_SUMMARIES - Add 'Social & Messaging' category to DE/FR/RU_DESIGN_SYSTEM_CATEGORIES (matching the Category: Social & Messaging metadata in WeChat DESIGN.md) * fix: thread streamFormat='plain' into web composeSystemPrompt for api mode * test: focus localized content coverage on missing resources --------- Co-authored-by: Open Design Contributor <z@open-design.dev> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com> Co-authored-by: mrcfps <mrc@powerformer.com> |
||
|---|---|---|
| .. | ||
| 8-bit-orbit-video-template | ||
| after-hours-editorial-template | ||
| audio-jingle | ||
| blog-post | ||
| clinical-case-report | ||
| critique | ||
| dashboard | ||
| dating-web | ||
| dcf-valuation | ||
| design-brief | ||
| digital-eguide | ||
| digits-fintech-swiss-template | ||
| docs-page | ||
| editorial-burgundy-principles-template | ||
| email-marketing | ||
| eng-runbook | ||
| field-notes-editorial-template | ||
| finance-report | ||
| flowai-live-dashboard-template | ||
| gamified-app | ||
| github-dashboard | ||
| guizang-ppt | ||
| hatch-pet | ||
| hr-onboarding | ||
| html-ppt | ||
| html-ppt-course-module | ||
| html-ppt-dir-key-nav-minimal | ||
| html-ppt-graphify-dark-graph | ||
| html-ppt-hermes-cyber-terminal | ||
| html-ppt-knowledge-arch-blueprint | ||
| html-ppt-obsidian-claude-gradient | ||
| html-ppt-pitch-deck | ||
| html-ppt-presenter-mode-reveal | ||
| html-ppt-product-launch | ||
| html-ppt-retro-quarterly-review | ||
| html-ppt-taste-brutalist | ||
| html-ppt-taste-editorial | ||
| html-ppt-tech-sharing | ||
| html-ppt-testing-safety-alert | ||
| html-ppt-weekly-report | ||
| html-ppt-xhs-pastel-card | ||
| html-ppt-xhs-post | ||
| html-ppt-xhs-white-editorial | ||
| html-ppt-zhangzara-8-bit-orbit | ||
| html-ppt-zhangzara-biennale-yellow | ||
| html-ppt-zhangzara-block-frame | ||
| html-ppt-zhangzara-blue-professional | ||
| html-ppt-zhangzara-bold-poster | ||
| html-ppt-zhangzara-broadside | ||
| html-ppt-zhangzara-capsule | ||
| html-ppt-zhangzara-cartesian | ||
| html-ppt-zhangzara-cobalt-grid | ||
| html-ppt-zhangzara-coral | ||
| html-ppt-zhangzara-creative-mode | ||
| html-ppt-zhangzara-daisy-days | ||
| html-ppt-zhangzara-editorial-tri-tone | ||
| html-ppt-zhangzara-grove | ||
| html-ppt-zhangzara-long-table | ||
| html-ppt-zhangzara-mat | ||
| html-ppt-zhangzara-monochrome | ||
| html-ppt-zhangzara-neo-grid-bold | ||
| html-ppt-zhangzara-peoples-platform | ||
| html-ppt-zhangzara-pin-and-paper | ||
| html-ppt-zhangzara-pink-script | ||
| html-ppt-zhangzara-playful | ||
| html-ppt-zhangzara-raw-grid | ||
| html-ppt-zhangzara-retro-windows | ||
| html-ppt-zhangzara-retro-zine | ||
| html-ppt-zhangzara-sakura-chroma | ||
| html-ppt-zhangzara-scatterbrain | ||
| html-ppt-zhangzara-signal | ||
| html-ppt-zhangzara-soft-editorial | ||
| html-ppt-zhangzara-stencil-tablet | ||
| html-ppt-zhangzara-studio | ||
| html-ppt-zhangzara-vellum | ||
| hyperframes | ||
| ib-pitch-book | ||
| image-poster | ||
| invoice | ||
| kami-deck | ||
| kami-landing | ||
| kanban-board | ||
| last30days | ||
| live-artifact | ||
| live-dashboard | ||
| login-flow | ||
| magazine-poster | ||
| meeting-notes | ||
| mobile-app | ||
| mobile-onboarding | ||
| motion-frames | ||
| open-design-landing | ||
| open-design-landing-deck | ||
| orbit-general | ||
| orbit-github | ||
| orbit-gmail | ||
| orbit-linear | ||
| orbit-notion | ||
| pm-spec | ||
| pptx-html-fidelity-audit | ||
| pricing-page | ||
| release-notes-one-pager | ||
| replit-deck | ||
| saas-landing | ||
| simple-deck | ||
| social-carousel | ||
| social-media-dashboard | ||
| social-media-matrix-tracker-template | ||
| sprite-animation | ||
| swiss-creative-mode-template | ||
| swiss-user-research-video-template | ||
| team-okrs | ||
| trading-analysis-dashboard-template | ||
| tweaks | ||
| video-shortform | ||
| waitlist-page | ||
| web-prototype | ||
| web-prototype-taste-brutalist | ||
| web-prototype-taste-editorial | ||
| web-prototype-taste-soft | ||
| weekly-update | ||
| wireframe-sketch | ||
| x-research | ||
| README.md | ||
Skills
A skill is the atomic unit of design capability in Open Design — one folder, one SKILL.md, optional assets/ and references/. The daemon scans this directory at startup; drop a folder in, restart, and the picker shows it.
Adding a new skill
→ docs/skills-contributing.md — the contributor guide. Quick start, anatomy, local dev loop, merge bar, PR template, and common rejection patterns.
→ docs/skills-protocol.md — the protocol spec. Frontmatter grammar, discovery rules, mode semantics.
The fastest path is to copy the existing skill closest to your idea, edit SKILL.md and example.html, and read the contributor guide before opening the PR. We're picky about skills because they're the user-facing surface — the merge bar is real and the contributor guide makes it explicit.
Skills that already ship
The mode and featured flags in each skill's SKILL.md decide where it shows up in the picker. The list below is a quick orientation; for a curated set of "imitate this if you're starting from scratch" skills, see the References section in docs/skills-contributing.md.
# Browse the registry from the CLI:
ls skills/
# 54+ skills across prototype, deck, template, design-system, image, video, and audio modes
License
Skills in this directory are Apache-2.0 unless their own LICENSE says otherwise. The most notable exception is skills/guizang-ppt/, bundled verbatim from op7418/guizang-ppt-skill under MIT.