Documentation Index
Fetch the complete documentation index at: https://docs.gofastskill.com/llms.txt
Use this file to discover all available pages before exploring further.
CI/CD Pipeline Integration
This page describes how teams typically wirefastskill into automation: detect changes, package ZIPs, and publish to a registry or object storage. It stays product-focused; adapt steps to GitHub Actions, GitLab CI, Jenkins, or any runner you already use.
What you can automate
- Automatic Change Detection: Detect which skills have changed using git diff or file hashing
- Version Bumping: Automatically increment semantic versions (major, minor, patch)
- Artifact Creation: Package skills into ZIP files with metadata and checksums
- Blob Storage Publishing: Upload artifacts to S3 (supports S3-compatible services)
- Registry Index Management: Maintain a crates.io-like registry for skill distribution
Change Detection Strategies
Git-based Detection
Use git diff to detect changed skill directories. Common in hosted git runners:- Fast and efficient
- Works well in CI/CD environments
- Can compare any two git references (commits, tags, branches)
- GitHub Actions workflows
- GitLab CI pipelines
- Any git-based CI/CD system
Hash-based Detection
Use file hashing to detect changes when you prefer not to rely on git metadata:- Works without git repository
- Detects any file changes
- Maintains build cache for efficiency
- Sandboxes without full git history
- Incremental packaging on a workstation
Version Bumping Strategies
Explicit Bump Type
Specify the bump type explicitly:Auto-detect Bump Type
Let FastSkill determine the bump type (currently defaults to patch):Complete Workflow Examples
Local packaging loop
Example: hosted runner (outline)
- Check out your repository with enough history for
fastskill package --git-diff <from> <to>. - Install the
fastskillbinary using the same method you use on laptops (release archive, package feed, or internal installer). Avoid hard-coding monorepo paths from the FastSkill source tree. - Restore secrets for registries (
FASTSKILL_API_URL, tokens, cloud credentials) as environment variables. - Run
fastskill package …thenfastskill publish …with the flags from package and publish.
Other runners
GitLab CI, Jenkins, Buildkite, and others follow the same outline: putfastskill on PATH, check out sources, run package then publish. Copy the CLI arguments from fastskill package --help and fastskill publish --help rather than relying on historical workflow snippets.
Configuration Best Practices
Environment Variables
Store sensitive credentials as environment variables or secrets:Configuration Files
Use.fastskill/publish.toml for non-sensitive configuration:
Build Cache
The build cache (.fastskill/build-cache.json) can be persisted between pipeline runs if you want faster packaging. Treat it as a machine-local artifact: refresh or delete it when packaging results look wrong.
Troubleshooting
No Skills Detected
If no skills are detected for packaging:- Check that skills directory exists and contains
SKILL.mdfiles - Verify git diff is working:
git diff HEAD~1 HEAD --name-only - Check build cache for stale entries
- Use
--forceto package all skills regardless of changes
Version Bumping Issues
If version bumping fails:- Ensure
skill-project.tomlexists or can be created - Check that version format is valid semver (e.g., “1.2.3”)
- Verify write permissions for
skill-project.toml
Blob Storage Upload Failures
If uploads fail:- Verify credentials are correct
- Check network connectivity to storage endpoint
- Ensure bucket/container exists and is accessible
- Verify IAM permissions for S3 buckets
Registry Index Issues
If registry index operations fail:- Ensure git repository is accessible
- Check git credentials and permissions
- Verify registry path exists and is writable
- Ensure blob base URL is correct