agentleFS
LeanMeanCleanAppsLeanMeanCleanApps/CleanModelContextProtocol/.agents/skills/ci-pipeline/SKILL.md

ci-pipeline

Skill1 starsChanged 7 days agoMITView on GitHub

The Build Pipeline workflow - its jobs, the six required checks, the Summary comment, the monthly schedules, and how to fix a failing check without weakening it. Use when a check fails, when changing .github/workflows, or when explaining what CI does.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 3

    Distinctive

    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:

    After those, Release Check and Publish only run on the monthly release (releases).

    line 23
  2. Distinctive:

    Read the Summary comment first.

    line 29
  3. Distinctive:

    Add a step that needs an account, a paid service or a secret to pass on a fresh copy.

    line 39
  4. Distinctive:

    Every required check is green on the pull request, and the Summary comment shows no red rows.

    line 44

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “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

CI pipeline

The rule

One workflow, .github/workflows/build-pipeline.yml, runs on every pull request, every push to main, two monthly schedules and on demand. Jobs run as a chain, and these six are required checks:

CheckWhat it doesFails when
Builddotnet format --verify-no-changes, docker build of the runtime image, dotnet pack of the template, the report action's own testsStyle, a warning, a build error, or a template package over 1 MB
TestRuns every test project inside the Dockerfile's test stage, reports results and coverage, then installs the packed template, generates a solution (its restore post action restores the .slnx), checks its format, tests it and checks it has .github/workflows/ci.yml, then does the same with --include-auth where the template has itA failing test, coverage under 95%, or a template that doesn't generate, format and pass
Static Analysis (actions, csharp)CodeQL security-and-quality on the workflows and the C#A finding of medium severity or higher
Dependency ReviewNew or updated packages on a pull requestA high or critical vulnerability, or a licence other than MIT, Apache-2.0 or BSD
Container ScanStarts the image and calls it, then Trivy scans the image and the Dockerfile and compose configThe smoke test fails, or a fixable high or critical finding
SummaryPosts one comment on the pull request with a row per check, built by .github/actions/pipeline-reportAny check above failed

After those, Release Check and Publish only run on the monthly release (releases).

A copy made with GitHub's "Use this template" gets this workflow with no secrets or setup. Outside the LeanMeanCleanApps organisation it runs only the format check, build and tests: Static Analysis, Dependency Review, Container Scan, the template's pack and verify steps, Release Check and Publish all check github.repository_owner and skip, and the Summary shows them as not run. Skipped jobs count as passed for required checks, so a private copy goes green without Advanced Security. A solution made with dotnet new gets the much smaller template/ci.yml as .github/workflows/ci.yml instead. ci-for-your-solution covers both. Keep any new job that needs Advanced Security, a secret or the template folders behind the same owner check.

Steps

  1. Read the Summary comment first; it names the unhappy check and links to its details.
  2. Reproduce locally where you can (every command finds the .slnx in the root on its own): dotnet format --verify-no-changes, dotnet build, dotnet test, the coverage command in coverage, docker build . --target run.
  3. Fix the cause in the code. For security findings, see security-findings.
  4. Changing the workflow itself: keep each tool as an off-the-shelf action, keep the job names (they're the required check names), and keep everything working in someone else's copy of the template with no secrets or setup.

Don't

  • Skip, disable or mark a test as skipped to get green.
  • Lower COVERAGE_THRESHOLD, raise TEMPLATE_MAX_SIZE, or relax a severity to pass.
  • Rename a job without updating the repository's required checks.
  • Add a step that needs an account, a paid service or a secret to pass on a fresh copy.
  • Push an empty commit to re-run CI. Re-run the job from the Actions page.

Check

Every required check is green on the pull request, and the Summary comment shows no red rows.

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.