agentleFS
patrick-fupatrick-fu/awesome-skills/home-config-sync/SKILL.md

home-config-sync

Skill69 starsChanged 11 days agoMITView on GitHub

Bootstrap and maintain a reusable `~/.dotfiles` bare-repo setup.

  • Commits and pushes

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 10 are distinctive, and 12 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill for a generic, shareable bare-repo dotfiles workflow:

    line 37
  2. Very specific:

    Prefer the explicit git --git-dir="$HOME/.dotfiles" --work-tree="$HOME" form over assuming an alias exists.

    line 50
  3. Very specific:

    Treat .gitignore as a whitelist.

    line 52
  4. Distinctive:

    Prefer one command per Bash tool call.

    line 53
  5. Very specific:

    Do not add &&, ;, pipes, redirection, or wrapper echo lines unless the shell feature is genuinely required for the task.

    line 54
  6. Distinctive:

    Do not invent extra shell config files, helper scripts, aliases, or wrappers during initialization unless the user explicitly asks for them.

    line 60
  7. Very specific:

    If .gitignore, bootstrap.sh, or README.md already exist, ask the user file-by-file whether to merge, overwrite, or skip.

    line 61
  8. Very specific:

    If the user chooses merge, preserve the user's existing machine-specific settings while adding the generic template structure that keeps …

    line 62
  9. Distinctive:

    If the user already provided a remote repo URL and initialization succeeds locally, treat the first push as part of the default …

    line 64
  10. Very specific:

    Do not use git stash -u by default in this repo.

    line 65
  11. Very specific:

    If local tracked edits block pull, stash tracked files only, pull, then re-apply and resolve conflicts.

    line 66
  12. Very specific:

    If stash apply stages files automatically, restore them back to unstaged unless the user explicitly wants them staged.

    line 67
  13. Distinctive:

    Treat GUI-discoverable mode as a reversible operational mode, not a one-time migration.

    line 68
  14. Distinctive:

    When the user starts using this skill for interactive repo management, ask whether they want GUI-discoverable mode enabled so Git GUI tools …

    line 69
  15. Distinctive:

    If the user wants GUI-discoverable mode:

    line 70
  16. Very specific:

    use the bundled scripts under ${CLAUDE_SKILL_DIR}/scripts/

    line 72
  17. Very specific:

    If the user does not want GUI-discoverable mode, or wants to turn it back off mid-session, run the exit flow.

    line 73
  18. Distinctive:

    Before switching GUI mode, inspect current mode first and explain whether the repo is already enabled, already disabled, or needs a state …

    line 74
  19. Very specific:

    If the task is first-time initialization or starter-file refresh, also load the relevant template files from assets/.

    line 80
  20. Very specific:

    If the task involves GUI mode, use the bundled scripts from ${CLAUDE_SKILL_DIR}/scripts/.

    line 81
  21. Distinctive:

    Follow the matching command flow, but keep default execution at one command per Bash call.

    line 82
  22. Distinctive:

    Use the reference file for:

    line 85

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Home Config Sync

Use this skill for a generic, shareable bare-repo dotfiles workflow:

  • Git dir: ~/.dotfiles
  • Work tree: ~
  • Remote: user-provided private repo URL
  • Preferred explicit command:
git --git-dir="$HOME/.dotfiles" --work-tree="$HOME" <subcommand>

Keep these rules:

  • Prefer the explicit git --git-dir="$HOME/.dotfiles" --work-tree="$HOME" form over assuming an alias exists.
  • Inspect live state before acting: run status, ls-files, and read .gitignore, bootstrap.sh, and README.md when relevant.
  • Treat .gitignore as a whitelist. New files are not trackable until both the whitelist and the file itself are added.
  • Prefer one command per Bash tool call. Translate multi-step flows from the reference into separate invocations instead of copying several shell operations into one command.
  • Do not add &&, ;, pipes, redirection, or wrapper echo lines unless the shell feature is genuinely required for the task.
  • During first-time initialization, read the starter templates in assets/ before creating or updating .gitignore, bootstrap.sh, or README.md.
  • During first-time initialization, the default starter-file scope is exactly:
    • .gitignore
    • bootstrap.sh
    • README.md
  • Do not invent extra shell config files, helper scripts, aliases, or wrappers during initialization unless the user explicitly asks for them.
  • If .gitignore, bootstrap.sh, or README.md already exist, ask the user file-by-file whether to merge, overwrite, or skip. Do not silently replace or delete existing content.
  • If the user chooses merge, preserve the user's existing machine-specific settings while adding the generic template structure that keeps this workflow maintainable.
  • Interpret merge, overwrite, and skip as decisions about how the local file should be reconciled with the starter template. Do not reinterpret those decisions based on whether the remote repo is empty or already populated.
  • If the user already provided a remote repo URL and initialization succeeds locally, treat the first push as part of the default initialization flow. Do not stop at a local-only first commit unless push fails or the user explicitly wants to defer it.
  • Do not use git stash -u by default in this repo. The work tree is the whole home directory and -u can sweep huge unrelated caches into stash.
  • If local tracked edits block pull, stash tracked files only, pull, then re-apply and resolve conflicts.
  • If stash apply stages files automatically, restore them back to unstaged unless the user explicitly wants them staged.
  • Treat GUI-discoverable mode as a reversible operational mode, not a one-time migration. The user may enable it, disable it, and re-enable it repeatedly.
  • When the user starts using this skill for interactive repo management, ask whether they want GUI-discoverable mode enabled so Git GUI tools can detect and manage the dotfiles repo more easily.
  • If the user wants GUI-discoverable mode:
    • load the GUI mode flow from the reference
    • use the bundled scripts under ${CLAUDE_SKILL_DIR}/scripts/
  • If the user does not want GUI-discoverable mode, or wants to turn it back off mid-session, run the exit flow.
  • Before switching GUI mode, inspect current mode first and explain whether the repo is already enabled, already disabled, or needs a state change.

Workflow:

  1. Confirm whether the user wants first-time initialization, deployment on another machine, inspection, local update, pull/merge, push, or GUI mode enter/exit.
  2. Load references/dotfiles-operations.md.
  3. If the task is first-time initialization or starter-file refresh, also load the relevant template files from assets/.
  4. If the task involves GUI mode, use the bundled scripts from ${CLAUDE_SKILL_DIR}/scripts/.
  5. Follow the matching command flow, but keep default execution at one command per Bash call. Only preserve complex shell syntax when it is truly necessary.
  6. Re-check status and explain the final repo state clearly, including the next safe step for the user.

Use the reference file for:

  • Repo shape and command conventions
  • First-time initialization from an empty private remote repo
  • Starter-file handling and merge/overwrite/skip decisions
  • New-machine deployment steps
  • Day-to-day update workflow
  • Pull and merge workflow with or without local edits
  • Push workflow
  • GUI-discoverable mode enter / exit / inspect flow
  • Safety notes for a whole-home work tree

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.