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 |
Related skills: go-development, github-project, security-audit, git-workflow.
Credits & Attribution
This skill is based on the excellent work by
Netresearch DTT GmbH.
Original repository: https://github.com/netresearch/enterprise-readiness-skill
Copyright (c) Netresearch DTT GmbH — Methodology and best practices (MIT / CC-BY-SA-4.0)
Special thanks to Netresearch DTT GmbH for their generous open-source contributions to the TYPO3 community, which helped shape this skill collection.
Adapted by webconsulting.at for this skill collection
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.4---56# Enterprise Readiness Assessment78> Production/enterprise tier only — see `references/tier-framing.md`.910## When to Use1112- Production/enterprise readiness evaluations13- Supply chain security: SLSA provenance, cosign signing, SBOMs14- CI/CD hardening, workflow permissions15- OpenSSF Best Practices (Passing/Silver/Gold), OSPS Baseline (L1/2/3)16- Scorecard optimization (Token-Permissions, Branch-Protection, Pinned-Deps)17- Code review, ADRs, changelogs, SECURITY.md1819## Assessment Workflow20211. **Discovery**: Identify platform, languages, existing CI/CD, dependabot.yml222. **Scoring**: Apply checklists; check Scorecard, badge criteria, coverage233. **Gap Analysis**: List missing controls by severity244. **Implementation**: Apply fixes (SHA-pin actions, harden permissions, add workflows)255. **Verification**: Re-score and compare2627## Mandatory Workflows & Badges2829Required 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`.3031## Key Hardening Patterns3233- **Permissions**: Declare `permissions: contents: read` at workflow-level; grant write only per-job34- **SHA pinning**: Third-party actions pinned to SHA with version comment (`# v4.2.0`). Org-internal reusable workflows use `@main`35- **Harden-Runner**: `step-security/harden-runner` as first step in every job; prefer `egress-policy: block` with allowed-endpoints36- **Dependabot**: Configure `dependabot.yml` with all ecosystems (`composer`, `npm`, `github-actions`, `docker`); set up auto-merge workflow for dependency PRs using `pull_request_target`37- **Coverage**: Upload via `codecov-action`; configure `codecov.yml` with patch coverage threshold38- **Duplicate CI prevention**: Scope `push:` trigger to `branches: [main]` when `pull_request:` is also present39- **SLSA provenance**: Use `actions/attest-build-provenance` with `id-token: write` and `attestations: write` permissions; verify with `gh attestation verify`40- **Security policy**: Create `SECURITY.md` with vulnerability disclosure process and response SLA (Critical: 7 days, High: 30 days)4142## Critical Rules4344- **NEVER** interpolate `${{ github.event.* }}` or `${{ inputs.* }}` in `run:` blocks (script injection)45- **NEVER** guess action versions -- fetch from GitHub API and verify SHA against tags46- **ALWAYS** include `https://` URLs in badge justifications47- **ALWAYS** configure auto-merge for repos with Dependabot/Renovate4849## References5051| Reference | Use |52|-----------|-----|53| `references/general.md` | Always |54| `references/scorecard-playbook.md` | Scorecard optimization |55| `references/badges-and-workflows.md` | Badge URLs, workflows |56| `references/mandatory-requirements.md` | Checklist |57| `references/ci-patterns.md` | CI/CD, hooks |58| `references/code-review.md` | PR quality |59| `references/slsa-provenance.md` | SLSA Level 3 |60| `references/signed-releases.md` | Cosign/GPG |61| `references/openssf-badge-silver.md` | Silver |62| `references/openssf-badge-gold.md` | Gold |63| `references/openssf-badge-baseline.md` | OSPS Baseline |64| `references/harden-runner-guide.md` | Harden-Runner |65| `references/solo-maintainer-guide.md` | N/A criteria |66| `references/npm-pnpm-supply-chain.md` | pnpm |6768Related skills: `go-development`, `github-project`, `security-audit`, `git-workflow`.6970---7172## Credits & Attribution7374This skill is based on the excellent work by75**[Netresearch DTT GmbH](https://www.netresearch.de/)**.7677Original repository: https://github.com/netresearch/enterprise-readiness-skill7879**Copyright (c) Netresearch DTT GmbH** — Methodology and best practices (MIT / CC-BY-SA-4.0)8081Special thanks to [Netresearch DTT GmbH](https://www.netresearch.de/) for their generous open-source contributions to the TYPO3 community, which helped shape this skill collection.82Adapted by webconsulting.at for this skill collection