Qiaomu Meta Skill
joeseesun/qiaomu-meta-skill
Research, create, improve, migrate, evaluate, package, install-check, govern, and safely publish qiaomu-flavored agent skills from workflows, prompts, transcripts, docs, SOPs, runbooks, scripts, or…
Helps newcomers contribute to OpenDesign: ship a skill or design system, translate docs, fix docs or report a bug, ending in a pull request or issue.
$ npx skills add nexu-io/open-design --skill od-contribute -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nexu-io/open-design od-contribute --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/od-contribute .claude/skills/od-contribute && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .claude/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contributeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nexu-io/open-design --skill od-contribute -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nexu-io/open-design od-contribute --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/od-contribute .agents/skills/od-contribute && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .agents/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexu-io/open-design --skill od-contribute -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nexu-io/open-design od-contribute --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/od-contribute .cursor/skills/od-contribute && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .cursor/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nexu-io/open-design.git --path .claude/skills/od-contribute--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nexu-io/open-design --skill od-contribute -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nexu-io/open-design od-contribute --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/od-contribute .gemini/skills/od-contribute && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .gemini/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nexu-io/open-design od-contributeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nexu-io/open-design --skill od-contribute -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/od-contribute .github/skills/od-contribute && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .github/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nexu-io/open-design --skill od-contribute -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nexu-io/open-design od-contribute --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/od-contribute .opencode/skills/od-contribute && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "od-contribute" agent skill from https://github.com/nexu-io/open-design/tree/main/.claude/skills/od-contribute into .opencode/skills/od-contribute/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "od-contribute", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
od-contributeHelps newcomers contribute to OpenDesign: ship a skill or design system, translate docs, fix docs or report a bug, ending in a pull request or issue.
Locked to the nexu-io/open-design repository, the skill asks one multiple-choice question to pick a contribution type, then follows a route for each: shipping a Skill, Design System, HyperFrame or template you made, translating the README, QUICKSTART or CONTRIBUTING docs into a new language, fixing a typo or dead link or writing a blog or use-case piece, or reporting a bug as an issue with no PR. It is designed so that someone with no coding background can submit a real pull request.
It starts with `scripts/check-prereqs.sh`, which confirms the GitHub CLI setup and finds your fork, offering to fork the repository if none exists. Type-specific validators for skills, design systems and markdown take the place of a development loop, and helper scripts discover documentation and translation gaps and create the PR or issue. Replies follow your language, but PR titles, commit messages, bodies and branch names are always English, using the bundled templates. References cover skill and design-system anatomy, a repository map and a newcomer-friendly tone.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 17e2559. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteEditAskUserQuestionTaskCreateTaskUpdateWebFetchFrom allowed-tools in the SKILL.md frontmatter.
Ships 10 files in scripts/ (Shell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
bashghgitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
OpenDesign Contribution Flow loads about 3.5k tokens when it runs, and up to ~5.8k if it reads all its reference files. Until then it costs about 106 tokens; SKILL.md has 1,477 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Edit, AskUserQuestion, TaskCreate, TaskUpdate, WebFetchAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from nexu-io/open-design at commit 17e2559, republished under its Apache-2.0 licence (© nexu-io). 1,477 words, ~3,509 tokens.
.claude/skills/od-contribute/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.Locked to nexu-io/open-design. Branches by contribution type, not by issue. Replaces the dev-loop with type-specific no-code validators. Designed so a product user with zero coding background can ship a real PR.
Mirror the user's language in every user-facing message — AskUserQuestion labels and descriptions, status updates, error explanations. Detect from their first message; when uncertain, default to English.
Generated artifacts (PR titles, commit messages, PR/issue body files, branch names) MUST be English regardless of the user's chat language. GitHub conventions, maintainer review, and search all assume English. The templates under templates/ are already English — keep them that way when rendering.
Scripts live under scripts/. Source the shared helpers from any script:
source "$(dirname "$0")/config.sh"SKILL_DIR below = the directory that contains this SKILL.md.
bash "$SKILL_DIR/scripts/check-prereqs.sh"GH_USER=<login> from stdout. Default TARGET_FORK="${GH_USER}/open-design".If gh repo view "$TARGET_FORK" fails, ask the user (one AskUserQuestion) whether to fork now via gh repo fork nexu-io/open-design --clone=false. Default to yes.
Single AskUserQuestion (header: "Contribution", multiSelect: false), four options. Translate option labels/descriptions into the user's chat language; the branch routing is unchanged.
3a3b3c3d (issue path, no PR)Each branch below is self-contained. Steps 7–8 (preview + push) are shared across branches 3a/3b/3c. Branch 3d skips them entirely.
3a.1 Ask user: "What's the local path to the artifact you want to ship?" (single free-text, translated into the user's chat language). Common: a folder path (Skill) or a single DESIGN.md file (Design System).
3a.2 Sniff type:
# Skill: folder containing SKILL.md with frontmatter.
# Design System: file matching DESIGN.md anatomy.If ambiguous, ask the user to confirm.
3a.3 Run setup:
bash "$SKILL_DIR/scripts/setup-workspace.sh" skill <slug>
# or
bash "$SKILL_DIR/scripts/setup-workspace.sh" design-system <slug><slug> is od::slugify of the Skill name frontmatter field or of the brand name. Capture WORKDIR from stdout.
3a.4 Copy artifact into workspace at the right target dir:
$WORKDIR/skills/<slug>/$WORKDIR/design-systems/<brand-slug>/DESIGN.md (+ any sibling assets in the same folder)3a.5 Validate:
bash "$SKILL_DIR/scripts/validate-skill-submission.sh" "$WORKDIR/skills/<slug>"
# or, with 1-2 reference DESIGN.md files passed in:
bash "$SKILL_DIR/scripts/validate-design-system.sh" \
"$WORKDIR/design-systems/<slug>/DESIGN.md" \
--reference "$WORKDIR/design-systems/airbnb/DESIGN.md" \
--reference "$WORKDIR/design-systems/apple/DESIGN.md"If validation fails, surface the FAIL lines verbatim, ask the user to fix, retry. Never push a failing artifact.
3a.6 Ask 3 short questions via AskUserQuestion (translate the labels into the user's chat language):
3a.7 Render templates/PR-BODY-skill.md (or PR-BODY-design-system.md) with substitutions:
{{SKILL_NAME}}, {{SKILL_SLUG}} (or {{BRAND_NAME}}, {{BRAND_SLUG}}){{PITCH}} (the one-line){{MOTIVATION}} (free-text — agent can offer to draft this from the skill body, but user confirms){{TRY_PROMPT}} (a prompt they recommend trying — agent suggests a default, user confirms){{SCREENSHOT_BLOCK}} (Markdown image block if a screenshot path was given, else empty){{DISCORD_INVITE}} from $OD_DISCORD_INVITEWrite to $WORKDIR/.od-contrib/PR-BODY.md.
→ Jump to Step 7.
3b.1 Setup workspace (slug = translate-<doc>-<lang> if known, else translate):
bash "$SKILL_DIR/scripts/setup-workspace.sh" i18n translate
# capture WORKDIR3b.2 Discover gaps:
bash "$SKILL_DIR/scripts/discover-i18n-gaps.sh" "$WORKDIR" > /tmp/od-i18n-gaps.jsonEach line is JSON. Rank by:
status: "missing" first (missing language is highest leverage)status: "stale" ordered by english_commits_since_translation desc3b.3 Take the top 3–4 gaps and present via AskUserQuestion (header: "Translation target"). Each option label like: README → 한국어 (Korean) / QUICKSTART (zh-CN) refresh — 12 commits behind. Translate the header text into the user's chat language but keep the option labels descriptive (the language names belong in their native script).
3b.4 Once user picks, rename branch to be specific:
git -C "$WORKDIR" branch -m "od-contrib/i18n/<doc>-<lang>-<date>"(or pre-set the slug in step 3b.1 if the user confirmed earlier.)
3b.5 Translate. Read the English source. Translate structure-preserving:
Write the result to $WORKDIR/<TRANSLATED_PATH> (e.g. QUICKSTART.es.md). Show user a unified diff vs. the English source for visual sanity-check (line-count delta within ±15% is a healthy signal).
3b.6 Validate the translated file against the English source. The --reference flag tells the validator to ignore relative refs that were already broken in the source — OD docs frequently link to website route slugs (e.g. skills/blog-post/) that aren't files on disk; we don't want a structure-preserving translation to fail because of pre-existing dead refs.
bash "$SKILL_DIR/scripts/validate-markdown.sh" \
"$WORKDIR/<TRANSLATED_PATH>" \
--reference "$WORKDIR/<ENGLISH_PATH>"If FAIL → surface verbatim, fix, retry.
3b.7 Render templates/PR-BODY-i18n.md with {{DOC_NAME}}, {{LANG_DISPLAY_NAME}}, {{LANG_CODE}}, {{TRANSLATED_PATH}}, {{ENGLISH_PATH}}, {{STATUS}}, {{TRANSLATION_NOTES}} (one paragraph from the agent: anything tricky, untranslated terms it kept, etc.), {{DISCORD_INVITE}}.
→ Step 7.
3c.1 Setup workspace (slug docs):
bash "$SKILL_DIR/scripts/setup-workspace.sh" docs <slug>3c.2 Ask user (one AskUserQuestion):
3c.3 (Auto-discover branch) Run:
bash "$SKILL_DIR/scripts/discover-doc-gaps.sh" "$WORKDIR" > /tmp/od-doc-gaps.jsonGroup by kind (typo / deadlink / todo). Show the user up to 6 candidates via AskUserQuestion. Once picked, apply the fix in code (typo: replace word; deadlink: ask user for the new URL; todo: that's a proper task, ask user to write the missing prose).
3c.4 (Specific-fix branch) Read the file, apply user's described change. Confirm via diff.
3c.5 (Blog branch) First check whether OD has a blog directory:
ls "$WORKDIR/docs" 2>/dev/nullIf a docs/blog/ or similar exists, place the new post there. If not, ask the user where it should live, defaulting to docs/<slug>.md. Generate an outline → user fills in user-specific bits (their use case, screenshots, the prompt they used, the rendered output) → agent stitches into a final Markdown.
3c.6 Validate every changed/added file. For files that already exist in the repo (typo fix, dead-link fix, doc edit), pass --reference pointing at HEAD's version so we only fail on relative refs the user introduced, not on pre-existing route slugs:
# For modifications to existing files:
git -C "$WORKDIR" show "HEAD:<path>" > "/tmp/od-contrib-orig-<basename>" 2>/dev/null
bash "$SKILL_DIR/scripts/validate-markdown.sh" \
"$WORKDIR/<changed-path>" \
--reference "/tmp/od-contrib-orig-<basename>"
# For brand-new files (e.g. a blog post the user is creating from scratch),
# omit --reference. The validator will skip the relative-ref check entirely
# (since it can't tell route slugs from real paths in isolation).3c.7 Render templates/PR-BODY-docs.md with {{ONE_LINE_SUMMARY}}, {{DETAILS}}, {{FILES_LIST}}, {{DISCORD_INVITE}}.
→ Step 7.
3d.1 Read OD's actual schema at runtime to make sure we mirror it:
gh api "repos/${TARGET_REPO}/contents/.github/ISSUE_TEMPLATE/bug-report.yml" --jq .content | base64 -d > /tmp/od-bug-report.ymlIf the schema has drifted from the template (templates/ISSUE-BODY-bug.md), regenerate the body to match.
3d.2 Ask the user via AskUserQuestion, one structured prompt per critical field. Use plain language, not the YAML field names:
| Bug-report field | Prompt to user |
|---|---|
description | "What went wrong? One sentence is fine." |
steps | "How can I reproduce it? Walk me through step by step." |
expected | "What did you expect to happen?" |
version | "Which OD version are you running? (About menu, or od --version)" |
platform | dropdown: macOS (Apple Silicon) / macOS (Intel) / Windows / Linux / Other |
logs | "Any error logs you can paste? Skip if you don't have them." |
screenshots | "Path to a screenshot? Skip if you don't have one." |
Translate every prompt above into the user's chat language at runtime.
3d.3 Auto-collect what we can (these don't need to ask the user):
unamenode -v if relevant3d.4 Dedupe: extract 3–5 keywords from the description, run:
gh search issues "<keywords>" --repo "$TARGET_REPO" --state open --limit 5 --json number,title,urlIf matches exist, present them to the user via AskUserQuestion (translate to user's language): "These existing issues look related. Do you want to: (a) comment on an existing one, (b) open a new issue anyway, (c) cancel?"
3d.5 If proceeding with new issue, render templates/ISSUE-BODY-bug.md and submit:
bash "$SKILL_DIR/scripts/create-issue.sh" \
--title "$TITLE" \
--body-file "$WORKDIR_OR_TMP/.od-contrib/ISSUE-BODY.md" \
--dedupe-keywords "<keywords>"3d.6 Print the issue URL on its own line. Do not push branches or open PRs from this branch.
Show the user a clean summary:
About to commit:
Branch: od-contrib/<type>/<slug>-<date>
Files:
+ skills/foo/SKILL.md (1.2 KB)
+ skills/foo/preview.png (54 KB)
Push to: <fork or upstream>
Open PR: nexu-io/open-design:main ← <fork>:<branch>Then git -C "$WORKDIR" diff --stat and a head -40 of the rendered PR body for visual sanity.
Required AskUserQuestion confirmation (translate to user's language): "Push this PR?" with three options:
Never push without an explicit "Ship it".
bash "$SKILL_DIR/scripts/create-pr.sh" \
--workdir "$WORKDIR" \
--type "<skill|design-system|i18n|docs>" \
--title "<PR title from references/newcomer-tone.md>" \
--body-file "$WORKDIR/.od-contrib/PR-BODY.md"Print the PR URL on its own line. Done.
main / master / develop. The push scripts refuse.--force push. Just don't.$OD_WORK_ROOT (default $HOME/od-contrib-work). od::assert_in_workroot enforces this.gh issue create.xxiaoxiong from any contributor lookup ([[feedback_no_outreach_xxiaoxiong]]).auto-github-contributor instead (it has the TDD loop). This skill deliberately doesn't run lint/typecheck/tests because content paths don't need them.© nexu-io, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 22 other files (scripts, references) in .claude/skills/od-contribute of nexu-io/open-design.
Open the folder on GitHubat commit 17e2559
OpenDesign Contribution Flow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| OpenDesign Contribution Flow this skillnexu-io/open-design | 100k | — | ~3.5k | Automated safety check: Notes | Apache-2.0 | |
| Qiaomu Meta Skilljoeseesun/qiaomu-meta-skill | 383 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Pre-Release PR Triagejamiepine/voicebox | 57k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Verdaccio PR Reviewverdaccio/verdaccio | 18k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Ansible Backport Creatoransible/ansible | 71k | — | ~1.2k | Automated safety check: Pass | GPL-3.0 |
joeseesun/qiaomu-meta-skill
Research, create, improve, migrate, evaluate, package, install-check, govern, and safely publish qiaomu-flavored agent skills from workflows, prompts, transcripts, docs, SOPs, runbooks, scripts, or…
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
jamiepine/voicebox
Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.
verdaccio/verdaccio
Reviews an existing verdaccio/verdaccio pull request end to end, verifies each finding and reports whether it is mergeable, optionally fixing it on the PR branch.
ansible/ansible
Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.
codewhale-hq/Codewhale
Decides how verified work should reach main, directly, in a worktree or on an integration branch, while keeping contributor credit and respecting merge gates.
nexu-io/open-design
Turns raw notes into a talk-ready slide outline with per-page image, diagram or video decisions, then checks the rendered deck against that outline.
nexu-io/open-design
Produces a cited Markdown briefing on recent community sentiment and social reaction to a topic, labeling every source it could not actually check.
nexu-io/open-design
Turns a chat transcript or screenshot into a configurable animated chat clip, rendered as a Remotion bundle with optional transparency.
nexu-io/open-design
Team-management dashboard skill in the FlowAI aesthetic — three tabs (Team Members, Team Details, Activity Log), KPI stat row, member table, role distribution bar chart, online presence and activity…
nexu-io/open-design
Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references.
nexu-io/open-design
Builds slide decks as static HTML files from a token-based design system, with themes, layouts, animations and a presenter mode.
Categories
Helps newcomers contribute to OpenDesign: ship a skill or design system, translate docs, fix docs or report a bug, ending in a pull request or issue. Locked to the nexu-io/open-design repository, the skill asks one multiple-choice question to pick a contribution type, then follows a route for each: shipping a Skill, Design System, HyperFrame or template you made, translating the README, QUICKSTART or CONTRIBUTING docs into a new language, fixing a typo or dead link or writing a blog or use-case piece, or reporting a bug as an issue with no PR. It is designed so that someone with no coding background can submit a real pull request.
OpenDesign Contribution Flow fits situations like: contributing a skill or design system you built with OpenDesign upstream; translating the OpenDesign docs into another language; fixing a typo or dead link in the docs, or writing a blog post; reporting an OpenDesign bug as a well-formed issue.
Run `npx skills add nexu-io/open-design --skill od-contribute -a claude-code`. Or copy the skill folder (.claude/skills/od-contribute in nexu-io/open-design) into .claude/skills/od-contribute in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nexu-io/open-design --skill od-contribute -a codex`. Or copy the skill folder (.claude/skills/od-contribute in nexu-io/open-design) into .agents/skills/od-contribute in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nexu-io/open-design --skill od-contribute -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/od-contribute, .gemini/skills/od-contribute, .github/skills/od-contribute and .opencode/skills/od-contribute in your project.
Going by SKILL.md and its folder, OpenDesign Contribution Flow needs a shell for the scripts in its folder and the command-line tools its instructions call (bash, gh, git and node). Our summary lists: The GitHub CLI (`gh`), signed in; A fork of nexu-io/open-design, which the skill can create; Bash to run the helper scripts. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, AskUserQuestion, TaskCreate, TaskUpdate, WebFetch.
SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
OpenDesign Contribution Flow is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with OpenDesign Contribution Flow: Qiaomu Meta Skill (joeseesun/qiaomu-meta-skill, 383 stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars) and Verdaccio PR Review (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nexu-io (a GitHub organization) maintains it in nexu-io/open-design, which has 100,280 GitHub stars. The repository holds 245 skills in this directory. The repository was last updated on October 10, 2026.
Source: nexu-io/open-design on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.