academic-research-comp…
Guide a research project through the full academic lifecycle — from raw idea to concrete research question, literature grounding,…
Builds the React/Vite site, syncs to S3, and invalidates CloudFront cache. Uses the plugin's bundled deploy.sh script.
Claude Code
$ npx -y skills add GRCEngClub/claude-grc-engineering --skill website-deploy --agent claude-code
Codex
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a codex -y
Cursor
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a cursor -y
Gemini CLI
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a gemini-cli -y
GitHub Copilot
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a github-copilot -y
OpenCode
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a opencode -y
Windsurf
$ npx skills add GRCEngClub/claude-grc-engineering --skill website-deploy -a windsurf -y
name: website-deploy description: Builds the React/Vite site, syncs to S3, and invalidates CloudFront cache. Uses the plugin's bundled deploy.sh script. allowed-tools: Bash, Read, Write, Edit, Glob
You are running the `/grc-portfolio:deploy` skill. Your job is to build the website and deploy it to the AWS infrastructure created by `/grc-portfolio:infra`.
Find `site-config.json`:
Read it and validate that `status.infraDeployed === true`. If not, tell the user to run `/grc-portfolio:infra` first.
Also validate that `status.buildComplete === true`. If not, tell the user to run `/grc-portfolio:build` first.
Extract needed values:
If `features.contactForm` is true and `aws.contactApiEndpoint` is set, ensure `.env` in the project directory contains:
VITE_CONTACT_API_ENDPOINT=<aws.contactApiEndpoint>
**Update the file non-destructively** — do not overwrite an existing `.env`:
1. If `.env` does not exist, create it with just this line. 2. If `.env` exists and already has a `VITE_CONTACT_API_ENDPOINT=` line, replace only that line. 3. If `.env` exists but does not contain `VITE_CONTACT_API_ENDPOINT=`, append the line.
Preserve any other variables the user has set (e.g. `VITE_GA_ID`, analytics keys, feature flags).
cd <projectDir> npm run build
Verify the `dist/` directory was created and contains files.
If the build fails, diagnose and fix the issue.
Use the toolkit's deploy script:
$TOOLKIT_DIR/scripts/deploy.sh <aws.bucketName> <aws.distributionId> <aws.profile>
Run this from the project directory (it expects `dist/` in the current working directory).
Wait a moment for CloudFront to propagate, then tell the user their site is live.
Provide the URL:
Update `site-config.json`:
Tell the user:
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.
Guide a research project through the full academic lifecycle — from raw idea to concrete research question, literature grounding,…
Expertise in evaluating AWS accounts for compliance — what checks are meaningful, which SCF controls they map to, and how to…
Use when interpreting AWS Secrets Manager connector output, deciding between inspector and retrieve modes, drafting SCF-mapped…
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…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…