Skip to content
Back to skills

Auto Maintain Commit And Deploy

ASecurity

Use when a cron-based auto-maintenance script commits new skills or plugins to git but the install script still has a hardcoded list that needs manual updating, or when new artifacts are committed but not immediately deployed (symlinked, copied, activated). Covers replacing hardcoded artifact lists with dynamic directory scanning and coupling git commits with immediate deployment steps.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 1, 2026
ai-agentsbashgit

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add williamblair333/Uncle-J-s-Refinery --skill auto-maintain-commit-and-deploy --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Auto Maintain Commit And Deploy?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Auto Maintain Commit And Deploy
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/williamblair333-auto-maintain-commit-and-deploy/badge)](https://www.skillsdirectory.com/skills/williamblair333-auto-maintain-commit-and-deploy)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: auto-maintain-commit-and-deploy
description: Use when a cron-based auto-maintenance script commits new skills or plugins to git but the install script still has a hardcoded list that needs manual updating, or when new artifacts are committed but not immediately deployed (symlinked, copied, activated). Covers replacing hardcoded artifact lists with dynamic directory scanning and coupling git commits with immediate deployment steps.
metadata:
  type: feedback
---

## When to use

- A nightly cron commits new skill/plugin directories to git but `~/.claude/skills/` (or equivalent) is not updated until the next manual install run
- An install script has a hardcoded list of artifact names that must be maintained by hand
- New artifacts land in a well-known directory but are not immediately live after commit

## Key steps demonstrated

### 1. Replace hardcoded list with dynamic scan

In the install script, replace any `for skill in name1 name2 name3` loop with a glob over the source directory:

for src in "$STACK_ROOT/global-skills"/*/; do
    [ -d "$src" ] || continue
    skill_name=$(basename "$src")
    dst="$CLAUDE_DIR/skills/$skill_name"
    [ -L "$dst" ] || ln -s "$src" "$dst"
done

Any directory added to `global-skills/` is automatically picked up — no list maintenance.

### 2. Couple git commit with immediate deployment

In the auto-maintain script, after the `git commit` that lands new artifacts, run the same symlink loop inline so artifacts are live before the next session:

# after git commit of new skills...
for src in "$STACK_ROOT/global-skills"/*/; do
    [ -d "$src" ] || continue
    dst="$CLAUDE_DIR/skills/$(basename "$src")"
    [ -L "$dst" ] || ln -s "$src" "$dst"
done

No extra Telegram alert needed — the existing end-of-run notification covers it.

### 3. Upgrade evaluation: bash + Claude hybrid

For post-upgrade change detection across multiple packages:
- Bash fetches commit logs (`git log OLD..NEW --oneline`) and scans for breaking-change keywords (`feat!`, `BREAKING`)
- Pass raw commits to `claude -p` for holistic reasoning about what changed and whether CLAUDE.md routing rules need updating
- This is the A+C hybrid: bash does the mechanical fetch, Claude does the judgment

**Why:** keyword-only bash scanning misses semantic breaking changes; Claude invocation adds reasoning without replacing the cheap keyword pre-filter.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.