open-design/skills
code-Y 84f768d4a2
feat: add WeChat design system, login-flow skill, and fix API mode tool_calls bug (#1083)
* 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>
2026-05-10 20:38:33 +08:00
..
8-bit-orbit-video-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
after-hours-editorial-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
audio-jingle Add live artifacts and Composio connector catalog (#381) 2026-05-05 16:42:11 +08:00
blog-post add typography-hierarchy and typography-hierarchy-editorial craft rules (#975) 2026-05-09 02:15:33 +08:00
clinical-case-report feat(skills): add clinical-case-report skill (#581) 2026-05-08 22:36:37 +08:00
critique Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
dashboard craft: add laws-of-ux guidance 2026-05-07 20:02:26 +08:00
dating-web feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
dcf-valuation feat: agent-callable research command and /search (#615) 2026-05-08 10:33:44 +08:00
design-brief feat: add design-brief skill with structured I-Lang input format (#184) 2026-05-01 23:11:38 +08:00
digital-eguide refine typography-hierarchy craft docs — clarify edge cases and make lint measurable (#979) 2026-05-09 08:13:35 +08:00
digits-fintech-swiss-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
docs-page add typography-hierarchy and typography-hierarchy-editorial craft rules (#975) 2026-05-09 02:15:33 +08:00
editorial-burgundy-principles-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
email-marketing feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
eng-runbook Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
field-notes-editorial-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
finance-report craft: add rtl-and-bidi so OD artifacts don't break for Arabic / Hebrew / Persian users (#595) 2026-05-06 12:43:48 +08:00
flowai-live-dashboard-template add FlowAI live dashboard template skill (#801) 2026-05-07 19:07:45 +08:00
gamified-app feat(craft): animation-discipline module + opt-ins on mobile-app, mobile-onboarding, gamified-app (#515) 2026-05-05 18:32:30 +08:00
github-dashboard feat(skill): add github-dashboard (#666) 2026-05-08 17:21:12 +08:00
guizang-ppt docs: add Brazilian Portuguese (pt-BR) translations (#460) 2026-05-05 09:14:06 +08:00
hatch-pet feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
hr-onboarding feat(craft): accessibility-baseline module + opt-ins on dashboard, hr-onboarding, mobile-onboarding (#587) 2026-05-06 09:18:59 +08:00
html-ppt docs: add Brazilian Portuguese (pt-BR) translations (#460) 2026-05-05 09:14:06 +08:00
html-ppt-course-module feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-dir-key-nav-minimal feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-graphify-dark-graph feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-hermes-cyber-terminal feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-knowledge-arch-blueprint feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-obsidian-claude-gradient feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-pitch-deck feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-presenter-mode-reveal feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-product-launch feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-retro-quarterly-review feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
html-ppt-taste-brutalist feat(skills): add taste-skill-derived web prototype and HTML PPT examples (#358) 2026-05-03 20:31:05 +08:00
html-ppt-taste-editorial feat(skills): add taste-skill-derived web prototype and HTML PPT examples (#358) 2026-05-03 20:31:05 +08:00
html-ppt-tech-sharing feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-testing-safety-alert feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-weekly-report feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-xhs-pastel-card feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-xhs-post feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-xhs-white-editorial feat(skills): integrate lewislulu/html-ppt-skill + 15 per-template Examples cards (#193) 2026-05-02 11:00:44 +08:00
html-ppt-zhangzara-8-bit-orbit feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-biennale-yellow feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-block-frame feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-blue-professional feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-bold-poster feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-broadside feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-capsule feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-cartesian feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-cobalt-grid feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-coral feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-creative-mode feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-daisy-days feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-editorial-tri-tone feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-grove feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-long-table feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-mat feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-monochrome feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-neo-grid-bold feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-peoples-platform feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-pin-and-paper feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-pink-script feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-playful feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-raw-grid feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-retro-windows feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-retro-zine feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-sakura-chroma feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-scatterbrain feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-signal feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-soft-editorial feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-stencil-tablet feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-studio feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
html-ppt-zhangzara-vellum feat(skills): add 32 zhangzara HTML deck templates (#704) 2026-05-08 12:02:59 +08:00
hyperframes feat(skills): teach hyperframes skill the HTML-in-Canvas API (#852) 2026-05-08 11:07:15 +08:00
ib-pitch-book feat: add ib-pitch-book deck skill (Pitch Agent port) (#888) 2026-05-08 17:49:57 +08:00
image-poster Add live artifacts and Composio connector catalog (#381) 2026-05-05 16:42:11 +08:00
invoice Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
kami-deck feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
kami-landing feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
kanban-board craft: add laws-of-ux guidance 2026-05-07 20:02:26 +08:00
last30days feat: agent-callable research command and /search (#615) 2026-05-08 10:33:44 +08:00
live-artifact feat(skills/live-artifact): add 7 example dashboards + contract demo (#716) 2026-05-08 17:38:29 +08:00
live-dashboard add live-dashboard skill (#778) 2026-05-07 18:21:22 +08:00
login-flow feat: add WeChat design system, login-flow skill, and fix API mode tool_calls bug (#1083) 2026-05-10 20:38:33 +08:00
magazine-poster Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
meeting-notes Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
mobile-app feat(craft): animation-discipline module + opt-ins on mobile-app, mobile-onboarding, gamified-app (#515) 2026-05-05 18:32:30 +08:00
mobile-onboarding craft: add laws-of-ux guidance 2026-05-07 20:02:26 +08:00
motion-frames Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
open-design-landing feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
open-design-landing-deck feat(skills): open-design-landing rename, kami skills, landing OG (#428) 2026-05-04 19:22:46 +08:00
orbit-general feat(skills): add 5 Orbit briefing templates (#671) 2026-05-06 21:39:52 +08:00
orbit-github feat(skills): add 5 Orbit briefing templates (#671) 2026-05-06 21:39:52 +08:00
orbit-gmail feat(skills): add 5 Orbit briefing templates (#671) 2026-05-06 21:39:52 +08:00
orbit-linear feat(skills): add 5 Orbit briefing templates (#671) 2026-05-06 21:39:52 +08:00
orbit-notion feat(skills): add 5 Orbit briefing templates (#671) 2026-05-06 21:39:52 +08:00
pm-spec Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
pptx-html-fidelity-audit feat(pptx-fidelity): broaden script coverage beyond CJK (#308) 2026-05-03 00:53:28 +08:00
pricing-page craft: add laws-of-ux guidance 2026-05-07 20:02:26 +08:00
release-notes-one-pager feat(skills): add release notes one pager + supporting docs (#873) 2026-05-09 22:10:36 +08:00
replit-deck Feat: add replit-deck skill with 8 themes from replit.com/slides (#74) 2026-04-30 11:19:52 +08:00
saas-landing docs: fix stale internal links (#950) 2026-05-08 21:20:25 +08:00
simple-deck Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
social-carousel Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
social-media-dashboard feat(skills): add social-media-dashboard skill + Totality Festival design system (#678) 2026-05-06 21:50:23 +08:00
social-media-matrix-tracker-template add social-media-matrix-tracker template skill (#810) 2026-05-07 21:32:25 +08:00
sprite-animation Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
swiss-creative-mode-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
swiss-user-research-video-template feat(skills): consolidate hyperframes video template updates (#1079) 2026-05-09 18:09:30 +08:00
team-okrs Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
trading-analysis-dashboard-template add trading analysis dashboard template skill (live artifacts) (#824) 2026-05-08 12:08:43 +08:00
tweaks Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
video-shortform Add live artifacts and Composio connector catalog (#381) 2026-05-05 16:42:11 +08:00
waitlist-page add waitlist-page skill (#555) 2026-05-07 17:39:17 +08:00
web-prototype Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
web-prototype-taste-brutalist feat(skills): add taste-skill-derived web prototype and HTML PPT examples (#358) 2026-05-03 20:31:05 +08:00
web-prototype-taste-editorial feat(skills): add taste-skill-derived web prototype and HTML PPT examples (#358) 2026-05-03 20:31:05 +08:00
web-prototype-taste-soft feat(skills): add taste-skill-derived web prototype and HTML PPT examples (#358) 2026-05-03 20:31:05 +08:00
weekly-update Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
wireframe-sketch Refactor project name from "Open Claude Design" to "Open Design" (#1) 2026-04-28 16:03:35 +08:00
x-research feat: agent-callable research command and /search (#615) 2026-05-08 10:33:44 +08:00
README.md docs: add skills contributing guide (#1035) 2026-05-09 15:17:45 +08:00

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.