Git platform
Skill athola/claude-night-market/plugins/leyline/skills/git-platform
23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context optimization, research, and multi-LLM delegation. 186 skills, 128 commands, 54 agents.
npx -y skills add athola/claude-night-market --skill git-platformAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Detects git forge (GitHub/GitLab/Bitbucket) and maps CLI commands cross-platform. Use when writing skills that must run on any git hosting provider.
SKILL.md
5.0 KB, as published. Nobody here has run it
Table of Contents
- Overview
- When to Use
- Platform Detection
- Quick Command Reference
- Terminology
- Integration Pattern
- Detailed Resources
- Exit Criteria
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 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:
- Declare
dependencies: [leyline:git-platform] - Check the session context for
git_platform: - Use the command mapping table above
- 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 for complete API equivalents, GraphQL queries, and Bitbucket REST API patterns
- Authentication: See
Skill(leyline:authentication-patterns)forensure_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