@feimacode/open-design-agent-kit 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/claude-skills/article-magazine/SKILL.md +1 -1
- package/assets/claude-skills/card-twitter/SKILL.md +1 -1
- package/assets/claude-skills/card-xiaohongshu/SKILL.md +1 -1
- package/assets/claude-skills/data-report/SKILL.md +1 -1
- package/assets/claude-skills/deck-guizang-editorial/SKILL.md +1 -1
- package/assets/claude-skills/deck-open-slide-canvas/SKILL.md +1 -1
- package/assets/claude-skills/deck-swiss-international/SKILL.md +1 -1
- package/assets/claude-skills/doc-kami-parchment/SKILL.md +1 -1
- package/assets/claude-skills/frame-data-chart-nyt/SKILL.md +1 -1
- package/assets/claude-skills/frame-flowchart-sticky/SKILL.md +1 -1
- package/assets/claude-skills/frame-glitch-title/SKILL.md +1 -1
- package/assets/claude-skills/frame-light-leak-cinema/SKILL.md +1 -1
- package/assets/claude-skills/frame-liquid-bg-hero/SKILL.md +1 -1
- package/assets/claude-skills/frame-logo-outro/SKILL.md +1 -1
- package/assets/claude-skills/frame-macos-notification/SKILL.md +1 -1
- package/assets/claude-skills/guizang-ppt/SKILL.md +1 -1
- package/assets/claude-skills/mockup-device-3d/SKILL.md +1 -1
- package/assets/claude-skills/open-design/SKILL.md +67 -5
- package/assets/claude-skills/open-design/references/remixable-examples.md +2 -1
- package/assets/claude-skills/open-design-campaign/SKILL.md +27 -1
- package/assets/claude-skills/open-design-deck-from-source/SKILL.md +23 -0
- package/assets/claude-skills/open-design-design-system-from-url/SKILL.md +81 -0
- package/assets/claude-skills/open-design-docs/SKILL.md +19 -0
- package/assets/claude-skills/open-design-explore/SKILL.md +23 -0
- package/assets/claude-skills/open-design-integrations/SKILL.md +19 -0
- package/assets/claude-skills/open-design-new/SKILL.md +35 -4
- package/assets/claude-skills/open-design-poster/SKILL.md +24 -1
- package/assets/claude-skills/open-design-preview/SKILL.md +34 -0
- package/assets/claude-skills/open-design-publish/SKILL.md +30 -0
- package/assets/claude-skills/open-design-recurring/SKILL.md +105 -0
- package/assets/claude-skills/open-design-social-post/SKILL.md +24 -1
- package/assets/claude-skills/poster-hero/SKILL.md +1 -1
- package/assets/claude-skills/ppt-keynote/SKILL.md +1 -1
- package/assets/claude-skills/resume-modern/SKILL.md +1 -1
- package/assets/claude-skills/social-carousel/SKILL.md +1 -1
- package/assets/claude-skills/social-reddit-card/SKILL.md +1 -1
- package/assets/claude-skills/social-spotify-card/SKILL.md +1 -1
- package/assets/claude-skills/social-x-post-card/SKILL.md +1 -1
- package/assets/claude-skills/social-youtube-thumbnail/SKILL.md +1 -1
- package/assets/claude-skills/vfx-text-cursor/SKILL.md +1 -1
- package/assets/claude-skills/video-hyperframes/SKILL.md +1 -1
- package/assets/codex-skills/article-magazine/SKILL.md +1 -1
- package/assets/codex-skills/card-twitter/SKILL.md +1 -1
- package/assets/codex-skills/card-xiaohongshu/SKILL.md +1 -1
- package/assets/codex-skills/data-report/SKILL.md +1 -1
- package/assets/codex-skills/deck-guizang-editorial/SKILL.md +1 -1
- package/assets/codex-skills/deck-open-slide-canvas/SKILL.md +1 -1
- package/assets/codex-skills/deck-swiss-international/SKILL.md +1 -1
- package/assets/codex-skills/doc-kami-parchment/SKILL.md +1 -1
- package/assets/codex-skills/frame-data-chart-nyt/SKILL.md +1 -1
- package/assets/codex-skills/frame-flowchart-sticky/SKILL.md +1 -1
- package/assets/codex-skills/frame-glitch-title/SKILL.md +1 -1
- package/assets/codex-skills/frame-light-leak-cinema/SKILL.md +1 -1
- package/assets/codex-skills/frame-liquid-bg-hero/SKILL.md +1 -1
- package/assets/codex-skills/frame-logo-outro/SKILL.md +1 -1
- package/assets/codex-skills/frame-macos-notification/SKILL.md +1 -1
- package/assets/codex-skills/guizang-ppt/SKILL.md +1 -1
- package/assets/codex-skills/mockup-device-3d/SKILL.md +1 -1
- package/assets/codex-skills/open-design/SKILL.md +49 -5
- package/assets/codex-skills/open-design/references/remixable-examples.md +2 -1
- package/assets/codex-skills/open-design-campaign/SKILL.md +20 -1
- package/assets/codex-skills/open-design-deck-from-source/SKILL.md +19 -0
- package/assets/codex-skills/open-design-design-system-from-url/SKILL.md +76 -0
- package/assets/codex-skills/open-design-docs/SKILL.md +19 -0
- package/assets/codex-skills/open-design-explore/SKILL.md +19 -0
- package/assets/codex-skills/open-design-integrations/SKILL.md +19 -0
- package/assets/codex-skills/open-design-new/SKILL.md +27 -4
- package/assets/codex-skills/open-design-poster/SKILL.md +20 -1
- package/assets/codex-skills/open-design-preview/SKILL.md +33 -0
- package/assets/codex-skills/open-design-publish/SKILL.md +19 -0
- package/assets/codex-skills/open-design-recurring/SKILL.md +100 -0
- package/assets/codex-skills/open-design-social-post/SKILL.md +20 -1
- package/assets/codex-skills/poster-hero/SKILL.md +1 -1
- package/assets/codex-skills/ppt-keynote/SKILL.md +1 -1
- package/assets/codex-skills/resume-modern/SKILL.md +1 -1
- package/assets/codex-skills/social-carousel/SKILL.md +1 -1
- package/assets/codex-skills/social-reddit-card/SKILL.md +1 -1
- package/assets/codex-skills/social-spotify-card/SKILL.md +1 -1
- package/assets/codex-skills/social-x-post-card/SKILL.md +1 -1
- package/assets/codex-skills/social-youtube-thumbnail/SKILL.md +1 -1
- package/assets/codex-skills/vfx-text-cursor/SKILL.md +1 -1
- package/assets/codex-skills/video-hyperframes/SKILL.md +1 -1
- package/out/index.js +7218 -3078
- package/out/preview/bridge.js +3 -0
- package/out/preview/mcp-app.js +209 -0
- package/out/preview/shell.js +70 -0
- package/package.json +2 -2
|
@@ -10,12 +10,33 @@ Start a new design with Open Design.
|
|
|
10
10
|
|
|
11
11
|
Request: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "What do you want to make, and what is it for?")
|
|
12
12
|
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
13
32
|
## 1. Pick the surface
|
|
14
33
|
|
|
15
|
-
Call `list_open_design_skills` with `surface: "list"` to get the kinds of thing Open Design can make (each with an id, label and description).
|
|
34
|
+
Call `list_open_design_skills` with `surface: "list"` to get the kinds of thing Open Design can make (`surfaces`, each with an id, label and description) and the `goals`, plain-language aims such as "Promote an event" or "Get hired", each with the surfaces it leads to.
|
|
16
35
|
|
|
17
|
-
- If the request starts with or clearly names
|
|
18
|
-
- If it
|
|
36
|
+
- If the request starts with or clearly names a surface (by id or label, e.g. "wireframe", "diagram", "a poster"), use that surface.
|
|
37
|
+
- If it says what the design is for but names no surface ("help me get a UX job"), take the goal that fits.
|
|
38
|
+
- If it is empty or too vague to tell, show the user the goals (label and description) and ask one question: "What's it for?". Stop until they answer. Show the surfaces instead only if they ask what kinds of thing you can make.
|
|
39
|
+
- Once you have a goal, call `list_open_design_skills` with `goal` set to its id and use the surface marked `default`, unless the request points at another of that goal's surfaces. Ask which one only when the goal leads to several and you can't tell.
|
|
19
40
|
|
|
20
41
|
## 2. Ask what's missing
|
|
21
42
|
|
|
@@ -23,9 +44,19 @@ Call `list_open_design_skills` with `surface` set to the chosen id. The result h
|
|
|
23
44
|
|
|
24
45
|
Ask only the questions the request doesn't already answer, all at once, in one short message. If the request answers them all, don't ask anything.
|
|
25
46
|
|
|
47
|
+
If no design system is active and the request names no look, also call `recommend_open_design_design_systems` with what you know (the surface, what it's for, how it should feel). If its result has `questions`, add the ones the request doesn't answer to that same message, and accept "you pick". Use its first recommendation as the `designSystemId` in step 3, and say which style you used and that they can pick another.
|
|
48
|
+
|
|
26
49
|
## 3. Build it
|
|
27
50
|
|
|
28
51
|
- If the surface has a `prompt` (for example `open-design-poster` or `open-design-social-post`), follow that flow from its first step with the user's request as the brief. In Copilot Chat it's the `/` command of the same name; in Claude Code and Codex it's the skill of the same name.
|
|
29
|
-
- Otherwise pick the entry that best fits the request. Entries come in curated order: the recipe first, then its remixable example when there is one. To start from a rendered example (an entry with
|
|
52
|
+
- Otherwise pick the entry that best fits the request. Entries come in curated order: the recipe first, then its remixable example when there is one. To start from a rendered example (an entry with `remixable: true`), call `remix_open_design_example`; otherwise call `prepare_open_design_brief` with its id, the brief and any recommended `designSystemId`, and follow the general Open Design flow: write the files, register the artifact, then check it with `check_open_design_artifact` before saying it's done.
|
|
53
|
+
|
|
54
|
+
<!-- claude-only -->
|
|
55
|
+
**Picking by eye (Claude Desktop Chat).** When the user wants to choose a starting example from pictures, and `show_open_design_examples` is in your tool list (it is listed only where the host shows MCP Apps inline), call it with `surface` set to the chosen id instead of listing entries in text. "Remix this" posts the pick in the chat; then call `remix_open_design_example` with the skillId it names. Without that tool, keep to the text list above.
|
|
56
|
+
<!-- /claude-only -->
|
|
57
|
+
|
|
58
|
+
<!-- claude-only -->
|
|
59
|
+
**Artifact preview.** If you have an Artifact tool, publish this design as its private artifact preview once it's registered and checked: call `publish_open_design_artifact` with `provider: "claude-artifact"` and follow what it returns. Publish again after each round of feedback you apply; it goes to the same artifact. Give the link once, then just say the preview was updated.
|
|
60
|
+
<!-- /claude-only -->
|
|
30
61
|
|
|
31
62
|
Never pick an entry marked `stub: true`.
|
|
@@ -10,6 +10,25 @@ Design a poster with Open Design, check it, and export files that are ready to p
|
|
|
10
10
|
|
|
11
11
|
Brief: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "What is the poster for, and is it for print (which size) or screens?")
|
|
12
12
|
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
13
32
|
## 1. Pick the medium and a default shape
|
|
14
33
|
|
|
15
34
|
Decide whether this is for **print** or **screens**. If the brief doesn't say, ask the user before doing anything else. Don't guess between print and screen: the units, bleed and type sizes are different.
|
|
@@ -40,7 +59,7 @@ Otherwise call `prepare_open_design_brief` with:
|
|
|
40
59
|
- `format`: the default shape from step 1;
|
|
41
60
|
- `fluid: true`.
|
|
42
61
|
|
|
43
|
-
Call `list_open_design_design_systems` first
|
|
62
|
+
Call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active.
|
|
44
63
|
|
|
45
64
|
Author the file yourself, following the returned instructions. Their **Canvas** section is authoritative: one `data-od-card data-od-fluid` element sized by `--od-w`/`--od-h`, everything inside sized in container units, and layout rules for wide and tall shapes. Also:
|
|
46
65
|
|
|
@@ -60,6 +79,10 @@ Call `register_open_design_artifact` with the entry path, kind `html`, a title,
|
|
|
60
79
|
|
|
61
80
|
Call `check_open_design_artifact` with the entry path. It returns the poster as an image plus preflight findings. Fix every **error** in its findings (text cut off, overlapping or in the bleed, a QR code that doesn't decode), and fix warnings where you reasonably can (sizes that don't scale with the poster, small type, low contrast, low-resolution images). Look at the image too: the headline should dominate and nothing important should be cramped or cut. Check again until there are no errors (at most two fix rounds; tell the user about anything left).
|
|
62
81
|
|
|
82
|
+
<!-- claude-only -->
|
|
83
|
+
**Artifact preview.** If you have an Artifact tool, publish this design as its private artifact preview once the check is clean: call `publish_open_design_artifact` with `provider: "claude-artifact"` and follow what it returns. Publish again after each round of feedback you apply; it goes to the same artifact. Give the link once, then just say the preview was updated.
|
|
84
|
+
<!-- /claude-only -->
|
|
85
|
+
|
|
63
86
|
## 6. Other shapes
|
|
64
87
|
|
|
65
88
|
When the user wants other sizes, or before the final export of a print piece, call `export_open_design_artifact` with `shapeSheet: true` and `checkOnly: true` (add `presets` with just the shapes they care about, or leave it out for every shape). It writes one image of the poster at each shape, marking shapes with errors; show it to the user. If you can view images, look at it too: the headline should dominate every shape and nothing important should be cropped.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "open-design-preview"
|
|
3
|
+
description: Open an Open Design artifact in a live browser preview, where you can see it update as it changes, click elements to comment on them, and compare check screenshots before and after — use whenever the user asks to see, show, preview or open an Open Design artifact, or wants to comment on one visually
|
|
4
|
+
argument-hint: which design to show (e.g. "the landing page"); leave empty for the most recent one or a list
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- generated:curated-entry -->
|
|
8
|
+
|
|
9
|
+
Show an Open Design artifact in the browser preview.
|
|
10
|
+
|
|
11
|
+
Request: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "Which design should the preview show?")
|
|
12
|
+
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
32
|
+
1. Work out which artifact is meant. Registered artifacts are the files under the Open Design output folder (default `.open-design/`) that have a `.artifact.json` file next to them. Use the one the request names; if it names none, use the one you made or changed most recently in this conversation. If that still doesn't settle it, call `open_open_design_preview` without `entryPath`: the preview then lists every design, and the user picks there.
|
|
33
|
+
2. Call `open_open_design_preview` with that `entryPath`.
|
|
34
|
+
3. Tell the user in one or two sentences what happened, using the tool's result: where the preview opened (or the URL to open, when it couldn't open a window), that it reloads by itself when the design changes, and that they can click **Comment**, then an element, to leave a comment, and **Send to agent** when they want you to apply them.
|
|
@@ -10,6 +10,25 @@ Share an Open Design artifact with people who don't have this project open.
|
|
|
10
10
|
|
|
11
11
|
Request: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "Which design should we share, and how?")
|
|
12
12
|
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
13
32
|
## 1. Find the artifact
|
|
14
33
|
|
|
15
34
|
If the request names a design, find its entry file (`get_open_design_artifact`, or the `.open-design/` folder). If several match or none is named, ask the user which one. It must be registered; if it isn't, register it first with `register_open_design_artifact`.
|
|
@@ -23,6 +42,9 @@ If the request names a design, find its entry file (`get_open_design_artifact`,
|
|
|
23
42
|
|
|
24
43
|
Call `publish_open_design_artifact` with the `entryPath`. Pass `provider` only if the user already said where:
|
|
25
44
|
|
|
45
|
+
<!-- claude-only -->
|
|
46
|
+
- `claude-artifact`: only if you have an Artifact tool (Claude Code or Claude Desktop). A private Claude artifact the user can open, and share from claude.ai when they want to. Offer it first when you have one. Add `sync: true` only if the user agreed to carry the design's working files in it, to continue on another device or session; it's stored, so later publishes keep it until `sync: false`.
|
|
47
|
+
<!-- /claude-only -->
|
|
26
48
|
- `netlify-temporary` or `cloudflare-temporary`: no account, the link lasts about an hour unless claimed
|
|
27
49
|
- `netlify`, `vercel`, `cloudflare-pages` or `github-pages`: the user's own account, a link that lasts
|
|
28
50
|
|
|
@@ -30,8 +52,16 @@ Without a provider, the tool returns the choices: show them to the user and call
|
|
|
30
52
|
|
|
31
53
|
## 4. Follow the returned instructions exactly
|
|
32
54
|
|
|
55
|
+
<!-- claude-only -->
|
|
56
|
+
For `claude-artifact`, they name one file: publish it by its path with your Artifact tool, without reading it into the conversation, and mention what they say won't load in the artifact. There's no confirmation step, since the artifact stays private until the user shares it. For the other providers:
|
|
57
|
+
<!-- /claude-only -->
|
|
58
|
+
|
|
33
59
|
They check the host's CLI, then **stop for the user's explicit yes** before anything goes online. That stop is mandatory: say what goes out, who can see it, how long it lasts, and that the small "Made with Open Design" footer badge is included unless they ask for `badge: false`. Deploy only the bundle folder the tool names.
|
|
34
60
|
|
|
35
61
|
## 5. Finish
|
|
36
62
|
|
|
37
63
|
Give the user the link. For a temporary link, also give the claim URL and when it expires, for them only. Then record it by calling `publish_open_design_artifact` again with `published`, as the instructions show, so a later publish updates the same site.
|
|
64
|
+
|
|
65
|
+
<!-- claude-only -->
|
|
66
|
+
For an artifact, also say it's private until they share it from claude.ai. With sync on, also say what the instructions name: anyone it's shared with can read the design's working files, and earlier versions keep their copy. To pick a synced design up elsewhere, read the artifact with your Artifact tool and pass the saved page's path and the link to `restore_open_design_artifact`.
|
|
67
|
+
<!-- /claude-only -->
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "open-design-recurring"
|
|
3
|
+
description: Set up a design that rebuilds itself on a schedule (a weekly report deck, next week's social posts, a refreshed one-pager), or run one such job — one job file, one supervised run, then a one-line prompt for the scheduler — use whenever the user wants a design made again every day, every week or every month, on a schedule, or as a recurring job, or when a prompt says "Run the Open Design job <path>", even if they don't mention Open Design
|
|
4
|
+
argument-hint: what to make and how often (e.g. "a KPI deck from data/kpis.csv every Monday"), or "Run the Open Design job <path>"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- generated:curated-entry -->
|
|
8
|
+
|
|
9
|
+
Recurring Open Design jobs: one job file describes what to make each period, and a scheduler runs it.
|
|
10
|
+
|
|
11
|
+
Request: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "What should be rebuilt, from which sources, and how often?")
|
|
12
|
+
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
32
|
+
If the request names a job file (".open-design/jobs/<id>.job.md", usually "Run the Open Design job …"), go to **Run**. Otherwise go to **Set up**.
|
|
33
|
+
|
|
34
|
+
If `start_open_design_job_run` isn't one of your tools (VS Code has no scheduler, so it doesn't offer it), you can still write the job file in **Set up**, but say that scheduled runs need Claude Code or Claude Desktop with the Open Design MCP server, and stop there.
|
|
35
|
+
|
|
36
|
+
## Run
|
|
37
|
+
|
|
38
|
+
1. Call `start_open_design_job_run` with the job path (and `runNow: true` only when the person asked for a fresh run in this conversation, never from a scheduled prompt).
|
|
39
|
+
2. If it returns `skip`, report the reason in one line and stop. Make no changes.
|
|
40
|
+
3. If it asks you to check out the state branch, do that and call it again.
|
|
41
|
+
4. Otherwise follow its steps in order. This run is unattended: don't ask questions, never publish publicly and never post to social networks.
|
|
42
|
+
5. End with `finish_open_design_job_run`, follow the steps it returns, and reply with its summary.
|
|
43
|
+
|
|
44
|
+
## Set up
|
|
45
|
+
|
|
46
|
+
### 1. Agree the job
|
|
47
|
+
|
|
48
|
+
With the person, settle:
|
|
49
|
+
|
|
50
|
+
- **What** to make, and with which recipe: `open-design-deck-from-source` for a report deck or one-pager from data, `open-design-social-post` for a batch of posts, `open-design-poster` for a print piece, `open-design-docs` for pages from Markdown.
|
|
51
|
+
- **Sources**: workspace files (a CSV, a CHANGELOG, a report), or data a connector pulls (a sheet in Google Drive, a Notion database). Each connector source needs a `snapshot` workspace path the pulled data is saved to, so every number stays traceable.
|
|
52
|
+
- **How often**: `day`, `week` or `month`, and the time zone (an IANA name such as `Europe/Berlin`).
|
|
53
|
+
- **One file or one per period**: `mode: update` rewrites the same design each period (a living report); `mode: series` keeps one file per period, with `{period}` in the target (a weekly social batch).
|
|
54
|
+
- **Outputs**: export formats (`pdf`, `png`, `pptx`, `standalone` …). PNG, PDF, PowerPoint and video need a browser; runs without one record them as skipped.
|
|
55
|
+
- **Delivery**: `preview` (the private Claude artifact, the default), `pr` (a pull request from the state branch), or a connector action such as "Post the preview link to #design in Slack". Never a public publish or a social post: the scheduler's prompt can't stand in for the person's yes, so the job tools refuse those.
|
|
56
|
+
- **Checks**: `best-effort` (default) or `required`, which holds back the PR and connector deliveries when a run had no browser for the visual check.
|
|
57
|
+
|
|
58
|
+
### 2. Write the job file
|
|
59
|
+
|
|
60
|
+
Write `.open-design/jobs/<id>.job.md` (the id is lowercase with hyphens and matches the file name):
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
---
|
|
64
|
+
id: weekly-kpis
|
|
65
|
+
title: Weekly KPI deck
|
|
66
|
+
recipe: open-design-deck-from-source
|
|
67
|
+
period: week
|
|
68
|
+
timezone: Europe/Berlin
|
|
69
|
+
mode: update
|
|
70
|
+
target: .open-design/weekly-kpis/weekly-kpis.html
|
|
71
|
+
outputs: [pdf]
|
|
72
|
+
sources:
|
|
73
|
+
- data/kpis.csv
|
|
74
|
+
- connector: Pull last week's signups from the "Metrics" sheet in Google Drive
|
|
75
|
+
snapshot: data/snapshots/signups.csv
|
|
76
|
+
deliver: [preview, pr]
|
|
77
|
+
checks: best-effort
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
A five-slide KPI update for the leadership team: headline numbers first, then
|
|
81
|
+
signups, revenue and churn against last week, with one takeaway per slide.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The brief is the body: write everything a run needs to decide without asking, since nobody answers questions mid-run.
|
|
85
|
+
|
|
86
|
+
### 3. One supervised run
|
|
87
|
+
|
|
88
|
+
Run it now, with the person watching: call `start_open_design_job_run` and follow **Run**. Here you may ask questions; fold the answers back into the brief so later runs don't need them. If the start result lists problems by field, fix the job file and start again.
|
|
89
|
+
|
|
90
|
+
<!-- claude-only -->
|
|
91
|
+
When the run publishes the private preview, add its link to the job's frontmatter as `preview: { url: "<link>" }`, so every later run republishes the same artifact.
|
|
92
|
+
<!-- /claude-only -->
|
|
93
|
+
|
|
94
|
+
### 4. Schedule it
|
|
95
|
+
|
|
96
|
+
Give the person the exact prompt to save, and the steps for where they work:
|
|
97
|
+
|
|
98
|
+
> Run the Open Design job `.open-design/jobs/<id>.job.md`
|
|
99
|
+
|
|
100
|
+
- **Claude Code cloud scheduled task** (claude.ai/code/routines, or `/schedule`): runs without their computer. The repository needs the Open Design MCP server and skills committed (`npx @feimacode/open-design-agent-kit init --tool claude`, then commit `.mcp.json` and `.claude/skills`, and the job file). There's no browser by default, so PNG, PDF and PowerPoint outputs are skipped unless the environment's setup script installs one. The run log lives on the state branch `claude/open-design-job-<id>`. Schedule a few minutes past the hour, mid-period.
|
|
101
|
+
- **Claude Desktop local scheduled task** (Code tab, Routines, New, Local): runs on their computer with local files and Chrome, only while the app is open and the computer is awake; a missed run gets one catch-up run, which the job skips if the period is already done. Tell them to click **Run now** once and approve each tool, so later runs aren't stopped by a prompt.
|
|
102
|
+
- **`/loop`** in an open session: only for trying the job out; it stops when the session closes.
|
|
103
|
+
- **Cowork scheduled tasks** aren't supported yet: the Open Design server runs only on the desktop.
|
|
104
|
+
|
|
105
|
+
Point them to the [recurring jobs guide](https://github.com/feimacode/open-design-agent-kit/blob/main/docs/guides/recurring-jobs.md) for details.
|
|
@@ -10,6 +10,25 @@ Design a social media post with Open Design and export files that are ready to u
|
|
|
10
10
|
|
|
11
11
|
Brief: "$ARGUMENTS" — or, if that is empty, the user's request in this conversation (if it isn't clear, ask the user: "What should the post say, and for which platform?")
|
|
12
12
|
|
|
13
|
+
**How to talk to the user.** Many people using Open Design don't write code, so:
|
|
14
|
+
- Use the user's own words. If they say "artifact", "design tokens" or give a file path, use those terms back; otherwise use the plain words below.
|
|
15
|
+
- Keep the machinery out of replies: no tool names, no ids like `od:prototype:poster-hero`, no internal files (`.artifact.json`, `.comments.json`, `config.json`), and not the words "register", "manifest", "sidecar", "entry" or "surface", unless the user used them first.
|
|
16
|
+
- Explain a print term the first time it comes up, in one short clause, and not again.
|
|
17
|
+
- Say where a file is the way the user would find it ("in your Open Design folder, under seed-swap-flyer"). Give a raw path only where the user can click it (Claude Code, Claude Desktop's Code tab, VS Code) or asks for it.
|
|
18
|
+
- End each reply that finishes a step with one line on what they can do next, with at most two options ("Want it in Instagram sizes too, or is it ready to print?").
|
|
19
|
+
|
|
20
|
+
| Instead of | Say |
|
|
21
|
+
|---|---|
|
|
22
|
+
| artifact, entry, registered | your design, saved |
|
|
23
|
+
| design system, active design system | your style (the first time: "a saved style: colours, fonts and spacing") |
|
|
24
|
+
| surface, skill, template, recipe | kind of design, starting layout, or nothing |
|
|
25
|
+
| workspace, output directory | your folder, your Open Design folder |
|
|
26
|
+
| bleed | print edge ("a few millimetres extra that the printer trims off") |
|
|
27
|
+
| trim size | final size |
|
|
28
|
+
| preflight findings, errors | "I checked it and fixed…", "one thing to look at:" |
|
|
29
|
+
| export | save as PDF, save as an image |
|
|
30
|
+
| inline preview, MCP App | the preview above |
|
|
31
|
+
|
|
13
32
|
## 1. Pick the platform and format
|
|
14
33
|
|
|
15
34
|
If the brief names a platform or format, use it. Otherwise ask the user to pick one of the rows below before doing anything else. Don't guess.
|
|
@@ -31,7 +50,7 @@ For several platforms at once, run steps 2–4 once per format and keep each one
|
|
|
31
50
|
|
|
32
51
|
## 2. Generate
|
|
33
52
|
|
|
34
|
-
Call `prepare_open_design_brief` with the row's `skillId`, the brief, and `format` set to the row's preset id (leave it out for the X post mock and YouTube video). Call `list_open_design_design_systems` first
|
|
53
|
+
Call `prepare_open_design_brief` with the row's `skillId`, the brief, and `format` set to the row's preset id (leave it out for the X post mock and YouTube video). Call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. For the X post mock, say in the brief that it is one card element.
|
|
35
54
|
|
|
36
55
|
Author the files yourself with your own file-editing tools, following the returned instructions, and add these rules for social posts:
|
|
37
56
|
|
|
@@ -44,6 +63,10 @@ Author the files yourself with your own file-editing tools, following the return
|
|
|
44
63
|
|
|
45
64
|
Call `register_open_design_artifact` with the entry path, kind `html`, a title, `sourceSkillId` set to the row's `skillId`, and the same `format` you passed to the brief, so the export can find the right size.
|
|
46
65
|
|
|
66
|
+
<!-- claude-only -->
|
|
67
|
+
**Artifact preview.** If you have an Artifact tool, publish this design as its private artifact preview once it's registered and checked: call `publish_open_design_artifact` with `provider: "claude-artifact"` and follow what it returns. Publish again after each round of feedback you apply; it goes to the same artifact. Give the link once, then just say the preview was updated.
|
|
68
|
+
<!-- /claude-only -->
|
|
69
|
+
|
|
47
70
|
## 4. Export
|
|
48
71
|
|
|
49
72
|
- **Image formats**: call `export_open_design_artifact` with the entry path and the row's export arguments. If its preflight reports errors (text cut off, a card that isn't the canvas size) or it returns warnings (failed fonts or images, over budget), fix the artifact and export again. Before exporting, call `check_open_design_artifact` to see the post as an image with its preflight findings, without writing files; fix every error first.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:poster-hero` (Marketing Poster).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Marketing Poster template to turn my content into a vertical poster or Moments-style share image with strong visual impact. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:poster-hero" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:poster-hero" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:deck:ppt-keynote` (Keynote-style Slides).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Keynote-style Slides template to turn my content into Apple Keynote-quality slides with one card per screen and keyboard left/right navigation. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:ppt-keynote" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:ppt-keynote" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:resume-modern` (Modern Resume).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Modern Resume template to turn my content into a modern minimal single-page A4 resume ready for print or PDF export. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:resume-modern" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:resume-modern" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:social-carousel` (social-carousel).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Design a 3-card cinematic social carousel — ‘onwards.’, ‘to the next one.’, ‘looking ahead.’. 1080×1080 squares, drop-into-Instagram ready."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-carousel" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-carousel" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:social-reddit-card` (Reddit Post Card).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Reddit Post Card template to turn my content into a realistic Reddit post card with vote rail and comment count for a video overlay or story share. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-reddit-card" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-reddit-card" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:social-spotify-card` (Spotify Now-Playin
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Spotify Now-Playing Card template to turn my content into a Spotify Now Playing-style card with album art, progress bar, and playback controls for a video overlay or personal homepage. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-spotify-card" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-spotify-card" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:social-x-post-card` (X / Twitter Post Ca
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the X / Twitter Post Card template to turn my content into a realistic X post card with engagement metrics for a video overlay or shareable image card. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-x-post-card" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-x-post-card" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:prototype:social-youtube-thumbnail` (YouTube Thumb
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the YouTube Thumbnail template to design a thumbnail for my video. Make the promise of the video readable in under a second: one short hook line, one strong focal subject, high contrast. Use real content from my brief and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-youtube-thumbnail" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:social-youtube-thumbnail" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:video:vfx-text-cursor` (VFX Text Cursor).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the VFX Text Cursor template to turn my content into a video-intro quote reveal with cursor light trails, chromatic rays, and directional flares. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:vfx-text-cursor" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:vfx-text-cursor" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -11,4 +11,4 @@ Use the Open Design skill `od:video:video-hyperframes` (Hyperframes Video).
|
|
|
11
11
|
|
|
12
12
|
Brief: "$ARGUMENTS", or if empty: "Use the Hyperframes Video template to turn my content into a Hyperframes / Remotion-compatible continuous frame animation with autoplay support. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
13
13
|
|
|
14
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:video-hyperframes" and this brief — call `list_open_design_design_systems` first
|
|
14
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:video-hyperframes" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:prototype:article-magazine` (Magazine Article).
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Magazine Article template to turn my content into a Huashu / huashu-md-html-inspired long-form HTML essay. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:article-magazine" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:article-magazine" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:prototype:card-twitter` (Twitter Share Card).
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Twitter Share Card template to turn my content into a Twitter quote or data card designed to pair with a post. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:card-twitter" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:card-twitter" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:prototype:card-xiaohongshu` (Xiaohongshu Card).
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Xiaohongshu Card template to turn my content into a Xiaohongshu-style swipeable knowledge-card carousel. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:card-xiaohongshu" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:card-xiaohongshu" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:prototype:data-report` (Data Visualization Report)
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Data Visualization Report template to turn my CSV, Excel, or JSON data into a polished visual report page. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:data-report" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:data-report" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:deck:deck-guizang-editorial` (Guizang Editorial E-
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Guizang Editorial E-Ink Deck template to turn my content into an editorial magazine x e-ink horizontal deck with 10 layouts and 5 palettes. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-guizang-editorial" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-guizang-editorial" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:deck:deck-open-slide-canvas` (Open-Slide 1920 Canv
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Open-Slide 1920 Canvas Deck template to turn my content into a locked 1920x1080 free-composition deck with React component-level layout. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-open-slide-canvas" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-open-slide-canvas" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:deck:deck-swiss-international` (Swiss Internationa
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Swiss International Deck template to turn my content into a 16-column-grid deck with one saturated accent and 22 locked layouts. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-swiss-international" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:deck-swiss-international" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:prototype:doc-kami-parchment` (Kami Parchment Docu
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Kami Parchment Document template to turn my content into a warm parchment document with monochrome ink-blue accents, one serif family, and editorial-grade typography. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:doc-kami-parchment" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:prototype:doc-kami-parchment" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-data-chart-nyt` (NYT-Style Data Chart
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the NYT-Style Data Chart Frame template to turn my content into a frame with NYT-newsroom typography, staggered reveal animation, and editorial-grade charts. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-data-chart-nyt" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-data-chart-nyt" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-flowchart-sticky` (Sticky Flowchart Fr
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Sticky Flowchart Frame template to turn my content into a whiteboard-brainstorm frame with SVG curve connectors, sticky-note nodes, and cursor interaction. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-flowchart-sticky" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-flowchart-sticky" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-glitch-title` (Glitch Title Frame).
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Glitch Title Frame template to turn my content into a digital-glitch, chromatic-offset, data-corruption title frame for a video transition or cyberpunk hero. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-glitch-title" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-glitch-title" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-light-leak-cinema` (Light-Leak Cinemat
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Light-Leak Cinematic Frame template to turn my content into a cinematic opening or chapter card with film light leaks, grain, letterbox framing, and large serif type. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-light-leak-cinema" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-light-leak-cinema" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-liquid-bg-hero` (Liquid Background Her
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Liquid Background Hero template to turn my content into a WebGL-style fluid displacement background with a quote overlay for a video intro, landing hero, or poster. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-liquid-bg-hero" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-liquid-bg-hero" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-logo-outro` (Logo Outro Frame).
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the Logo Outro Frame template to turn my content into a video outro or brand closing frame with segmented logo assembly, glow bloom, and tagline reveal. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-logo-outro" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-logo-outro" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:video:frame-macos-notification` (macOS Notificatio
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Use the macOS Notification Banner template to turn my content into a realistic macOS notification banner for a video overlay or product teaser. Preserve the template's visual signature, use real content and data, and avoid lorem ipsum or placeholder images."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-macos-notification" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:video:frame-macos-notification" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|
|
@@ -9,4 +9,4 @@ Use the Open Design skill `od:deck:guizang-ppt` (Write a Brand-to-Revenue Story
|
|
|
9
9
|
|
|
10
10
|
Treat the rest of the user's message as the brief. If nothing more specific was given, use: "Create \"Write a Brand-to-Revenue Story like a Growth Strategy Lead\" as a Marketing and GTM deck in the Guizang Ppt visual system. Scene: annual-marketing-plan. First ask only for missing essentials: audience, decision target, source-of-truth materials, deadline, and must-keep numbers. Then produce a commercial-grade slide plan, written slides, visual direction, speaker-ready structure, and critic pass against this rubric: can the plan connect creative choices to measurable growth."
|
|
11
11
|
|
|
12
|
-
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:guizang-ppt" and this brief — call `list_open_design_design_systems` first
|
|
12
|
+
Call `prepare_open_design_brief` (the open-design MCP server's tool) with skillId "od:deck:guizang-ppt" and this brief — call `list_open_design_design_systems` first if the user names a brand or visual direction, or `recommend_open_design_design_systems` if they name none and no design system is active. Author the files yourself with your own file-editing tools per the returned instructions, then call `register_open_design_artifact`.
|