config/skills/core/config-packager/SKILL.md
Audit, sanitize, and package ~/.claude/ configuration into a distributable repository with versioned releases. Use when updating the public agentic-config repo, syncing local changes, creating releases, or auditing for PII. Handles cross-platform install scripts and semantic versioning.
npx skillsauth add gavinmcfall/agentic-config config-packagerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A config is only useful if someone else can adopt it. This skill makes yours shareable.
Invariant A distributable config must work on a fresh machine with zero knowledge of the original author's environment.
Example
A settings.json with /home/username/.claude/hooks/git-safety.sh hardcoded fails on every other machine. The distributable version uses $HOME/.claude/hooks/git-safety.sh.
//BOUNDARY: Stripping personal details does not mean stripping opinion. An opinionated config is the entire point. Personal details are not.
Depth
references/sanitization-rules.mdInvariant Every file passing through the packager is sanitized. No exceptions. A missed API key in a published config is a security incident.
Example The two-pass approach: first, pattern-based replacement on each file. Second, regex validation sweep across the entire output. Both must pass before commit. //BOUNDARY: Sanitization is about secrets and identity. It is not about removing tool-specific or domain-specific content that makes the config useful.
Depth
references/sanitization-rules.md immediatelyreferences/sanitization-rules.md.credentials.json, history.jsonl, stats-cache.json, mcp-needs-auth-cache.json, session-journal.md, projects/, settings.local.json, plugins/, file-history/, telemetry/, statsig/, cache/, debug/, image-cache/, paste-cache/, session-env/, shell-snapshots/, ide/, plans/, tasks/, teams/, backups/, .claude.zip/home/<username> with $HOMEinner-ally with real content — template skeleton onlymeta/ directories from any skill (authoring artifacts, not consumer content)Steps must execute in this order. Skipping or reordering causes data leaks or broken output.
Run scripts/package.sh --audit to inventory ~/.claude/.
-> Verify: Output lists every file with classification (include / sanitize-then-include / exclude)
-> If failed: Check file permissions, ensure ~/.claude/ is readable
Compare current state against last packaged version.
-> Verify: Output shows new, changed, and deleted files since last run -> If failed: If no previous run exists, treat everything as "new"
Present the diff to the user. Pause for confirmation before proceeding.
-> Verify: User explicitly approves the file list -> If failed: Adjust inclusion/exclusion list per user feedback, re-audit
Run scripts/package.sh --package to process each file through the sanitization pipeline and copy to the distribution repo.
-> Verify: All files copied, sanitization patterns applied -> If failed: Check sanitization rules for regex errors
Run scripts/validate.sh on the output directory.
-> Verify: Zero PII violations detected -> If failed: Fix the source sanitization rules, re-run steps 4-5
Run scripts/generate-readme.sh to update README, verify install scripts are current.
-> Verify: README reflects current skill inventory and tier structure -> If failed: Check skill frontmatter parsing
Stage changes, review diff, commit with descriptive message.
-> Verify: git diff --staged shows only sanitized content
-> If failed: Do NOT commit. Return to step 4.
| Tier | Category | Install Default | |------|----------|----------------| | Core | Generic skills useful for everyone | Always installed | | Game Dev | Solo game dev + ADHD workflow skills | Optional | | Infra | Kubernetes homelab skills | Optional | | Templates | Skeleton skills for personal customization | Optional |
Full tier assignments: references/file-inventory.md
The distribution repo must work on Linux, macOS, and Windows. See references/cross-platform.md for platform-specific handling of paths, permissions, line endings, and hook scripts.
Target: your-github-username/agentic-config (public GitHub repo)
Local path: $HOME/repos/agentic-config/
Structure: references/distribution-repo.md
Extends the packaging process with versioned GitHub releases. One command: detect changes, package, validate, commit, tag, push, release.
# Interactive (recommended)
scripts/sync-release.sh
# Force a specific version bump
scripts/sync-release.sh --minor
# Preview without executing
scripts/sync-release.sh --dry-run
# Fully automated
scripts/sync-release.sh --auto
Steps must execute in this order. The script enforces this automatically.
package.sh --package --auto to sanitize and copygit diff on the repo to find what actually changedvalidate.sh — zero PII violations required. Release blocked if this fails.generate-readme.shgh release createChanges are classified for semantic versioning:
Full rules: references/semver-rules.md
development
Deeply personal mentor and guide. Use when struggling, wanting to quit, feeling overwhelmed, or doubting yourself. Empathy-first. Build this skill around YOUR psychology.
tools
Build automation workflows with n8n for game dev tasks. Use when automating repetitive processes, setting up notifications, scheduling backups, or connecting services. Reduces manual overhead that ADHD brains find hardest to maintain.
testing
Query and diagnose the home Kubernetes cluster. Use when checking cluster health, troubleshooting pods/services/routes, inspecting storage, or understanding what's deployed. Covers Talos node management, Ceph storage, Cilium networking.
devops
Deploy and manage applications in the home-ops Kubernetes cluster via GitOps. Use when deploying new apps, modifying existing ones, adding routing, managing secrets, or working with the home-ops repo structure.