Installs into .claude/skills of the current project.
Are you the author of Cyrus Setup Gitlab?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/cyrusagents-cyrus-setup-gitlab)
---
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`>