GRC Portfolio Planner
You are running the /grc-portfolio:plan skill. Your job is to guide a GRC (Governance, Risk & Compliance) engineer through a conversational questionnaire and produce a site-config.json and SITE-PLAN.md configured for a professional GRC portfolio website.
Step 0: Resolve Plugin Root and Project Directory
Locate the plugin's bundled scripts (needed later for toolkitDir):
find ~/.claude -path "*/grc-portfolio/scripts/deploy.sh" 2>/dev/null | head -1
Strip /scripts/deploy.sh from the result to get PLUGIN_ROOT. If nothing is found, ask the user for the path to their local checkout of the grc-portfolio plugin (do not guess a directory layout).
Determine the project directory from $ARGUMENTS. If not provided, ask the user where they want the project created (suggest ~/<their-name>-grc-portfolio or a path under their preferred repos directory). Create the directory if it doesn't exist.
Step 1: Identity
Ask these questions (3–4 at a time, conversationally):
- Full name
- Current job title (e.g., "Senior GRC Engineer", "Information Security Manager", "Compliance Lead")
- Years working in GRC
- Brief professional summary (2–3 sentences they'd use as a bio — you can draft one based on their answers if they want)
- LinkedIn URL
- GitHub URL (optional)
- Personal/professional email (for contact form)
- Location (city/state or remote)
- Do they have a professional headshot? (yes/no — if yes, note the filename they'll drop in the project)
Step 2: GRC Expertise
Ask which frameworks they specialize in. Present the full list — let them pick all that apply:
SOC 2 | ISO 27001 | NIST 800-53 | FedRAMP | PCI-DSS | HIPAA | CMMC | HITRUST |
GDPR | CIS Controls | DORA | StateRAMP | NIST CSF | NYDFS | Essential Eight |
ISMAP | IRAP | PBMM | CSA CCM | GLBA
Also ask:
- Primary specializations (pick all that apply): Compliance auditing, Risk management, Policy development, Compliance engineering/automation, Third-party risk management (TPRM), GRC tooling implementation, Security program management
- Industry verticals they've worked in (SaaS/tech, fintech, healthcare/HIPAA, government/FedRAMP, retail/PCI, critical infrastructure, etc.)
Step 3: Certifications
Ask about certifications. Present common ones as a checklist — let them select active/in-progress:
Active certs (pick all they hold):
CISSP, CISA, CISM, CPA, CIA, CRISC, CCSP, CGEIT, CDPSE, Security+, CEH, OSCP, AWS Security Specialty, GCP Security Engineer, Azure Security Engineer, PCIP, QSA
In-progress (optional): what cert are they working toward, and expected completion date?
Step 4: Experience Highlights
Ask:
- Current employer and role (or note they're "open to opportunities" if job searching)
- 3–5 career accomplishments to feature (e.g., "Led SOC 2 Type II audit for a 300-person SaaS company achieving zero material findings", "Reduced evidence collection time by 70% using Python automation", "Implemented FedRAMP Moderate for a federal contractor from scratch in 14 months")
- GRC tools used professionally (Vanta, Drata, Tugboat Logic, Hyperproof, ServiceNow GRC, Archer, OneTrust, Jira, Confluence, Qualys, Tenable, Splunk, CrowdStrike, etc.)
- Specific cloud platforms they've worked with for compliance (AWS, Azure, GCP, multi-cloud)
Step 5: Projects & Writing
Ask:
- Any GRC automation or tooling projects they want to showcase? (name, description, GitHub link, technologies used — e.g., "Built an evidence collector that pulls from AWS Config, Okta, and GitHub into a unified dashboard")
- Published articles, blog posts, or LinkedIn long-form content? (title + URL or publication)
- Conference talks, webinars, or podcast appearances? (event name, topic, year)
- Open-source contributions? (repo + what they contributed)
Let them know these are all optional — skip any that don't apply.
Step 6: Design & AWS Configuration
Ask:
- Color scheme — present options:
- Deep Navy & Slate (default — authoritative, professional GRC aesthetic)
- Dark Mode Charcoal (modern security/tech vibe)
- Clean White & Teal (clean, consulting firm look)
- Custom (let them specify primary + accent color)
- Custom domain? — yes/no. If yes, which domain?
- AWS CLI profile — what profile name? (default: "default")
- Contact form? — yes/no (uses AWS Lambda + SES; requires SES setup). If yes, also collect:
aws.sesFromEmail: SES-verified sender identity to use as Source
aws.sesToEmail: inbox where contact-form submissions are delivered
The infra step will refuse to deploy the contact-form stack without both. Warn the user that they must verify these addresses in SES (or move out of SES sandbox) before the form can send mail.
- Any other pages they want beyond the standard portfolio sections? (Speaking page, Publications page, GRC Tools page, etc.)
Step 7: Generate site-config.json
Read the template from <PLUGIN_ROOT>/templates/site-config-template.json.
Create a site-config.json in the project directory populated with all gathered information:
{
"projectName": "<kebab-case name>",
"projectDir": "<absolute path>",
"toolkitDir": "<PLUGIN_ROOT>",
"siteType": "portfolio",
"client": {
"name": "<full name>",
"title": "<job title>",
"email": "<email>",
"location": "<location>",
"linkedin": "<url>",
"github": "<url or null>",
"yearsInGrc": <number>,
"summary": "<professional bio>"
},
"grc": {
"frameworks": ["SOC2", "ISO27001", ...],
"specializations": ["Compliance auditing", ...],
"industries": ["SaaS/tech", ...],
"tools": ["Vanta", "Drata", ...]
},
"certifications": {
"active": ["CISSP", "CISA", ...],
"inProgress": [{"name": "CCSP", "expectedDate": "2025-Q3"}]
},
"portfolio": {
"accomplishments": ["Led SOC 2 Type II...", ...],
"projects": [
{
"name": "<project name>",
"description": "<description>",
"technologies": ["Python", "AWS"],
"url": "<github url or null>"
}
],
"speaking": [
{"event": "<event>", "topic": "<topic>", "year": 2024, "url": null}
],
"articles": [
{"title": "<title>", "publication": "<pub>", "url": "<url>"}
],
"openSource": []
},
"design": {
"colorScheme": "navy-slate",
"primaryColor": "#1e3a5f",
"accentColor": "#64748b",
"style": "professional"
},
"pages": ["home", "about", "frameworks", "certifications", "projects", "contact"],
"features": {
"customDomain": false,
"contactForm": false
},
"aws": {
"profile": "default",
"region": "us-east-1",
"stackName": "<projectName>-website",
"domain": null
},
"status": {
"planComplete": true,
"buildComplete": false,
"infraDeployed": false,
"siteDeployed": false
}
}
Set toolkitDir to PLUGIN_ROOT (the plugin's own directory). Set status.planComplete = true.
Step 8: Generate SITE-PLAN.md
Read <PLUGIN_ROOT>/templates/SITE-PLAN-TEMPLATE.md as reference. Create a SITE-PLAN.md in the project directory that includes:
- Professional summary and positioning statement
- All GRC frameworks and credentials to feature
- Certifications list with badge recommendations
- Career highlights and accomplishments
- Projects to showcase with descriptions
- Speaking/writing/open-source contributions
- Design choices and color palette
- Planned page structure
- AWS configuration summary
- Next steps (run
/grc-portfolio:build then /grc-portfolio:preflight)
Step 9: Summary
Tell the user:
- Where
site-config.json and SITE-PLAN.md were created
- Suggest they review
SITE-PLAN.md and make any edits before building
- Next command:
/grc-portfolio:build to scaffold the React project
- Full workflow:
plan → build → preflight → infra → deploy → repo → cicd
Variables
PLUGIN_ROOT = resolved from find ~/.claude -path "*/grc-portfolio/scripts/deploy.sh". If not found, prompt the user for the path to their local checkout of the plugin.
$ARGUMENTS = arguments passed after /plan (expected: project directory path)
1---2name: grc-portfolio-planner3description: GRC-specific portfolio questionnaire that creates a site-config.json and SITE-PLAN.md tailored to GRC engineers — certifications, frameworks, audit experience, tools, and projects.4---56# GRC Portfolio Planner78You are running the `/grc-portfolio:plan` skill. Your job is to guide a GRC (Governance, Risk & Compliance) engineer through a conversational questionnaire and produce a `site-config.json` and `SITE-PLAN.md` configured for a professional GRC portfolio website.910## Step 0: Resolve Plugin Root and Project Directory1112**Locate the plugin's bundled scripts** (needed later for `toolkitDir`):1314```bash15find ~/.claude -path "*/grc-portfolio/scripts/deploy.sh" 2>/dev/null | head -116```1718Strip `/scripts/deploy.sh` from the result to get `PLUGIN_ROOT`. If nothing is found, ask the user for the path to their local checkout of the `grc-portfolio` plugin (do not guess a directory layout).1920**Determine the project directory** from `$ARGUMENTS`. If not provided, ask the user where they want the project created (suggest `~/<their-name>-grc-portfolio` or a path under their preferred repos directory). Create the directory if it doesn't exist.2122## Step 1: Identity2324Ask these questions (3–4 at a time, conversationally):2526- Full name27- Current job title (e.g., "Senior GRC Engineer", "Information Security Manager", "Compliance Lead")28- Years working in GRC29- Brief professional summary (2–3 sentences they'd use as a bio — you can draft one based on their answers if they want)30- LinkedIn URL31- GitHub URL (optional)32- Personal/professional email (for contact form)33- Location (city/state or remote)34- Do they have a professional headshot? (yes/no — if yes, note the filename they'll drop in the project)3536## Step 2: GRC Expertise3738Ask which frameworks they specialize in. Present the full list — let them pick all that apply:3940```41SOC 2 | ISO 27001 | NIST 800-53 | FedRAMP | PCI-DSS | HIPAA | CMMC | HITRUST |42GDPR | CIS Controls | DORA | StateRAMP | NIST CSF | NYDFS | Essential Eight |43ISMAP | IRAP | PBMM | CSA CCM | GLBA44```4546Also ask:47- Primary specializations (pick all that apply): Compliance auditing, Risk management, Policy development, Compliance engineering/automation, Third-party risk management (TPRM), GRC tooling implementation, Security program management48- Industry verticals they've worked in (SaaS/tech, fintech, healthcare/HIPAA, government/FedRAMP, retail/PCI, critical infrastructure, etc.)4950## Step 3: Certifications5152Ask about certifications. Present common ones as a checklist — let them select active/in-progress:5354**Active certs** (pick all they hold):55CISSP, CISA, CISM, CPA, CIA, CRISC, CCSP, CGEIT, CDPSE, Security+, CEH, OSCP, AWS Security Specialty, GCP Security Engineer, Azure Security Engineer, PCIP, QSA5657**In-progress** (optional): what cert are they working toward, and expected completion date?5859## Step 4: Experience Highlights6061Ask:62- Current employer and role (or note they're "open to opportunities" if job searching)63- 3–5 career accomplishments to feature (e.g., "Led SOC 2 Type II audit for a 300-person SaaS company achieving zero material findings", "Reduced evidence collection time by 70% using Python automation", "Implemented FedRAMP Moderate for a federal contractor from scratch in 14 months")64- GRC tools used professionally (Vanta, Drata, Tugboat Logic, Hyperproof, ServiceNow GRC, Archer, OneTrust, Jira, Confluence, Qualys, Tenable, Splunk, CrowdStrike, etc.)65- Specific cloud platforms they've worked with for compliance (AWS, Azure, GCP, multi-cloud)6667## Step 5: Projects & Writing6869Ask:70- Any GRC automation or tooling projects they want to showcase? (name, description, GitHub link, technologies used — e.g., "Built an evidence collector that pulls from AWS Config, Okta, and GitHub into a unified dashboard")71- Published articles, blog posts, or LinkedIn long-form content? (title + URL or publication)72- Conference talks, webinars, or podcast appearances? (event name, topic, year)73- Open-source contributions? (repo + what they contributed)7475Let them know these are all optional — skip any that don't apply.7677## Step 6: Design & AWS Configuration7879Ask:801. **Color scheme** — present options:81 - Deep Navy & Slate (default — authoritative, professional GRC aesthetic)82 - Dark Mode Charcoal (modern security/tech vibe)83 - Clean White & Teal (clean, consulting firm look)84 - Custom (let them specify primary + accent color)852. **Custom domain?** — yes/no. If yes, which domain?863. **AWS CLI profile** — what profile name? (default: "default")874. **Contact form?** — yes/no (uses AWS Lambda + SES; requires SES setup). If yes, also collect:88 - `aws.sesFromEmail`: SES-verified sender identity to use as `Source`89 - `aws.sesToEmail`: inbox where contact-form submissions are delivered90 The infra step will refuse to deploy the contact-form stack without both. Warn the user that they must verify these addresses in SES (or move out of SES sandbox) before the form can send mail.915. **Any other pages** they want beyond the standard portfolio sections? (Speaking page, Publications page, GRC Tools page, etc.)9293## Step 7: Generate site-config.json9495Read the template from `<PLUGIN_ROOT>/templates/site-config-template.json`.9697Create a `site-config.json` in the project directory populated with all gathered information:9899```json100{101 "projectName": "<kebab-case name>",102 "projectDir": "<absolute path>",103 "toolkitDir": "<PLUGIN_ROOT>",104 "siteType": "portfolio",105 "client": {106 "name": "<full name>",107 "title": "<job title>",108 "email": "<email>",109 "location": "<location>",110 "linkedin": "<url>",111 "github": "<url or null>",112 "yearsInGrc": <number>,113 "summary": "<professional bio>"114 },115 "grc": {116 "frameworks": ["SOC2", "ISO27001", ...],117 "specializations": ["Compliance auditing", ...],118 "industries": ["SaaS/tech", ...],119 "tools": ["Vanta", "Drata", ...]120 },121 "certifications": {122 "active": ["CISSP", "CISA", ...],123 "inProgress": [{"name": "CCSP", "expectedDate": "2025-Q3"}]124 },125 "portfolio": {126 "accomplishments": ["Led SOC 2 Type II...", ...],127 "projects": [128 {129 "name": "<project name>",130 "description": "<description>",131 "technologies": ["Python", "AWS"],132 "url": "<github url or null>"133 }134 ],135 "speaking": [136 {"event": "<event>", "topic": "<topic>", "year": 2024, "url": null}137 ],138 "articles": [139 {"title": "<title>", "publication": "<pub>", "url": "<url>"}140 ],141 "openSource": []142 },143 "design": {144 "colorScheme": "navy-slate",145 "primaryColor": "#1e3a5f",146 "accentColor": "#64748b",147 "style": "professional"148 },149 "pages": ["home", "about", "frameworks", "certifications", "projects", "contact"],150 "features": {151 "customDomain": false,152 "contactForm": false153 },154 "aws": {155 "profile": "default",156 "region": "us-east-1",157 "stackName": "<projectName>-website",158 "domain": null159 },160 "status": {161 "planComplete": true,162 "buildComplete": false,163 "infraDeployed": false,164 "siteDeployed": false165 }166}167```168169Set `toolkitDir` to `PLUGIN_ROOT` (the plugin's own directory). Set `status.planComplete = true`.170171## Step 8: Generate SITE-PLAN.md172173Read `<PLUGIN_ROOT>/templates/SITE-PLAN-TEMPLATE.md` as reference. Create a `SITE-PLAN.md` in the project directory that includes:174175- Professional summary and positioning statement176- All GRC frameworks and credentials to feature177- Certifications list with badge recommendations178- Career highlights and accomplishments179- Projects to showcase with descriptions180- Speaking/writing/open-source contributions181- Design choices and color palette182- Planned page structure183- AWS configuration summary184- Next steps (run `/grc-portfolio:build` then `/grc-portfolio:preflight`)185186## Step 9: Summary187188Tell the user:189- Where `site-config.json` and `SITE-PLAN.md` were created190- Suggest they review `SITE-PLAN.md` and make any edits before building191- Next command: `/grc-portfolio:build` to scaffold the React project192- Full workflow: `plan → build → preflight → infra → deploy → repo → cicd`193194## Variables195196- `PLUGIN_ROOT` = resolved from `find ~/.claude -path "*/grc-portfolio/scripts/deploy.sh"`. If not found, prompt the user for the path to their local checkout of the plugin.197- `$ARGUMENTS` = arguments passed after `/plan` (expected: project directory path)