nexu-io/open-design/plugins/_official/scenarios/od-share-to-community/SKILL.md
od-share-to-community
Package the user's just-finished work as an OpenDesign plugin without asking for fields the project files already answer, then surface the existing Add-to-My-plugins / Open-Design-PR buttons.
- Source repository stars
- 91,167
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-25
- Source checked
- 2026-08-25
Decision brief
What it does: where it fits
Triggered by the post-completion "Share to OpenDesign" submission action. The user just finished a piece of work in this project and wants to ship it as a plugin. They have not been asked any questions yet.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-share-to-community"Inspect the Agent Skill "od-share-to-community" from https://github.com/nexu-io/open-design/blob/edfa6b5f447e95cb120eae030f03baba00dc34de/plugins/_official/scenarios/od-share-to-community/SKILL.md at commit edfa6b5f447e95cb120eae030f03baba00dc34de. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Required outcome
Produce a folder named generated-plugin/ in the active project workspace. At minimum:
SKILL.md with frontmatter and clear agent instructions.open-design.json with valid plugin metadata: specVersion, name, version, description, mode, task kind, inputs, plus any pipeline / context references the workflow needs.plugin.repo is optional during scaffolding, but do not silently omit it: check gh --version and gh auth status, then prefer the local account login printed by auth status. Only use gh api user --jq .login as a fallback… - 02
Auto-derive from the project — do not ask the user fields the files already answer
The agent's CWD is the user's OD project root. Before generating anything, read what's already there and infer the plugin from it. Treat the project files as the source of truth; the user does not need to retype things you can see.
.artifact.json (or artifact.json) at the project root — task kind, mode, the prompt the user actually ran, the file the agent produced. This drives od.taskKind, od.mode, the default useCase.query, and the example output…brand-spec.md / DESIGN.md if present — voice, brand name, audience. Folds into the plugin description and tags.The list of generated artifacts in the project workspace (the .html, .tsx, .svg, etc. the agent wrote during this session) — pick the most recent / largest one as useCase.exampleOutputs[0].path after copying it under ge… - 03
Validate the plugin locally before reporting
Run od plugin validate on the folder, then od plugin pack for a tarball, then od plugin install --source to confirm the install path works.
Run od plugin validate on the folder, then od plugin pack for a tarball, then od plugin install --source to confirm the install path works. - 04
When the work above is done
Write a single summary turn covering: files created, od plugin validate status, local install / run status, and od plugin pack output. Then STOP.
Write a single summary turn covering: files created, od plugin validate status, local install / run status, and od plugin pack output. Then STOP. - 05
Do NOT chain the publish-repo / Open-Design-PR flows yourself
Do NOT suggest follow-up CLI commands such as od plugin publish, od plugin publish --to open-design, gh repo create, git init / git remote add / git push, or any other publish / repo wiring. The plugin-folder card under Design Files already exposes three buttons whose prompts dr…
Add to My plugins — already satisfied by this turn's od plugin install --source step.Publish repo — creates / updates the author's plugin.repo GitHub repo through a gh + git sequence the agent is told exactly how to run.OpenDesign PR — opens a draft PR against nexu-io/open-design for the community catalog.
Permission review
Static risk signals and limitations
Reads files
The documentation asks the agent to read local files, directories, or repositories.
Do NOT suggest follow-up CLI commands such as `od plugin publish`, `od plugin publish --to open-design`, `gh repo create`, `git init` / `git remote add` / `git push`, or any other publish / repo wiring. The plugin-folder card under Design FEvidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 84/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 91,167 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- nexu-io/open-design
- Skill path
- plugins/_official/scenarios/od-share-to-community/SKILL.md
- Commit
- edfa6b5f447e95cb120eae030f03baba00dc34de
- License
- Apache-2.0
- Collected
- 2026-08-25
- Default branch
- main
View the original SKILL.md
od-share-to-community (scenario)
Triggered by the post-completion "Share to OpenDesign" submission action. The user just finished a piece of work in this project and wants to ship it as a plugin. They have not been asked any questions yet.
Required outcome
Produce a folder named generated-plugin/ in the active project workspace. At minimum:
SKILL.mdwith frontmatter and clear agent instructions.open-design.jsonwith valid plugin metadata:specVersion,name,version,description, mode, task kind, inputs, plus any pipeline / context references the workflow needs.plugin.repois optional during scaffolding, but do not silently omit it: checkgh --versionandgh auth status, then prefer the local account login printed by auth status. Only usegh api user --jq .loginas a fallback when auth status does not expose a login. Ifghis missing, not logged in, rate-limited, or cannot resolve a real owner, omitplugin.repoinstead of inventing an owner and explicitly report the auth problem withgh auth refresh -h github.com -s repo,workflow,gh auth login -h github.com -s repo,workflow, orod plugin publish-repo generated-plugin --owner <github-login-or-org>as recovery commands. Never write placeholder owners such asopen-design-user,<vendor>,example-user,your-org, oryour-usernameinto the final manifest.- Optional
examples/andassets/only when they help review or reuse.
Auto-derive from the project — do not ask the user fields the files already answer
The agent's CWD is the user's OD project root. Before generating anything, read what's already there and infer the plugin from it. Treat the project files as the source of truth; the user does not need to retype things you can see.
What to read, in this order, and what to take from each:
*.artifact.json(orartifact.json) at the project root — task kind, mode, the prompt the user actually ran, the file the agent produced. This drivesod.taskKind,od.mode, the defaultuseCase.query, and the example output path.brand-spec.md/DESIGN.mdif present — voice, brand name, audience. Folds into the plugin description and tags.- The list of generated artifacts in the project workspace (the
*.html,*.tsx,*.svg, etc. the agent wrote during this session) — pick the most recent / largest one asuseCase.exampleOutputs[0].pathafter copying it undergenerated-plugin/examples/. - The user's first prompt in this conversation, if surfaced via the runtime — the natural-language description of what they wanted. Folds into
descriptionand the defaultuseCase.query.
Pick a stable plugin id from what you derived: lowercase letters, numbers, dashes, underscores, dots. Prefer something the brand-spec or artifact metadata suggests over inventing one.
If a field truly cannot be derived (e.g. no artifact.json exists, no brand-spec, the project is too sparse), only then ask the user — and emit one consolidated <question-form> block, not field-by-field prose questions. Default the answers from whatever you did manage to derive so the user can accept the proposed values directly in the rendered form. <question-form> is assistant-text markup rendered by OpenDesign, not a native tool call.
Validate the plugin locally before reporting
Run od plugin validate on the folder, then od plugin pack for a tarball, then od plugin install --source <absolute-folder-path> to confirm the install path works.
When the work above is done
Write a single summary turn covering: files created, od plugin validate status, local install / run status, and od plugin pack output. Then STOP.
Do NOT chain the publish-repo / Open-Design-PR flows yourself
Do NOT suggest follow-up CLI commands such as od plugin publish, od plugin publish --to open-design, gh repo create, git init / git remote add / git push, or any other publish / repo wiring. The plugin-folder card under Design Files already exposes three buttons whose prompts drive those flows end-to-end with the right auth gates, fallbacks, and retry rules baked in:
- Add to My plugins — already satisfied by this turn's
od plugin install --sourcestep. - Publish repo — creates / updates the author's
plugin.repoGitHub repo through a gh + git sequence the agent is told exactly how to run. - OpenDesign PR — opens a draft PR against
nexu-io/open-designfor the community catalog.
Point the user at whichever button they want next; do NOT recreate those flows as freeform shell suggestions in this summary. Recreating them drifts from the button prompts' guarantees and is the source of the bug that closed #2332.
Do NOT assume jq is on PATH
Do NOT assume the standalone jq binary is installed (it is not part of the OD agent runtime baseline and is missing from default macOS / Windows shells). When you need to read the manifest, prefer your built-in file-reading tool, then cat generated-plugin/open-design.json followed by manual JSON parsing, then node -e 'console.log(JSON.parse(require("fs").readFileSync("generated-plugin/open-design.json","utf8")))'. The gh ... --jq flag is fine because gh ships its own embedded library; the brew-installed standalone jq is NOT.
Language
Mirror the user's chat language in any <question-form> titles, labels, descriptions, options, and helper text, as well as status updates and error explanations. Generated artifacts (manifest fields, SKILL.md body, PR / commit messages, branch names) MUST stay English regardless of the chat language — that's the OD plugins-spec convention and matches the existing scenarios under plugins/_official/scenarios/.
Suggested folder shape
generated-plugin/
SKILL.md
open-design.json
examples/
<copied-from-the-project>
assets/
<if-needed>
Spec references
docs/plugins-spec.mddocs/schemas/open-design.plugin.v1.json- The sibling
plugins/_official/scenarios/od-plugin-authoring/SKILL.mdfor the from-scratch authoring counterpart.
Frequently asked questions
What to verify before installation and use
What does the od-share-to-community source document cover?
Triggered by the post-completion "Share to OpenDesign" submission action. The user just finished a piece of work in this project and wants to ship it as a plugin. They have not been asked any questions yet.
How do I install od-share-to-community?
The source record exposes this install command: npx skills add https://github.com/nexu-io/open-design --skill "plugins/_official/scenarios/od-share-to-community". Inspect the command and pinned source before running it.
Which permission-related actions were detected?
Static rules flagged read-files in the source; the page lists the matching lines and excerpts.
Alternatives
Compare before choosing
vasilyu1983/AI-Agents-public
qa-testing-ios
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
drafthq/draft
decompose
Decompose project or track into modules with dependency mapping. Project scope updates architecture.md and derives .ai-context.md. Track scope generates hld.md (always) and lld.md (when --lld or High-complexity module triggers it) — design-mandated artifacts that drive implement, deploy-checklist, and upload sign-off.
microsoft/Sico
android-tester
Execute Android UI workflows on a sandbox device, review results, and produce a structured execution report.
VincentChuWaiChow/vanguard-frontier-agentic
salesforce-flow-debugger-skill
Diagnoses Salesforce Flow failures from pasted error messages or (in T1 mode) live Flow Interview logs fetched via sf CLI. Identifies the failing node, root cause, and provides specific fix recommendations including fault path design, data type corrections, and null handling. TRIGGER when: user says debug this flow error, flow failed with, flow interview error, why did my flow fail, flow is not working, flow throws error, flow interview fault. Trigger phrases: flow error, interview log, fault pa