Skip to main content

Automated skill management for AI coding assistants

Project description

Agent Skills Updater

Version License Python

Automated skill management for AI coding assistants. Keep your agent skills up-to-date across Windsurf, Cursor, Claude Code, GitHub Copilot, Opencode, other AI-powered IDEs and Agentic tools.

๐Ÿšง Python rewrite in progress. The original PowerShell version is available in the legacy/ folder. See Legacy PowerShell Version below.

Project Board: Track development and future releases at GitHub Project

What Are Skills?

Skills are markdown files that provide context, instructions, and capabilities to AI coding assistants. They extend your AI's knowledge with specific expertise like SEO optimization, copywriting, frontend design, and more.

  • Discover skills: skills.sh โ€” Browse and search the ecosystem of available skills
  • Windsurf skills guide: docs.windsurf.com/windsurf/cascade/skills โ€” Learn how skills work in Windsurf (and other IDEs)
  • Manual installation: Skills are typically installed via your IDE's skill manager or by copying to the appropriate directory (see Supported IDEs)

The Problem

AI coding assistants use "skills" (markdown files with context and instructions) to extend their capabilities. These skills come from various GitHub repositories with different structures:

  • Skills in skills/<name>/SKILL.md
  • Skills in repository root
  • Skills in template/ subdirectories
  • Multiple skills in subdirectories

Keeping these updated manually is tedious. This tool automates the process.

Features

  • Multi-source updates โ€” Clone skills from any public Git repository
  • Structure-aware โ€” Handles root, template, multi-skill, and standard repo layouts
  • Branch support โ€” Clone from specific branches (e.g., canary, main)
  • Lockfile tracking โ€” Maintains .skill-lock.json with install/update timestamps
  • Configurable โ€” External YAML config for easy customization
  • Schedulable โ€” Run manually or via Task Scheduler / cron
  • List installed โ€” See what skills you currently have installed
  • Dry-run mode โ€” Preview changes before applying them
  • Backup & rollback โ€” Automatic backups before updates with restore support
  • Security โ€” Interactive allowlist for non-GitHub repository hosts

Repository Structure

agent-skills-updater/
โ”œโ”€โ”€ pyproject.toml                     # Python package config
โ”œโ”€โ”€ README.md                          # This file
โ”œโ”€โ”€ CONTRIBUTING.md                    # Contribution guidelines
โ”œโ”€โ”€ LICENSE                            # Apache-2.0 license
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ agent_skills_updater/
โ”‚       โ”œโ”€โ”€ __init__.py                # Package version
โ”‚       โ”œโ”€โ”€ cli.py                     # Click-based CLI
โ”‚       โ”œโ”€โ”€ config.py                  # YAML config loading
โ”‚       โ”œโ”€โ”€ downloader.py              # Git clone + archive fallback
โ”‚       โ”œโ”€โ”€ installer.py               # Skill installation logic
โ”‚       โ”œโ”€โ”€ lockfile.py                # Lockfile management
โ”‚       โ””โ”€โ”€ backup.py                  # Backup and rollback
โ”œโ”€โ”€ tests/
โ”‚   โ”œโ”€โ”€ conftest.py
โ”‚   โ””โ”€โ”€ ...
โ””โ”€โ”€ legacy/
    โ”œโ”€โ”€ agent-skills-update.ps1        # Original PowerShell script
    โ””โ”€โ”€ agent-skills-config.example.yaml

Quick Start

Installation

pip install agent-skills-updater

Or install from source:

git clone https://github.com/BallLightningAB/agent-skills-updater.git
cd agent-skills-updater
pip install -e ".[dev]"

Usage

# Update all skills
agent-skills-update

# Force overwrite existing skills
agent-skills-update --force

# Update specific skills only
agent-skills-update --skills copywriting,seo-audit

# Show installed skills
agent-skills-update --list

# Dry run (show what would be updated)
agent-skills-update --dry-run

# Verbose output
agent-skills-update --verbose

# Trust all hosts (CI mode, skip prompts)
agent-skills-update --trust-all

# List available backups
agent-skills-update --list-backups

# Roll back a specific skill
agent-skills-update --rollback copywriting

# Roll back all skills to last backup
agent-skills-update --rollback-all

# Machine-readable output (for automation)
agent-skills-update --json

# Custom config path
agent-skills-update --config ~/my-config.yaml

Configuration

agent-skills-config.yaml

settings:
  globalSkillsPath: ~/.agents/skills
  windsurfSkillsPath: ~/.codeium/windsurf/skills
  tempPath: ~/.temp-agent-skills-update
  logPath: ~/scripts/agent-skills-update.log
  backupPath: ~/.agent-skills-updater/backups
  keepBackups: 5

  # Auto-updated when user selects "Allow always" for non-GitHub hosts
  allowedHosts:
    - gitlab.com
    - bitbucket.org

repositories:
  coreyhaines31/marketingskills:
    url: https://github.com/coreyhaines31/marketingskills.git
    skills:
      - copywriting
      - seo-audit
      - page-cro

  resend/react-email:
    url: https://github.com/resend/react-email.git
    branch: canary
    skills:
      - react-email

Repository structure types

Type Config Description
standard (default) skills/<name>/SKILL.md or src/skills/<name>/SKILL.md
root structure: root SKILL.md in repository root
template structure: template SKILL.md in template/ subdirectory
multi structure: multi Multiple skills as subdirectories with SKILL.md each

