gitlab-group
GitLab group operations via API. ALWAYS use this skill when user wants to: (1) list/view groups, (2) create/update/delete groups, (3) manage group members, (4) list subgroups or group projects, (5) share projects with groups.
What this skill does
# Group Skill Group management operations for GitLab using `glab api` raw endpoint calls. ## Quick Reference | Operation | Command Pattern | Risk | |-----------|-----------------|:----:| | List groups | `glab api groups` | - | | Get group | `glab api groups/:id` | - | | Create group | `glab api groups -X POST -f ...` | ⚠️ | | Update group | `glab api groups/:id -X PUT -f ...` | ⚠️ | | Delete group | `glab api groups/:id -X DELETE` | ⚠️⚠️⚠️ | | List members | `glab api groups/:id/members` | - | | Add member | `glab api groups/:id/members -X POST -f ...` | ⚠️ | | Update member | `glab api groups/:id/members/:uid -X PUT -f ...` | ⚠️ | | Remove member | `glab api groups/:id/members/:uid -X DELETE` | ⚠️⚠️ | | List subgroups | `glab api groups/:id/subgroups` | - | | List projects | `glab api groups/:id/projects` | - | | Share with group | `glab api projects/:id/share -X POST -f ...` | ⚠️ | **Risk Legend**: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger ## When to Use This Skill **ALWAYS use when:** - User mentions "group", "team", "organization", "namespace" - User wants to manage group membership - User asks about subgroups or group projects - User wants to share a project with another group **NEVER use when:** - User wants project-level settings (use gitlab-repo) - User wants to manage CI/CD group variables (use gitlab-variable with -g flag) ## API Prerequisites **Required Token Scopes:** `api` **Permissions:** - List/view groups: Any authenticated user (for visible groups) - Create groups: Depends on instance settings - Manage members: Owner or Maintainer role - Delete groups: Owner role ## Access Levels | Level | Value | Description | |-------|:-----:|-------------| | Guest | 10 | View issues and comments | | Reporter | 20 | View code, create issues | | Developer | 30 | Push code, create MRs | | Maintainer | 40 | Manage project settings | | Owner | 50 | Full control | ## Available Commands ### List Groups ```bash # List accessible groups glab api groups --method GET # List with pagination glab api groups --paginate # Filter by search term glab api "groups?search=devops" --method GET # List only owned groups glab api "groups?owned=true" --method GET # List top-level groups only glab api "groups?top_level_only=true" --method GET ``` ### Get Group Details ```bash # Get by numeric ID glab api groups/123 --method GET # Get by path (URL-encode slashes) glab api "groups/$(echo 'my-group' | jq -Rr @uri)" --method GET # Get nested group glab api "groups/$(echo 'parent/child' | jq -Rr @uri)" --method GET # Include additional details glab api "groups/123?with_projects=true" --method GET ``` ### Create Group ```bash # Create top-level group glab api groups --method POST \ -f name="My Team" \ -f path="my-team" \ -f visibility="private" # Create subgroup glab api groups --method POST \ -f name="Backend Team" \ -f path="backend" \ -f parent_id=123 \ -f visibility="internal" # Create with description and features glab api groups --method POST \ -f name="Dev Group" \ -f path="dev-group" \ -f description="Development team" \ -f visibility="private" \ -f request_access_enabled=true ``` **Visibility Options:** - `private` - Only members can see - `internal` - Any authenticated user - `public` - Anyone can see ### Update Group ```bash # Update name glab api groups/123 --method PUT \ -f name="New Name" # Update visibility glab api groups/123 --method PUT \ -f visibility="internal" # Update multiple settings glab api groups/123 --method PUT \ -f name="Updated Team" \ -f description="New description" \ -f request_access_enabled=false ``` ### Delete Group **Warning:** This permanently deletes the group and all its projects! ```bash # Delete group glab api groups/123 --method DELETE # With permanently_remove flag (immediate deletion) glab api "groups/123?permanently_remove=true" --method DELETE ``` ### List Group Members ```bash # List all members glab api groups/123/members --method GET # Include inherited members glab api groups/123/members/all --method GET # Search members glab api "groups/123/members?query=john" --method GET ``` ### Add Group Member ```bash # Add as Developer glab api groups/123/members --method POST \ -f user_id=456 \ -f access_level=30 # Add as Maintainer with expiration glab api groups/123/members --method POST \ -f user_id=456 \ -f access_level=40 \ -f expires_at="2025-12-31" ``` ### Update Group Member ```bash # Change access level glab api groups/123/members/456 --method PUT \ -f access_level=40 # Set expiration glab api groups/123/members/456 --method PUT \ -f expires_at="2025-06-30" ``` ### Remove Group Member ```bash # Remove member glab api groups/123/members/456 --method DELETE ``` ### List Subgroups ```bash # List immediate subgroups glab api groups/123/subgroups --method GET # List all descendant groups glab api groups/123/descendant_groups --method GET # With pagination glab api groups/123/subgroups --paginate ``` ### List Group Projects ```bash # List projects in group glab api groups/123/projects --method GET # Include subgroup projects glab api "groups/123/projects?include_subgroups=true" --method GET # Filter archived glab api "groups/123/projects?archived=false" --method GET # With pagination glab api groups/123/projects --paginate ``` ### Share Project with Group ```bash # Share project with group (Developer access) glab api projects/789/share --method POST \ -f group_id=123 \ -f group_access=30 # Share with expiration glab api projects/789/share --method POST \ -f group_id=123 \ -f group_access=30 \ -f expires_at="2025-12-31" # Unshare glab api projects/789/share/123 --method DELETE ``` ## Common Workflows ### Workflow 1: Create Team Structure ```bash # 1. Create parent group glab api groups --method POST \ -f name="Engineering" \ -f path="engineering" \ -f visibility="internal" # 2. Get parent group ID parent_id=$(glab api "groups/$(echo 'engineering' | jq -Rr @uri)" | jq -r '.id') # 3. Create subgroups glab api groups --method POST \ -f name="Backend" \ -f path="backend" \ -f parent_id=$parent_id glab api groups --method POST \ -f name="Frontend" \ -f path="frontend" \ -f parent_id=$parent_id ``` ### Workflow 2: Onboard Team Member ```bash # 1. Find user ID user_id=$(glab api "users?search=john.doe" | jq -r '.[0].id') # 2. Add to group as Developer glab api groups/123/members --method POST \ -f user_id=$user_id \ -f access_level=30 # 3. Verify membership glab api groups/123/members/$user_id ``` ### Workflow 3: Audit Group Access ```bash # List all members including inherited glab api groups/123/members/all --paginate | \ jq -r '.[] | [.username, .access_level_description] | @tsv' ``` ### Workflow 4: Transfer Project Between Groups ```bash # 1. Get project ID project_id=$(glab api "projects/$(echo 'old-group/my-project' | jq -Rr @uri)" | jq -r '.id') # 2. Transfer to new group glab api "projects/$project_id/transfer" --method PUT \ -f namespace=456 ``` ## Troubleshooting | Issue | Cause | Solution | |-------|-------|----------| | 403 on create group | Group creation disabled | Check instance settings or contact admin | | 404 on group | Path not found | Verify group exists, check URL encoding | | Cannot add member | User not found | Search users first with `glab api users?search=...` | | Cannot delete group | Not owner | Need Owner role or admin access | | Subgroup creation fails | Parent not found | Verify parent_id is correct | ## Related Documentation - [API Helpers](../shared/docs/API_HELPERS.md) - [Safeguards](../shared/docs/SAFEGUARDS.md) - [Quick Reference](../shared/docs/QUICK_REFERENCE.md) - [GitLab Groups API](https://docs.gitlab.com/ee/api/groups.html)
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.