Help us improve
Share bugs, ideas, or general feedback.
From report-to-web
Generates interactive React presentation websites from markdown research reports using Tailwind CSS v4 and shadcn/ui. Parses structure into tabs, detects interactive components like calculators, deploys to GitHub Pages.
npx claudepluginhub reggiechan74/cc-plugins --plugin report-to-webHow this skill is triggered — by the user, by Claude, or both
Slash command
/report-to-web:site-generationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate interactive React presentation websites from markdown research reports using Tailwind CSS v4 + shadcn/ui. Parse report structure into tabbed sections with interactive components, deploy as static sites to GitHub Pages.
Guides creation of production-ready Power Pages code sites as SPAs using React, Angular, Vue, or Astro, from requirements discovery to deployment with live dev server previews and git commits.
Generates customized Docusaurus documentation websites by analyzing project content, creating intelligent structure, and iteratively building until successful. Creates git branches with clear commits.
Generates multi-page marketing websites for web apps using captured screenshots, animated GIF workflows, and feature demos from the running app via browser tools.
Share bugs, ideas, or general feedback.
Generate interactive React presentation websites from markdown research reports using Tailwind CSS v4 + shadcn/ui. Parse report structure into tabbed sections with interactive components, deploy as static sites to GitHub Pages.
Parse research report markdown into a structured site architecture:
Map markdown elements to React components:
| Markdown Pattern | React Component | Detection Rule |
|---|---|---|
> blockquote with legal/official text | StyledBlockquote | Contains legislation references, "section", "Act" |
| Tables with comparison data | ComparisonTable | 3+ columns, row headers describe same attributes |
| Tables with numerical data | DataTable or Calculator | Contains $, %, numerical values |
Footnote references [^N] | CitationCard | Inline superscript links to endnotes |
| Bullet/numbered lists | AnimatedList | Standard list rendering with reveal animations |
Bold markers [VERIFIED] etc. | Badge (shadcn) | Inline badge before content |
<!-- interactive: TYPE --> | Corresponding component | Explicit user marker |
Formula patterns X = A × B | Calculator | Mathematical expressions with variables |
Auto-detect interactive opportunities using these patterns:
Calculator candidates:
= with variable names on both sidesScenario candidates:
Timeline candidates:
Comparison candidates:
Support HTML comment markers for user control:
<!-- interactive: calculator -->
<!-- interactive: timeline -->
<!-- interactive: scenario -->
<!-- interactive: comparison -->
<!-- interactive: chart -->
Place markers immediately before the content block they apply to. Markers override AI detection.
Use Vite with React + Tailwind CSS v4 + shadcn/ui for fast builds and GitHub Pages compatibility.
Key config files:
vite.config.js — Set base to /<repo-name>/ for GitHub Pages, resolve.alias for @/, manualChunks for code splittingpostcss.config.js — @tailwindcss/postcss pluginjsconfig.json — @/ path alias to ./src/*components.json — shadcn config: tsx: false, style new-york, rsc: falsePackage dependencies:
react, react-dom — Core frameworkreact-markdown with remark-gfm — Render markdown content within componentsframer-motion — Animations for tab transitions and content revealslucide-react — Icons (search, external link, chevron, etc.)fuse.js — Lightweight fuzzy search for Knowledge Vaulttailwindcss, @tailwindcss/postcss, postcss — Tailwind CSS v4clsx, tailwind-merge, class-variance-authority — Utility class compositionradix-ui — Headless UI primitives for shadcn componentsshadcn — CLI for installing UI componentsAfter scaffolding, install shadcn UI components:
npx shadcn@latest add card input label table badge accordion collapsible slider button separator
Include .github/workflows/deploy.yml for automated deployment:
actions/deploy-pages@v4 for deploymentAlso include an npm run deploy script using gh-pages package as an alternative.
Each H2 section becomes a tab. Standard tab structure:
Each tab page follows this pattern:
TabPage
├── SectionRenderer (for each H3)
│ ├── Heading with gradient accent line
│ ├── Content (rendered markdown via ReactMarkdown)
│ └── InteractiveElement (if detected)
│ ├── Calculator (Card, Input, Label, Separator)
│ ├── ComparisonTable (Table, Button)
│ ├── TimelineView (Badge)
│ ├── ScenarioSlider (Card, Label, Separator)
│ └── CitationCard (Collapsible, Badge)
Parse report into reportData.js structured as:
reportData.meta → Site title, date, author
reportData.tabs[] → Tab definitions with sections
reportData.tabs[].sections[] → Section content with optional interactive configs
reportData.citations[] → All footnotes/endnotes with URLs
reportData.externalLinks[] → Deduplicated external URLs with labels
Interactive configurations go in interactiveConfig.js:
interactives[] → Array of interactive element definitions
.type → calculator | comparison | timeline | scenario
.tabId → Which tab contains this element
.sectionId → Which section within the tab
.config → Type-specific configuration (formula, inputs, data, etc.)
After scaffolding the project, install Vercel's agent skills for React code quality:
npx -y skills add vercel-labs/agent-skills --skill react-best-practices --skill web-design-guidelines --skill composition-patterns -y
Read the installed SKILL.md files and apply their rules when generating components:
These skills complement the bundled component templates by ensuring the generated code follows production-grade React patterns.
After generating all files:
npm install to install dependenciesnpm run build to verify production build succeedsFor detailed component API documentation, see ${CLAUDE_PLUGIN_ROOT}/skills/site-generation/references/component-api.md.
For a worked example of report parsing, see ${CLAUDE_PLUGIN_ROOT}/skills/site-generation/references/parsing-example.md.
For starter React component templates, see ${CLAUDE_PLUGIN_ROOT}/templates/src/components/.
For theme/registry selection, see ${CLAUDE_PLUGIN_ROOT}/skills/design-system/references/registry-guide.md.