6.0 KiB
ui/designs Content-Repo Collection Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Establish ui/designs/ as a standard content-repo collection (alongside specs/ and plans/) — concretely in wiggleverse-ecomm-content, and centrally in the engineering repo's schema docs so it binds all *-content repos.
Architecture: Docs/convention change only, two repos, one PR each. The collection convention's canonical home is the engineering repo's schemas/ docs (the content descriptor description strings in app.schema.json + schemas/README.md changelog), so the central change is a docs-only minor schema bump (1.2 → 1.3). No tooling changes: the spec-linkage gate, backfill verb, and GUIDE/TEMPLATE Design field are tracked separately as wiggleverse-dev-claude-plugin#93.
Tech Stack: Markdown, JSON Schema (description strings only), git + Gitea PRs over SSH.
Anchor: wiggleverse/wiggleverse-ecomm#8 (type/task, ELIGIBLE R2b). Related: wiggleverse/wiggleverse-dev-claude-plugin#93.
Task 1: ui/designs/ collection in wiggleverse-ecomm-content
Files:
-
Create:
/Users/benstull/git/wiggleverse.org/wiggleverse/wiggleverse-ecomm-content/ui/designs/README.md -
Modify:
/Users/benstull/git/wiggleverse.org/wiggleverse/wiggleverse-ecomm-content/README.md(layout table, lines 10–14) -
Step 1: Branch
git -C /Users/benstull/git/wiggleverse.org/wiggleverse/wiggleverse-ecomm-content checkout -b ui-designs-collection
- Step 2: Create the collection README
ui/designs/README.md:
# ui/designs — UI-design artifacts
Standard content-repo collection (alongside `specs/` and `plans/`) holding this
app's UI-design artifacts — primarily Claude Design outputs generated from a
Solution Design (rubric: `engineering/solution-design/claude-design-vs-code.md`).
A Solution Design with a UX-involving slice references its design artifact here
by path. The spec-linkage gate and the backfill gesture for adding that
reference once a design exists are tracked in
`wiggleverse/wiggleverse-dev-claude-plugin#93`.
Suggested layout: one subfolder per design, named for the spec/slice it serves,
e.g. `ui/designs/SD-0001-slice-3-storefront/`.
- Step 3: Add the layout-table row
In the top-level README.md, extend the table:
| Path | Holds |
| --- | --- |
| `specs/` | reviewed Solution-Design specs (submitted at session finalize) |
| `plans/` | archived implementation plans |
| `ui/designs/` | UI-design artifacts (Claude Design outputs), referenced from specs |
- Step 4: Commit, push, PR, merge
git -C …/wiggleverse-ecomm-content add ui/designs/README.md README.md
git -C …/wiggleverse-ecomm-content commit -m "content: add ui/designs/ collection (ecomm#8)"
git -C …/wiggleverse-ecomm-content push -u origin ui-designs-collection
PR via Gitea API (default per-host token, NOT the issue-scoped one — TOKENS.md), then merge; body cites wiggleverse/wiggleverse-ecomm#8 + plugin #93.
Task 2: Standardize centrally in engineering schemas docs
Files:
-
Modify:
/Users/benstull/git/wiggleverse.org/wiggleverse/engineering/schemas/app.schema.json(lines 13, 94, 181, 184) -
Modify:
/Users/benstull/git/wiggleverse.org/wiggleverse/engineering/schemas/README.md(repos[] bullets + changelog) -
Step 1: Branch
git -C /Users/benstull/git/wiggleverse.org/wiggleverse/engineering checkout -b ui-designs-collection
- Step 2: Schema description strings + enum
schemaVersion.enum:["1.0", "1.1", "1.2"]→["1.0", "1.1", "1.2", "1.3"]contentproperty description (line 94): "…where this app's reviewed specs/ and archived plans/ collections live…" → "…where this app's reviewed specs/, archived plans/, and ui/designs/ collections live…"$defs.contentdescription (line 181): "(reviewed specs/, archived plans/)" → "(reviewed specs/, archived plans/, ui/designs/ UI-design artifacts)"; and "The specs/ and plans/ collection subdirs are appended by the submit tooling" → "The specs/, plans/, and ui/designs/ collection subdirs are conventions (specs/ and plans/ are appended by the submit tooling; ui/designs/ holds Claude Design outputs referenced from specs)"$defs.content.subdirdescription (line 184): "under which the specs/ and plans/ collections live" → "under which the specs/, plans/, and ui/designs/ collections live"
- Step 3: schemas/README.md
Changelog entry above 1.2:
- **1.3** — docs-only: the content-repo collection convention gains a third
standard collection, `ui/designs/` — UI-design artifacts (Claude Design
outputs generated from a Solution Design), referenced from specs. Like
`specs/`/`plans/`, the subdir is a convention, not a schema field; no
validation change (the spec-linkage gate/backfill tooling is
wiggleverse-dev-claude-plugin#93). Existing files stay valid.
If the repos[] bullet list documents the content descriptor, name the three collections there too; if 1.2 never added a content bullet, add one.
- Step 4: Validate JSON, commit, push, PR, merge
python3 -m json.tool /Users/benstull/git/wiggleverse.org/wiggleverse/engineering/schemas/app.schema.json > /dev/null && echo OK
git -C …/engineering add schemas/app.schema.json schemas/README.md
git -C …/engineering commit -m "schemas: 1.3 — ui/designs/ standard content collection (ecomm#8, plugin#93)"
git -C …/engineering push -u origin ui-designs-collection
PR + merge (default token for /pulls).
Task 3: Cross-link and close out
- Step 1: Comment on plugin #93 noting the location is now standard (link both merged PRs) — its gate/backfill work can assume
ui/designs/exists. - Step 2: Close ecomm#8 with a comment naming both merged PRs.
- Step 3: Checkpoint the transcript (
publish-transcript.shon the--INPROGRESSfile).