skills/prototype/SKILL.md
Usage `rdc:prototype <description>` — Build a JSX/TSX mockup for visual review before implementation. Saves to docs/source/, registers in prototype_registry. Use when asked to mock something up or show what it looks like. Not production code.
npx skillsauth add LIFEAI/rdc-skills rdc:prototypeInstall 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.
⚠️ OUTPUT CONTRACT (READ FIRST):
guides/output-contract.mdChecklist-only output. No tool-call narration. No raw MCP/JSON/log dumps. One checklist upfront, updated in place, shown again at end with a 1-line verdict.
If dispatching subagents or running as a subagent: read
{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.mdfirst (fallback:{PROJECT_ROOT}/.rdc/guides/agent-bootstrap.md).
Sandbox contract: This skill honors
RDC_TEST=1perguides/agent-bootstrap.md§ RDC_TEST Sandbox Contract. Destructive external calls short-circuit under the flag. Supabase prototype_registry and design_context inserts, and git push are skipped underRDC_TEST=1.
rdc:prototype <description> — describe the UI to build (e.g. "a data table for work items")docs/source/<ComponentName>.jsxUse realistic field names from the actual database schema:
// Mock data — mirrors your_table
const MOCK_DATA = [
{
id: "uuid-1",
slug: "example-slug",
name: "Example Name",
description: "...",
location_city: "City",
location_state: "State",
status: "active",
category: "example-category",
total_capital: 1000000,
total_area: 2400,
deploy_url: "https://...",
tags: ["tag1", "tag2"],
alignment: ["value1", "value2"],
web_visible: true,
ticker_label: "LABEL",
ticker_capital: "$1M",
scores: { field1: 82, field2: 71, field3: 68 },
},
];
/**
* <ComponentName>.jsx — PROTOTYPE
* ─────────────────────────────────────────────
* Status: Prototype — reference only, not production code
* Created: <date>
* Route (production target): <app-route>
*
* Key design decisions:
* 1. <Decision and rationale>
* 2. <Decision and rationale>
*
* What to preserve in production:
* - <Design element>
* - <Interaction pattern>
*
* What production implementation must do differently:
* - Replace mock data with database query
* - Import <Component> from @regen/ui instead of inline implementation
* - Extract <Part> into shared component at src/components/<name>
*
* Production agent type: frontend | backend | data | viz
* Production guide: .rdc/guides/<type>.md (fallback: .rdc/guides/<type>.md)
*/
// ─── HANDOFF SPEC ─────────────────────────────
// Production files:
// apps/<app>/src/app/<route>/page.tsx (server component)
// apps/<app>/src/app/<route>/<Name>Client.tsx (client component)
// apps/<app>/src/app/<route>/<Name>Wrapper.tsx (modal/state shell, if needed)
//
// Design system components to use (do not re-implement):
// <ComponentName> — <what it does>
//
// Database tables:
// <table> — <what to query>
//
// Form field schema additions needed:
// <table>.<column> — <input_type> — <label>
-- Register prototype
INSERT INTO prototype_registry (name, component, source_path, notes, created_by)
VALUES (
'<Name> Prototype v1',
'<ComponentName>',
'docs/source/<ComponentName>.jsx',
'<One-line description of key design: layout, data shape, interactions>',
'planning'
);
-- Record design decisions
INSERT INTO design_context (topic, context_type, summary, source, created_by)
VALUES
('<Topic>', 'prototype', 'Prototype built with <X> layout and <Y> interaction pattern', 'planning', 'planning'),
('<Topic>', 'decision', '<Key decision made during prototyping and why>', 'planning', 'planning');
After prototype is approved, use rdc:handoff to create the plan doc and database work items.
Or tell the project lead:
Prototype complete.
File: docs/source/<ComponentName>.jsx
Registered: prototype_registry
To hand off to CLI build: use /rdc:handoff
To build immediately: use /rdc:build
tools
Convert Office documents to/from Markdown with the build-corpus CLI: .docx/.pptx/.ppt → Markdown (Word OMML equations become KaTeX-readable TeX; tables, images, headings preserved), and Markdown → Word (.docx) where inline $...$ and display $$...$$ LaTeX become NATIVE Office Math (OMML) that Word renders as real equations. Use this skill whenever the user asks to convert a Word/PowerPoint document to Markdown, build a Markdown corpus from Office files, turn Markdown into a .docx (optionally with a .dotx template), or "open the report" to edit. Install build-corpus straight from GitHub and run it in the session.
development
Usage `rdc:brochure <input> [--out <path>] [--template <name>] [--format Letter|A4]` — Turn a zip, folder, HTML file, URL, or markdown folder into a print-quality PDF brochure via Puppeteer. Auto-detects print-variant HTML, honors @page CSS, falls back to a Studio-token-aware template when no HTML exists.
tools
Usage `rdc:convert <input> [--out <dir>] [--to markdown|word] [--images assets|base64|s3]` — Convert .docx/.pptx/.ppt → Markdown (Word OMML equations as KaTeX TeX, tables, images) or Markdown → Word via the build-corpus CLI (PyPI `build-corpus`, npm `regen-mde`). Portable: runs in any session that can reach npm or PyPI — Claude Code CLI and claude.ai both fetch + run it. Use whenever the user asks to convert an Office document, build a Markdown corpus from .docx/.pptx, turn Markdown into a .docx, or 'open the report' in the regen-mde editor (Windows).
tools
Usage `rdc:fs-mcp <task>` — Use the File System MCP bridge for live repo reads, safe writes, cloud-to-local ingest, and GitHub-branch imports into a dirty local monorepo. Use when Claude.ai, Cowork, or CLI agents need fs_read/fs_write/fs_import_git_files guidance.