Files
open-design/plugins/spec/AGENT-DEVELOPMENT.md
T
f1a0b60c6c chore: unify product name display to OpenDesign repo-wide (#6998)
* chore: unify product name display to OpenDesign repo-wide

Rename the user-facing product name from "Open Design" to "OpenDesign"
across documentation, web/desktop UI strings, i18n locales, prompts,
plugin/skill/design-system content, changelogs, and specs, matching the
landing-page rename already in flight.

Deliberately excluded so installed-app identity stays untouched:
- packages/release PRODUCT_NAME and everything derived from it
  (app bundle names, installer/registry identity, updater feeds)
- tools/pack, tools/release, apps/packaged, landing page (PR #6983)
- mocks/ recorded traces and LICENSE
- test fixtures and comments that encode real on-disk install paths
  (Open Design.app, Program Files\Open Design, AppData paths)

Validated with pnpm guard, pnpm typecheck, and targeted web/desktop/host
test runs over the renamed strings.

* fix(web): keep two-letter author monogram for CamelCase brand names

authorInitials split words on whitespace only, so the renamed single-token
author name "OpenDesign" produced a one-letter monogram. Treat lower-to-upper
CamelCase boundaries as word breaks so the avatar fallback stays "OD".

* fix(release): restore spaced Windows source artifact names in win.ps1

tools/pack still derives builder outputs from the unchanged PRODUCT_NAME
("Open Design"), so the asset script must look for the spaced filenames.
Matches the mac/mac-intel/linux asset scripts, which were already kept on
the original names.

---------

Co-authored-by: Joey <236967869+joeylee12629-star@users.noreply.github.com>
2026-08-18 07:09:45 +00:00

2.8 KiB

Agent Development Handoff

Language: English | 简体中文

Give this file to a coding agent when you want it to create or improve an OpenDesign plugin.

Mission

Create a portable OpenDesign plugin that can:

  1. Run as a normal Agent Skill through SKILL.md.
  2. Install into OpenDesign through open-design.json.
  3. Be validated locally.
  4. Be published as an independent open source repo or submitted as a PR to OpenDesign.

Required Reading

Read these files before editing:

  • plugins/spec/SPEC.md
  • docs/schemas/open-design.plugin.v1.json
  • docs/plugins-spec.md when you need deeper product semantics
  • plugins/spec/PUBLISHING-REGISTRIES.md when the user asks to publish outside OpenDesign
  • A nearby example under plugins/spec/examples/

Build Procedure

  1. Choose a lowercase plugin id, for example import-screenshot-to-prototype.
  2. Create a folder with at least:
<plugin-id>/
  SKILL.md
  open-design.json
  README.md
  1. Keep the SKILL.md portable. It may mention OpenDesign behavior, but the core workflow must still make sense in any Agent Skills compatible agent.
  2. Put OD-specific display, specVersion, plugin version, inputs, preview, pipeline, atoms, connectors, and capabilities in open-design.json.
  3. Add examples/, preview/, assets/, or references/ only when they materially help the agent produce better results.
  4. Add evals/evals.json when the plugin has enough behavior to regress.
  5. If publishing externally, prepare registry-safe README sections for skills.sh, ClawHub, and canonical GitHub source.

Quality Bar

The plugin is not done until:

  • SKILL.md has a clear "Use this plugin when..." description.
  • The workflow states the expected output files or handoff result.
  • open-design.json validates against the v1 shape and carries explicit specVersion plus plugin version.
  • The declared atoms are known first-party atoms or clearly marked future work.
  • The declared capabilities are the minimum needed.
  • Visual plugins include a preview or concrete example output.
  • Share, deploy, connector, and network plugins require explicit confirmation before externally visible actions.

Validation Commands

Run what is available in this environment:

pnpm guard
pnpm --filter @open-design/plugin-runtime typecheck

If the daemon CLI is built:

od plugin validate ./<plugin-id>
od plugin install ./<plugin-id>
od plugin apply <plugin-id> --input key=value

PR Output

When opening or preparing a PR, include:

  • Plugin id, spec version, plugin version, and lane.
  • What user request should trigger it.
  • Files changed.
  • Validation commands and results.
  • Capabilities requested.
  • Screenshots, preview URLs, or example artifacts for visual plugins.
  • Registry links and dry-run output when publishing to skills.sh, ClawHub, or another skill registry.