A prompt-driven setup, not a script. Explore, present what was found, confirm, then write. Nothing is committed, pushed or imported without its own go-ahead (ASK-1, ASK-2, ASK-3).
1. Explore
Read what exists; assume nothing (EVID-8):
git remote -v: which forge, which repository.AGENTS.mdandCLAUDE.mdat the root: which exists, whether a "Rules that bind" block is already there.docs/agents/,.agentic-sdlc.json,GLOSSARY.md,docs/adr/,.scratch/..github/workflows/: an existing CI gate the ruleset should require.- Rulesets and branch protection already applied (
gh ruleset liston GitHub; the protected branches of the project on GitLab). - Monorepo signals: a workspace file, several packages with their own source.
2. Present and confirm
Lead each section with the recommended answer so the decider can accept it in a word.
- Tracker: GitHub issues when the remote is GitHub; GitLab when it is GitLab; local markdown
under
.scratch/for a repository without a remote; "other" recorded as a paragraph. Labels default toneeds-triage,needs-info,ready-for-agent,ready-for-human,wontfix. - Protected branches:
mainplus any release branch. - Attribution mode:
patterns(the default) orstrict. - Decision records:
docs/adr/in the repository, or a private path the repository'sdocs/agents/conventions.mdnames. - Mechanisms: the reusable workflow as a required check, and the ruleset import.
3. Write
In this order, each shown before it is written and each path checked first (DECIDE-5):
- The "Rules that bind" block into the file that exists, in place if a block is already there
(SETUP-1). Template:
assets/AGENTS-block.mdbeside this skill. Never create a second agent file beside the existing one; when neitherAGENTS.mdnorCLAUDE.mdexists, ask which one to create and never pick. docs/agents/tracker.md(SETUP-2) fromassets/docs-agents/tracker.md.docs/agents/conventions.mdfromassets/docs-agents/conventions.md..agentic-sdlc.jsonfromassets/agentic-sdlc.json, with the confirmed branches and mode.agentic-sdlc validatepasses on it.- If the tracker is local markdown:
.scratch/in.gitignore. - On GitHub: a workflow file that calls
anivar/agentic-sdlc/.github/workflows/conventions.ymlat a pinned tag, and the import command forrulesets/main-protected.jsonwith the required check names adjusted to this repository's gate. On GitLab: the job fromassets/gitlab-ci.ymlin.gitlab-ci.yml. Elsewhere: the native git hooks (agentic-sdlc hooks install).
All of it lands as one reviewed pull request (SETUP-3). The ruleset import is run by the decider after the merge, since it changes the forge's settings.
4. Done
Say which skills now read from these files, and that re-running the setup is only needed to
switch trackers or change the mode. Editing docs/agents/*.md and .agentic-sdlc.json by hand
is the normal path afterwards. An edit to .agentic-sdlc.json, a git hook, .claude/settings.json
or .pre-commit-config.yaml changes what the guard does, so it is described and agreed before it
is written (GUARD-2).
Companion skills
| Need | Skill |
|---|---|
| The tickets the tracker file enables | cut-tickets |
| The records the conventions file points at | decision-records |
| Landing the setup pull request | thin-slices |