Treat the public and private chezmoi sources as related but separate management domains. Establish their current ownership boundary before proposing or making changes.
Skill content is not one of those domains any more. It lives in
and
, and the dotfiles repositories hold only the subscription allowlist that installs it. Use the
shunk031-manage-public-private-skills
skill for anything that adds, edits, or removes a skill, and use this one for the configuration around it.
-
Read the applicable instructions before investigating.
- Read , then read
~/.agents/AGENTS-private.md
when it is readable.
- Treat
~/.agents/AGENTS-private.md
as the stable user-level path. Its canonical content is ~/.local/share/chezmoi-private/.agents/AGENTS-private.md
, while its symlink wiring is managed by the public dotfiles source.
- Edit the private repository for content changes and the public repository only for symlink wiring changes. Do not duplicate or move the private content into either tree.
- Read the root in both dotfiles repositories. Follow each repository's rules for changes made there.
-
Inspect both repositories before choosing an edit target.
- Public source: , using
~/.config/chezmoi/chezmoi.yaml
.
- Private source:
~/.local/share/chezmoi-private
, using ~/.config/chezmoi-private/chezmoi.yaml
.
- Check
git status --short --branch
in both repositories and preserve all existing changes.
- Search both sources for the relevant applied path, command, setting, identifier, and documentation. Use with the corresponding source and config when the source mapping is unclear.
- Inspect relevant history in both repositories when ownership, intent, or a previous migration cannot be determined from the current files alone.
-
Determine the current source of truth from evidence.
- Prefer the public repository for portable, shareable configuration and shared agent guidance.
- Prefer the private repository for credentials, internal infrastructure, private profiles, authentication helpers, internal endpoints, and private launchers.
- Treat these as defaults, not a substitute for reading the current repository instructions and implementation.
- Do not copy a setting into both repositories merely to make it available in both contexts. Preserve adapters and symlinks that expose one canonical source.
-
Make only the required source changes.
- Edit chezmoi source state rather than applied files under the home directory.
- Change only the authoritative repository when the task belongs to one management domain.
- When both repositories require coordinated changes, keep their worktrees, commits, and pull requests separate and explain the dependency between them.
- Create a clean task worktree for each affected repository when required by its instructions. Never mix unrelated local changes into the task.
-
Validate and report each affected domain independently.
- Run the checks required by each affected repository and report which repository owns each change.
- Keep credentials and secret values out of command output, diffs quoted in chat, and summaries.
- Do not run , change runtime state, push, open or update pull requests, or merge unless the user's request explicitly authorizes that operation.
Report the evidence used to select each source of truth, the files changed in each repository, the validation performed, and any ordering required between public and private changes. If investigation shows that only one repository needs modification, say that explicitly.