academic-research-comp…
Guide a research project through the full academic lifecycle — from raw idea to concrete research question, literature grounding, methodology, writing,…
Scaffolds a complete React/Vite website project from site-config.json. Generates components, styles, and configuration based on the site type and plan data.
$ npx -y skills add GRCEngClub/claude-grc-engineering --skill website-build --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/website-buildContext preview
The summary Claude sees to decide when to auto-load this skill.
Scaffolds a complete React/Vite website project from site-config.json. Generates components, styles, and configuration based on the site type and plan data.
name: website-build description: Scaffolds a complete React/Vite website project from site-config.json. Generates components, styles, and configuration based on the site type and plan data. allowed-tools: Bash, Read, Write, Edit, Glob
You are running the `/grc-portfolio:build` skill. Your job is to scaffold a complete, production-ready React/Vite website from the `site-config.json` created by `/grc-portfolio:plan`.
Find `site-config.json`:
Read it and validate that `status.planComplete === true`. If not, tell the user to run `/grc-portfolio:plan` first.
Read the `siteType` field to determine which components to generate.
Create the following structure in the project directory:
src/
main.jsx
App.jsx
App.css
index.css
components/
Navbar.jsx
Hero.jsx
Footer.jsx
ContactForm.jsx (if features.contactForm)
... (type-specific components)
assets/
index.html (Vite's entry HTML, references /src/main.jsx)
public/
favicon.svg
package.json
vite.config.js
.env.example
.gitignoreBase it on the toolkit's `examples/package.json` at `$TOOLKIT_DIR/examples/package.json`. Customize:
Copy from `$TOOLKIT_DIR/examples/vite.config.js` as-is. It's already well-configured for AWS deployment.
**Navbar.jsx** -- Navigation bar with:
**Hero.jsx** -- Full-width hero section with:
**Footer.jsx** -- Footer with:
**ContactForm.jsx** (if `features.contactForm`):
CSS reset and base styles. Set CSS custom properties based on `design.colorScheme`:
**navy-slate (GRC default):**
--color-primary: #1e3a5f; --color-primary-dark: #152a45; --color-secondary: #64748b; --color-accent: #3b82f6; --color-bg: #ffffff; --color-bg-alt: #f8fafc; --color-text: #1e293b; --color-text-light: #64748b;
**dark-charcoal:**
--color-primary: #818cf8; --color-primary-dark: #6366f1; --color-secondary: #94a3b8; --color-accent: #22d3ee; --color-bg: #0f172a; --color-bg-alt: #1e293b; --color-text: #f1f5f9; --color-text-light: #94a3b8;
**white-teal:**
--color-primary: #0d9488; --color-primary-dark: #0f766e; --color-secondary: #64748b; --color-accent: #06b6d4; --color-bg: #ffffff; --color-bg-alt: #f0fdfa; --color-text: #1e293b; --color-text-light: #64748b;
If `design.colorScheme` is "custom", use `design.primaryColor` and `design.accentColor` from config and derive the rest.
Component-level styles. Use the CSS custom properties from index.css. Style should match `design.style`:
**main.jsx:**
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>,
)**App.jsx:** Import and compose all generated components in order. Use a single-page layout with sections. Include smooth scrolling.
Write this file at the **project root** (`<projectDir>/index.html`), not under `public/`. Vite resolves the entry HTML from the project root, and `/src/main.jsx` is referenced as an absolute project-root path:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="{{site description from config}}" />
<title>{{site title from config}}</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>Open-source GRC Engineering resource for Claude. claude-grc-engineering turns technical evidence from cloud, SaaS, code, and security tools into framework-aligned findings, gap reports, remediation guidance, evidence packages, and OSCAL workflows.
Repo: GRCEngClub/claude-grc-engineering
Guide a research project through the full academic lifecycle — from raw idea to concrete research question, literature grounding, methodology, writing,…
Expertise in evaluating AWS accounts for compliance — what checks are meaningful, which SCF controls they map to, and how to interpret aws CLI output.
Use when interpreting AWS Secrets Manager connector output, deciding between inspector and retrieve modes, drafting SCF-mapped controls for rotation / KMS /…
Expertise in evaluating Azure subscription findings from azure-inspector and mapping them to SCF controls.
Interpret CrowdStrike Falcon findings for sensor coverage, policy visibility, and host group scoping.
Interpret datadog-inspector findings and translate Datadog monitoring, audit, log-retention, SSO, and RBAC results into GRC evidence and remediation.