src/claude/skills/ui-add/SKILL.md
Add a frontend app (Next.js) to an existing workstream using a SPEC-PROVIDER starter pack
npx skillsauth add the-agency-ai/the-agency src/claude/skills/ui-addInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add a frontend app to an existing workstream. Fills the gap where a workstream exists but needs a new UI — a payment UI for the payments workstream, an admin panel for ops, etc.
Uses the SPEC-PROVIDER pattern: the SPEC is the skill invocation (name + workstream + port), the PROVIDER is the starter pack at claude/starter-packs/<type>/.
<name> — kebab-case app name (becomes apps/<name>/). Followed by:
--workstream <ws> — existing workstream name [required]--type <provider> — starter pack [default: nextjs-app]--port <num> — host port [default: next free in 4100–4199]--base-path <path> — Next.js basePath [default: /<name>]--dry-run — preview all writes without making changes/ui-add payments-ui --workstream payments --dry-run
/ui-add admin --workstream ops --port 4150
/ui-add marketing --workstream marketing --base-path /mkt
apps/<name>/ must not exist)docker-compose.dev.yml, unless --port is providedinstall.sh which scaffolds the app filesagency/config/topology.yaml — adds a frontend service entry with wires_from: [backend]docker-compose.dev.yml — add the service block manually if needed for the full stackpnpm install)@of/ui workspace package instead)--dry-runapps/<name>/ exists)@of/ui workspace, Dockerfile, basePath: /<name>Run ./agency/tools/ui-add $ARGUMENTS and relay the output.
The tool handles validation. If it fails, relay the error verbatim.
On success, the tool prints a "Next steps" block. Relay it to the user.
List the files the scaffold created/modified so the principal can review before committing. Do NOT auto-commit — commit policy is the principal's decision, consistent with /workstream-create which ends at a report + hand-off.
Changed files for a non-dry-run:
apps/<name>/ (new directory, 9 files)agency/config/topology.yaml (modified — new frontend entry)The principal decides whether to run /iteration-complete immediately, extend docker-compose.dev.yml to include the new app first, or fold the scaffold into a larger iteration.
business
Sync worktree with master — merge, copy settings, run sandbox-sync, report changes
tools
List all git worktrees with status info (branch, clean/dirty, deps)
tools
Remove a git worktree and optionally delete its branch
development
Create a new git worktree with dedicated branch and bootstrapped dev environment