{"id":"c61fe2a5-ab66-4f4f-9f25-72ab0e528ae7","entityType":"agent","slug":"clawhub-hith3sh-gitlab-repos","name":"GitLab","canonicalUrl":"https://www.xpersona.co/agent/clawhub-hith3sh-gitlab-repos","canonicalPath":"/agent/clawhub-hith3sh-gitlab-repos","generatedAt":"2026-10-09T16:47:38.215Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":null},"description":"Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec... Skill: GitLab Owner: hith3sh Summary: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:08:32.777Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 7.3K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:gitlab-repos","sourceUrl":"https://clawhub.ai/hith3sh/gitlab-repos","homepage":"https://clawhub.ai/hith3sh/skills/gitlab-repos","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/hith3sh/gitlab-repos","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/hith3sh/skills/gitlab-repos","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":77,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":null},"stars":null,"forks":null,"downloads":7256,"packageName":null,"latestVersion":"1.0.5","tractionLabel":"7.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T03:00:51.933Z","lastCrawledAt":"2026-10-09T03:00:51.933Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T03:00:51.933Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.5","createdAt":"2026-06-09T07:08:32.777Z","changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","fileCount":3,"zipByteSize":5854},{"version":"1.0.4","createdAt":"2026-06-09T04:52:27.918Z","changelog":"- Removed the file: skill-card.md - No other changes to functionality or documentation.","fileCount":3,"zipByteSize":5779},{"version":"1.0.1","createdAt":"2026-06-08T16:36:17.815Z","changelog":"- Added a GitLab logo to the documentation for improved visual branding. - Removed the file \"skill-card.md\". - No functional updates; documentation only.","fileCount":3,"zipByteSize":5782},{"version":"0.1.1","createdAt":"2026-06-07T13:29:29.429Z","changelog":"Full rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.","fileCount":3,"zipByteSize":5606},{"version":"0.1.0","createdAt":"2026-05-16T17:49:35.147Z","changelog":"- Initial release of gitlab-repos skill. - Enables chat-based management of GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via ClawLink. - Guides users through setup: installing ClawLink plugin, pairing, and connecting GitLab accounts. - Uses ClawLink for secure connection flows—no need to handle API credentials directly. - Provides instructions for discovering and executing available GitLab tools dynamically. - Lists typical supported actions and enforces safe, confirmation-based workflows for write operations.","fileCount":3,"zipByteSize":3372}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:gitlab-repos","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T16:47:38.214Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-gitlab-repos/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":null},"readme":"Skill: GitLab\n\nOwner: hith3sh\n\nSummary: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec...\n\nTags: latest:1.0.5\n\nVersion history:\n\nv1.0.5 | 2026-06-09T07:08:32.777Z | user\n\nAdd UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.\n\nv1.0.4 | 2026-06-09T04:52:27.918Z | auto\n\n- Removed the file: skill-card.md\n- No other changes to functionality or documentation.\n\nv1.0.1 | 2026-06-08T16:36:17.815Z | auto\n\n- Added a GitLab logo to the documentation for improved visual branding.\n- Removed the file \"skill-card.md\".\n- No functional updates; documentation only.\n\nv0.1.1 | 2026-06-07T13:29:29.429Z | user\n\nFull rewrite to new standard: added tool reference tables, 3-step GIF table, architecture diagram, code examples, error handling, and troubleshooting.\n\nv0.1.0 | 2026-05-16T17:49:35.147Z | auto\n\n- Initial release of gitlab-repos skill.\n- Enables chat-based management of GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via ClawLink.\n- Guides users through setup: installing ClawLink plugin, pairing, and connecting GitLab accounts.\n- Uses ClawLink for secure connection flows—no need to handle API credentials directly.\n- Provides instructions for discovering and executing available GitLab tools dynamically.\n- Lists typical supported actions and enforces safe, confirmation-based workflows for write operations.\n\nArchive index:\n\nArchive v1.0.5: 3 files, 5854 bytes\n\nFiles: skill-card.md (2559b), SKILL.md (13818b), _meta.json (131b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projects and groups, inspect issues and MRs, review commits and pipelines, create or update issues after confirmation, or manage project members and CI/CD pipelines in GitLab.\n---\n\n# GitLab\n\n![GitLab](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/gitlab.svg)\n\nAccess GitLab via the GitLab API with OAuth authentication. Manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos) for hosted connection flows and credentials so you do not need to configure GitLab API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect GitLab |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect GitLab |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for GitLab again.\"\n\n## Quick Start\n\n```bash\n# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"gitlab_get_project\" --params '{\"id\": \"owner/repo-name\"}'\n\n# List project issues\nclawlink_call_tool --tool \"gitlab_list_project_issues\" --params '{\"id\": \"owner/repo-name\", \"state\": \"opened\"}'\n```\n\n## Authentication\n\nAll GitLab tool calls are authenticated automatically by ClawLink using the user's connected GitLab account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every GitLab API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=gitlab and connect GitLab.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `gitlab` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration gitlab\n```\n\n**Response:** Returns the live tool catalog for GitLab.\n\n### Reconnect\n\nIf GitLab tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=gitlab\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration gitlab`\n\n## Security & Permissions\n\n- Access is scoped to projects and resources accessible to the connected GitLab account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (deleting projects, archiving, removing members) are marked as high-impact and must be confirmed.\n- CI/CD pipeline operations affect build and deployment systems — confirm before triggering or canceling.\n\n## Tool Reference\n\n### Projects\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_projects` | List all projects accessible to the authenticated user | Read |\n| `gitlab_get_project` | Get project details by ID or path | Read |\n| `gitlab_create_project` | Create a new project | Write |\n| `gitlab_archive_project` | Archive a project (read-only) | Write |\n| `gitlab_delete_project` | Delete a project permanently | Write |\n| `gitlab_list_project_pipelines` | List CI/CD pipelines for a project | Read |\n\n### Groups\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_groups` | List all groups | Read |\n| `gitlab_get_group` | Get group details | Read |\n| `gitlab_create_group` | Create a new group | Write |\n| `gitlab_list_group_members` | List direct members of a group | Read |\n| `gitlab_list_all_group_members` | List all members (direct, inherited, invited) | Read |\n\n### Issues\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_project_issues` | List issues with filtering (state, labels, assignee) | Read |\n| `gitlab_get_project_issue` | Get issue details | Read |\n| `gitlab_create_project_issue` | Create a new issue | Write |\n| `gitlab_update_project_issue` | Update issue fields (title, description, labels, state) | Write |\n\n### Merge Requests\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_project_merge_requests` | List merge requests | Read |\n| `gitlab_get_project_merge_request` | Get MR details | Read |\n| `gitlab_get_merge_request_notes` | Get comments on an MR | Read |\n\n### Commits & Branches\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_repository_commits` | List commits in a repository | Read |\n| `gitlab_get_single_commit` | Get commit details | Read |\n| `gitlab_get_repository_branches` | List branches | Read |\n| `gitlab_create_repository_branch` | Create a new branch | Write |\n\n### Members\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_all_project_members` | List all project members | Read |\n| `gitlab_import_project_members` | Import members from one project to another | Write |\n\n### User Status\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_user_status` | Get current user's GitLab status | Read |\n| `gitlab_set_user_status` | Set current user's status message | Write |\n\n## Code Examples\n\n### List project issues\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_project_issues\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"state\": \"opened\",\n    \"per_page\": 20\n  }'\n```\n\n### Create a new issue\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_project_issue\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"title\": \"Bug: Login fails on mobile\",\n    \"description\": \"Steps to reproduce: 1. Go to login 2. Enter credentials 3. Error shown\",\n    \"labels\": [\"bug\", \"priority::high\"]\n  }'\n```\n\n### Create a new branch\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_repository_branch\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"branch\": \"feature/new-feature\",\n    \"ref\": \"main\"\n  }'\n```\n\n### List pipeline jobs\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_pipeline_jobs\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"pipeline_id\": 123\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm GitLab is connected.\n2. Call `clawlink_list_tools --integration gitlab` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `gitlab`.\n5. If no GitLab tools appear, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List issues → Get issue → Show details            │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview issue → User approves     │\n│           → Execute create                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- GitLab project IDs can be numeric (`12345`) or path-based (`owner/repo-name`).\n- GitLab uses scoped labels (`bug`, `priority::high`) rather than simple strings.\n- Merge request IIDs are different from issue IIDs — they are numbered separately.\n- Pipeline status values: `pending`, `running`, `success`, `failed`, `canceled`, `skipped`.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration gitlab`. |\n| Missing connection | GitLab is not connected. Direct the user to https://claw-link.dev/dashboard?add=gitlab. |\n| `404 Not Found` | Project, issue, or MR does not exist. Verify the ID or path. |\n| `403 Forbidden` | Insufficient permissions for the requested operation. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `gitlab`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [GitHub Repos](https://clawhub.ai/hith3sh/github-repos) — For GitHub repository management\n- [GitHub Triage](https://clawhub.ai/hith3sh/github-triage-workflow) — For GitHub issue triage workflows\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780988912777\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups through the GitLab API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to connect OpenClaw to GitLab through ClawLink, inspect GitLab resources, and perform confirmed write actions such as creating issues or managing projects, members, branches, and pipelines.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: OAuth-backed GitLab access can expose sensitive project data or permit actions within the connected account's permissions.\n\nMitigation: Use a least-privileged GitLab account or scopes where possible, verify the GitLab connection before use, and review requested tool actions before execution.\n\nRisk: Create, update, delete, member-management, and CI/CD pipeline operations can change repositories, permissions, or build and deployment state.\n\nMitigation: Prefer read, list, search, and describe operations before writes; preview write actions and confirm the target resource and intended effect with the user.\n\nRisk: The artifact labels project archival as read-only even though archiving is state-changing.\n\nMitigation: Treat archive operations as write actions and require explicit confirmation before execution.\n\n## Reference(s):\n\n- [ClawHub GitLab skill page](https://clawhub.ai/hith3sh/skills/gitlab-repos)\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, API calls]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires the ClawLink plugin and a connected GitLab account; write operations require preview and explicit user confirmation.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.4: 3 files, 5779 bytes\n\nFiles: skill-card.md (2603b), SKILL.md (13623b), _meta.json (131b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projects and groups, inspect issues and MRs, review commits and pipelines, create or update issues after confirmation, or manage project members and CI/CD pipelines in GitLab.\n---\n\n# GitLab\n\n![GitLab](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/gitlab.svg)\n\nAccess GitLab via the GitLab API with OAuth authentication. Manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure GitLab API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect GitLab |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect GitLab |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for GitLab again.\"\n\n## Quick Start\n\n```bash\n# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"gitlab_get_project\" --params '{\"id\": \"owner/repo-name\"}'\n\n# List project issues\nclawlink_call_tool --tool \"gitlab_list_project_issues\" --params '{\"id\": \"owner/repo-name\", \"state\": \"opened\"}'\n```\n\n## Authentication\n\nAll GitLab tool calls are authenticated automatically by ClawLink using the user's connected GitLab account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every GitLab API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=gitlab and connect GitLab.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `gitlab` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration gitlab\n```\n\n**Response:** Returns the live tool catalog for GitLab.\n\n### Reconnect\n\nIf GitLab tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=gitlab\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration gitlab`\n\n## Security & Permissions\n\n- Access is scoped to projects and resources accessible to the connected GitLab account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (deleting projects, archiving, removing members) are marked as high-impact and must be confirmed.\n- CI/CD pipeline operations affect build and deployment systems — confirm before triggering or canceling.\n\n## Tool Reference\n\n### Projects\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_projects` | List all projects accessible to the authenticated user | Read |\n| `gitlab_get_project` | Get project details by ID or path | Read |\n| `gitlab_create_project` | Create a new project | Write |\n| `gitlab_archive_project` | Archive a project (read-only) | Write |\n| `gitlab_delete_project` | Delete a project permanently | Write |\n| `gitlab_list_project_pipelines` | List CI/CD pipelines for a project | Read |\n\n### Groups\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_groups` | List all groups | Read |\n| `gitlab_get_group` | Get group details | Read |\n| `gitlab_create_group` | Create a new group | Write |\n| `gitlab_list_group_members` | List direct members of a group | Read |\n| `gitlab_list_all_group_members` | List all members (direct, inherited, invited) | Read |\n\n### Issues\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_project_issues` | List issues with filtering (state, labels, assignee) | Read |\n| `gitlab_get_project_issue` | Get issue details | Read |\n| `gitlab_create_project_issue` | Create a new issue | Write |\n| `gitlab_update_project_issue` | Update issue fields (title, description, labels, state) | Write |\n\n### Merge Requests\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_project_merge_requests` | List merge requests | Read |\n| `gitlab_get_project_merge_request` | Get MR details | Read |\n| `gitlab_get_merge_request_notes` | Get comments on an MR | Read |\n\n### Commits & Branches\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_repository_commits` | List commits in a repository | Read |\n| `gitlab_get_single_commit` | Get commit details | Read |\n| `gitlab_get_repository_branches` | List branches | Read |\n| `gitlab_create_repository_branch` | Create a new branch | Write |\n\n### Members\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_all_project_members` | List all project members | Read |\n| `gitlab_import_project_members` | Import members from one project to another | Write |\n\n### User Status\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_user_status` | Get current user's GitLab status | Read |\n| `gitlab_set_user_status` | Set current user's status message | Write |\n\n## Code Examples\n\n### List project issues\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_project_issues\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"state\": \"opened\",\n    \"per_page\": 20\n  }'\n```\n\n### Create a new issue\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_project_issue\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"title\": \"Bug: Login fails on mobile\",\n    \"description\": \"Steps to reproduce: 1. Go to login 2. Enter credentials 3. Error shown\",\n    \"labels\": [\"bug\", \"priority::high\"]\n  }'\n```\n\n### Create a new branch\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_repository_branch\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"branch\": \"feature/new-feature\",\n    \"ref\": \"main\"\n  }'\n```\n\n### List pipeline jobs\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_pipeline_jobs\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"pipeline_id\": 123\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm GitLab is connected.\n2. Call `clawlink_list_tools --integration gitlab` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `gitlab`.\n5. If no GitLab tools appear, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List issues → Get issue → Show details            │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview issue → User approves     │\n│           → Execute create                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- GitLab project IDs can be numeric (`12345`) or path-based (`owner/repo-name`).\n- GitLab uses scoped labels (`bug`, `priority::high`) rather than simple strings.\n- Merge request IIDs are different from issue IIDs — they are numbered separately.\n- Pipeline status values: `pending`, `running`, `success`, `failed`, `canceled`, `skipped`.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration gitlab`. |\n| Missing connection | GitLab is not connected. Direct the user to https://claw-link.dev/dashboard?add=gitlab. |\n| `404 Not Found` | Project, issue, or MR does not exist. Verify the ID or path. |\n| `403 Forbidden` | Insufficient permissions for the requested operation. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `gitlab`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [GitHub Repos](https://clawhub.ai/hith3sh/github-repos) — For GitHub repository management\n- [GitHub Triage](https://clawhub.ai/hith3sh/github-triage-workflow) — For GitHub issue triage workflows\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780980747918\n}\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill to inspect and manage GitLab projects, issues, merge requests, repositories, branches, pipelines, groups, members, and user status through a connected GitLab account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses OAuth-based GitLab access and can act on resources available to the connected GitLab account. <br>\nMitigation: Install and connect only accounts whose GitLab access is appropriate for agent-assisted use. <br>\nRisk: Write operations can create, update, archive, delete, trigger, cancel, or otherwise change GitLab resources. <br>\nMitigation: Preview and confirm the target resource and intended effect before executing any write or destructive action. <br>\nRisk: CI/CD pipeline actions can affect build and deployment systems. <br>\nMitigation: Confirm the project, pipeline, and action before triggering or canceling pipeline operations. <br>\nRisk: Tool availability may depend on the active ClawLink connection and live GitLab tool catalog. <br>\nMitigation: Verify the GitLab connection and list or describe live tools before making calls when the exact capability is unclear. <br>\n\n\n## Reference(s): <br>\n- [GitLab API Documentation](https://docs.gitlab.com/api/) <br>\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [GitLab skill on ClawHub](https://clawhub.ai/hith3sh/gitlab-repos) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, API calls, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON tool-call examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected GitLab account through ClawLink; write operations require explicit confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 5782 bytes\n\nFiles: skill-card.md (2578b), SKILL.md (13623b), _meta.json (131b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projects and groups, inspect issues and MRs, review commits and pipelines, create or update issues after confirmation, or manage project members and CI/CD pipelines in GitLab.\n---\n\n# GitLab\n\n![GitLab](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/gitlab.svg)\n\nAccess GitLab via the GitLab API with OAuth authentication. Manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure GitLab API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect GitLab |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect GitLab |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for GitLab again.\"\n\n## Quick Start\n\n```bash\n# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"gitlab_get_project\" --params '{\"id\": \"owner/repo-name\"}'\n\n# List project issues\nclawlink_call_tool --tool \"gitlab_list_project_issues\" --params '{\"id\": \"owner/repo-name\", \"state\": \"opened\"}'\n```\n\n## Authentication\n\nAll GitLab tool calls are authenticated automatically by ClawLink using the user's connected GitLab account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every GitLab API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=gitlab and connect GitLab.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `gitlab` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration gitlab\n```\n\n**Response:** Returns the live tool catalog for GitLab.\n\n### Reconnect\n\nIf GitLab tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=gitlab\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration gitlab`\n\n## Security & Permissions\n\n- Access is scoped to projects and resources accessible to the connected GitLab account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (deleting projects, archiving, removing members) are marked as high-impact and must be confirmed.\n- CI/CD pipeline operations affect build and deployment systems — confirm before triggering or canceling.\n\n## Tool Reference\n\n### Projects\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_projects` | List all projects accessible to the authenticated user | Read |\n| `gitlab_get_project` | Get project details by ID or path | Read |\n| `gitlab_create_project` | Create a new project | Write |\n| `gitlab_archive_project` | Archive a project (read-only) | Write |\n| `gitlab_delete_project` | Delete a project permanently | Write |\n| `gitlab_list_project_pipelines` | List CI/CD pipelines for a project | Read |\n\n### Groups\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_groups` | List all groups | Read |\n| `gitlab_get_group` | Get group details | Read |\n| `gitlab_create_group` | Create a new group | Write |\n| `gitlab_list_group_members` | List direct members of a group | Read |\n| `gitlab_list_all_group_members` | List all members (direct, inherited, invited) | Read |\n\n### Issues\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_project_issues` | List issues with filtering (state, labels, assignee) | Read |\n| `gitlab_get_project_issue` | Get issue details | Read |\n| `gitlab_create_project_issue` | Create a new issue | Write |\n| `gitlab_update_project_issue` | Update issue fields (title, description, labels, state) | Write |\n\n### Merge Requests\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_project_merge_requests` | List merge requests | Read |\n| `gitlab_get_project_merge_request` | Get MR details | Read |\n| `gitlab_get_merge_request_notes` | Get comments on an MR | Read |\n\n### Commits & Branches\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_repository_commits` | List commits in a repository | Read |\n| `gitlab_get_single_commit` | Get commit details | Read |\n| `gitlab_get_repository_branches` | List branches | Read |\n| `gitlab_create_repository_branch` | Create a new branch | Write |\n\n### Members\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_all_project_members` | List all project members | Read |\n| `gitlab_import_project_members` | Import members from one project to another | Write |\n\n### User Status\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_user_status` | Get current user's GitLab status | Read |\n| `gitlab_set_user_status` | Set current user's status message | Write |\n\n## Code Examples\n\n### List project issues\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_project_issues\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"state\": \"opened\",\n    \"per_page\": 20\n  }'\n```\n\n### Create a new issue\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_project_issue\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"title\": \"Bug: Login fails on mobile\",\n    \"description\": \"Steps to reproduce: 1. Go to login 2. Enter credentials 3. Error shown\",\n    \"labels\": [\"bug\", \"priority::high\"]\n  }'\n```\n\n### Create a new branch\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_repository_branch\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"branch\": \"feature/new-feature\",\n    \"ref\": \"main\"\n  }'\n```\n\n### List pipeline jobs\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_pipeline_jobs\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"pipeline_id\": 123\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm GitLab is connected.\n2. Call `clawlink_list_tools --integration gitlab` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `gitlab`.\n5. If no GitLab tools appear, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List issues → Get issue → Show details            │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview issue → User approves     │\n│           → Execute create                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- GitLab project IDs can be numeric (`12345`) or path-based (`owner/repo-name`).\n- GitLab uses scoped labels (`bug`, `priority::high`) rather than simple strings.\n- Merge request IIDs are different from issue IIDs — they are numbered separately.\n- Pipeline status values: `pending`, `running`, `success`, `failed`, `canceled`, `skipped`.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration gitlab`. |\n| Missing connection | GitLab is not connected. Direct the user to https://claw-link.dev/dashboard?add=gitlab. |\n| `404 Not Found` | Project, issue, or MR does not exist. Verify the ID or path. |\n| `403 Forbidden` | Insufficient permissions for the requested operation. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `gitlab`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [GitHub Repos](https://clawhub.ai/hith3sh/github-repos) — For GitHub repository management\n- [GitHub Triage](https://clawhub.ai/hith3sh/github-triage-workflow) — For GitHub issue triage workflows\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780936577815\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineering teams use this skill to inspect and manage GitLab projects, issues, merge requests, commits, branches, pipelines, groups, members, and user status through an OAuth-backed GitLab integration. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill connects GitLab through ClawLink OAuth and can access resources available to the connected GitLab account. <br>\nMitigation: Connect only the intended GitLab account, verify the active GitLab integration before use, and rely on GitLab account permissions to limit accessible resources. <br>\nRisk: Create, update, archive, delete, member, and pipeline operations can make real changes to GitLab repositories or CI/CD systems. <br>\nMitigation: Preview and explicitly confirm the exact target resource and intended effect before executing any write, destructive, member, or pipeline action. <br>\nRisk: Security evidence notes that the archive-project description has a misleading read-only label. <br>\nMitigation: Treat project archive actions as high-impact write operations regardless of the label and require explicit confirmation before execution. <br>\n\n\n## Reference(s): <br>\n- [ClawHub GitLab skill page](https://clawhub.ai/hith3sh/gitlab-repos) <br>\n- [GitLab API Documentation](https://docs.gitlab.com/api/) <br>\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html) <br>\n- [ClawLink OpenClaw Documentation](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink](https://claw-link.dev) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration, API calls] <br>\n**Output Format:** [Markdown with inline shell commands and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May produce ClawLink tool calls that read or modify GitLab resources after user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server evidence release.version) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.1: 3 files, 5606 bytes\n\nFiles: skill-card.md (2222b), SKILL.md (13514b), _meta.json (131b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projects and groups, inspect issues and MRs, review commits and pipelines, create or update issues after confirmation, or manage project members and CI/CD pipelines in GitLab.\n---\n\n# GitLab\n\nAccess GitLab via the GitLab API with OAuth authentication. Manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure GitLab API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect GitLab |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect GitLab |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for GitLab again.\"\n\n## Quick Start\n\n```bash\n# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"gitlab_get_project\" --params '{\"id\": \"owner/repo-name\"}'\n\n# List project issues\nclawlink_call_tool --tool \"gitlab_list_project_issues\" --params '{\"id\": \"owner/repo-name\", \"state\": \"opened\"}'\n```\n\n## Authentication\n\nAll GitLab tool calls are authenticated automatically by ClawLink using the user's connected GitLab account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every GitLab API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=gitlab and connect GitLab.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `gitlab` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration gitlab\n```\n\n**Response:** Returns the live tool catalog for GitLab.\n\n### Reconnect\n\nIf GitLab tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=gitlab\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration gitlab`\n\n## Security & Permissions\n\n- Access is scoped to projects and resources accessible to the connected GitLab account.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (deleting projects, archiving, removing members) are marked as high-impact and must be confirmed.\n- CI/CD pipeline operations affect build and deployment systems — confirm before triggering or canceling.\n\n## Tool Reference\n\n### Projects\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_projects` | List all projects accessible to the authenticated user | Read |\n| `gitlab_get_project` | Get project details by ID or path | Read |\n| `gitlab_create_project` | Create a new project | Write |\n| `gitlab_archive_project` | Archive a project (read-only) | Write |\n| `gitlab_delete_project` | Delete a project permanently | Write |\n| `gitlab_list_project_pipelines` | List CI/CD pipelines for a project | Read |\n\n### Groups\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_groups` | List all groups | Read |\n| `gitlab_get_group` | Get group details | Read |\n| `gitlab_create_group` | Create a new group | Write |\n| `gitlab_list_group_members` | List direct members of a group | Read |\n| `gitlab_list_all_group_members` | List all members (direct, inherited, invited) | Read |\n\n### Issues\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_project_issues` | List issues with filtering (state, labels, assignee) | Read |\n| `gitlab_get_project_issue` | Get issue details | Read |\n| `gitlab_create_project_issue` | Create a new issue | Write |\n| `gitlab_update_project_issue` | Update issue fields (title, description, labels, state) | Write |\n\n### Merge Requests\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_project_merge_requests` | List merge requests | Read |\n| `gitlab_get_project_merge_request` | Get MR details | Read |\n| `gitlab_get_merge_request_notes` | Get comments on an MR | Read |\n\n### Commits & Branches\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_repository_commits` | List commits in a repository | Read |\n| `gitlab_get_single_commit` | Get commit details | Read |\n| `gitlab_get_repository_branches` | List branches | Read |\n| `gitlab_create_repository_branch` | Create a new branch | Write |\n\n### Members\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_list_all_project_members` | List all project members | Read |\n| `gitlab_import_project_members` | Import members from one project to another | Write |\n\n### User Status\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `gitlab_get_user_status` | Get current user's GitLab status | Read |\n| `gitlab_set_user_status` | Set current user's status message | Write |\n\n## Code Examples\n\n### List project issues\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_project_issues\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"state\": \"opened\",\n    \"per_page\": 20\n  }'\n```\n\n### Create a new issue\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_project_issue\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"title\": \"Bug: Login fails on mobile\",\n    \"description\": \"Steps to reproduce: 1. Go to login 2. Enter credentials 3. Error shown\",\n    \"labels\": [\"bug\", \"priority::high\"]\n  }'\n```\n\n### Create a new branch\n\n```bash\nclawlink_call_tool --tool \"gitlab_create_repository_branch\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"branch\": \"feature/new-feature\",\n    \"ref\": \"main\"\n  }'\n```\n\n### List pipeline jobs\n\n```bash\nclawlink_call_tool --tool \"gitlab_list_pipeline_jobs\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"pipeline_id\": 123\n  }'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm GitLab is connected.\n2. Call `clawlink_list_tools --integration gitlab` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `gitlab`.\n5. If no GitLab tools appear, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List issues → Get issue → Show details            │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview issue → User approves     │\n│           → Execute create                                   │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- GitLab project IDs can be numeric (`12345`) or path-based (`owner/repo-name`).\n- GitLab uses scoped labels (`bug`, `priority::high`) rather than simple strings.\n- Merge request IIDs are different from issue IIDs — they are numbered separately.\n- Pipeline status values: `pending`, `running`, `success`, `failed`, `canceled`, `skipped`.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration gitlab`. |\n| Missing connection | GitLab is not connected. Direct the user to https://claw-link.dev/dashboard?add=gitlab. |\n| `404 Not Found` | Project, issue, or MR does not exist. Verify the ID or path. |\n| `403 Forbidden` | Insufficient permissions for the requested operation. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `gitlab`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Related Skills\n\n- [GitHub Repos](https://clawhub.ai/hith3sh/github-repos) — For GitHub repository management\n- [GitHub Triage](https://clawhub.ai/hith3sh/github-triage-workflow) — For GitHub issue triage workflows\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1780838969429\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operators use this skill to inspect and manage GitLab projects, issues, merge requests, commits, branches, groups, members, pipelines, and user status through authenticated GitLab API tools. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access GitLab resources available to the connected account. <br>\nMitigation: Review GitLab OAuth scopes during connection and revoke the ClawLink/GitLab connection when the integration is no longer needed. <br>\nRisk: Write or destructive GitLab actions can change repositories, projects, members, issues, merge requests, or CI/CD pipelines. <br>\nMitigation: Confirm the target resource and intended effect before any write or destructive operation, and use preview or describe steps when available. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/gitlab-repos) <br>\n- [GitLab API Documentation](https://docs.gitlab.com/api/) <br>\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink](https://claw-link.dev) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration, API calls, markdown] <br>\n**Output Format:** [Markdown with inline shell commands and JSON parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected GitLab account through ClawLink; write and destructive operations require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 3 files, 3372 bytes\n\nFiles: skill-card.md (2164b), SKILL.md (4911b), _meta.json (131b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups - powered by ClawLink.\n---\n\n# GitLab\n\nWork with GitLab from chat - manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nPowered by [ClawLink](https://claw-link.dev), an integration hub for OpenClaw that handles hosted connection flows and credentials so you don't need to configure GitLab API access yourself.\n\n## Quick start\n\n1. Install the verified ClawLink plugin: `openclaw plugins install clawhub:clawlink-plugin`\n2. Start a fresh OpenClaw chat if the plugin was just installed and ClawLink tools are not visible yet\n3. If ClawLink is not configured, call `clawlink_begin_pairing`\n4. Tell the user to open the returned pairing URL, sign in to ClawLink if needed, and approve the device\n5. After the user confirms approval, call `clawlink_get_pairing_status`\n6. Tell the user to connect GitLab at [claw-link.dev/dashboard?add=gitlab](https://claw-link.dev/dashboard?add=gitlab)\n7. When the user confirms GitLab is connected, call `clawlink_list_integrations` and then `clawlink_list_tools` with the `gitlab` integration slug\n\n## Setup details\n\n### Installing the plugin\n\nIf the ClawLink plugin is not installed yet, tell the user to run:\n\n```\nopenclaw plugins install clawhub:clawlink-plugin\n```\n\nIf the current chat started before the plugin was installed and ClawLink tools are still unavailable, tell the user to start a fresh chat so OpenClaw reloads the plugin tool catalog.\n\n### Pairing ClawLink\n\nIf ClawLink reports that the plugin is not configured, the plugin has not been paired with the user's ClawLink account yet.\n\n1. Call `clawlink_begin_pairing`.\n2. Tell the user to open the returned pairing URL in their browser.\n3. The user signs in to ClawLink if needed and approves the OpenClaw device.\n4. After the user confirms approval, call `clawlink_get_pairing_status` to finish local setup.\n\nThe resulting device credential is stored locally in OpenClaw's plugin config and is only sent to `claw-link.dev`. The user should not paste raw credentials into chat.\n\n### Connecting GitLab\n\nTell the user to open https://claw-link.dev/dashboard?add=gitlab and connect GitLab there. The page opens the add-connection panel filtered to GitLab. ClawLink's hosted page runs the provider connection flow. When they confirm it is done, call `clawlink_list_integrations` to verify, then call `clawlink_list_tools` with integration `gitlab`.\n\n## Using GitLab tools\n\nClawLink provides tools dynamically based on what the user has connected. You do not need to know tool names or schemas in advance.\n\n### Discovery\n\n1. Call `clawlink_list_integrations` to confirm GitLab is connected.\n2. Call `clawlink_list_tools` with integration `gitlab`.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `gitlab`.\n5. If no GitLab tools appear, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n\n### Execution\n\n1. Call `clawlink_describe_tool` before using an unfamiliar tool, before any write, or when the request is ambiguous.\n2. Use the returned schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups`.\n3. Prefer read, list, search, and get operations before writes.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first, then confirm with the user.\n5. Execute with `clawlink_call_tool`.\n6. If it fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## What you can do\n\nTypical GitLab tasks (actual availability depends on the user's connected account, permissions, scopes, and current ClawLink tool catalog):\n\n- List projects, groups, issues, and merge requests\n- Inspect commits, branches, files, and pipelines\n- Create issues or comments after confirmation\n- Manage merge requests and project metadata when available\n- Review CI/CD pipeline status\n\n## Rules\n\n- Always use ClawLink tools for GitLab. Do not ask the user for separate GitLab credentials.\n- Do not claim a capability is missing without checking the live ClawLink catalog in the current turn.\n- Do not invent slash commands or ask the user to paste raw credentials.\n- Ask for confirmation before destructive, external-facing, or bulk write actions.\n- If GitLab is not connected, direct the user to https://claw-link.dev/dashboard?add=gitlab.\n- Never echo or repeat the user's ClawLink credential.\n\n## Resources\n\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n- ClawLink Source: https://github.com/hith3sh/clawlink\n- GitLab API: https://docs.gitlab.com/api/\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778953775147\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups - powered by ClawLink. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and teams use this skill to discover and run GitLab actions from chat through ClawLink, including project, issue, merge request, branch, commit, pipeline, and group workflows. It is suited for connected accounts where users can review proposed write or bulk actions before execution. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: A connected GitLab account may permit write, destructive, external-facing, or bulk actions if the user approves them without review. <br>\nMitigation: Use the least GitLab permissions needed, preview and confirm write or bulk actions, and review proposed changes before execution. <br>\nRisk: A ClawLink and GitLab connection may remain available after the task is complete. <br>\nMitigation: Revoke the ClawLink or GitLab connection when it is no longer needed. <br>\n\n\n## Reference(s): <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n- [GitLab API](https://docs.gitlab.com/api/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, API Calls, Text] <br>\n**Output Format:** [Markdown guidance with inline shell commands, URLs, and ClawLink tool calls] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses ClawLink's live GitLab tool catalog and confirmation previews for write or bulk actions.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server evidence release.version) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: GitLab Owner: hith3sh Summary: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:08:32.777Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘"},{"language":"bash","snippet":"openclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart"},{"language":"bash","snippet":"# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"gitlab_get_project\" --params '{\"id\": \"owner/repo-name\"}'\n\n# List project issues\nclawlink_call_tool --tool \"gitlab_list_project_issues\" --params '{\"id\": \"owner/repo-name\", \"state\": \"opened\"}'"},{"language":"bash","snippet":"clawlink_list_integrations"},{"language":"bash","snippet":"clawlink_list_tools --integration gitlab"},{"language":"bash","snippet":"clawlink_call_tool --tool \"gitlab_list_project_issues\" \\\n  --params '{\n    \"id\": \"owner/repo-name\",\n    \"state\": \"opened\",\n    \"per_page\": 20\n  }'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: gitlab-repos\ndescription: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projects and groups, inspect issues and MRs, review commits and pipelines, create or update issues after confirmation, or manage project members and CI/CD pipelines in GitLab.\n---\n\n# GitLab\n\n![GitLab](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/gitlab.svg)\n\nAccess GitLab via the GitLab API with OAuth authentication. Manage projects, issues, merge requests, commits, branches, pipelines, and groups.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos) for hosted connection flows and credentials so you do not need to configure GitLab API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect GitLab |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect GitLab |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   GitLab API     │\n│   (User Chat)   │     │   (OAuth)    │     │   (REST)         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect GitLab    │                       │\n         │                       │  4. Secure Token      │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │ GitLab   │\n   │  File    │           │ Auth     │           │ Projects │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for GitLab again.\"\n\n## Quick Start\n\n```bash\n# List projects for the authenticated user\nclawlink_call_tool --tool \"gitlab_get_projects\" --params '{}'\n\n# Get a specific project\nclawlink_call_tool --tool \"g"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"gitlab-repos\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780988912777\n}"},{"path":"skill-card.md","content":"## Description:\n\nWork with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups through the GitLab API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to connect OpenClaw to GitLab through ClawLink, inspect GitLab resources, and perform confirmed write actions such as creating issues or managing projects, members, branches, and pipelines.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: OAuth-backed GitLab access can expose sensitive project data or permit actions within the connected account's permissions.\n\nMitigation: Use a least-privileged GitLab account or scopes where possible, verify the GitLab connection before use, and review requested tool actions before execution.\n\nRisk: Create, update, delete, member-management, and CI/CD pipeline operations can change repositories, permissions, or build and deployment state.\n\nMitigation: Prefer read, list, search, and describe operations before writes; preview write actions and confirm the target resource and intended effect with the user.\n\nRisk: The artifact labels project archival as read-only even though archiving is state-changing.\n\nMitigation: Treat archive operations as write actions and require explicit confirmation before execution.\n\n## Reference(s):\n\n- [ClawHub GitLab skill page](https://clawhub.ai/hith3sh/skills/gitlab-repos)\n- [GitLab API Documentation](https://docs.gitlab.com/api/)\n- [GitLab REST API](https://docs.gitlab.com/api/rest.html)\n- [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=gitlab-repos)\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw)\n- [ClawLink Verification](https://claw-link.dev/verify)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, API calls]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON parameters]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires the ClawLink plugin and a connected GitLab account; write operations require preview and explicit user confirmation.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec... Skill: GitLab Owner: hith3sh Summary: Work with GitLab projects, issues, merge requests, commits, branches, pipelines, and groups via the GitLab API. Use this skill when users want to list projec... Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-09T07:08:32.777Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1035,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T03:00:51.933Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T16:47:38.215Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}