cristoslc avatar

Swain Update

Keeps your swain skills installation up to date by pulling the latest release from GitHub, then runs swain-doctor to validate everything. Smart enough to detect which agent platforms you actually have installed so it doesn't litter your system with unused config stubs. Backs up any files you've modified before overwriting, then shows you diffs and suggests moving customizations to .agents/config where they'll survive future updates. The fallback chain is solid: tries npx first, drops to git clone if that fails, and the whole thing is idempotent so you can run it whenever. Really just maintenance automation that respects local changes instead of clobbering them.

skills.sh installs
125
GitHub stars
2
last updated
Aug 21, 2026

Install

$ npx -y skills add cristoslc/swain --skill swain-update --agent claude-code

Installs into .claude/skills of the current project.

Files

Update Swain

Update the local installation of swain skills to the latest version, then reconcile governance configuration.

Step 1 — Detect current installation

Check whether .claude/skills/ contains any swain-* directories:

ls -d .claude/skills/swain-* 2>/dev/null

If no swain skill directories are found, inform the user this appears to be a fresh install rather than an update, then continue anyway — the steps below work for both cases.

Step 2 — Backup local modifications

Before overwriting skill directories, check for user modifications that should be preserved.

Detect modified files

Compare local skill files against the installed version's git origin:

# Create a temporary reference copy
tmp=$(mktemp -d)
git clone --depth 1 https://github.com/cristoslc/swain.git "$tmp/swain" 2>/dev/null

# Find locally modified files
modified_files=()
for skill_dir in .claude/skills/swain-*/; do
  skill_name=$(basename "$skill_dir")
  ref_dir="$tmp/swain/skills/$skill_name"
  [ -d "$ref_dir" ] || continue

Sponsors

Details

Repository
github.com/cristoslc/swain
Categories
Git & Pull Requests, Release Management
First seen
Jun 3, 2026

More from cristoslc/swain

All 6
1mblode avatarbabysit-prmblode/agent-skillsAutonomous PR monitor — polls every 2 minutes for merge conflicts, CI/CD failures across GitHub Actions, Buildkite, Vercel, and Fly.io, review comments, and mer124skills.sh installs
2dotCMS avatartriagedotCMS/coreTriage GitHub issues using the AI triage pipeline. Fetches the next issue from the "Needs Triage" project column (or a specific issue), creates an agent team to0skills.sh installs
3electron avatarelectron-chromium-upgradeelectron/electronGuide for performing Chromium version upgrades in the Electron project. Use when working on the roller/chromium/main branch to fix patch conflicts during `e syn0skills.sh installs
4exercism avatarfixexercism/websiteFix a GitHub issue end-to-end — fetches issue, creates worktree, plans and implements fix, runs validation, opens PR, cleans up.0skills.sh installs
5github avataraws-cost-optimizegithub/awesome-copilotAnalyze AWS resources used in the app (IaC files and/or resources in a target account/region) and optimize costs - creating GitHub issues for identified optimiz0skills.sh installs
6github avatarbug-reproduction-briefgithub/awesome-copilotTurn a vague, intermittent, or environment-specific bug report into a minimal evidence-backed reproduction before proposing a fix.0skills.sh installs