Enterprise Readiness Assessment
Production/enterprise tier only — see references/tier-framing.md.
When to Use
- Production/enterprise readiness evaluations
- Supply chain security: SLSA provenance, cosign signing, SBOMs
- CI/CD hardening, workflow permissions
- OpenSSF Best Practices (Passing/Silver/Gold), OSPS Baseline (L1/2/3)
- Scorecard optimization (Token-Permissions, Branch-Protection, Pinned-Deps)
- Code review, ADRs, changelogs, SECURITY.md
Assessment Workflow
- Discovery: Identify platform, languages, existing CI/CD, dependabot.yml
- Scoring: Apply checklists; check Scorecard, badge criteria, coverage
- Gap Analysis: List missing controls by severity
- Implementation: Apply fixes (SHA-pin actions, harden permissions, add workflows)
- Verification: Re-score and compare
Mandatory Workflows & Badges
Required coverage: CI, CodeQL, Scorecard, dependency review, composer audit, SBOM — as dedicated workflows or jobs calling the netresearch reusable. Badges: CI, Codecov, Scorecard, Best Practices, Baseline. See references/badges-and-workflows.md.
Key Hardening Patterns
- Permissions: Declare
permissions: contents: read at workflow-level; grant write only per-job
- SHA pinning: Third-party actions pinned to SHA with version comment (
# v4.2.0). Org-internal reusable workflows use @main
- Harden-Runner:
step-security/harden-runner as first step in every job; prefer egress-policy: block with allowed-endpoints
- Dependabot: Configure
dependabot.yml with all ecosystems (composer, npm, github-actions, docker); set up auto-merge workflow for dependency PRs using pull_request_target
- Coverage: Upload via
codecov-action; configure codecov.yml with patch coverage threshold
- Duplicate CI prevention: Scope
push: trigger to branches: [main] when pull_request: is also present
- SLSA provenance: Use
actions/attest-build-provenance with id-token: write and attestations: write permissions; verify with gh attestation verify
- Security policy: Create
SECURITY.md with vulnerability disclosure process and response SLA (Critical: 7 days, High: 30 days)
Critical Rules
- NEVER interpolate
${{ github.event.* }} or ${{ inputs.* }} in run: blocks (script injection)
- NEVER guess action versions -- fetch from GitHub API and verify SHA against tags
- ALWAYS include
https:// URLs in badge justifications
- ALWAYS configure auto-merge for repos with Dependabot/Renovate
References
| Reference |
Use |
references/general.md |
Always |
references/scorecard-playbook.md |
Scorecard optimization |
references/badges-and-workflows.md |
Badge URLs, workflows |
references/mandatory-requirements.md |
Checklist |
references/ci-patterns.md |
CI/CD, hooks |
references/code-review.md |
PR quality |
references/slsa-provenance.md |
SLSA Level 3 |
references/signed-releases.md |
Cosign/GPG |
references/openssf-badge-silver.md |
Silver |
references/openssf-badge-gold.md |
Gold |
references/openssf-badge-baseline.md |
OSPS Baseline |
references/harden-runner-guide.md |
Harden-Runner |
references/solo-maintainer-guide.md |
N/A criteria |
references/npm-pnpm-supply-chain.md |
pnpm |
references/python-pip-supply-chain.md |
pip |
Related skills: go-development, github-project, security-audit, git-workflow.
1---2name: enterprise-readiness3description: Use when evaluating projects for production or enterprise readiness, implementing supply chain security (SLSA, cosign, SBOMs, pnpm), hardening CI/CD pipelines, establishing quality gates (TYPO3: CI matrix PHP 8.2-8.5 x TYPO3 12.4/13.4/14.3 LTS), pursuing OpenSSF Best Practices Badge (Passing/Silver/Gold) or OSPS Baseline levels, reviewing code quality, writing ADRs, or configuring Git hooks and CI pipelines.4license: (MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.05---67# Enterprise Readiness Assessment89> Production/enterprise tier only — see `references/tier-framing.md`.1011## When to Use1213- Production/enterprise readiness evaluations14- Supply chain security: SLSA provenance, cosign signing, SBOMs15- CI/CD hardening, workflow permissions16- OpenSSF Best Practices (Passing/Silver/Gold), OSPS Baseline (L1/2/3)17- Scorecard optimization (Token-Permissions, Branch-Protection, Pinned-Deps)18- Code review, ADRs, changelogs, SECURITY.md1920## Assessment Workflow21221. **Discovery**: Identify platform, languages, existing CI/CD, dependabot.yml232. **Scoring**: Apply checklists; check Scorecard, badge criteria, coverage243. **Gap Analysis**: List missing controls by severity254. **Implementation**: Apply fixes (SHA-pin actions, harden permissions, add workflows)265. **Verification**: Re-score and compare2728## Mandatory Workflows & Badges2930Required coverage: CI, CodeQL, Scorecard, dependency review, composer audit, SBOM — as dedicated workflows or jobs calling the netresearch reusable. Badges: CI, Codecov, Scorecard, Best Practices, Baseline. See `references/badges-and-workflows.md`.3132## Key Hardening Patterns3334- **Permissions**: Declare `permissions: contents: read` at workflow-level; grant write only per-job35- **SHA pinning**: Third-party actions pinned to SHA with version comment (`# v4.2.0`). Org-internal reusable workflows use `@main`36- **Harden-Runner**: `step-security/harden-runner` as first step in every job; prefer `egress-policy: block` with allowed-endpoints37- **Dependabot**: Configure `dependabot.yml` with all ecosystems (`composer`, `npm`, `github-actions`, `docker`); set up auto-merge workflow for dependency PRs using `pull_request_target`38- **Coverage**: Upload via `codecov-action`; configure `codecov.yml` with patch coverage threshold39- **Duplicate CI prevention**: Scope `push:` trigger to `branches: [main]` when `pull_request:` is also present40- **SLSA provenance**: Use `actions/attest-build-provenance` with `id-token: write` and `attestations: write` permissions; verify with `gh attestation verify`41- **Security policy**: Create `SECURITY.md` with vulnerability disclosure process and response SLA (Critical: 7 days, High: 30 days)4243## Critical Rules4445- **NEVER** interpolate `${{ github.event.* }}` or `${{ inputs.* }}` in `run:` blocks (script injection)46- **NEVER** guess action versions -- fetch from GitHub API and verify SHA against tags47- **ALWAYS** include `https://` URLs in badge justifications48- **ALWAYS** configure auto-merge for repos with Dependabot/Renovate4950## References5152| Reference | Use |53|-----------|-----|54| `references/general.md` | Always |55| `references/scorecard-playbook.md` | Scorecard optimization |56| `references/badges-and-workflows.md` | Badge URLs, workflows |57| `references/mandatory-requirements.md` | Checklist |58| `references/ci-patterns.md` | CI/CD, hooks |59| `references/code-review.md` | PR quality |60| `references/slsa-provenance.md` | SLSA Level 3 |61| `references/signed-releases.md` | Cosign/GPG |62| `references/openssf-badge-silver.md` | Silver |63| `references/openssf-badge-gold.md` | Gold |64| `references/openssf-badge-baseline.md` | OSPS Baseline |65| `references/harden-runner-guide.md` | Harden-Runner |66| `references/solo-maintainer-guide.md` | N/A criteria |67| `references/npm-pnpm-supply-chain.md` | pnpm |68| `references/python-pip-supply-chain.md` | pip |6970Related skills: `go-development`, `github-project`, `security-audit`, `git-workflow`.