Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add cyrusagents/cyrus --skill cyrus-setup-gitlab -a claude-code
Open on GitHub

What 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 glab is 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-code

2Manually: put the files in place

~/.claude/skills/cyrus-setup-gitlab/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cyrus-setup-gitlab/

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

Similar skills

All skills for Git and GitHub →

From the same set19

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor