Install
$ agentstack add skill-pulkit0x-claude-armory-ci-pipeline-generator ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
About
CI Pipeline Generator
Analyze the current project and generate a production-ready GitHub Actions CI/CD workflow.
Process
1. Detect Project Stack
Scan for:
- Language and framework (same detection as dockerfile-generator)
- Test framework (
jest.config.*,pytest.ini,*_test.go, etc.) - Linter config (
.eslintrc*,.flake8,golangci-lint,clippy) - Formatter config (
.prettierrc*,black,gofmt) - Build output (
dist/,build/,target/) - Existing CI files (
.github/workflows/,.gitlab-ci.yml,Jenkinsfile) - Docker presence (
Dockerfile,docker-compose.yml) - Deploy targets (
vercel.json,netlify.toml,fly.toml,Procfile, Kubernetes manifests)
2. Generate Workflow
Create .github/workflows/ci.yml with these stages:
Lint & Format Check
- Run linter (ESLint, Flake8, golangci-lint, etc.)
- Check formatting (Prettier, Black, gofmt)
- Fail fast on style issues
Test
- Run unit tests with coverage
- Use matrix strategy for multiple versions if applicable (e.g., Node 18/20, Python 3.10/3.12)
- Cache dependencies for speed (npm cache, pip cache, Go module cache)
- Upload coverage report as artifact
Build
- Compile/build the project
- Verify build succeeds
- Upload build artifacts
Security (optional)
- Run
npm audit/pip-audit/govulncheck - Run CodeQL analysis for supported languages
Deploy (if deploy target detected)
- Deploy to detected platform (Vercel, Netlify, Fly.io, etc.)
- Only on push to
mainbranch - Use environment secrets
3. Best Practices
Always:
- Use specific action versions with SHA pins or major version tags (e.g.,
actions/checkout@v4) - Cache dependencies (
actions/cacheor built-in caching) - Set
concurrencyto cancel in-progress runs on same branch - Use
permissionsblock with least privilege - Separate jobs for lint/test/build (parallel execution)
- Add
paths-ignorefor docs-only changes - Use matrix strategy for multi-version testing when relevant
Triggers:
on:
push:
branches: [main]
pull_request:
branches: [main]
Concurrency:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Templates by Stack
Node.js
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm run lint
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm test -- --coverage
build:
needs: [lint, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm run build
Python
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- run: pip install flake8 black
- run: flake8 .
- run: black --check .
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip
- run: pip install -r requirements.txt
- run: pytest --cov
Java (Maven)
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
cache: maven
- run: mvn verify
Go
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: stable
- uses: golangci/golangci-lint-action@v4
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: stable
- run: go test -race -coverprofile=coverage.out ./...
Output
- Write
.github/workflows/ci.yml - Print summary of what was generated:
``` ## CI Pipeline Generated
Stack: Node.js 20 (Next.js) File: .github/workflows/ci.yml
### Stages
- Lint — ESLint + Prettier check
- Test — Jest with coverage (Node 18, 20 matrix)
- Build — Next.js production build
- Deploy — Vercel (on push to main)
### Next Steps
- Add required secrets in GitHub Settings > Secrets
- Merge this workflow to main to activate
```
Notes
- If
$ARGUMENTSspecifies a deploy target, include deploy stage for that platform. - If existing CI exists, read it first and offer to improve rather than overwrite.
- For monorepos, generate path-filtered workflows for each service.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pulkit0x
- Source: pulkit0x/claude-armory
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.