research
Start or resume an academic research project — idea through literature, methodology, writing, feedback, and publishing
Loop on gap-assessment + generate-implementation until severity-N findings = 0
> /plugin marketplace add GRCEngClub/claude-grc-engineeringHow it fires
How this command gets triggered: by you, by Claude, or both.
/gap-burndownContext preview
What this command does when you run it.
Loop on gap-assessment + generate-implementation until severity-N findings = 0
description: "Loop on gap-assessment + generate-implementation until severity-N findings = 0"
argument-hint: "<framework> [--severity=HIGH] [--cloud=aws] [--max-iterations=20]"
allowed-tools: ["Bash(${CLAUDE_PLUGIN_ROOT}/scripts/setup-grc-loop.sh:*)"]Iteratively close gaps for a framework at a chosen severity tier. Each iteration runs the gap assessment, picks the next-highest-impact open finding, generates the implementation, commits it, re-runs the assessment, and moves on. Stops when zero findings remain at that severity, or when `--max-iterations` is reached. Generated IaC is committed but never auto-applied — the operator runs `terraform apply`.
The setup script writes the prompt below to `.claude/grc-loop.local.md` and activates the Stop hook. Each iteration, the hook re-feeds the same prompt; Claude sees its previous work in the repo and the gap-assessment cache, and continues.
"${CLAUDE_PLUGIN_ROOT}/scripts/setup-grc-loop.sh" gap-burndown \
--max-iterations 20 \
--completion-promise "GAP BURNDOWN COMPLETE" \
--prompt "$(cat <<PROMPT
You are running a gap-burndown loop. Stay focused — one gap per iteration.
Each iteration:
1. Run /grc-engineer:gap-assessment for the target framework. Parse the output for findings at the target severity.
2. If zero findings remain at the target severity, output the completion promise verbatim and stop. Do NOT continue working.
3. Otherwise, pick the next-highest-impact open finding (most-frameworks-affected first if cross-framework data is available).
4. Run /grc-engineer:generate-implementation <control-id> <cloud> compliance/<control-id> to produce IaC + scripts under compliance/<control-id>/.
5. Review the generated Terraform / scripts. If they require destructive changes (security-group rewrites, IAM policy deletions), STOP and surface them to the user instead of committing.
6. For non-destructive changes: commit them with a short message. Do not run terraform apply — leave that to the operator.
7. If the gap requires manual policy/process work that cannot be automated (training, governance, vendor agreements):
- Append a row to evidence/<framework>/manual-actions.md with: control-id, what's needed, who-owns, due-date placeholder.
- Treat the gap as "deferred-manual" and move on.
8. Re-run /grc-engineer:gap-assessment to confirm the finding count decreased. If it didn't, the implementation is wrong — debug it before moving to the next finding.
9. Move to the next finding.
Completion criterion: zero findings at the target severity for the target framework.
When that is unequivocally true (verified by a fresh gap-assessment run, not assumed), output:
<promise>GAP BURNDOWN COMPLETE</promise>
Do NOT output the promise speculatively. Do NOT output it because you're stuck — surface the blocker instead and let the user decide.
The framework, severity, cloud, and any other arguments the user passed: $ARGUMENTS
PROMPT
)"After setup, work the task. The Stop hook re-feeds the prompt until the promise fires or you hit max iterations. Cancel anytime with `/grc-loop:cancel`.
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
Start or resume an academic research project — idea through literature, methodology, writing, feedback, and publishing
Query AWS for compliance-relevant configuration across IAM, S3, CloudTrail, EBS, and emit findings conforming to the v1 contract.
Install the frdocx-to-froscal-ssp Python pipeline and verify its dependencies. Idempotent.
Retrieve a single AWS Secrets Manager secret value to stdout or a 0600-permission file. Opt-in retrieval mode — never writes to the findings cache.
Run testssl.sh against one or more HTTPS endpoints and emit v1 Findings mapped to SOC 2, NIST 800-53, PCI DSS 4.0.1, ISO 27001, and SCF controls.