AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Secure Ci

skill-henryiii-skills-secure-ci · by henryiii

Use when user asks to secure a repo's CI

No reviews yet
0 installs
17 views
0.0% view→install

Install

$ agentstack add skill-henryiii-skills-secure-ci

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-henryiii-skills-secure-ci)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Secure Ci? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Secure actions

Step 0: setup

  • If the user doesn't specify a cooldown, assume 7 days.
  • Check to see if .pre-commit-config.yaml exists; don't add one if it's not already there.
  • Assume monthly grouped updates unless a user asks for weekly or quarterly instead.

Step 1: actions

Fully pin GHA. Use npx actions-up -y --min-age=7 --style=sha --include-branches to update and pin. Make sure all the updates are to the same or newer tags - the sorting mechanim for actions-up fails sometimes, like going from year based releases to old SemVer releases, or grabbing a tag that's not a normal release.

Step 2: zizmor

The repo should use zizmor. If .pre-commit-config.yaml exists, this is a good hook:

  - repo: https://github.com/zizmorcore/zizmor-pre-commit
    rev: a4727cbbcd26d7098e96b9cb738169b59711ae51  # frozen: v1.24.1
    hooks:
      - id: zizmor
        files: "^\\.github"
        args: [--persona=pendatic]

Run uvx zizmor --persona=pedantic .github directly. Fix up the problems reported. You can request auto-fixes with --fix=safe or --fix=all for some of the checks.

Common problems / fixes:

  • If you need configuration, it should go into .github/zizmor.yaml.
  • The copilot-setup-steps.yml file is special - it does not need a concurrency setting. Ignore this check if zizmor thinks otherwise.
  • Ask the user if unsure on a fix.
  • Template expansion issues can be passed in via an environment variable instead.

Template expansion fix example, before:

      - run: uv run noxfile.py -s test-${{ matrix.python }}

After:

      - run: uv run noxfile.py -s test-$PYTHON
        env:
          PYTHON: ${{ matrix.python }}

Step 3: pre-commit (if applicable)

If the user is using pre-commit, run prek auto-update --freeze --cooldown-days 7 to update and pin to sha.

Step 4: dependabot

If the user does not use .github/dependabot.yml, add one like this:

version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"
    groups:
      github-actions:
        patterns:
          - "*"
    cooldown:
      default-days: 7

The old alias "actions" can be updated to "github-actions".

If the package has a .pre-commit-config.yaml but there's no ci: field in it, add this to .github/dependabot.yml:

  - package-ecosystem: "pre-commit"
    directory: "/"
    schedule:
      interval: "monthly"
    groups:
      pre-commit:
        patterns:
          - "*"
    cooldown:
      default-days: 7

If a user does have a ci: section in .pre-commit-config.yaml, but doesn't have autoupdate_schedule set, set it.

Step 5: Isolate deploy jobs

All deploy jobs should run seperatly from build jobs, to minimize the number of packages that run with access to deploy permissions. Use artifact upload/download to provide the required files for the deploy job.

Step 6: Add cooldowns to common locations

If this repo uses uv anywhere and has a pyproject.toml, add:

[tool.uv]
exclude-newer = "7 days"

If there's any sign this repo uses pixi, add exclude-newer = "7d" to the tool pixi table in pyproject.toml or pixi.toml

Final report

Run prek -a --quiet if using pre-commit to make sure all changes pass.

Provide a concise bullet point summary of each change.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.