agentleFS
Hack23Hack23/European-Parliament-MCP-Server/.github/skills/github-actions-workflows/SKILL.md

github-actions-workflows

Skill30 starsChanged 9 months agoApache-2.0View on GitHub

Secure CI/CD workflows with GitHub Actions for TypeScript 6.0.2 / Node.js 25 MCP server — 12 pipelines, SLSA Level 3, SBOM, OpenSSF Scorecard

  • Reads credentials

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Create and maintain secure, efficient CI/CD pipelines using GitHub Actions for this TypeScript 6.0.2 / Node.js 25 MCP server project with …

    line 11
  2. Distinctive:

    Security: No critical/high CodeQL alerts

    line 112
  3. Distinctive:

    Dependencies: No known high/critical vulnerabilities

    line 113

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub Actions Workflows Skill

Purpose

Create and maintain secure, efficient CI/CD pipelines using GitHub Actions for this TypeScript 6.0.2 / Node.js 25 MCP server project with 12 automated workflows.

When to Use

  • ✅ Setting up or modifying CI/CD pipelines for TypeScript MCP projects
  • ✅ Automating security scans (CodeQL, dependency review, SLSA, SBOM)
  • ✅ Implementing npm package publishing with attestation
  • ✅ Configuring test/coverage reporting and quality gates
  • ✅ Understanding the 8-stage pipeline architecture

Current Pipeline Architecture (12 Workflows)

StageWorkflowTriggerPurpose
1. Code Validationdependency-review.yml, labeler.ymlPRDependency audit, auto-labeling
2. Build & Testtest-and-report.ymlPush, PRLint, build, test, coverage (80%+)
3. Security Analysiscodeql.ymlPush, PR, WeeklyCodeQL SAST scanning
4. Integration Testingintegration-tests.ymlPush, PR, DailyE2E tests against EP API
5. Release & Publishrelease.ymlTag v*, Manualnpm publish with attestation
6. Supply Chainsbom-generation.yml, slsa-provenance.ymlPush (main), Tag v*, Release publish, ManualCycloneDX/SPDX SBOM, SLSA Level 3
7. Continuous Monitoringscorecard.ymlPush, WeeklyOpenSSF Scorecard
8. Repository Managementsetup-labels.yml, copilot-setup-steps.yml, refresh-stats.ymlManual, Push, ScheduleLabels, Copilot environment, Stats refresh

CI/CD Pattern (Node.js 25 + TypeScript 6.0.2)

name: Test and Report
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read
  checks: write

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: step-security/harden-runner@fe104658747b27e96e4f7e80cd0a94068e53901d # v2.16.1
        with:
          egress-policy: audit
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
        with:
          node-version: '25'
          cache: 'npm'
      - run: npm ci
      - run: npm run lint
      - run: npm run build
      - run: npm run test:coverage

Security Best Practices (Enforced)

  • ✅ Pin action versions with SHA hashes — not tags (supply chain integrity)
  • ✅ Prefer npm ci in CI workflows — reproducible installs from lockfile; some jobs may use npm install where needed
  • ✅ Minimize GITHUB_TOKEN permissions — per-job permissions blocks
  • ✅ step-security/harden-runner — egress auditing on most workflows
  • ✅ Dependency review — block PRs introducing known vulnerabilities
  • ✅ CodeQL weekly + on-push — continuous SAST scanning
  • ✅ SLSA Level 3 provenance — verifiable build attestation
  • ✅ CycloneDX + SPDX SBOM — software bill of materials on release
  • ✅ OpenSSF Scorecard — continuous security posture monitoring
  • ✅ Dependabot — automated dependency updates

Test Reporting

- name: Run tests with coverage
  run: npm run test:coverage
- name: Upload coverage
  uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
  with:
    files: ./coverage/lcov.info

Release Pipeline with Attestation

release:
  if: startsWith(github.ref, 'refs/tags/v')
  permissions:
    contents: write
    id-token: write
    attestations: write
  steps:
    - run: npm ci && npm run build
    - run: npm publish --provenance --access public
      env:
        NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
    - uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0

Quality Gates

  • Lint: Zero ESLint errors (TypeScript strict mode)
  • Type check: tsc --noEmit passes
  • Tests: 80%+ coverage, 1130+ unit tests, 71 E2E test cases across 4 spec files
  • Security: No critical/high CodeQL alerts
  • Dependencies: No known high/critical vulnerabilities
  • Unused code: npx knip check passes

ISMS Policy References

Core policies:

Supporting policies:

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.