gitlab-repo

GitLab repository operations. ALWAYS use this skill when user wants to: (1) clone repositories, (2) fork projects, (3) view repo info, (4) create new projects, (5) archive/delete repos, (6) manage repo settings.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gitlab-repo" with this command: npx skills add grandcamel/gitlab-assistant-skills/grandcamel-gitlab-assistant-skills-gitlab-repo

Repository Skill

Repository and project operations for GitLab using the glab CLI.

Quick Reference

OperationCommandRisk
Clone repoglab repo clone <repo>-
Fork repoglab repo fork <repo>⚠️
View repoglab repo view-
Create repoglab repo create⚠️
Search reposglab repo search <query>-
Archive repoglab repo archive⚠️⚠️
Delete repoglab repo delete⚠️⚠️⚠️
List contributorsglab repo contributors-

Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger

When to Use This Skill

ALWAYS use when:

  • User wants to clone, fork, or create repositories
  • User mentions "repo", "repository", "project", "clone", "fork"
  • User wants to manage project settings

NEVER use when:

  • User wants to work with specific repo content (use git directly)
  • User wants to manage deploy keys (use gitlab-deploy-key skill)

Available Commands

Clone Repository

glab repo clone <repo> [directory] [options]

Arguments:

  • <repo> - Repository path, URL, or project ID
  • [directory] - Optional local directory name

Options:

FlagDescription
-g, --group=<group>Clone all repos in a group
-p, --preserve-namespaceClone into subdirectory based on namespace
-a, --archived=<bool>Include/exclude archived repos (with -g)
--paginateFetch all pages of projects (with -g)

Examples:

# Clone by path
glab repo clone gitlab-org/cli

# Clone by URL
glab repo clone https://gitlab.com/gitlab-org/cli

# Clone into specific directory
glab repo clone gitlab-org/cli my-glab

# Clone by project ID
glab repo clone 4356677

# Clone preserving namespace structure
glab repo clone gitlab-org/cli -p
# Creates: gitlab-org/cli/

# Clone all repos in a group
glab repo clone -g mygroup --paginate

# Clone only non-archived repos from group
glab repo clone -g mygroup --archived=false --paginate

Fork Repository

glab repo fork <repo> [options]

Options:

FlagDescription
-c, --cloneClone the fork after creating
-n, --name=<name>Name for the forked project
-p, --path=<path>Path for the forked project
--remoteAdd a remote for the fork

Examples:

# Fork a repository
glab repo fork owner/repo

# Fork and clone
glab repo fork owner/repo --clone

# Fork with custom name
glab repo fork owner/repo --name="my-fork"

# Fork and add remote
glab repo fork owner/repo --remote

View Repository

glab repo view [repo] [options]

Options:

FlagDescription
-w, --webOpen repository in browser
-b, --branch=<branch>View specific branch

Examples:

# View current repository info
glab repo view

# View specific repo
glab repo view gitlab-org/cli

# Open in browser
glab repo view --web

# View specific branch
glab repo view --branch=develop

Create Repository

glab repo create [name] [options]

Options:

FlagDescription
-n, --name=<name>Repository name
-d, --description=<desc>Repository description
-g, --group=<group>Create in specific group/namespace
--publicMake repository public
--privateMake repository private
--internalMake repository internal
--readmeInitialize with README
-c, --cloneClone after creation

Examples:

# Create repository interactively
glab repo create

# Create with name and description
glab repo create my-project -d "My awesome project"

# Create public repo in group
glab repo create my-project --group=myteam --public

# Create and clone
glab repo create my-project --clone --readme

Search Repositories

glab repo search <query> [options]

Options:

FlagDescription
-P, --per-page=<n>Results per page
--allGet all results

Examples:

# Search for repos
glab repo search "cli tools"

# Search with more results
glab repo search "gitlab" --per-page=50

Archive Repository

glab repo archive [repo] [options]

Archives a repository (makes it read-only).

Examples:

# Archive current repo
glab repo archive

# Archive specific repo
glab repo archive owner/repo

Delete Repository

glab repo delete [repo] [options]

Warning: This permanently deletes the repository and all its data!

Options:

FlagDescription
-y, --yesSkip confirmation prompt

Examples:

# Delete repo (will prompt for confirmation)
glab repo delete owner/repo

# Delete without confirmation (dangerous!)
glab repo delete owner/repo --yes

List Contributors

glab repo contributors [repo] [options]

Options:

FlagDescription
-P, --per-page=<n>Results per page
--order=<order>Sort order: name, email, commits

Examples:

# List contributors for current repo
glab repo contributors

# List with sorting
glab repo contributors --order=commits

Transfer Repository

glab repo transfer <repo> <new-namespace>

Transfer a repository to another namespace.

Examples:

# Transfer to different group
glab repo transfer myrepo newgroup

Common Workflows

Workflow 1: Fork and Contribute

# 1. Fork the repository
glab repo fork upstream/project --clone

# 2. Add upstream remote
cd project
git remote add upstream https://gitlab.com/upstream/project.git

# 3. Create feature branch
git checkout -b feature/my-change

# 4. Make changes, commit, push
git add . && git commit -m "Add feature"
git push -u origin feature/my-change

# 5. Create MR to upstream
glab mr create --target-branch=main

Workflow 2: Batch Clone Team Repos

# Clone all non-archived repos from team group
glab repo clone -g myteam --archived=false --paginate -p

# This creates:
# myteam/
#   repo1/
#   repo2/
#   ...

Workflow 3: Create New Project

# 1. Create the repository
glab repo create awesome-project \
  -d "An awesome new project" \
  --group=myteam \
  --readme \
  --clone

# 2. Set up the project
cd awesome-project
# Add initial files...

# 3. View it in browser
glab repo view --web

Troubleshooting

IssueCauseSolution
Authentication failedInvalid/expired tokenRun glab auth login
Repo not foundInvalid path or no accessCheck repo path and permissions
Clone failedSSH keys not configuredUse HTTPS or configure SSH keys
Cannot forkAlready forked or no permissionCheck existing forks
Cannot deleteNot owner or maintainerRequest owner to delete

Related Documentation

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

gitlab-mr

No summary provided by upstream source.

Repository SourceNeeds Review
General

gitlab-ci

No summary provided by upstream source.

Repository SourceNeeds Review
General

gitlab-group

No summary provided by upstream source.

Repository SourceNeeds Review
General

gitlab-issue

No summary provided by upstream source.

Repository SourceNeeds Review