cyrus-setup-gitlab — Claude Code skill: GitLab auth setup
Configures glab and your git identity so Cyrus can open branches, commits and merge requests in your repo.
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a claude-codeWhat cyrus-setup-gitlab does
The skill runs four steps. First it checks whether glab is authenticated and whether user.name and user.email are set — if both are in place, it stops right there. Otherwise it runs glab auth login, which opens a browser flow for you to finish. Self-hosted instances get the --hostname variant.
Then it asks what name and email should appear on commits made by Cyrus and writes them with git config --global. The last step re-runs the same checks to confirm.
One hard rule: files under ~/.cyrus/, .env included, are touched only through Bash — grep, printf >>. Secrets must not land in the conversation context, so Read, Edit and Write are off limits for them. Worth remembering if you usually open config files with the agent's normal tools.
What it helps with
- check whether
glabis already authenticated - sign in to the GitLab CLI through the browser flow
- point the CLI at a self-hosted GitLab hostname
- set the name and email used on agent commits
- confirm the global git identity is in place
Example prompts for the agent
- Set up GitLab for Cyrus
- Check if glab is authenticated and configure my git identity
- Connect a self-hosted GitLab and set up commits
How to install cyrus-setup-gitlab
1Skills CLI (Vercel)
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a claude-code2Manually: put the files in place
~/.claude/skills/cyrus-setup-gitlab/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cyrus-setup-gitlab/
1Skills CLI (Vercel)
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a codex2Manually: put the files in place
.agents/skills/cyrus-setup-gitlab/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a cursor2Manually: put the files in place
.cursor/skills/cyrus-setup-gitlab/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install cyrusagents/cyrus cyrus-setup-gitlab2Manually: put the files in place
.github/skills/cyrus-setup-gitlab/SKILL.md1Skills CLI (Vercel)
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a gemini-cli2Platform CLI
gemini skills install https://github.com/cyrusagents/cyrus --path skills/cyrus-setup-gitlabManually: put the files in place
.devin/skills/cyrus-setup-gitlab/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about cyrus-setup-gitlab
How do I install cyrus-setup-gitlab in Claude?
Run npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a claude-code. The skill then lives at ~/.claude/skills/cyrus-setup-gitlab/SKILL.md.
What does cyrus-setup-gitlab do?
It checks glab authentication, starts the login flow when needed, and sets global user.name and user.email so Cyrus can create branches, commits and merge requests.
Why does the skill forbid reading files under ~/.cyrus/?
Those files hold secrets. Only Bash commands may touch them, so the values never enter the conversation context.
Source text
SKILL.md · Apache-2.0
--- name: cyrus-setup-gitlab description: Configure GitLab authentication for Cyrus — glab CLI login and git config for creating merge requests. --- **CRITICAL: Never use `Read`, `Edit`, or `Write` tools on `~/.cyrus/.env` or any file inside `~/.cyrus/`. Use only `Bash` commands (`grep`, `printf >>`, etc.) to interact with env files — secrets must never be read into the conversation context.** # Setup GitLab Configures GitLab CLI and git so Cyrus can create branches, commits, and merge requests. ## Step 1: Check Existing Configuration Check if `glab` is already authenticated: ```bash glab auth status 2>&1 ``` If authenticated, check git config: ```bash git config --global user.name git config --global user.email ``` If both `glab` auth and git config are set, inform the user: > GitLab is already configured. Skipping this step. Skip to completion. ## Step 2: Authenticate GitLab CLI If `glab` is not authenticated: ```bash glab auth login ``` This opens an interactive browser flow. Let the user complete it. For self-hosted GitLab instances, the user can specify the hostname: ```bash glab auth login --hostname gitlab.example.com ``` After completion, verify: ```bash glab auth status ``` ## Step 3: Configure Git Identity If git user name or email are not set, ask the user for their preferred values: > **What name should appear on commits made by Cyrus?** > (e.g., your name, or "Cyrus Bot") > **What email should appear on commits?** > (e.g., your email, or a noreply address) Then set them: ```bash git config --global user.name "<name>" git config --global user.email "<email>" ``` ## Step 4: Verify ```bash glab auth status git config --global user.name git config --global user.email ``` ## Completion > ✓ GitLab CLI authenticated > ✓ Git identity configured: `<name>` <`email`>
© cyrusagents · Apache-2.0 · cyrusagents/cyrus