Commit 1b212f1
authored
feat(skill): github-repo-setup agent-led compliance validation (#26)
* feat(setup): add github-repo-setup validation skill
* fix(github-repo-setup): resolve PR feedback on API checks, test coverage, and temp dir
* fix(github-repo-setup): address copilot pr feedback on maturity check script
* fix(skill): address review findings in github-repo-setup
- Remove action-test-and-analyse special-casing from code quality,
security supply chain, and knip checks; those are one tool among
many and should not receive implicit scoring credit
- Fix double-scored rolling update check in check_deployment(); remove
the simpler first block, keep the thorough dynamic manifest discovery
- Renumber check_ci_cd() comments sequentially (5-10, were skipping
and repeating 5 and 6)
- Rename Java ESLint-compensation log message to accurately describe
it as an auto-grant for N/A tooling rather than a quality signal
- Collapse knip security check from elif chain into a single || condition
- Expand supply chain audit to also detect audit steps in workflows
- Clarify SKILL.md: dependency age and vulnerability SLAs are manual
review items; the script cannot verify them automatically
- Add trailing newline to SKILL.md
* refactor: remove bash script; skill is agent-led
- Delete skills/github-repo-setup/scripts/maturity-check.sh
- Skill design specifies agent-led execution via SKILL.md workflow
- SKILL.md + REPORT_TEMPLATE.md provide complete specification
- Agents (Copilot, Explore) have all necessary tools (grep, file read, git commands)
- Script approach duplicated logic and had maintenance issues
- Aligns with decision to convert to agent-led compliance auditing
* docs(skill): convert github-repo-setup to agent-led with renovate tracing
- Replace script-based workflow with agent-led approach
- Agents directly inspect files, run CLI commands, and generate reports
- Add Renovate Preset Tracing methodology (5-step process)
- Clarify that auditors must trace inherited presets for effective config
- Remove references to maturity-check.sh
- Add Output Format section referencing REPORT_TEMPLATE.md
- Update description to reflect report generation approach
* docs(template): add report template with renovate inheritance analysis
- Add REPORT_TEMPLATE.md for maturity assessment output format
- Include Renovate Configuration Inheritance Analysis section
- Provides structure for agents to document effective renovate config
- Supports auditors in understanding preset inheritance chains
- References ASVS-aligned compliance checklist
* docs(skill): add examples, edge cases, and references sections
* fix: address copilot PR feedback on skill and template
- Remove reference to non-existent TEAM_CHECKLIST.md file
- Update template path to use relative markdown link
- Replace hardcoded status check names with reference to aggregator pattern in github-actions skill
- Fix capitalization: BCGov → BC Gov
* docs(skill): add explicit gh CLI guidance for branch protection verification
- Require use of `gh repo view --json branchProtectionRules` to inspect rulesets
- If gh CLI unavailable, agent must stop and ask user for manual verification
- Prevents false negatives when API access is unavailable
- Add edge case warning about gh CLI dependency
* fix: use correct gh rulesets API instead of deprecated branchProtectionRules
- GitHub moved to rulesets API; branchProtectionRules is deprecated
- Update workflow to query rulesets with rule types: PULL_REQUEST, REQUIRED_STATUS_CHECKS, NON_FAST_FORWARD
- Verify enforcement is ACTIVE on main branch
- Add edge case guidance for rulesets API vs deprecated API
- Update references to gh api documentation
* refactor(skill): implement high-priority fixes from repo owner review
- Create references/REFERENCE.md with comprehensive scoring rubric, 9 dimension detailed rules, SLA workflow, image promotion pattern, EPSS guidance
- Reconcile Rules & template with all 9 dimensions (Dims 1, 4, 6, 7, 8 now fully defined)
- Add GitHub API requirement for Dims 1–2; introduce Unverified state (distinct from Not Met)
- Expand Workflow steps to map all 9 dimensions for comprehensive coverage
- Cross-link openshift-deployment SKILL for remediation guidance
- Update REPORT_TEMPLATE.md with Scoring Formula section and Unverified status markers
- Add trigger phrases to description for routing (audit, compliance, scorecard, maturity)
- Clarify Renovate preset version as illustrative
Addresses:
- HIGH: Rules/template out of sync (missing Dims 4, 6, 7, 8, 1)
- HIGH: No scoring rubric (now explicit, reproducible)
- HIGH: Server-side settings have no data source (now explicit GitHub API requirement + Unverified state)
- MEDIUM: OpenShift overlap (now cross-referenced)
- MEDIUM: Workflow doesn't cover all dimensions (now maps to all 9)
- MEDIUM: Heavy detail in manifest (now in references/REFERENCE.md)
* refactor(github-repo-setup): simplify skill to agent-led format and consolidate templates
* refactor(github-repo-setup): add stable tags vs digests edge case rule
* refactor(github-repo-setup): clarify container image scanning is optional and non-blocking
* refactor(github-repo-setup): address Opus review comments on deterministic scoring and legends1 parent b885a1c commit 1b212f1
2 files changed
Lines changed: 555 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
0 commit comments