Skip to content
Conduit

skill

openssf-skill

A comprehensive Claude Code/Copilot skill that helps developers build secure applications following [OpenSSF (Open Source Security Foundation)](https://openssf.org/) best practices.

ryanwaite/openssf-skillcommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/ryanwaite/openssf-skill itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 26, 2026

OpenSSF Security Skill

A comprehensive Claude Code / GitHub Copilot skill that helps developers build secure applications following OpenSSF (Open Source Security Foundation) best practices — and evaluate open source projects as an ensemble.

Supports both GitHub Copilot and Claude Code.

Two modes, one skill:

  • Advisor — help me build or fix a specific control. Threat models, SECURITY.md, SBOM setup, Sigstore signing, Dockerfile hardening, secrets pre-commit hooks, Scorecard workflows. Assess → recommend → implement.
  • Audit — tell me how safe this is. Run the OpenSSF tools together and fuse the signals into one decision-ready verdict:
    • Consume: Is this dependency safe to adopt? → Adopt / Adopt-with-mitigations / Avoid
    • Produce: Is the project we build trustworthy and hardened? → A–F posture grade + roadmap

Why two modes?

Sometimes you know exactly what you need — "generate a SECURITY.md," "set up SBOM generation," "harden this Dockerfile." That's advisor mode: it assesses your project, recommends prioritized next steps, and walks you through building the artifact using the bundled references, templates, and workflows.

Other times you just want a verdict. Most security tooling makes you run Scorecard, then OSV-Scanner, then a secrets scan, then check signing… and then you decide what it all means. Audit mode does the fusing for you:

        Scorecard ─┐
   OSV / audits ───┤
         SBOM ─────┤      normalize → weight by mode → escalate      ┌─ Adopt / Avoid   (consume)
   signing/SLSA ───┼──►   (live secrets & critical CVEs cap it)  ──► │
       secrets ────┤            ensemble/risk-model.md                └─ A–F grade       (produce)
   maintenance ────┤
  OSPS Baseline ───┘

The same tools run in both audit sub-modes — the mode only changes the weights.


Installation

For GitHub Copilot

Copy the Copilot instructions file to your repository:

# Create .github directory if it doesn't exist
mkdir -p .github

# Download the instructions file
curl -o .github/copilot-instructions.md \
  https://raw.githubusercontent.com/ryanwaite/openssf-skill/main/.github/copilot-instructions.md

Then enable custom instructions in VS Code:

  1. Open Settings (Cmd+, or Ctrl+,)
  2. Search for "Copilot instruction"
  3. Enable github.copilot.chat.codeGeneration.useInstructionFiles

Copilot will now apply OpenSSF security best practices to all code suggestions in that repository.

For Claude Code

Option 1: Clone to Global Skills (Recommended)

# Clone directly to your global skills directory
git clone https://github.com/ryanwaite/openssf-skill.git ~/.claude/skills/openssf

Option 2: Project-Specific Installation

# Clone into your project's .claude/skills directory
mkdir -p .claude/skills
git clone https://github.com/ryanwaite/openssf-skill.git .claude/skills/openssf

Then invoke the skill in any project with /openssf.


Usage

The simplest way to get started:

  1. Start GitHub Copilot or Claude Code
  2. cd to the root of an open source project
  3. Run /openssf what can you do for me?

The router sends your request to the right mode.

Advisor mode — build or fix a specific control

/openssf help me create a threat model for my authentication system
/openssf generate a SECURITY.md for this project
/openssf what OpenSSF Scorecard checks am I failing?
/openssf set up SBOM generation for my releases
/openssf review this code for security issues

The skill will:

  1. Assess your project's current security posture
  2. Detect languages and existing security artifacts
  3. Recommend prioritized security improvements
  4. Guide you through creating security artifacts

Audit mode — get a verdict or grade

/openssf evaluate this repo
/openssf is express@4.18.2 safe for us to adopt?
/openssf grade our security posture before release

The agent establishes the mode (consume vs produce), runs the ensemble, and returns a verdict with evidence, ranked risks, and concrete next actions.

Run the ensemble directly

# Evaluate a dependency you might adopt
python3 scripts/ensemble-eval.py --target requests@2.31.0 --mode consume

# Grade a repo you own
python3 scripts/ensemble-eval.py --target . --mode produce --format md

Any tool that isn't installed is reported as unknown (and lowers confidence) — never silently skipped.


Example Walkthrough

This walkthrough demonstrates using the OpenSSF skill with GitHub Copilot to assess and improve the security posture of an open source repository.

Step 1: Invoke the Skill

Start by invoking the OpenSSF skill in your project:

What It Can Do

The skill looks at the project and provides an assessment of the overall project:

Comprehensive List of Available Capabilities

The skill provides a comprehensive list of security features it can help with:

Recommendation for Next Steps

The skill provides a prioritized list of what to do next along with the approximate time to complete each activity:

Step 2: Run Scorecard

In this walkthrough we go with the recommendation to start with running Scorecard:

Scorecard Results

The skill spins up a container, runs the Scorecard analysis, and provides the results:

From here, you can use the skill to keep implementing changes.


How it works

LayerFile(s)Role
RouterSKILL.md, .github/copilot-instructions.mdSends the request to advisor or audit
Advisorskills/advisor/Assess → recommend → implement a specific control
Audit orchestratorskills/audit/Establishes consume/produce mode, runs the battery, produces the report
Audit modesskills/audit/consume/, skills/audit/produce/Mode-specific batteries and outputs
Fusion engineensemble/risk-model.mdNormalization, mode weights, escalation rules, outcome mapping
Output specensemble/report-template.mdThe decision-ready report format
Runnerscripts/ensemble-eval.pyExecutes the audit ensemble, emits fused JSON/Markdown (degrades gracefully)
Detectorscripts/assess-project.pyLocal language/artifact detection
Groundingreferences/Deep per-tool guidance both modes draw on

The verdict, in short (audit mode)

  • Mode sets the weights. Consume leans on known CVEs + maintenance; produce leans on secrets + provenance + code review.
  • Escalations override the average. A live secret or an unpatched CRITICAL with a fix available caps the verdict no matter how good everything else looks.
  • Unknown ≠ fine. Missing data lowers confidence; it never inflates the score.
  • Every claim cites a tool. Every verdict shows its math. Two evaluators running the same tools on the same target reach the same verdict.

Repository Structure

openssf-skill/
├── .github/
│   └── copilot-instructions.md   # GitHub Copilot instructions (router + secure-coding)
├── SKILL.md                      # Claude Code skill file — router: advisor | audit
├── skills/
│   ├── advisor/SKILL.md          # Build/fix a specific control (v1 guidance behavior)
│   └── audit/
│       ├── SKILL.md              # Ensemble orchestrator (establishes consume/produce)
│       ├── consume/SKILL.md      # Third-party OSS → Adopt / Adopt-with-mitigations / Avoid
│       └── produce/SKILL.md      # Projects you ship → A–F grade + roadmap
├── ensemble/
│   ├── risk-model.md             # Normalization, weights, escalation, outcome mapping
│   └── report-template.md        # Decision-ready report format
├── scripts/
│   ├── assess-project.py         # Project language/artifact detection
│   └── ensemble-eval.py          # Runs the audit ensemble, emits fused verdict
├── tests/
│   ├── test_assess_project.py    # Unit tests
│   └── test_ensemble_eval.py     # Fusion / risk-model tests
├── templates/
│   ├── SECURITY.md.template
│   ├── threat-model.md.template
│   └── vulnerability-disclosure-policy.md.template
├── workflows/
│   ├── scorecard.yml.template
│   ├── slsa-provenance.yml.template
│   ├── sbom-generation.yml.template
│   ├── dependency-review.yml.template
│   └── gitlab-ci-security.yml.template  # GitLab CI/CD
└── references/
    ├── threat-modeling/          # STRIDE methodology
    ├── scorecard/                # All 19 checks + remediation
    ├── osps-baseline/            # Compliance checklists
    ├── sbom/                     # Language-specific tools
    ├── slsa/                     # Supply chain security
    ├── dependency-security/      # Vulnerability scanning
    ├── security-policies/        # Policy creation guides
    ├── security-requirements/    # Requirements checklist
    ├── code-review/              # Security review guide
    ├── secrets-scanning/         # Secret leak prevention
    ├── signing/                  # Sigstore/Cosign guide
    ├── container-security/       # Docker hardening
    └── best-practices-badge/     # OpenSSF Badge guide

Security Topics Covered

TopicDescription
Threat ModelingSTRIDE methodology, DFD creation, risk assessment
Security PoliciesSECURITY.md, vulnerability disclosure, response timelines
OpenSSF Scorecard19 automated security checks with remediation
OSPS BaselineLevel 1 compliance checklist
SBOMSPDX generation (default) for all major languages
SLSASupply chain security levels 0-3
DependenciesVulnerability scanning, update strategies
Code ReviewOWASP Top 10, language-specific patterns
Secrets ScanningGitleaks, TruffleHog, detect-secrets, pre-commit hooks
Artifact SigningSigstore ecosystem: Cosign, Fulcio, Rekor, Gitsign
Container SecurityDockerfile hardening, image scanning, distroless bases
Best Practices BadgeOpenSSF Badge self-certification (Passing/Silver/Gold)

Requirements

ToolRequired For
GitHub CopilotCopilot instructions
Claude CodeClaude Code skill
GitCloning the repository
Python 3Running scripts/ and the ensemble runner

Contributing

Contributions are welcome! See CONTRIBUTING.md for detailed guidelines, content standards, and testing instructions.

Quick start:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes (run python3 -m unittest discover tests/ -v to validate)
  4. Submit a pull request

License

MIT License - see LICENSE for details.


References


Acknowledgments

Built following OpenSSF guidelines and recommendations for secure software development.

↑↓ navigate openesc close