babarot/gh-infra/repository-manifest
- community
Checking that the SKILL.md file is still in the repository.
Complete YAML schema reference for Repository and RepositorySet resources. Use when writing or editing manifests for repo settings, labels, actions, branch protection, rulesets, secrets, variables, or repository defaults.
Install
npx vskill@latest install babarot/gh-infra/repository-manifestSKILL.md
Repository Manifest Reference
Use this skill when editing repository-side manifests. Keep the body small and load references only as needed.
Core Rules
- All
specfields are optional. Omitted fields are left unchanged on GitHub. Repositorymanages one repository.RepositorySetmanages many repositories with shareddefaults.- For new setups, prefer
rulesetsover classicbranch_protection. - Secret values must use
${ENV_*}indirection, never literal secrets.
Repository
Read these references as needed:
- General settings and lifecycle: references/general.md
- Labels and reconcile mode: references/labels.md
- Actions settings and validation traps: references/actions.md
- Rulesets and branch protection: references/protection.md
- Secrets and variables: references/secrets-variables.md
- Security (Dependabot, vulnerability alerts): references/security.md
RepositorySet
Use RepositorySet when many repositories share defaults.
Override behavior matters:
- Scalars are replaced
- Simple lists are replaced entirely
- Keyed collections are merged by key
- Maps are merged by key
This means topics replace the default list, while labels and reconcile.labels are merged by key/collection.
Read references/repository-set.md for the exact merge rules.
High-Value Gotchas
actions.enabledis required when setting any otheractions.*fieldactions.selected_actionsis valid only withallowed_actions: selectedreconcile.labels: authoritative,reconcile.rulesets: authoritative, andreconcile.branch_protection: authoritativedelete undeclared remote entries; reviewplancarefullyreconcilewithout a correspondingspeccollection is no-op; a collection is managed only when it appears inspeclabel_sync: mirroris deprecated; usereconcile.labels: authoritative- fields left out of the manifest are left as they are on GitHub (rulesets, branch protection, milestones, label descriptions, selected actions): to manage part of a ruleset, write only that part
- in a RepositorySet entry,
labels: [](orrulesets,branch_protection,secrets,variables,topics,milestones) means none: the defaults are not inherited; underreconcile.<collection>: authoritativeit deletes every item on that repo. An entry cannot drop a single default item; change the defaults or use a standaloneRepository(#215) - label names are matched ignoring case, as on GitHub; changing only the case renames the label
- for
gh infra import --into, use the dedicatedimport-intoskill - Repository deletion is not supported
- plan reads only the settings the manifest sets; a managed setting the token cannot read (403) fails the repo with
cannot read ...instead of being treated as empty (rulesets on GitHub Free private repos fail this way)
Verification
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/repository-manifest/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/babarot/gh-infra/repository-manifest)