How to use personal repository overrides
Keep the team's configuration committed while you add or hide resources in your own checkout only. Your choices go in .agents/config.local.yaml, a file Git ignores.
Prerequisites
- A repository with
.agents/config.yaml. agent-marketplaceon yourPATH.
1. Create a personal override file
The committed configuration:
# .agents/config.yaml
apiVersion: agent-marketplace/v4
harnesses: [claude]
sources:
shared:
git: https://github.com/example-org/agent-resources.git
ref: v1.4.0
resources:
shared:
include:
- skill/my-team-skill
- skill/some-team-skillCreate .agents/config.local.yaml next to it. Set apiVersion: agent-marketplace/v4, and repeat the source declaration so the CLI knows which registry your changes apply to:
# .agents/config.local.yaml
apiVersion: agent-marketplace/v4
sources:
shared:
git: https://github.com/example-org/agent-resources.git
ref: v1.4.0
resources:
shared:
include:
- skill/my-personal-skill
exclude:
- skill/some-team-skillThe local file applies on top of the committed one. In this checkout, my-personal-skill is added and some-team-skill is hidden. Without its own exact apiVersion: agent-marketplace/v4, this root fails with v4.api-version-required (field omitted) or v4.api-version (unsupported or invalid value), naming the local file and field. The fragment version exception does not apply to this root. Without the repeated source, the CLI reports v4.undefined-source. The local file cannot contain harnesses. Keep only personal resources in it.
You can also let the CLI write this file: agent-marketplace install <name> --scope local prints Installed <name> locally, and agent-marketplace remove <name> --scope local prints Removed <name>. Both edit .agents/config.local.yaml for you.
2. Sync
agent-marketplace syncSync prints the usual Installed <n> Removed <n> Malformed <n> Errors <n> summary, and a → line when it writes or removes output. When .agents/config.local.yaml exists, the CLI adds it and .agents/lock.local.yaml to the repository's .gitignore if they are not listed. Sync writes .agents/lock.local.yaml for the Git registries in your local file.
3. Verify the override
agent-marketplace statusIn SYNCED RESOURCES, my-personal-skill appears with REPO* in the SOURCE column, which marks the personal-local layer, and some-team-skill is no longer listed. The LOCAL REGISTRIES section lists the registries your local file declares. To verify a local exclusion, check that the resource is missing from SYNCED RESOURCES in the repository scope.
Boundaries
- Local exclusions apply only to resources that come from repository configuration and are not required.
- A local file cannot hide required resources or resources from your user or organization configuration.
- A local file cannot declare
harnesses,allowed_marketplaces,allowed_registries,backup,logging, ortelemetry.
Troubleshooting
- If
some-team-skillstill appears, it may be required, or it may come from your user or organization configuration. Check itsSOURCEcolumn underSYNCED RESOURCES. - If
.agents/config.local.yamlis already tracked by Git, remove it from the index withgit rm --cached .agents/config.local.yaml(it printsrm '.agents/config.local.yaml') and make sure.gitignorelists it.