{"id":"cb25fab1-8cab-491f-8668-e505143b8439","entityType":"agent","slug":"clawhub-oomol-oo-gitlab","name":"GitLab","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-gitlab","canonicalPath":"/agent/clawhub-oomol-oo-gitlab","generatedAt":"2026-10-14T15:57:06.333Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:31:21.405Z","emptyReason":null},"description":"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 954 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gitlab","sourceUrl":"https://clawhub.ai/oomol/oo-gitlab","homepage":"https://clawhub.ai/oomol/skills/oo-gitlab","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-gitlab","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-gitlab","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"GitLab technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:31:21.405Z","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-12T02:31:21.405Z","emptyReason":null},"stars":null,"forks":null,"downloads":954,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"954 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T02:31:21.337Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T02:31:21.405Z","lastCrawledAt":"2026-10-12T02:31:21.337Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T02:31:21.337Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-09-20T03:25:05.048Z","changelog":"- Provides GitLab access through the OOMOL `oo` connector, using connected account credentials without exposing raw tokens. - Supports project discovery and lookup, including visible projects, current user profile, and project details. - Adds issue workflows for listing, reading, creating, updating, and deleting project issues. - Adds merge request workflows for listing, creating, updating, and merging MRs. - Documents schema-first action usage plus safety guidance for write and destructive operations. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":3514},{"version":"1.0.5","createdAt":"2026-09-15T05:54:31.810Z","changelog":"- Operate GitLab through the OOMOL-connected `oo` CLI without handling raw credentials. - Inspect live action schemas before sending requests, then execute JSON-based connector actions. - Read GitLab users, projects, issues, and merge requests with filtering and pagination support. - Create and update projects, issues, and merge requests, including merging requests. - Delete projects or issues with explicit confirmation and safety safeguards. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":3473},{"version":"1.0.3","createdAt":"2026-08-25T04:53:31.967Z","changelog":"- GitLab automation skill for working with gitlab.com through an OOMOL-connected account. - Uses the `oo` CLI and live connector schemas so each action is run with the correct payload shape. - Supports project, issue, and merge request workflows, including create, read, update, list, and merge operations. - Includes account and project inspection helpers for quickly checking the current user, projects, issues, and merge requests. - Marks write and destructive actions clearly and requires confirmation before state-changing operations. - Keeps authentication and connector setup out of the normal flow unless a command fails. Source: `oomol-lab/skills@3e4b3ff`","fileCount":3,"zipByteSize":3291},{"version":"1.0.2","createdAt":"2026-06-16T10:02:11.908Z","changelog":"- Operates GitLab through an OOMOL-connected account using the `oo` CLI and server-side credentials. - Supports reading current user details, projects, and project metadata. - Lists visible projects and project issues with common filters such as state, labels, assignees, and search. - Creates GitLab project issues with explicit confirmation for write actions. - Includes schema-first guidance so payloads match the live connector contract before execution. Source: `oomol-lab/skills@4597539`","fileCount":3,"zipByteSize":3235},{"version":"1.0.1","createdAt":"2026-06-09T10:12:08.572Z","changelog":"- Provides GitLab access through the OOMOL `gitlab` connector and `oo` CLI using server-side credentials. - Supports reading the current user, projects, project details, and project issues. - Adds issue creation for GitLab projects with explicit write-operation confirmation guidance. - Requires live schema inspection before action payloads, keeping requests aligned with connector contracts. - Includes setup and recovery guidance for CLI, auth, connection-scope, and billing errors. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":3172},{"version":"1.0.0","createdAt":"2026-06-09T03:50:04.789Z","changelog":"- Initial `oo-gitlab` release for operating GitLab through an OOMOL-connected account via the `oo` CLI. - Supports discovering visible GitLab projects, including optional search and membership filtering. - Retrieves project details by numeric ID or URL-encoded namespace path. - Lists project issues with common filters for state, labels, assignees, and search terms. - Creates new project issues with explicit confirmation guidance for state-changing actions. - Includes current authenticated user lookup plus schema-first action instructions for reliable payload construction. Source: `oomol-lab/skills@e3717ff`","fileCount":8,"zipByteSize":5999}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gitlab","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-gitlab` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-gitlab before using production credentials."],"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-oomol-oo-gitlab/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/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-14T15:57:06.332Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-gitlab/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":"medium","updatedAt":"2026-10-12T02:31:21.405Z","emptyReason":null},"readme":"Skill: GitLab\n\nOwner: oomol\n\nSummary: GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-09-20T03:25:05.048Z | user\n\n- Provides GitLab access through the OOMOL `oo` connector, using connected account credentials without exposing raw tokens.\n- Supports project discovery and lookup, including visible projects, current user profile, and project details.\n- Adds issue workflows for listing, reading, creating, updating, and deleting project issues.\n- Adds merge request workflows for listing, creating, updating, and merging MRs.\n- Documents schema-first action usage plus safety guidance for write and destructive operations.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.5 | 2026-09-15T05:54:31.810Z | user\n\n- Operate GitLab through the OOMOL-connected `oo` CLI without handling raw credentials.\n- Inspect live action schemas before sending requests, then execute JSON-based connector actions.\n- Read GitLab users, projects, issues, and merge requests with filtering and pagination support.\n- Create and update projects, issues, and merge requests, including merging requests.\n- Delete projects or issues with explicit confirmation and safety safeguards.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.3 | 2026-08-25T04:53:31.967Z | user\n\n- GitLab automation skill for working with gitlab.com through an OOMOL-connected account.\n- Uses the `oo` CLI and live connector schemas so each action is run with the correct payload shape.\n- Supports project, issue, and merge request workflows, including create, read, update, list, and merge operations.\n- Includes account and project inspection helpers for quickly checking the current user, projects, issues, and merge requests.\n- Marks write and destructive actions clearly and requires confirmation before state-changing operations.\n- Keeps authentication and connector setup out of the normal flow unless a command fails.\n\nSource: `oomol-lab/skills@3e4b3ff`\n\nv1.0.2 | 2026-06-16T10:02:11.908Z | user\n\n- Operates GitLab through an OOMOL-connected account using the `oo` CLI and server-side credentials.\n- Supports reading current user details, projects, and project metadata.\n- Lists visible projects and project issues with common filters such as state, labels, assignees, and search.\n- Creates GitLab project issues with explicit confirmation for write actions.\n- Includes schema-first guidance so payloads match the live connector contract before execution.\n\nSource: `oomol-lab/skills@4597539`\n\nv1.0.1 | 2026-06-09T10:12:08.572Z | user\n\n- Provides GitLab access through the OOMOL `gitlab` connector and `oo` CLI using server-side credentials.\n- Supports reading the current user, projects, project details, and project issues.\n- Adds issue creation for GitLab projects with explicit write-operation confirmation guidance.\n- Requires live schema inspection before action payloads, keeping requests aligned with connector contracts.\n- Includes setup and recovery guidance for CLI, auth, connection-scope, and billing errors.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.0 | 2026-06-09T03:50:04.789Z | user\n\n- Initial `oo-gitlab` release for operating GitLab through an OOMOL-connected account via the `oo` CLI.\n- Supports discovering visible GitLab projects, including optional search and membership filtering.\n- Retrieves project details by numeric ID or URL-encoded namespace path.\n- Lists project issues with common filters for state, labels, assignees, and search terms.\n- Creates new project issues with explicit confirmation guidance for state-changing actions.\n- Includes current authenticated user lookup plus schema-first action instructions for reliable payload construction.\n\nSource: `oomol-lab/skills@e3717ff`\n\nArchive index:\n\nArchive v1.0.6: 3 files, 3514 bytes\n\nFiles: skill-card.md (2111b), SKILL.md (4534b), _meta.json (128b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"gitlab\"]\n  icon: \"https://static.oomol.com/logo/third-party/gitlab.svg\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_merge_request` — Create a GitLab merge request. [write]\n- `create_project` — Create a new GitLab project owned by the authenticated user. [write]\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `delete_project` — Mark a GitLab project for deletion. [destructive]\n- `delete_project_issue` — Delete a GitLab project issue. [destructive]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `get_project_issue` — Get a single issue from a GitLab project by its internal issue ID.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_project_merge_requests` — List merge requests for a GitLab project with state, branch, search, and pagination filters.\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n- `merge_merge_request` — Accept and merge a GitLab merge request. [write]\n- `update_merge_request` — Update a GitLab merge request. [write]\n- `update_project` — Update basic settings for an existing GitLab project. [write]\n- `update_project_issue` — Update a GitLab project issue, including its title, labels, assignees, or state. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789874705048\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nProvides GitLab project, issue, and merge request workflows through an OOMOL-connected account using the oo CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and teams use this skill to read and manage GitLab projects, issues, and merge requests from an agent session through their connected OOMOL account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create, update, merge, and delete GitLab resources through the connected account.\n\nMitigation: Confirm the exact target, payload, and expected effect before running write, merge, update, or destructive actions.\n\nRisk: The first-time setup path includes a remote shell installer.\n\nMitigation: Prefer a verified package or inspect the installer and validate checksum or signature information before execution.\n\nRisk: GitLab operations are routed through OOMOL using the connected account's granted permissions.\n\nMitigation: Install only when this routing model is acceptable and grant the connected account only the GitLab permissions needed for the intended workflow.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-gitlab)\n- [GitLab homepage](https://gitlab.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires an installed and authenticated oo CLI with GitLab connected through OOMOL.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata and SKILL.md frontmatter)\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.5: 3 files, 3473 bytes\n\nFiles: skill-card.md (2005b), SKILL.md (4542b), _meta.json (128b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.5\"\n  services: [\"gitlab\"]\n  icon: \"https://static.oomol.com/logo/third-party/gitlab.svg\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_merge_request` — Create a GitLab merge request. [write]\n- `create_project` — Create a new GitLab project owned by the authenticated user. [write]\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `delete_project` — Mark a GitLab project for deletion. [destructive]\n- `delete_project_issue` — Delete a GitLab project issue. [destructive]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `get_project_issue` — Get a single issue from a GitLab project by its internal issue ID.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_project_merge_requests` — List merge requests for a GitLab project with state, branch, search, and pagination filters. [write]\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n- `merge_merge_request` — Accept and merge a GitLab merge request. [write]\n- `update_merge_request` — Update a GitLab merge request. [write]\n- `update_project` — Update basic settings for an existing GitLab project. [write]\n- `update_project_issue` — Update a GitLab project issue, including its title, labels, assignees, or state. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1789451671810\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nGitLab skill for reading, creating, updating, and deleting GitLab data through the OOMOL oo CLI connector.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and teams use this skill to operate GitLab projects, issues, merge requests, and user profile data through an OOMOL-connected GitLab account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can perform real GitLab write and delete operations.\n\nMitigation: Confirm exact payloads and expected effects before write actions, and require explicit approval before destructive actions.\n\nRisk: First-time setup examples include installer commands that execute remote scripts.\n\nMitigation: Prefer a verified, version-pinned installation method or inspect installer contents before running them.\n\nRisk: Connected account permissions may allow broader GitLab access than intended.\n\nMitigation: Use an OOMOL/GitLab account whose scopes match the intended tasks.\n\n## Reference(s):\n\n- [ClawHub GitLab skill page](https://clawhub.ai/oomol/skills/oo-gitlab)\n- [OOMOL publisher profile](https://clawhub.ai/user/oomol)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [GitLab homepage](https://gitlab.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include GitLab connector JSON responses and execution identifiers when actions are run.]\n\n## Skill Version(s):\n\n1.0.5 (source: release metadata and SKILL.md frontmatter)\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.3: 3 files, 3291 bytes\n\nFiles: skill-card.md (1634b), SKILL.md (4542b), _meta.json (128b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"gitlab\"]\n  icon: \"https://static.oomol.com/logo/third-party/gitlab.svg\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_merge_request` — Create a GitLab merge request. [write]\n- `create_project` — Create a new GitLab project owned by the authenticated user. [write]\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `delete_project` — Mark a GitLab project for deletion. [destructive]\n- `delete_project_issue` — Delete a GitLab project issue. [destructive]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `get_project_issue` — Get a single issue from a GitLab project by its internal issue ID.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_project_merge_requests` — List merge requests for a GitLab project with state, branch, search, and pagination filters. [write]\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n- `merge_merge_request` — Accept and merge a GitLab merge request. [write]\n- `update_merge_request` — Update a GitLab merge request. [write]\n- `update_project` — Update basic settings for an existing GitLab project. [write]\n- `update_project_issue` — Update a GitLab project issue, including its title, labels, assignees, or state. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1787633611967\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nGitLab helps agents read, create, update, merge, and delete GitLab projects, issues, and merge requests through an OOMOL-connected account.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to manage GitLab projects, issues, and merge requests from an agent session while relying on live connector schemas and an OOMOL-connected GitLab account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can operate on GitLab projects, issues, and merge requests visible to the connected account, including creating, updating, merging, and deleting.\n\nMitigation: Use a GitLab account with appropriate scope and require clear confirmation before any write or destructive request.\n\n## Reference(s):\n\n- [GitLab](https://gitlab.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses live connector schemas before constructing action payloads.]\n\n## Skill Version(s):\n\n1.0.3 (source: server evidence and frontmatter)\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.2: 3 files, 3235 bytes\n\nFiles: skill-card.md (2196b), SKILL.md (3647b), _meta.json (128b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, and updating data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  services: [\"gitlab\"]\n  icon: \"https://static.oomol.com/logo/third-party/gitlab.svg\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1781604131908\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nGitLab (gitlab.com) skill for reading, creating, and updating GitLab data through an OOMOL-connected account. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and teams use this skill to inspect GitLab user, project, and issue data and to create project issues through their connected OOMOL GitLab account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses an OOMOL-connected GitLab account and can access GitLab data through that connection. <br>\nMitigation: Confirm the connected account and OOMOL CLI trust boundary before use, and review returned data according to the user's access expectations. <br>\nRisk: Issue creation changes GitLab project state. <br>\nMitigation: Fetch the live connector schema, show the exact payload and intended effect, and get explicit user confirmation before running write actions. <br>\nRisk: First-time setup may require running an external OOMOL CLI installation command. <br>\nMitigation: Run installation only when the CLI is missing and only after the user confirms they trust the OOMOL CLI source. <br>\n\n\n## Reference(s): <br>\n- [GitLab](https://gitlab.com) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [OOMOL CLI install guide](https://cli.oomol.com/install-guide.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Shell commands, JSON, Guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live connector schemas before execution; write actions require explicit user confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata and skill metadata) <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, 3172 bytes\n\nFiles: skill-card.md (2032b), SKILL.md (3584b), _meta.json (128b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, and updating data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  services: [\"gitlab\"]\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780999928572\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nGitLab (gitlab.com) supports GitLab requests that read, create, and update data through the OOMOL GitLab connector. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, operators, and agents use this skill to inspect GitLab users, projects, project details, and issues, and to create project issues after confirming the write payload. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses OOMOL to broker a GitLab connection that may expose sensitive repository, user, project, or issue data according to the connected account's scopes. <br>\nMitigation: Install only if OOMOL is trusted for the GitLab connection, and review the GitLab scopes granted to the connected account before use. <br>\nRisk: The issue creation action changes GitLab state. <br>\nMitigation: Confirm the exact project, payload, and expected effect with the user before running write actions. <br>\n\n\n## Reference(s): <br>\n- [GitLab homepage](https://gitlab.com) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live connector schemas before action payload construction; connector responses are JSON.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release metadata and skill frontmatter) <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.0: 8 files, 5999 bytes\n\nFiles: actions/create_project_issue.md (760b), actions/get_current_user.md (627b), actions/get_project.md (622b), actions/list_project_issues.md (680b), actions/list_projects.md (679b), skill-card.md (2376b), SKILL.md (3760b), _meta.json (128b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, and updating data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"gitlab\"\n  categories: \"Developer Tools\"\n  homepage: \"https://gitlab.com\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Developer Tools. Exposes 5 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`create_project_issue`](actions/create_project_issue.md) — Create a new issue in a GitLab project.\n- [`get_current_user`](actions/get_current_user.md) — Get the current authenticated GitLab user profile.\n- [`get_project`](actions/get_project.md) — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- [`list_project_issues`](actions/list_project_issues.md) — List issues for a GitLab project with common state, label, assignee, and search filters.\n- [`list_projects`](actions/list_projects.md) — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change GitLab state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — GitLab is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=gitlab\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- GitLab homepage: https://gitlab.com\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780977004789\n}\n\nFile v1.0.0:actions/create_project_issue.md\n\n# GitLab · `create_project_issue`\n\nCreate a new issue in a GitLab project.\n\n- **Service**: `gitlab`\n- **Action**: `create_project_issue`\n- **Action id**: `gitlab.create_project_issue`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gitlab\" --action \"create_project_issue\"\n```\n\n## Run\n\n```bash\noo connector run \"gitlab\" --action \"create_project_issue\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\n> **Write action.** This changes GitLab state. Confirm the exact payload and intended effect with the user before running.\n\nFile v1.0.0:actions/get_current_user.md\n\n# GitLab · `get_current_user`\n\nGet the current authenticated GitLab user profile.\n\n- **Service**: `gitlab`\n- **Action**: `get_current_user`\n- **Action id**: `gitlab.get_current_user`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gitlab\" --action \"get_current_user\"\n```\n\n## Run\n\n```bash\noo connector run \"gitlab\" --action \"get_current_user\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/get_project.md\n\n# GitLab · `get_project`\n\nGet a GitLab project by numeric ID or URL-encoded path with namespace.\n\n- **Service**: `gitlab`\n- **Action**: `get_project`\n- **Action id**: `gitlab.get_project`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gitlab\" --action \"get_project\"\n```\n\n## Run\n\n```bash\noo connector run \"gitlab\" --action \"get_project\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_project_issues.md\n\n# GitLab · `list_project_issues`\n\nList issues for a GitLab project with common state, label, assignee, and search filters.\n\n- **Service**: `gitlab`\n- **Action**: `list_project_issues`\n- **Action id**: `gitlab.list_project_issues`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gitlab\" --action \"list_project_issues\"\n```\n\n## Run\n\n```bash\noo connector run \"gitlab\" --action \"list_project_issues\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_projects.md\n\n# GitLab · `list_projects`\n\nList GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n\n- **Service**: `gitlab`\n- **Action**: `list_projects`\n- **Action id**: `gitlab.list_projects`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"gitlab\" --action \"list_projects\"\n```\n\n## Run\n\n```bash\noo connector run \"gitlab\" --action \"list_projects\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nGitLab (gitlab.com). Use this skill for GitLab requests that read, create, or update data through an OOMOL-connected account. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <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 GitLab projects and issues, retrieve authenticated user or project details, and create project issues through the oo CLI after checking the live connector schema. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill requires connecting GitLab through OOMOL and granting token scopes for the projects or issues it accesses. <br>\nMitigation: Install only when comfortable with that connection model and grant only the GitLab scopes needed for the intended work. <br>\nRisk: The create_project_issue action changes GitLab state. <br>\nMitigation: Confirm the exact project, payload, and intended effect with the user before running any write action. <br>\nRisk: The workflow may depend on installing or invoking the oo CLI. <br>\nMitigation: Review the oo CLI installer or use the normal package-management process before installation, and run setup only when authentication or connection errors require it. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/oomol/oo-gitlab) <br>\n- [GitLab Homepage](https://gitlab.com) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [oo CLI Install Guide](https://cli.oomol.com/install-guide.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The skill fetches live connector schemas before constructing payloads and requires user confirmation for GitLab state-changing actions.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release evidence and artifact metadata) <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: oomol Summary: GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly. Tags: latest:1.0.6 Version history: v1.0.6 | 2026-09-20T03:25:05.048Z | user - Provides GitLab access through the OOMOL oo connector, using connected account credentials without exposing raw","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"gitlab\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-gitlab\ndescription: \"GitLab (gitlab.com). Use this skill for ANY GitLab request — reading, creating, updating, and deleting data. Whenever a task involves GitLab, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"GitLab\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"gitlab\"]\n  icon: \"https://static.oomol.com/logo/third-party/gitlab.svg\"\n---\n\n# GitLab\n\nOperate **GitLab** through your OOMOL-connected account. This skill calls the `gitlab` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected GitLab. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"gitlab\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"gitlab\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `create_merge_request` — Create a GitLab merge request. [write]\n- `create_project` — Create a new GitLab project owned by the authenticated user. [write]\n- `create_project_issue` — Create a new issue in a GitLab project. [write]\n- `delete_project` — Mark a GitLab project for deletion. [destructive]\n- `delete_project_issue` — Delete a GitLab project issue. [destructive]\n- `get_current_user` — Get the current authenticated GitLab user profile.\n- `get_project` — Get a GitLab project by numeric ID or URL-encoded path with namespace.\n- `get_project_issue` — Get a single issue from a GitLab project by its internal issue ID.\n- `list_project_issues` — List issues for a GitLab project with common state, label, assignee, and search filters.\n- `list_project_merge_requests` — List merge requests for a GitLab project with state, branch, search, and pagination filters.\n- `list_projects` — List GitLab projects visible to the authenticated personal access token, with optional search and membership filters.\n- `merge_merge_request` — Accept and merge a GitLab merge request. [write]\n- `update_merge_request` — Update a GitLab merge request. [write]\n- `update_project` — Update basic settings for an existing GitLab project."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn78y60sfta5p7kq45p63gehhd87z1wk\",\n  \"slug\": \"oo-gitlab\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789874705048\n}"},{"path":"skill-card.md","content":"## Description:\n\nProvides GitLab project, issue, and merge request workflows through an OOMOL-connected account using the oo CLI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and teams use this skill to read and manage GitLab projects, issues, and merge requests from an agent session through their connected OOMOL account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create, update, merge, and delete GitLab resources through the connected account.\n\nMitigation: Confirm the exact target, payload, and expected effect before running write, merge, update, or destructive actions.\n\nRisk: The first-time setup path includes a remote shell installer.\n\nMitigation: Prefer a verified package or inspect the installer and validate checksum or signature information before execution.\n\nRisk: GitLab operations are routed through OOMOL using the connected account's granted permissions.\n\nMitigation: Install only when this routing model is acceptable and grant the connected account only the GitLab permissions needed for the intended workflow.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-gitlab)\n- [GitLab homepage](https://gitlab.com)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [oo CLI install guide](https://cli.oomol.com/install-guide.md)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payloads]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires an installed and authenticated oo CLI with GitLab connected through OOMOL.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata and SKILL.md frontmatter)\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":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1491,"uniquenessScore":40,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T02:31:21.405Z","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-12T02:31:21.405Z","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-14T15:57:06.333Z","emptyReason":null},"items":[{"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-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"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":"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"}]}}}