Skip to content
enterprise-readiness logo

Enterprise Readiness Assessment

enterprise-readiness

Assess and enhance software projects for enterprise-grade security, quality, and automation. This skill should be used when evaluating projects for production readiness, implementing supply chain security (SLSA, signing, SBOMs), hardening CI/CD pipelines, establishing quality gates, reviewing cod...

SKILL.md

Full skill instructions

Enterprise Readiness Assessment

When to Use

  • Evaluating projects for production/​enterprise readiness
  • Implementing supply chain security (SLSA, signing, SBOMs)
  • Hardening CI/​CD pipelines
  • Establishing quality gates
  • Pursuing OpenSSF Best Practices Badge (Passing/​Silver/​Gold)
  • Reviewing code or PRs for quality
  • Writing ADRs, changelogs, or migration guides
  • Configuring Git hooks or CI pipelines

MANDATORY Requirements

CRITICAL: The following are NOT optional. Every project MUST have ALL of these. Do not skip any.

README Badges (MANDATORY)

Every project README.md MUST display these badges at the top, in this order:

<!-- Row 1: CI/​Quality -->
[![CI](https://github.com/​ORG/​REPO/​actions/​workflows/​ci.yml/​badge.svg)](https://github.com/​ORG/​REPO/​actions/​workflows/​ci.yml)
[![codecov](https://codecov.io/​gh/​ORG/​REPO/​graph/​badge.svg)](https://codecov.io/​gh/​ORG/​REPO)

<!-- Row 2: Security (MANDATORY) -->
[![OpenSSF Scorecard](https://api.securityscorecards.dev/​projects/​github.com/​ORG/​REPO/​badge)](https://securityscorecards.dev/​viewer/?uri=github.com/​ORG/​REPO)
[![OpenSSF Best Practices](https://www.bestpractices.dev/​projects/​PROJECT_ID/​badge)](https://www.bestpractices.dev/​projects/​PROJECT_ID)
BadgeURL PatternMANDATORY
CI Statusgithub.com/​ORG/​REPO/​actions/​workflows/​ci.yml/​badge.svgYES
Codecovcodecov.io/​gh/​ORG/​REPO/​graph/​badge.svgYES
OpenSSF Scorecardapi.securityscorecards.dev/​projects/​github.com/​ORG/​REPO/​badgeYES
OpenSSF Best Practiceswww.bestpractices.dev/​projects/​PROJECT_ID/​badgeYES

CI/​CD Workflows (MANDATORY)

Every GitHub project MUST have these workflows in .github/​workflows/:

WorkflowFilePurposeMANDATORY
CIci.ymlBuild, test, lintYES
CodeQLcodeql.ymlSecurity scanningYES
Scorecardscorecard.ymlOpenSSF ScorecardYES
Dependency Reviewdependency-review.ymlPR CVE checkYES

CI Must Include (MANDATORY)

RequirementImplementationMANDATORY
Coverage uploadcodecov/​codecov-action after testsYES
Security auditcomposer audit / npm audit / govulncheckYES
SHA-pinned actionsAll actions use full SHA with version commentYES

OpenSSF Registration (MANDATORY)

  1. Register at bestpractices.dev: https://www.bestpractices.dev/en/projects/new
  2. Note the Project ID assigned after registration
  3. Add badge to README with correct PROJECT_ID
  4. Run Scorecard workflow to generate initial score

Codecov Setup (MANDATORY)

  1. Enable Codecov for the repository at codecov.io
  2. Collect coverage from ALL test suites (not just unit tests):
Test SuiteCoverage CommandOutput FileMANDATORY
Unitphpunit -c UnitTests.xml --coverage-clover.Build/​coverage/​unit.xmlYES
Integrationphpunit -c IntegrationTests.xml --coverage-clover.Build/​coverage/​integration.xmlYES
E2Ephpunit -c E2ETests.xml --coverage-clover.Build/​coverage/​e2e.xmlYES
Functionalphpunit -c FunctionalTests.xml --coverage-clover.Build/​coverage/​functional.xmlYES
JavaScriptnpm run test:coveragecoverage/​lcov.infoYES (if JS exists)
  1. Upload ALL coverage files to Codecov:
    - uses: codecov/​codecov-action@SHA # vX.Y.Z
      with:
        token: ${{ secrets.CODECOV_TOKEN }}  # MANDATORY - see below
        files: .Build/​coverage/​unit.xml,.Build/​coverage/​integration.xml,.Build/​coverage/​e2e.xml,coverage/​lcov.info
        fail_ci_if_error: false
    

CODECOV_TOKEN (MANDATORY)

Never rely on tokenless uploads. They fail for protected branches and are unreliable.

RequirementImplementationWhy
Token in secretsAdd CODECOV_TOKEN to repo or org secretsAuthentication
Token in workflowtoken: ${{ secrets.CODECOV_TOKEN }}Required for protected branches
Org-level secretPreferred for consistency across reposSingle point of management

Failure without token:

Upload failed: {"message":"Token required because branch is protected"}

Get token from: https://app.codecov.io/gh/ORG/REPO/settings

Add as org secret (recommended):

# Organization-level (covers all repos)
gh secret set CODECOV_TOKEN --org netresearch --visibility all

# Or repository-level
gh secret set CODECOV_TOKEN --repo OWNER/​REPO

JavaScript Coverage (MANDATORY for projects with JS/​TS)

When a project contains JavaScript or TypeScript files:

  1. vitest.config.js MUST include lcov reporter for Codecov:

    coverage: {
        provider: 'v8',
        reporter: ['text', 'json', 'html', 'lcov'],  // lcov REQUIRED for Codecov
        reportsDirectory: 'coverage',
    }
    
  2. CI workflow MUST include JavaScript test job:

    - uses: actions/​setup-node@SHA # vX.Y.Z
      with:
        node-version: '22'
    - run: npm install
    - run: npm run test:coverage
    
  3. Codecov upload MUST include coverage/​lcov.info

Verification Checklist

Before marking enterprise-readiness complete, verify ALL:

  • README has CI badge linking to workflow
  • README has Codecov badge (not "unknown")
  • README has OpenSSF Scorecard badge (correct URL with api.securityscorecards.dev)
  • README has OpenSSF Best Practices badge (correct PROJECT_ID, not placeholder)
  • .github/​workflows/​ci.yml exists and uploads coverage
  • .github/​workflows/​codeql.yml exists
  • .github/​workflows/​scorecard.yml exists
  • Codecov shows actual coverage percentage
  • Scorecard shows actual score

If any badge shows "unknown", "invalid", or placeholder ID - FIX IT. Do not proceed.


Assessment Workflow

  1. Discovery: Identify platform (GitHub/​GitLab), languages, existing CI/​CD
  2. Scoring: Apply checklists from references based on stack
  3. Badge Assessment: Check OpenSSF criteria status
  4. Gap Analysis: List missing controls by severity
  5. Implementation: Apply fixes using scripts and templates

Dependency CVE Workflow

When assessing enterprise readiness, always run dependency audit as part of discovery:

# PHP/​Composer
composer audit

# Node.js
npm audit

# Python
pip-audit

# Go
govulncheck ./​...

CVE Handling Best Practice

Separate dependency updates from code changes:

PR TypeContentWhy
Code changesBusiness logic, bug fixes, featuresReviewable, testable in isolation
Dependency updatescomposer update, version bumpsClear diff, easy rollback if issues

Real-world example from t3x-cowriter review:

  • Found 4 CVEs during enterprise assessment
  • CVE fixes required composer update typo3/​cms-core typo3/​cms-backend
  • Kept separate from code fixes (JS bug, AGENTS.md updates) for clean PR history

CVE Severity Response

SeverityResponse TimeAction
CRITICALImmediateHotfix PR, expedited review
HIGH24-48 hoursPriority PR, security review
MEDIUM1 weekNormal PR cycle
LOWNext releaseBatch with other updates

CI Integration

Add dependency audit to CI pipeline:

# .github/​workflows/​ci.yml
- name: Security audit
  run: composer audit --format=plain

Reference Files (Load Based on Stack)

ReferenceWhen to Load
references/​general.mdAlways (universal 60 pts)
references/​github.mdGitHub-hosted projects (40 pts)
references/​go.mdGo projects (20 pts)
references/​openssf-badge-silver.mdPursuing Silver badge
references/​openssf-badge-gold.mdPursuing Gold badge

Quality & Process References (Language-Agnostic)

ReferenceWhen to Load
references/​code-review.mdCode review, PR quality checks
references/​documentation.mdADRs, API docs, migration guides, changelogs
references/​ci-patterns.mdCI/​CD pipelines, Git hooks, quality gates

Explicit Content Triggers

When reviewing PRs or code, load references/​code-review.md for the comprehensive checklist covering test resource management, state mutation, defensive enum handling, documentation accuracy, and defensive code coverage.

When writing ADRs (Architecture Decision Records), load references/​documentation.md for templates, file organization, and required sections (Context, Decision, Consequences, Alternatives).

When writing changelogs or release notes, load references/​documentation.md for Keep a Changelog format and conventional commit mapping.

When writing API documentation or migration guides, load references/​documentation.md for structure patterns and completeness checklists.

When configuring CI/​CD pipelines, load references/​ci-patterns.md for comprehensive pipeline structure, job ordering, and quality gates.

When setting up Git hooks (pre-commit/​pre-push), load references/​ci-patterns.md for the hook division strategy and Lefthook configuration.

When enforcing coverage thresholds, load references/​ci-patterns.md for threshold tables and enforcement patterns.

When handling signed commits with rebase-only merge, load references/​ci-patterns.md for the local fast-forward merge workflow.

Implementation Guides

GuidePurpose
references/​quick-start-guide.mdGetting started
references/​dco-implementation.mdDCO enforcement
references/​signed-releases.mdCosign/​GPG signing
references/​reproducible-builds.mdDeterministic builds
references/​security-hardening.mdTLS, headers, validation
references/​solo-maintainer-guide.mdN/​A criteria justification
references/​branch-coverage.mdGold 80% branch coverage

Automation Scripts

ScriptPurpose
scripts/​verify-badge-criteria.shVerify OpenSSF badge criteria
scripts/​check-coverage-threshold.shStatement coverage check
scripts/​check-branch-coverage.shBranch coverage (Gold)
scripts/​add-spdx-headers.shAdd SPDX headers (Gold)
scripts/​verify-signed-tags.shTag signature verification
scripts/​verify-review-requirements.shPR review requirements

Document Templates

Templates in assets/​templates/:

  • GOVERNANCE.md - Project governance (Silver)
  • ARCHITECTURE.md - Technical docs (Silver)
  • CODE_OF_CONDUCT.md - Contributor Covenant v3.0
  • SECURITY_AUDIT.md - Security audit (Gold)
  • BADGE_EXCEPTIONS.md - N/​A justifications

CI Workflow Templates

GitHub Actions workflows in assets/​workflows/:

WorkflowPurpose
scorecard.ymlOpenSSF Scorecard security analysis
codeql.ymlSemantic code security scanning
dependency-review.ymlPR dependency CVE/​license check
slsa-provenance.ymlSLSA Level 3 build attestation
dco-check.ymlDeveloper Certificate of Origin

Copy workflows to .github/​workflows/ and pin action versions with SHA hashes.

Scoring Interpretation

ScoreGradeStatus
90-100AEnterprise Ready
80-89BProduction Ready
70-79CDevelopment Ready
60-69DBasic
<60FNot Ready

Code Review Quick Checklist

Before approving PRs, verify (see references/​code-review.md for details):

  • One resource per test - No duplicate instances
  • State mutation complete - Tracking fields updated after operations
  • Defensive enum handling - Valid() method, default case, tested
  • Documentation accurate - Claims match benchmarks, trade-offs noted
  • Platform code marked - Limitations documented, alternatives provided
  • Defensive code tested - Error paths and edge cases covered

Critical Rules

  • NEVER interpolate ${{ github.event.* }} in run: blocks (script injection)
  • NEVER guess action versions - always fetch from GitHub API
  • ALWAYS use SHA pins for actions with version comments
  • ALWAYS verify commit hashes against official tags

Related Skills

SkillPurpose
go-developmentGo code patterns, Makefile interface, testing
github-projectRepository setup, branch protection, auto-merge
security-auditDeep security audits (OWASP, XXE, SQLi)
git-workflowGit branching, commits, PR workflows

Resources


Contributing: Improvements to this skill should be submitted to the source repository: https://github.com/netresearch/enterprise-readiness-skill

More DevOps & CI/CD skills

Project scaffolding, deployment configuration, and CI/CD setup for Google ADK agents.

6K 472.6K
View

Set up tracing, logging, and monitoring for deployed ADK agents across Cloud Trace, BigQuery, and third-party platforms.

6K 472.6K
View

Enterprise Azure infrastructure architect generating Bicep or Terraform from workload descriptions.

1.5K 454.3K
View
azure-kubernetes logo
DevOps & CI/CD

azure-kubernetes

Plan and configure production-ready Azure Kubernetes Service clusters with Day-0 and Day-1 best practices.

1.5K 447.1K
View

Raw mechanical interfaces fusing Swiss typographic print with military terminal aesthetics. Rigid grids, extreme type scale contrast, utilitarian color, analog degradation effects. For data-heavy dashboards, portfolios, or editorial sites that need to feel like declassified blueprints.

92.7K 354.9K
View
just-scrape logo
DevOps & CI/CD

just-scrape

Web search, scraping, extraction, crawling, and monitoring via ScrapeGraph AI CLI.

69 245K
View

Skill for working with Firebase Hosting (Classic). Use this when you want to deploy static web apps, Single Page Apps (SPAs), or simple microservices. Do NOT use for Firebase App Hosting.

462 159.7K
View

Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.

462 159.1K
View
deploy-to-vercel logo
DevOps & CI/CD

deploy-to-vercel

Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".

31.9K 146.6K
View
programmatic-seo logo
DevOps & CI/CD

programmatic-seo

Build SEO-optimized pages at scale using templates, data, and proven playbook patterns.

53.3K 140.1K
View

Design and build isolated, reusable Convex backend components with clear boundaries and app-facing wrappers.

63 123.5K
View

Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".

31.9K 116.1K
View

Coding & apps AI tools

Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View
Imagica logo
Coding & apps

Imagica

Build a no-code AI app in minutes.

Freemium
View
E
Coding & apps

Emergent.sh

An IDE for code migration from legacy to modern frameworks through coding agents.

Freemium
View
Wonder Dynamics logo
Coding & apps

Wonder Dynamics

Automate CGI animation in live-action scenes

Paid
View
M
Coding & apps

Mixo

Launch a website in seconds with AI.

Paid
View
AI Code Convert logo
Coding & apps

AI Code Convert

Streamline Your Coding Experience with AI Code Helper

Free
View