一键导入
green-goods-dev-surface
Use when working in Green Goods and needing the local client, admin, docs, Storybook, agent, indexer, or Anvil Arbitrum fork.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when working in Green Goods and needing the local client, admin, docs, Storybook, agent, indexer, or Anvil Arbitrum fork.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Repo-health audit and drift classifier for Green Goods — dead code, dependency health, invariant drift, stale guidance/plans/docs drift, and concrete broken or brittle spots. Use when the user asks for an audit, a drift check, "is the repo healthy", stale guidance, cleanup readiness, or whether to run clean. Read-only; routes accepted findings to a fix pass, /clean, or Linear.
Scope-locked codebase cleanup with 8 focused assessment lanes — deduplication, type consolidation, dead code removal, circular dependencies, type strengthening, defensive code removal, legacy cleanup, and AI slop removal. Use when the user wants to clean up the codebase or improve code quality at scale.
Design philosophy for adaptive, spatial interfaces. Paradigm selection, material language, interaction patterns, inclusive design, ecosystem thinking, and progressive immersion strategy. Use for design direction, visual language decisions, and spatial UI planning.
Process review feedback on any Green Goods Google Doc downloaded as `.docx` — `docs/` drafts, research notes, grant proposals, product feedback. Parses comments and tracked-changes into a triage-able markdown record, then walks through addressing each item with a scope-lock gate between phases and an in-repo or out-of-repo address mode (auto-inferred from doc title/filename). Use when the team has finished reviewing a doc and you have (or can produce) a `.docx` export.
Planning & Execution — fires passively when the user describes planning or orchestration intent. Creates structured implementation plans, checks progress, executes in batches, manages lifecycle, and coordinates mixed Claude+Codex agent teams. Fire when the user says 'plan this', 'break down X', 'orchestrate', 'coordinate a team', 'parallel lanes', 'spawn teammates', 'fire off agents', 'mixed agent team', or describes cross-package / multi-lane implementation work.
Process a build sync QA session (the meeting formerly called product sync) and turn the meeting notes into triaged Linear records + QA-sheet rows. Use this skill whenever the user mentions a QA call, QA sync, build sync, product sync (legacy name), QA session, product review, "triage the QA bugs", "file the bugs from the call", "extract bugs from the sync notes", "update the QA sheet with bugs", processing meeting notes for bugs, or wants to file Linear issues from a recent QA meeting — even if they don't explicitly say "qa-triage". Pulls the latest Gemini notes from Drive (with ~/Downloads fallback), cross-references each item against PostHog telemetry and existing Linear/Sheet records, scope-locks the triage, then writes Linear Customer Needs/Issues with assignees and appends Defects rows to the Green Goods QA Sheet.
| name | green-goods-dev-surface |
| description | Use when working in Green Goods and needing the local client, admin, docs, Storybook, agent, indexer, or Anvil Arbitrum fork. |
Inside this repo, use the repo-native command:
bun install
# configure .env from .env.template/.env.schema
bun run dev
bun run dev runs node scripts/dev/stack.js full. It starts the full PM2-backed local stack, streams logs in the foreground, opens review URLs through the repo browser helper, and cleans up PM2 services on Ctrl-C.
Expected ports:
3001: client PWA and editorial website3002: admin UI3003: docs3004: Storybook3005: agent/API3006: indexer GraphQL/Hasura3007: indexer service3008: indexer Postgres3009: Anvil Arbitrum forkLocal chain mode defaults to Arbitrum fork mode. For transaction QA, add RPC http://127.0.0.1:3009 with chain id 42161 to a dedicated dev browser wallet and use an Anvil-funded private key from packages/contracts/.generated/runtime/arbitrum-fork.json. The launcher silences Anvil startup output and redacts the fork endpoint in that generated file so provider credentials do not appear in logs. Mock-auth URLs do not sign transactions.
After bun run dev is up, run bun run dev:smoke:full for a current
full-local proof. It checks both client presentations, admin, docs, Storybook,
local agent /health, Anvil chain id 42161, deployed Arbitrum bytecode on the
fork, funded Anvil accounts, local Envio/Hasura GraphQL, local indexer service
health, and the Postgres TCP listener. The Docker indexer is local
infrastructure, but it mirrors the configured live networks; set
ENVIO_API_TOKEN in the root .env when you need fresh catch-up and a passing
indexer-lag proof. Without it, HyperSync can return 429 Too Many Requests and
the smoke should fail on lag instead of claiming the local mirror is current. It
never submits transactions.
For production-backed local review, use bun run dev:prod from the repo root.
It starts the local client, admin, docs, and Storybook against Arbitrum One, the
hosted production indexer, and https://agent.greengoods.app. It does not start
local Anvil, the local indexer, the local agent, or a tunnel. Wallet-confirmed
transactions are real Arbitrum writes in this mode; the automatic smoke is
read-only. Expected ports are 3001-3004 only; 3005-3009 should stay
free. From the shared workbench, inspect this mode with
dev status green-goods:prod or dev health green-goods:prod. Use
dev launch green-goods:prod only when you want the workbench to start and open
that explicit mode.
For indexer work against live Arbitrum, use bun run dev:prod:mirror. It starts
the same browser surfaces plus local Postgres/Hasura/Envio on ports 3006-3008
while keeping the chain target at Arbitrum One. Expected ports are 3001-3004
plus 3006-3008; Anvil on 3009 should stay stopped. From the shared
workbench, inspect this mode with dev status green-goods:prod-mirror or
dev health green-goods:prod-mirror. Use dev launch green-goods:prod-mirror
only when you want the workbench to start and open that explicit mode.
bun run dev:prod:mirror:health requires ENVIO_API_TOKEN; without it, the
containers can start but HyperSync may rate-limit and the smoke should fail on
mirror lag.
dev health all still checks the default full-local Green Goods surface. When
production-backed Green Goods is the intentional active mode, use
dev health green-goods:prod coop portfolio greenpill-network wefa.
bun run dev:prod:smoke verifies local browser ports, Arbitrum RPC chain id
42161, deployed Arbitrum contract bytecode, production agent /health, indexer
GraphQL metadata, and indexer lag against Arbitrum head. It never submits
transactions. Use --max-indexer-lag-blocks <blocks> only when intentionally
debugging a stale indexer mirror.
Useful native commands:
bun run dev
bun run dev:web
bun run dev:smoke:full
bun run dev:prod
bun run dev:prod:health
bun run dev:prod:mirror
bun run dev:prod:mirror:health
bun run dev:prod:smoke
bun run dev:prod:smoke -- --mode mirror
bun run dev:health
bun run dev:stop
bun run dev:contracts:arbitrum-fork
For cross-repo orchestration from anywhere, use the global workbench:
dev launch green-goods
dev launch green-goods:client
dev launch green-goods:prod
dev launch green-goods:prod-mirror
dev status green-goods:prod
dev health green-goods:prod
dev status green-goods
dev health green-goods
dev stop green-goods
Do not call .dev-surfaces/run.mjs; this repo should not have that wrapper.