Skip to content
Development
Skill

/git-platform

Detects git forge (GitHub/GitLab/Bitbucket) and maps CLI commands cross-platform. Use when writing skills that must run on any git hosting provider.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill git-platform --agent claude-code

SKILL.md

git-platform.SKILL.md
name: git-platform
description: Detects git forge (GitHub/GitLab/Bitbucket) and maps CLI commands cross-platform. Use when writing skills that must run on any git hosting provider.
alwaysApply: false
category: infrastructure
tags:
- git
- platform
- github
- gitlab
- bitbucket
- cross-platform
- forge
dependencies:
- authentication-patterns
provides:
  infrastructure:
  - platform-detection
  - command-mapping
  - forge-abstraction
  patterns:
  - cross-platform-git
  - cli-selection
  - terminology-mapping
usage_patterns:
- platform-detection
- command-translation
- cross-platform-workflows
complexity: beginner
estimated_tokens: 400
progressive_loading: true
modules:
- modules/command-mapping.md
role: library

Git Platform Detection & Command Mapping

Overview

Cross-platform abstraction for git forge operations. Detects whether the current project uses GitHub, GitLab, or Bitbucket, and provides equivalent CLI commands for each platform.

The SessionStart hook (`detect-git-platform.sh`) automatically injects the detected platform into session context. This skill provides the command reference for translating operations across platforms.

When To Use

  • Before running `gh`, `glab`, or forge API commands
  • When a skill or command needs to create issues, PRs/MRs, or post comments
  • When writing CI/CD configuration
  • Any time forge-specific CLI commands appear in a workflow

When NOT To Use

  • Local-only git operations (`git commit`, `git branch`, etc.)
  • Projects without a hosted git remote

Platform Detection

Detection is automatic via the SessionStart hook. The session context will contain:

git_platform: github|gitlab|bitbucket, cli: gh|glab, mr_term: pull request|merge request

If you need to re-detect manually:

# Check remote URL
git remote get-url origin 2>/dev/null

# Check file markers
ls -d .github/ .gitlab-ci.yml bitbucket-pipelines.yml 2>/dev/null

# Check CLI availability
command -v gh && echo "GitHub CLI available"
command -v glab && echo "GitLab CLI available"

Quick Command Reference

| Operation | GitHub (`gh`) | GitLab (`glab`) | |-----------|---------------|-----------------| | View issue | `gh issue view N --json title,body,labels` | `glab issue view N` | | List issues | `gh issue list --json number,title` | `glab issue list` | | Create issue | `gh issue create --title "T" --body "B"` | `glab issue create --title "T" --description "B"` | | Close issue | `gh issue close N` | `glab issue close N` | | Comment on issue | `gh issue comment N --body "msg"` | `glab issue note N --message "msg"` | | View PR/MR | `gh pr view N` | `glab mr view N` | | Create PR/MR | `gh pr create --title "T" --body "B"` | `glab mr create --title "T" --description "B"` | | List PR/MR comments | `gh api repos/O/R/pulls/N/comments` | `glab mr note list N` | | Current PR/MR | `gh pr view --json number` | `glab mr view --json iid` | | Resolve threads | `gh api graphql` | `glab api graphql` | | Repo info | `gh repo view --json owner,name` | `glab repo view` |

For Bitbucket: No standard CLI exists. Use REST API (`curl`) or the web interface. See [command-mapping module](modules/command-mapping.md) for API equivalents.

Terminology

| Concept | GitHub | GitLab | Bitbucket | |---------|--------|--------|-----------| | Code review unit | Pull Request (PR) | Merge Request (MR) | Pull Request (PR) | | CI configuration | `.github/workflows/*.yml` | `.gitlab-ci.yml` | `bitbucket-pipelines.yml` | | Default branch | `main` | `main` | `main` | | Review comments | PR review comments | MR discussion notes | PR comments |

**Important**: When the platform is GitLab, always say "merge request" (not "pull request") in user-facing output, commit messages, and comments.

Integration Pattern

Skills that perform forge operations should:

1. Declare `dependencies: [leyline:git-platform]` 2. Check the session context for `git_platform:` 3. Use the command mapping table above 4. Fall back gracefully if CLI is unavailable

# Example skill instruction pattern:

## Step N: Create PR/MR

Use the detected platform CLI (check session context for `git_platform`):
- **GitHub**: `gh pr create --title "..." --body "..."`
- **GitLab**: `glab mr create --title "..." --description "..."`
- **Bitbucket**: Create via web interface

Detailed Resources

  • **Full command mapping**: See [modules/command-mapping.md](modules/command-mapping.md) for complete API equivalents, GraphQL queries, and Bitbucket REST API patterns
  • **Authentication**: See `Skill(leyline:authentication-patterns)` for `ensure_auth github|gitlab`

Exit Criteria

  • [ ] Platform detected (or explicitly unknown)
  • [ ] Correct CLI tool used for all forge operations
  • [ ] Platform-appropriate terminology in user-facing output
Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about git-platform.

Which coding agents can use git-platform?
git-platform installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.