ci-guard
Use when starting work in a repository under repositories/ that may lack CI configuration.
Skill by Benkapner
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/benkapner-ci-guard
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ci-guard
What's inside
- Skill name
ci-guard- Description
- Use when starting work in a repository under repositories/ that may lack CI configuration. Detects missing CI workflows (GitHub Actions, GitLab CI, CircleCI) and alerts the user to add one. Skips repos marked as research-only.
- License
- MIT
- Instructions
- 114 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- check-ci.py · scripts/
SKILL.md (first lines)
# CI Guard
Repositories benefit from CI, but this skill is advisory. It checks for CI configuration and alerts when it is missing, while allowing research, prototypes, and intentionally local projects.
## When to Activate
- At session start, after repository status is reported
- When a user clones or creates a new repo under `repositories/`
- When running `/verify` or `/quality-gate` in a repo without CI
## How to Check
Run the check script against any repo:
```bash
uv run skills/ci-guard/scripts/check-ci.py <repo-path>
```
The script checks for common CI indicators and the research exemption.
## CI Indicators (any one is sufficient)
| Provider | Path |
|----------|------|
| GitHub Actions | `.github/workflows/` (with at least one `.yml`/`.yaml`) |
| GitLab CI | `.gitlab-ci.yml` |
| CircleCI | `.circleci/config.yml` |
| Jenkins | `Jenkinsfile` |
| Travis | `.travis.yml` |
| Azure | `azure-pipelines.yml` |
## Research Exemption
A repo is exempt from the CI requirement if:
1. A `.research` file exists in the repo root, OR
2. `pyproject.toml` contains `purpose = "research"` in `[project.optional]` or as a comment marker
To mark a repo as research: `touch <repo>/.research`
## Alert Behavior
When CI is missing and the repo is not research:
1. **Warn clearly** at session start: "This repo has no CI configuration."
2. **Suggest a starter workflow** based on the detected stack (Python/Node/Rust/Go)
3. **Reference the basecamp's own CI** (`.github/workflows/ci.yml`) as a working template
4. **Do not block work** - this is an alert, not a gate
## Starter Templates
### Python (uv-based, matching basecamp conventions)
```yaml
name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv python install 3.12
- run: uv sync --group dev
- run: uv run ruff check .
- run: uv run ruff format --check .
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
- run: uv python install 3.12
- run: uv sync --group dev
- run: uv run pytest -v
```
### Node.js
```yaml
name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run lint
- run: npm test
```
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| Forgetting CI on quick prototype repos | Use `.research` file for true prototypes, add CI for everything else |
| Adding CI but not running tests | CI without tests is a false safety net - at minimum lint |
| Blocking the user from working | This is an alert, not a blocker - warn and continue |From Benkapner/claude-code-basecamp, MIT.
More from Benkapner/claude-code-basecamp
- 0.644score
python-patterns
Benkapner
Team conventions for Python development — credentials, API clients, LLM response parsing, testing patterns, and data pipeline structure.
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
semantic-versioning
Benkapner
Use when committing or pushing changes and the repository needs a version bump.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
verification-loop
Benkapner
Unified verification engine for Python data science projects.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
security-check
Benkapner
Scan projects for credential leaks, secrets in code, insecure patterns, LLM API key exposure, PII leakage to external AI services, and .env/.gitignore…
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
brainstorming
Benkapner
User asks for design, planning, or approach exploration before implementation.
SkillBFreshness: B★ 18Claude Code +9 - 0.577score
cost-speed-meter
Benkapner
Use when the user asks to measure command execution time or optimize a feedback loop.
SkillBFreshness: B★ 18Claude Code +9 - 0.552score
update-docs
Benkapner
Use when implementing features, fixing bugs, or refactoring code that may invalidate existing docs.
SkillCFreshness: C★ 18Claude Code +9 - 0.549score
refactoring-patterns
Benkapner
Measurement-driven code refactoring — profile before changing, measure after, keep only if metrics improve.
SkillCFreshness: C★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Benkapner
- 0.644score
python-patterns
Benkapner
Team conventions for Python development — credentials, API clients, LLM response parsing, testing patterns, and data pipeline structure.
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
semantic-versioning
Benkapner
Use when committing or pushing changes and the repository needs a version bump.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
verification-loop
Benkapner
Unified verification engine for Python data science projects.
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
security-check
Benkapner
Scan projects for credential leaks, secrets in code, insecure patterns, LLM API key exposure, PII leakage to external AI services, and .env/.gitignore…
SkillBFreshness: B★ 18Claude Code +9 - 0.599score
brainstorming
Benkapner
User asks for design, planning, or approach exploration before implementation.
SkillBFreshness: B★ 18Claude Code +9 - 0.577score
cost-speed-meter
Benkapner
Use when the user asks to measure command execution time or optimize a feedback loop.
SkillBFreshness: B★ 18Claude Code +9
Cite this page
ci-guard skill. Agent Mart. https://agentmart.dev/skills/benkapner-ci-guard (last updated 2026-10-24)