Night Market Skill — ported from claude-night-market/leyline. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
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.
gh, glab, or forge API commandsgit commit, git branch, etc.)Detection is automatic via the SessionStart hook. The session context will contain:
text
git_platform: github|gitlab|bitbucket, cli: gh|glab, mr_term: pull request|merge request
If you need to re-detect manually:
bash
# 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"
OperationGitHub ( gh)GitLab ( glab)View issuegh issue view N --json title,body,labels``glab issue view NList issuesgh issue list --json number,title``glab issue listCreate issuegh issue create --title "T" --body "B"``glab issue create --title "T" --description "B"Close issuegh issue close N``glab issue close NComment on issuegh issue comment N --body "msg"``glab issue note N --message "msg"View PR/MRgh pr view N``glab mr view NCreate PR/MRgh pr create --title "T" --body "B"``glab mr create --title "T" --description "B"List PR/MR commentsgh api repos/O/R/pulls/N/comments``glab mr note list NCurrent PR/MRgh pr view --json number``glab mr view --json iidResolve threadsgh api graphql``glab api graphqlRepo infogh 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.
ConceptGitHubGitLabBitbucketCode review unitPull Request (PR)Merge Request (MR)Pull Request (PR)CI configuration.github/workflows/*.yml``.gitlab-ci.yml``bitbucket-pipelines.ymlDefault branchmain``main``mainReview commentsPR review commentsMR discussion notesPR 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:
dependencies: [leyline:git-platform]git_platform:markdown
# 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
Skill(leyline:authentication-patterns) for ensure_auth github|gitlab