Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add selvarajmurugesan90/ops-engineering-skills --skill jenkins-groovy-scripting-best-practicesgit clone --depth 1 https://github.com/selvarajmurugesan90/ops-engineering-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/selvarajmurugesan90/ops-engineering-skills/jenkins-groovy-scripting-best-practices)<a href="https://agentmods.dev/skills/selvarajmurugesan90/ops-engineering-skills/jenkins-groovy-scripting-best-practices"><img src="https://agentmods.dev/badge/skills/selvarajmurugesan90/ops-engineering-skills/jenkins-groovy-scripting-best-practices/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/selvarajmurugesan90/ops-engineering-skills/jenkins-groovy-scripting-best-practices"><img src="https://agentmods.dev/badge/skills/selvarajmurugesan90/ops-engineering-skills/jenkins-groovy-scripting-best-practices.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 324 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00116 | $0.03408 |
| Opus 5 | $0.00058 | $0.01704 |
| Sonnet 5 | $0.00023 | $0.00682 |
| Haiku 4.5 | $0.00012 | $0.00341 |
Grade A, and why
jenkins-groovy-scripting-best-practices scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 325 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Jenkins Groovy Scripting Best Practices
Purpose
Jenkins Pipeline (both per-repo Jenkinsfiles and shared libraries) is
written in Groovy, but it does not run like ordinary Groovy: it executes
under the Groovy sandbox (a security boundary that blocks arbitrary
Java/Groovy method calls unless explicitly approved) and under CPS
(Continuation-Passing Style) transformation (so pipelines can pause/
resume across Jenkins restarts), both of which produce failure modes that
look like bugs in your code but are actually artifacts of the execution
model. This skill covers the sandbox/script-approval workflow, how to unit
test shared library Groovy without a running Jenkins controller, and the
specific Groovy/CPS pitfalls (closures capturing this, non-serializable
state, @NonCPS usage) that recur in pipeline code.
When to use
- A pipeline or shared library fails with
org.jenkinsci.plugins.scriptsecurity. sandbox.RejectedAccessException: Scripts not permitted to use .... - Writing or reviewing Groovy code in a
Jenkinsfile'sscript {}block or in a shared library'svars//src/files (see jenkins-declarative-pipeline-per-repo and jenkins-centralized-shared-library for where this code lives). - Setting up automated tests for shared library logic so changes are verified before a version tag is cut, rather than only discovered when a consumer's build breaks.
- Debugging
NotSerializableException, unexpectedly re-executed code after a controller restart, or a closure that behaves differently than plain Groovy would suggest. - Deciding whether a piece of logic should be
@NonCPS-annotated.
Prerequisites & environment
- A Jenkins controller with the Script Security plugin (bundled with modern Jenkins Pipeline installs) — this is what enforces the sandbox and stores approved signatures under Manage Jenkins → In-process Script Approval.
- Administrator access to approve pending script signatures (only Jenkins
admins can approve; a pipeline author who hits a
RejectedAccessExceptionmust request approval, not self-approve unless they hold that role). - For unit testing: a JVM project (Maven or Gradle) alongside the shared
library repo, with the JenkinsPipelineUnit library
(
lesfurets:jenkins-pipeline-unit) added as a test dependency, and a test framework (JUnit 5 or Spock) to drive it. - Groovy 2.x/3.x knowledge (whichever your Jenkins version bundles — check Manage Jenkins → System Information for the exact Groovy version) — syntax mostly matches plain Groovy but some newer Groovy language features may not be supported inside the CPS-transformed subset.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 325 lines · 116 tokens per session scan A 6c101048a3d5
jenkins-groovy-scripting-best-practices is a skill published in the GitHub repository selvarajmurugesan90/ops-engineering-skills (39 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 116 tokens to every session and 3,408 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
cloudflare-workers-testing
Comprehensive testing guide for Cloudflare Workers using Vitest and @cloudflare/vitest-pool-workers. Use for test setup, binding mocks (D1/KV/R2/DO), integration tests, or encountering test failures, mock errors, coverage issues.
Code Coverage Analysis
Measure and enforce test coverage with Istanbul/nyc, c8, Jest, and Vitest. Covers branch versus line coverage, per-directory thresholds, CI gates, and correctly excluding generated code from reports.
qa-ci-cd-testing
Guidance for adding automated tests to a CI/CD pipeline, the process that checks and delivers software changes.
wordpress-testing-qa
WordPress plugin and theme testing with PHPUnit integration tests, WPMock unit tests, PHPCS coding standards, and CI/CD workflows.
matlab-run-tests
Run MATLAB test suites and analyze results, including test filtering, parallel execution, result diagnostics, code coverage collection, gap analysis, and CI/CD with buildtool. Use when running tests, filtering test suites, analyzing test failures, checking, collecting, or analyzing coverage, justifying uncovered code…
creo-test
Testing orchestration that routes to unit test and E2E test subagents. Manages test plans, coverage tracking, and coordinates test execution across the full stack. Supports Vitest/Jest for unit tests and Playwright for E2E tests. Trigger keywords: test, unit test, e2e test, end to end, test plan, test coverage…