A fourth shop window off the same `skills/superdesign/` tree. dsh reads no
`plugin.json`: it installs an npm package whose `package.json` declares
`dsh.bundle`, pointing at a config layer that mounts a `ctx.skills` provider.
dsh plugin --profile <name> add github:superdesigndev/superdesign-skill
Two choices are load-bearing. The bundle is plain ESM with no build step,
because a git install fetches sources rather than build output and a `prepare`
script would force every user to allowlist a build before their first install
works. And it depends on no `@deepseek-ai/*` package, because an out-of-tree
bundle pulling an in-box one installs a second copy that drifts from the host's
- so it implements the `list`/`get` provider contract directly instead of
reusing `dsh-skill-filesystem`. The skill description is parsed out of SKILL.md
at runtime, so there is no second copy to keep in sync.
Verified against `@deepseek-ai/dsh@0.1.0-rc.6`: `dsh plugin add` appends the
bundle to the profile, `--dump-config` shows the `# == superdesign-dsh` layer,
and the package resolves from the profile and returns a valid candidate.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsD1EYGHk1an8DLL1yrzqK
Adds the Claude Code plugin manifest alongside the existing Codex one, so
the same `skills/superdesign/` tree ships to both marketplaces off one repo.
- `.claude-plugin/plugin.json` - required manifest; without it
`claude plugin validate` fails with "No manifest found in directory"
- `.claude-plugin/marketplace.json` - self-hosted marketplace listing the
repo root, so users can install today via
`/plugin marketplace add superdesigndev/superdesign-skill` +
`/plugin install superdesign@superdesign`, independent of the
community-marketplace review queue
- README / INSTALL.md document the plugin path next to `npx skills add`,
and warn against installing both copies
- SKILL.md Step 0: the ChatGPT "switch to the Work tab" copy is now scoped
to ChatGPT chat; other harnesses with no shell get a neutral message
instead of being told to find a Work tab that does not exist
- CHANGELOG.md, plus AGENTS.md release notes covering the now-two manifests
Verified: `claude plugin validate` passes with `--strict` on both manifests,
and `claude --plugin-dir <repo>` loads the skill as `superdesign:superdesign`.
The lean/two-layer/parallel init experiments did not improve fidelity. Go back
to what worked:
- INIT.md: restore the original broad, full-source init (components/layouts/
routes/theme/pages/extractable).
- SKILL.md + SUPERDESIGN.md: restore the original "init complete (all files)"
gate and mandatory-init reads.
- INSTALL.md: simple sequential flow — install -> login -> init -> ASK the user
what they want to design (one open question, NO proposing, NO parallel) -> design.
Kept (orthogonal design-execution fixes, not init changes):
- Payload budget + never-thin-retry on 400 (the real cause of garbage drafts).
- "Read the real render branch; don't infer layout from an import name."
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The #1 cause of garbage reproductions: oversized --context-file set 400s,
agent retries with thin context, model invents a generic on-brand page from
design-system.md. Fixes:
- Budget before the call; line-range every >1000-line file (header/page/globals)
to its render section; prefer theme.md over whole globals.css.
- On 400: trim big files to render sections and retry the SAME faithful call;
NEVER thin-retry. If it can't fit, stop and report — don't ship invention.
- Reproduction prompt = real structure from the branch you read, not
design-system aesthetic adjectives.
- Prefer self-contained pages when the user is flexible.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Status message now shows what's complete (install + login), what it's waiting
on (one-time design-system extraction, ~3-5 min), and what happens next
(generate the chosen design + send preview link).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- INSTALL.md: project + all design commands now happen ONLY in Step 4, after
init finishes. Step 2 = auth only; Step 3 = background init + propose
(conversation only, explicit "no create-project/draft" guard). Shorter,
clearer wait message that makes the one-time extraction explicit.
- SUPERDESIGN.md: add a top-of-file HARD GATE — never create-project /
create-design-draft / iterate / execute-flow before .superdesign/init is
complete (survives summarized fetches of the 32K file).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
First-run init (design-system extraction) takes ~3-5 min. Instead of blocking
the user on it: kick init off in the background right after login, propose/scope
the first design in parallel (quick repo glance only), then acknowledge + set
expectations ("extracting design system, 3-5 min first time") and generate once
init finishes. Cuts the perceived first-run wait.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Don't hardcode 3 agents; the skills CLI supports 70+ coding agents and
handles per-agent install paths. List common slugs + link to full list.
- Fallback now fetches all three skill files (SKILL.md, INIT.md,
SUPERDESIGN.md), not just SKILL.md, with typical skills-dir paths.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Single paste-able instruction for AI coding agents (Claude Code / Cursor /
Codex) that installs the Superdesign skill, self-bootstraps the CLI (install +
login + init), proposes/scopes a first design, and ends on a real first
generate — closing the login→never-generate gap in CLI onboarding.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>