Setup guidance for users running a /report:* command before their toolkit has enough context. Use when a report command detects missing findings, frameworks, or history. Walks the user through installation and first collection rather than generating a hollow report.
Scanned 5/28/2026
Install to Claude Code
npx -y skills add GRCEngClub/claude-grc-engineering --skill context-bootstrap --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Context Bootstrap?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/grcengclub-context-bootstrap)More formats (shields.io, HTML) on the badges page.
---
name: context-bootstrap
description: Setup guidance for users running a /report:* command before their toolkit has enough context. Use when a report command detects missing findings, frameworks, or history. Walks the user through installation and first collection rather than generating a hollow report.
allowed-tools: Read, Glob, Bash
---
# Context Bootstrap
Hollow reports are worse than no reports. When a user runs `/report:exec-summary` with an empty findings cache, the right move is to teach them the setup, not to make up a report.
## What to check
Before any report command generates, verify:
1. **Plugins installed.** Run `/plugin list` or inspect the marketplace. Need at least:
- `grc-engineer` (the pipeline hub)
- One connector (e.g., `github-inspector`, `aws-inspector`, `okta-inspector`)
- One framework plugin (e.g., `soc2`, `fedramp-rev5`, `iso27001`)
2. **Findings cache populated.** Look in `~/.cache/claude-grc/findings/<source>/*.json`. Timestamps within the last 30 days mean the pipeline is active.
3. **Framework metadata available.** Each framework plugin's `plugin.json` should have a `framework_metadata` block. Without it, coverage math fails silently.
4. **History depth (for week-over-week commands).** `/report:automation-coverage` needs at least 2 metric snapshots in `./grc-data/metrics/` that are 7+ days apart. Verify snapshot dates there rather than inferring movement from the findings cache.
5. **Optional GitOps state.** `./grc-data/risks/*`, `./grc-data/metrics/*`, `./grc-data/incidents/*.md`. The JSON contracts live in `docs/GRC-DATA.md`. Missing is fine; present is better.
## Command-specific minimums
- **`/report:exec-summary`**: one connector, one framework, recent findings. Risks and metrics improve it but are not mandatory.
- **`/report:program-health`**: two framework plugins plus one successful gap-assessment run per framework. A single-framework setup is not enough.
- **`/report:board-brief`**: quarter-spanning findings history plus a real risk register if you want residual-risk sections to be grounded.
- **`/report:automation-coverage`**: two metric snapshots in `./grc-data/metrics/` at least 7 days apart. Findings cache alone is not enough to claim week-over-week automation movement.
## The three paths
### Complete context
Auto-discover everything. Ask at most one or two narrative questions (audience, material asks). Generate.
### Partial context
Name what's missing. Auto-discover what exists. Offer to proceed with interview mode where the user fills the gaps conversationally. Example:
> I see findings from github-inspector across the last 14 days, SOC 2 framework installed. No risk register at `./grc-data/risks/`. I can still write the report using findings and metrics only, or you can set up a risk register first. `docs/GRC-DATA.md` shows the file shape. Which do you want?
### Empty context
Walk through the setup. Do not generate.
## The empty-context setup script
Deliver these steps in plain conversational form. Do not dump all commands at once; confirm each step before moving to the next.
1. **Add the marketplace**
```
/plugin marketplace add GRCEngClub/claude-grc-engineering
```
2. **Install the minimum plugin set**
```
/plugin install grc-engineer@grc-engineering-suite
/plugin install github-inspector@grc-engineering-suite
/plugin install soc2@grc-engineering-suite
```
`github-inspector` is the lowest-setup connector (uses the `gh` CLI you probably already have authenticated). `soc2` is the most common first framework.
3. **Set up the connector**
```
/github-inspector:setup
```
Confirms `gh auth status` and writes a default config.
4. **Collect findings**
```
/github-inspector:collect --scope=@me
```
For a first run, `@me` scopes to the user's own repos. For org-wide scans, use `--scope=<org-name>` with a token that has `admin:org`.
5. **Run the first gap assessment (optional but recommended)**
```
/grc-engineer:gap-assessment SOC2 --sources=github-inspector
```
Not strictly required for `/report:*` commands, but produces the crosswalked finding structure report commands read.
6. **Come back to the report command.** With findings in cache, rerun the report command that sent the user here.
7. **If the user wants `/report:program-health`, add a second framework now.**
```
/plugin install fedramp-rev5@grc-engineering-suite
/grc-engineer:gap-assessment SOC2,FedRAMP-Moderate --sources=github-inspector
```
`program-health` needs more than one framework in scope or it is not a portfolio view.
## For `/report:automation-coverage` specifically
This command needs history. If the user just finished a first-time setup, tell them:
> You have one baseline from today. Automation coverage needs at least two metric snapshots 7+ days apart so there's a delta to report. Two options:
>
> 1. Schedule regular collection with `/grc-engineer:monitor-continuous SOC2 daily --sources=github-inspector`. Come back in 7-14 days.
> 2. Run `/grc-engineer:record-automation-metrics <framework> --controls-total=<n> --controls-automated=<n> --window-label=<period>` once per week so `./grc-data/metrics/` builds a real history, then rerun the report after you have two snapshots.
Do not fabricate a week-over-week comparison from Findings alone.
## When to break the "no hollow report" rule
Never. A fake report is worse than no report because it teaches the user to trust numbers that aren't real. If the user explicitly asks for a template rendering with placeholder data for demo purposes, that is a different ask and gets a clearly-labeled `DEMO DATA` output.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!