<h1 align="center">
<a href="https://prompts.chat">
[](https://gitlab.com/YawLighthouse/claude-gitlab-connection-skill/-/commits/main)
Loading actions...
<a href="https://prompts.chat">
TypeScript and ESLint rules that MUST be followed when creating, modifying, or reviewing any file under apps/frontend/, including .ts, .tsx, .js, and .jsx files. Also apply when discussing frontend linting, type safety, or ESLint configuration.
risks
A performant, secure skill enabling Claude to interact with GitLab repositories.
Version: 1.1.0
This skill uses a flat file structure for simplicity:
gitlab-skill/
├── SKILL.md # Skill documentation (Claude reads this)
├── README.md # This file
├── gitlab_client.py # Core API client
├── gitlab_cli.py # CLI interface
└── test_gitlab.py # Unit tests
read_repository and read_api scopes (for private repos)Download the latest release from the Releases page. Each release includes:
gitlab_client.py - Core API clientgitlab_cli.py - CLI interfaceSKILL.md - Generated documentation for ClaudeREADME.md - This documentationLICENSE - MIT LicenseExtract to your Claude skills directory:
/mnt/skills/user/gitlab/
git clone https://gitlab.com/YawLighthouse/claude-gitlab-connection-skill.git
cd claude-gitlab-connection-skill
# Generate the SKILL.md file
python generate_skill.py --output SKILL.md
The SKILL.md file is automatically generated on every push to the main branch. To download it:
SKILL.mdOr use the GitLab API:
# Download the latest SKILL.md artifact
curl --output SKILL.md \
"https://gitlab.com/YawLighthouse/claude-gitlab-connection-skill/-/jobs/artifacts/main/raw/SKILL.md?job=generate-skill-md"
The SKILL.md file is not stored in the repository. Instead, it's generated automatically by generate_skill.py during CI/CD. This ensures:
# Validate access
python gitlab_cli.py validate YawLighthouse/claude-gitlab-connection-skill
# Get info
python gitlab_cli.py info YawLighthouse/claude-gitlab-connection-skill
# Get file tree
python gitlab_cli.py tree YawLighthouse/claude-gitlab-connection-skill
# Read a file
python gitlab_cli.py file YawLighthouse/claude-gitlab-connection-skill README.md
Get a GitLab Personal Access Token:
read_repository, read_apiglpat-)# Validate access
python gitlab_cli.py --token glpat-xxx validate user/private-repo
# Get info
python gitlab_cli.py --token glpat-xxx info user/private-repo
# Read files
python gitlab_cli.py --token glpat-xxx files user/private-repo "README.md,src/main.py"
# Unit tests
python test_gitlab.py
# Integration tests (requires token for private repos)
python test_gitlab.py --integration --project YawLighthouse/claude-gitlab-connection-skill
python test_gitlab.py --integration --token glpat-xxx --project user/private-repo
| Command | Description |
|---|---|
validate | Check repository access |
info | Get repository metadata |
tree | Get file structure |
file | Get single file content |
files | Batch retrieve multiple files (faster!) |
branches | List all branches |
branch | Get branch details |
search | Search files by name |
commits | Get recent commits |
compare | Compare two branches |
help | Show command help |
--format md (default) - Human-readable Markdown--format json - Machine-parseable JSONClaude can use shorthand commands:
gl:validate YawLighthouse/claude-gitlab-connection-skill
gl:info YawLighthouse/claude-gitlab-connection-skill
gl:tree user/repo TOKEN
gl:file user/repo src/main.py TOKEN
gl:files user/repo "a.py,b.py" TOKEN develop
ref parameter was required for file operationsReleases are automated via GitLab CI/CD. To create a new release:
# Tag the release
git tag v1.2.0
# Push the tag
git push origin v1.2.0
The pipeline will automatically:
SKILL.md documentation.tar.gz and .zip)Currently supports gitlab.com only. Self-hosted GitLab instances are not supported.
This project uses GitLab CI/CD for automated testing:
| Stage | Jobs | Description |
|---|---|---|
| lint | syntax-check, flake8 | Code quality checks |
| test | unit-tests, integration-tests, python-3.9/3.10/3.12 | Automated testing |
| security | bandit-security, secrets-check | Security scanning |
| report | pages | Coverage reports on GitLab Pages |
All merge requests must pass the CI pipeline before merging.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
MIT License - Use freely.