OpenDesign / AGENTS.md
Urytorre1's picture
Upload folder using huggingface_hub
c04bc04 verified
|
Raw History Blame Contribute Delete
3.24 kB
# Agent instructions for this repository
This repo is **OpenDesign** β€” an open-source, skills-based version of [Claude Design](https://claude.ai/design) (the web design mode on claude.ai), packaged as a Claude Code plugin. When working inside this repository, your job is to maintain and extend those skills β€” not to run them.
## Repo layout
- `skills/<skill-name>/SKILL.md` β€” one folder per skill. Each `SKILL.md` has YAML frontmatter (`name`, `description`) followed by the skill body.
- `.claude-plugin/plugin.json` β€” Claude Code plugin metadata.
- `.claude-plugin/marketplace.json` β€” Claude Code marketplace entry. Skills are discovered by convention from `./skills/`; do not add a `skills[]` field (Claude Code's schema rejects it).
- `.cursor-plugin/plugin.json` β€” Cursor plugin metadata.
- `.codex-plugin/plugin.json` β€” Codex plugin metadata (richer `interface` block for app UI).
- `.opencode/plugins/opendesign.js` β€” OpenCode plugin (registers skills dir + injects `opendesign` bootstrap into the first user message).
- `.opencode/INSTALL.md` β€” user-facing install notes for OpenCode.
- `gemini-extension.json` + `GEMINI.md` β€” Gemini CLI extension. `GEMINI.md` `@-`imports the `opendesign` skill as context.
- `package.json` β€” required so OpenCode can install the repo via `git+https://...`. `main` points at the OpenCode plugin entry.
- `README.md` β€” user-facing. The "Available skills" table must match the actual skills shipped.
## Rules when editing skills
- Skills are written in direct imperative voice. No marketing language, no apologies, no emoji.
- Every `SKILL.md` must start with frontmatter containing `name` and `description`. `description` is a "Use when..." sentence that describes triggering conditions, not a summary of what the skill does.
- Keep `opendesign/SKILL.md` as the entry-point/base skill. Specialist skills (`wireframe`, `make-a-deck`, etc.) are loaded on demand by the workflow described there.
- If you add a new skill: create `skills/<name>/SKILL.md` with frontmatter and add a row to the README table. Do not add a per-skill list to `.claude-plugin/marketplace.json`; Claude Code discovers skills from `./skills/`.
- If you rename or remove a skill: update the README table and any direct references to that skill in the same change.
## Rules when editing the plugin config
- `name` must match across every host config: `.claude-plugin/plugin.json`, `.claude-plugin/marketplace.json` (both top-level and `plugins[0].name`), `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, `gemini-extension.json`, and `package.json`.
- Bump `version` everywhere together: both `.claude-plugin/*.json` files, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, `gemini-extension.json`, and `package.json`. Also add a new section to `VERSIONS.md`.
- `.opencode/plugins/opendesign.js` bootstraps from `skills/opendesign/SKILL.md`. If you rename or remove that skill, update the path in the JS.
- Do not add secrets or personal paths to any config file.
## Style
- Concrete beats vague ("Use `#246BFD` for primary buttons" beats "use a blue tone").
- Specific rules and forbidden patterns beat aspirational prose.
- Prefer editing existing skills over adding new ones.