Supported IDEs

The tool copies skills to these locations by default:

IDE Default Path
Generic agents ~/.agents/skills
Windsurf ~/.codeium/windsurf/skills
Amp ~/.config/agents/skills
Kimi Code CLI ~/.config/agents/skills
Antigravity ~/.gemini/antigravity/global_skills
Augment ~/.augment/rules
Claude Code ~/.claude/skills
OpenClaw ~/.moltbot/skills
Cline ~/.cline/skills
CodeBuddy ~/.codebuddy/skills
Codex ~/.codex/skills
Command Code ~/.commandcode/skills
Continue ~/.continue/skills
Crush ~/.config/crush/skills
Cursor ~/.cursor/skills
Droid ~/.factory/skills
Gemini CLI ~/.gemini/skills
GitHub Copilot ~/.copilot/skills
Goose ~/.config/goose/skills
Junie ~/.junie/skills
iFlow CLI ~/.iflow/skills
Kilo Code ~/.kilocode/skills
Kiro CLI ~/.kiro/skills
Kode ~/.kode/skills
MCPJam ~/.mcpjam/skills
Mistral Vibe ~/.vibe/skills
Mux ~/.mux/skills
OpenCode ~/.config/opencode/skills
OpenClaude IDE ~/.openclaude/skills
OpenHands ~/.openhands/skills
Pi ~/.pi/agent/skills
Qoder ~/.qoder/skills
Qwen Code ~/.qwen/skills
Replit Project-only (no global path)
Roo Code ~/.roo/skills
Trae ~/.trae/skills
Trae CN ~/.trae-cn/skills
Windsurf ~/.codeium/windsurf/skills
Zencoder ~/.zencoder/skills
Neovate ~/.neovate/skills
Pochi ~/.pochi/skills
AdaL ~/.adal/skills

Cross-Platform Notes

  • Python 3.12+ required
  • Paths use ~ which expands correctly on all platforms
  • Git must be installed and available in PATH (archive fallback available when git is unavailable)

Contributing

Contributions welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request

See CONTRIBUTING.md for details.

License

Apache-2.0 โ€” see LICENSE

Credits

Built by Nicolas Brulay of Ball Lightning AB as part of the Chronomation ecosystem.

Inspired by the growing ecosystem of AI agent skills from:

Legacy PowerShell Version

The original PowerShell version (v1.0.2) is available in the legacy/ folder. It requires PowerShell 5.1+ (Windows) or PowerShell 7+ (macOS/Linux). See legacy/agent-skills-config.example.yaml for configuration.

Migrating from PowerShell

  1. Install the Python version: pip install agent-skills-updater
  2. Your existing agent-skills-config.yaml is compatible โ€” no changes needed
  3. Run agent-skills-update instead of .\agent-skills-update.ps1
  4. The lockfile format (.skill-lock.json) is preserved

Version History

v0.1.1 (Python rewrite โ€” in progress)

  • Python 3.12+ rewrite with pip installation
  • Click-based CLI with --dry-run, --force, --verbose, --json flags
  • Backup and rollback support
  • Interactive security allowlist for non-GitHub repos
  • Same YAML config format as PowerShell version

v1.0.0 (2026-01-30) โ€” PowerShell (legacy)

  • Initial release
  • Multi-source skill updates from GitHub repositories
  • Support for 4 repository structures (standard, root, template, multi)
  • Branch-specific cloning
  • Lockfile tracking with timestamps
  • Cross-platform support (Windows PowerShell 5.1+, PowerShell 7+)
  • List installed skills (-List)
  • Dry-run mode (-WhatIf)
  • Support for 43+ IDEs and AI coding tools

Follow Along

This project and other Ball Lightning AB initiatives are documented on The Builder Coil โ€” a public builder's log covering the journey of building products, tools, and the Chronomation ecosystem.

Subscribe to The Upkeep newsletter for weekly updates on new releases, behind-the-scenes insights, and practical tips for developers and solopreneurs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_skills_updater-0.1.8.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_skills_updater-0.1.8-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file agent_skills_updater-0.1.8.tar.gz.

File metadata

  • Download URL: agent_skills_updater-0.1.8.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for agent_skills_updater-0.1.8.tar.gz
Algorithm Hash digest
SHA256 43f14ee429507dc50ccd6cb3cfe4d0f86db82f03c517dba60a7c9874a5102250
MD5 ab14f10f757627389e56ec1585b7bd06
BLAKE2b-256 67bac99dc83524c8081500545e951605511e85bd7f5bb5ff5958017098c78c64

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_skills_updater-0.1.8.tar.gz:

Publisher: publish.yml on BallLightningAB/agent-skills-updater

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agent_skills_updater-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_skills_updater-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b754c509f226aedbf6e952889a8c3ea47a6e97e2bc2395e512de7c7cf47cb063
MD5 3cb00b8f696f7043b86595cac46c5d25
BLAKE2b-256 1401d49b397c94d40e6232b4d483d3b7dfcfbfcc17c90b1061863a9205ce5b3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for agent_skills_updater-0.1.8-py3-none-any.whl:

Publisher: publish.yml on BallLightningAB/agent-skills-updater

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page