claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops;…
Detects git forge (GitHub/GitLab/Bitbucket) and maps CLI commands cross-platform. Use when writing skills that must run on any git hosting provider.
Claude Code
$ npx -y skills add athola/claude-night-market --skill git-platform --agent claude-code
Codex
$ npx skills add athola/claude-night-market --skill git-platform -a codex -y
Cursor
$ npx skills add athola/claude-night-market --skill git-platform -a cursor -y
Gemini CLI
$ npx skills add athola/claude-night-market --skill git-platform -a gemini-cli -y
GitHub Copilot
$ npx skills add athola/claude-night-market --skill git-platform -a github-copilot -y
OpenCode
$ npx skills add athola/claude-night-market --skill git-platform -a opencode -y
Windsurf
$ npx skills add athola/claude-night-market --skill git-platform -a windsurf -y
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
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.
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"
| 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.
| 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.
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
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.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops;…
States load-bearing decisions, invariants, and weak points. Use when judging a design change. Do not use for gating; use…
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily…
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do not use for failure triage; use…
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating anything. Do not use for settled…
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote completion_integrity. Not for QA gates; use…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.