Learn-skills.dev bitbucket-automation
Automate Bitbucket repositories, pull requests, branches, issues, and workspace management via Rube MCP (Composio). Always search tools first for current schemas.
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/aaaaqwq/claude-code-skills/bitbucket-automation" ~/.claude/skills/neversight-learn-skills-dev-bitbucket-automation-95410a && rm -rf "$T"
data/skills-md/aaaaqwq/claude-code-skills/bitbucket-automation/SKILL.mdBitbucket Automation via Rube MCP
Automate Bitbucket operations including repository management, pull request workflows, branch operations, issue tracking, and workspace administration through Composio's Bitbucket toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Bitbucket connection via
with toolkitRUBE_MANAGE_CONNECTIONSbitbucket - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add
https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSbitbucket - If connection is not ACTIVE, follow the returned auth link to complete Bitbucket OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Pull Requests
When to use: User wants to create, review, or inspect pull requests
Tool sequence:
- Discover accessible workspaces [Prerequisite]BITBUCKET_LIST_WORKSPACES
- Find the target repository [Prerequisite]BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
- Verify source and destination branches exist [Prerequisite]BITBUCKET_LIST_BRANCHES
- Create a new PR with title, source branch, and optional reviewers [Required]BITBUCKET_CREATE_PULL_REQUEST
- List PRs filtered by state (OPEN, MERGED, DECLINED) [Optional]BITBUCKET_LIST_PULL_REQUESTS
- Get full details of a specific PR by ID [Optional]BITBUCKET_GET_PULL_REQUEST
- Fetch unified diff for code review [Optional]BITBUCKET_GET_PULL_REQUEST_DIFF
- Get changed files with lines added/removed [Optional]BITBUCKET_GET_PULL_REQUEST_DIFFSTAT
Key parameters:
: Workspace slug or UUID (required for all operations)workspace
: URL-friendly repository namerepo_slug
: Branch with changes to mergesource_branch
: Target branch (defaults to repo main branch if omitted)destination_branch
: List of objects withreviewers
field for reviewer assignmentuuid
: Filter for LIST_PULL_REQUESTS -state
,OPEN
, orMERGEDDECLINED
: Truncation limit for GET_PULL_REQUEST_DIFF to handle large diffsmax_chars
Pitfalls:
expects an array of objects withreviewers
key, NOT usernames:uuid[{"uuid": "{...}"}]- UUID format must include curly braces:
{123e4567-e89b-12d3-a456-426614174000}
defaults to the repo's main branch if omitted, which may not bedestination_branchmain
is an integer for GET/DIFF operations but comes back as part of PR listingpull_request_id- Large diffs can overwhelm context; always set
(e.g., 50000) on GET_PULL_REQUEST_DIFFmax_chars
2. Manage Repositories and Workspaces
When to use: User wants to list, create, or delete repositories or explore workspaces
Tool sequence:
- List all accessible workspaces [Required]BITBUCKET_LIST_WORKSPACES
- List repos with optional BBQL filtering [Required]BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
- Create a new repo with language, privacy, and project settings [Optional]BITBUCKET_CREATE_REPOSITORY
- Permanently delete a repository (irreversible) [Optional]BITBUCKET_DELETE_REPOSITORY
- List members for reviewer assignment or access checks [Optional]BITBUCKET_LIST_WORKSPACE_MEMBERS
Key parameters:
: Workspace slug (find via LIST_WORKSPACES)workspace
: URL-friendly name for create/deleterepo_slug
: BBQL query filter (e.g.,q
,name~"api"
,project.key="PROJ"
)is_private=true
: Filter repos by user role:role
,member
,contributor
,adminowner
: Sort field with optionalsort
prefix for descending (e.g.,-
)-updated_on
: Boolean for repository visibility (defaults tois_private
)true
: Bitbucket project key; omit to use workspace's oldest projectproject_key
Pitfalls:
is irreversible and does not affect forksBITBUCKET_DELETE_REPOSITORY- BBQL string values MUST be enclosed in double quotes:
notname~"my-repo"name~my-repo
is NOT a valid BBQL field; userepository
insteadname- Default pagination is 10 results; set
explicitly for complete listingspagelen
defaults to private; setCREATE_REPOSITORY
for public reposis_private: false
3. Manage Issues
When to use: User wants to create, update, list, or comment on repository issues
Tool sequence:
- List issues with optional filters for state, priority, kind, assignee [Required]BITBUCKET_LIST_ISSUES
- Create a new issue with title, content, priority, and kind [Required]BITBUCKET_CREATE_ISSUE
- Modify issue attributes (state, priority, assignee, etc.) [Optional]BITBUCKET_UPDATE_ISSUE
- Add a markdown comment to an existing issue [Optional]BITBUCKET_CREATE_ISSUE_COMMENT
- Permanently delete an issue [Optional]BITBUCKET_DELETE_ISSUE
Key parameters:
: String identifier for the issueissue_id
,title
: Required for creationcontent
:kind
,bug
,enhancement
, orproposaltask
:priority
,trivial
,minor
,major
, orcriticalblocker
:state
,new
,open
,resolved
,on hold
,invalid
,duplicate
,wontfixclosed
: Bitbucket username for CREATE;assignee
(UUID) for UPDATEassignee_account_id
: ISO 8601 format date stringdue_on
Pitfalls:
- Issue tracker must be enabled on the repository (
) or API calls will failhas_issues: true
usesCREATE_ISSUE
(username string), butassignee
usesUPDATE_ISSUE
(UUID) -- they are different fieldsassignee_account_id
is permanent with no undoDELETE_ISSUE
values include spaces:state
not"on hold""on_hold"- Filtering by
in LIST_ISSUES uses account ID, not username; useassignee
string for unassigned"null"
4. Manage Branches
When to use: User wants to create branches or explore branch structure
Tool sequence:
- List branches with optional BBQL filter and sorting [Required]BITBUCKET_LIST_BRANCHES
- Create a new branch from a specific commit hash [Required]BITBUCKET_CREATE_BRANCH
Key parameters:
: Branch name withoutname
prefix (e.g.,refs/heads/
)feature/new-login
: Full SHA1 commit hash to branch from (must exist in repo)target_hash
: BBQL filter (e.g.,q
,name~"feature/"
)name="main"
: Sort bysort
orname
(descending commit date)-target.date
: 1-100 results per page (default is 10)pagelen
Pitfalls:
requires a full commit hash, NOT a branch name asCREATE_BRANCHtarget_hash- Do NOT include
prefix in branch namesrefs/heads/ - Branch names must follow Bitbucket naming conventions (alphanumeric,
,/
,.
,_
)- - BBQL string values need double quotes:
notname~"feature/"name~feature/
5. Review Pull Requests with Comments
When to use: User wants to add review comments to pull requests, including inline code comments
Tool sequence:
- Get PR details and verify it exists [Prerequisite]BITBUCKET_GET_PULL_REQUEST
- Review the actual code changes [Prerequisite]BITBUCKET_GET_PULL_REQUEST_DIFF
- Get list of changed files [Optional]BITBUCKET_GET_PULL_REQUEST_DIFFSTAT
- Post review comments [Required]BITBUCKET_CREATE_PULL_REQUEST_COMMENT
Key parameters:
: String ID of the PRpull_request_id
: Markdown-formatted comment textcontent_raw
: Defaults tocontent_markup
; also supportsmarkdownplaintext
: Object withinline
,path
,from
for inline code commentsto
: Integer ID for threaded replies to existing commentsparent_comment_id
Pitfalls:
is a string in CREATE_PULL_REQUEST_COMMENT but an integer in GET_PULL_REQUESTpull_request_id- Inline comments require
at minimum;inline.path
/from
are optional line numbersto
creates a threaded reply; omit for top-level commentsparent_comment_id- Line numbers in inline comments reference the diff, not the source file
Common Patterns
ID Resolution
Always resolve human-readable names to IDs before operations:
- Workspace:
to get workspace slugsBITBUCKET_LIST_WORKSPACES - Repository:
withBITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
filter to find repo slugsq - Branch:
to verify branch existence before PR creationBITBUCKET_LIST_BRANCHES - Members:
to get UUIDs for reviewer assignmentBITBUCKET_LIST_WORKSPACE_MEMBERS
Pagination
Bitbucket uses page-based pagination (not cursor-based):
- Use
(starts at 1) andpage
(items per page) parameterspagelen - Default page size is typically 10; set
explicitly (max 50 for PRs, 100 for others)pagelen - Check response for
URL or total count to determine if more pages existnext - Always iterate through all pages for complete results
BBQL Filtering
Bitbucket Query Language is available on list endpoints:
- String values MUST use double quotes:
name~"pattern" - Operators:
(exact),=
(contains),~
(not equal),!=
,>
,>=
,<<= - Combine with
/AND
:ORname~"api" AND is_private=true
Known Pitfalls
ID Formats
- Workspace: slug string (e.g.,
) or UUID in braces (my-workspace
){uuid} - Reviewer UUIDs must include curly braces:
{123e4567-e89b-12d3-a456-426614174000} - Issue IDs are strings; PR IDs are integers in some tools, strings in others
- Commit hashes must be full SHA1 (40 characters)
Parameter Quirks
vsassignee
: CREATE_ISSUE uses username, UPDATE_ISSUE uses UUIDassignee_account_id
values for issues include spaces:state
, not"on hold""on_hold"
omission defaults to repo main branch, notdestination_branch
literallymain- BBQL
is not a valid field -- userepositoryname
Rate Limits
- Bitbucket Cloud API has rate limits; large batch operations should include delays
- Paginated requests count against rate limits; minimize unnecessary page fetches
Destructive Operations
is irreversible and does not remove forksBITBUCKET_DELETE_REPOSITORY
is permanent with no recovery optionBITBUCKET_DELETE_ISSUE- Always confirm with the user before executing delete operations
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List workspaces | | , |
| List repos | | , , |
| Create repo | | , , |
| Delete repo | | , |
| List branches | | , , |
| Create branch | | , , , |
| List PRs | | , , |
| Create PR | | , , , |
| Get PR details | | , , |
| Get PR diff | | , , , |
| Get PR diffstat | | , , |
| Comment on PR | | , , , |
| List issues | | , , , |
| Create issue | | , , , |
| Update issue | | , , |
| Comment on issue | | , , , |
| Delete issue | | , , |
| List members | | |