AgentStack
SKILL verified MIT Self-run

Glab Repo

skill-vince-winkintel-gitlab-cli-skills-glab-repo · by vince-winkintel

Work with GitLab repositories and projects including clone, create, fork, archive, view, update, delete, search, transfer, and member management. Use when managing repo lifecycle, forking projects, cloning repositories, searching for projects, managing collaborators, or configuring repo settings. Triggers on repository, repo, project, clone, fork, create repo, search projects, collaborators.

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-vince-winkintel-gitlab-cli-skills-glab-repo

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Glab Repo? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

glab repo

Work with GitLab repositories and projects.

Quick start

# Clone a repository
glab repo clone group/project

# Create new repository
glab repo create my-new-project --public

# Fork a repository
glab repo fork upstream/project

# View repository details
glab repo view

# Add a Git remote from a GitLab project reference
glab repo remote add group/project --name upstream

# Prune local branches whose MRs have been merged
glab repo prune --dry-run
glab repo prune --yes

# Search for repositories
glab repo search "keyword"

Common workflows

Starting new project

  1. Create repository:

```bash glab repo create my-project \ --public \ --description "My awesome project"

# Create with README glab repo create my-project \ --public \ --readme ```

Note: glab repo create --readme clones the newly created repository instead of using git init, ensuring a clean local copy with the initial README.

  1. Clone locally (if not using --readme):

``bash glab repo clone my-username/my-project cd my-project ``

  1. Initialize with content:

``bash echo "# My Project" > README.md git add README.md git commit -m "Initial commit" git push -u origin main ``

Forking workflow

  1. Fork upstream repository:

``bash glab repo fork upstream-group/project ``

  1. Clone your fork:

``bash glab repo clone my-username/project cd project ``

  1. Add upstream remote:

``bash glab repo remote add upstream-group/project --name upstream ``

glab repo remote add resolves a GitLab project reference and adds the appropriate Git remote URL. The default remote name is the first path component (upstream-group in the example); override it with --name / -n. Use --protocol ssh|https / -p to override the git_protocol config.

``bash glab repo remote add alice/my-project glab repo remote add alice/my-project --name upstream glab repo remote add group/subgroup/my-project --protocol ssh ``

  1. Keep fork in sync:

``bash git fetch upstream git merge upstream/main ``

Automated sync:

Use the sync script bundled with this skill under scripts/ for one-command fork updates (paths below are relative to the skill's own directory):

scripts/sync-fork.sh main
scripts/sync-fork.sh develop upstream

This automatically: fetches → merges → pushes to origin.

Repository management

View repository info:

glab repo view
glab repo view group/project  # Specific repo
glab repo view --web          # Open in browser

Update repository settings:

glab repo update \
  --description "Updated description" \
  --default-branch develop

Archive repository:

glab repo archive download main  # Downloads .tar.gz
glab repo archive download main --format zip

Transfer to new namespace:

glab repo transfer my-project --target-namespace new-group

Delete repository:

glab repo delete group/project

Local branch pruning

glab repo prune deletes local Git branches whose GitLab merge requests have been merged. It never deletes remote branches on GitLab, and it skips protected branches, the default branch, and the branch currently checked out.

# Preview branches that would be deleted
glab repo prune --dry-run

# Delete branches after confirmation
glab repo prune

# Delete without confirmation after reviewing the dry run
glab repo prune --yes

# Exclude additional branches by exact name or glob; comma-separate or repeat
glab repo prune --exclude wip-*,demo-branch

# Faster local-Git detection; misses squash/rebase merges that are not fast-forward ancestry
glab repo prune --merged

Prefer the default GitLab-backed mode for correctness: it queries merge requests for each local branch and handles squash/rebase merge cases better than plain git branch --merged. Use --merged only when the faster fast-forward-only check is acceptable.

Member management

List collaborators:

glab repo members list

Add member:

glab repo members add @username --access-level maintainer

Remove member:

glab repo members remove @username

Update member access:

glab repo members update @username --access-level developer

Bulk operations

Clone all repos in a group:

glab repo clone -g my-group

Search and clone:

glab repo search "api" --per-page 10
# Then clone specific result
glab repo clone group/api-project

List your repositories:

glab repo list
glab repo list --member          # Only where you're a member
glab repo list --mine            # Only repos you own

Troubleshooting

Clone fails with permission error:

  • Verify you have access: glab repo view group/project
  • Check authentication: glab auth status
  • For private repos, ensure you're logged in with correct account

Fork operation fails:

  • Check if fork already exists in your namespace
  • Verify you have permission to fork (some repos disable forking)
  • Try with explicit namespace: glab repo fork --fork-path username/new-name

Transfer fails:

  • Verify you have owner/maintainer access
  • Check target namespace exists and you have create permissions
  • Some projects may have transfer protections enabled

Group clone fails:

  • Verify group exists and you have access
  • Check you have enough disk space
  • Large groups may time out - clone specific repos instead

Related Skills

Authentication and access:

  • See glab-auth for login and authentication setup
  • See glab-ssh-key for SSH key management
  • See glab-deploy-key for deployment authentication

Project configuration:

  • See glab-config for CLI defaults and settings
  • See glab-variable for CI/CD variables

Fork synchronization:

  • Script: scripts/sync-fork.sh automates upstream sync

Structured output

glab repo contributors supports --output json / -F json for structured output, which is useful for agent automation.

# List contributors with JSON output
glab repo contributors --output json
glab repo contributors -F json

Command reference

For complete command documentation and all flags, see [references/commands.md](references/commands.md).

Available commands:

  • clone - Clone repository or group
  • create - Create new project
  • fork - Fork repository
  • view - View project details
  • update - Update project settings
  • delete - Delete project
  • search - Search for projects
  • list - List repositories
  • transfer - Transfer to new namespace
  • archive - Download repository archive
  • contributors - List contributors
  • members - Manage project members
  • mirror - Configure repository mirroring
  • remote - Manage Git remotes using GitLab project references
  • prune - Delete local branches whose GitLab merge requests are merged
  • publish - Publish project resources

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.