| name | workspace-branch |
| description | Use when setting up workspace and branch context, switching workspaces or branches, creating or deleting branches, reviewing branch history, or creating a pull request for a working branch. This skill should be used when the user asks to "list workspaces", "switch workspace", "create a branch", "delete a branch", "switch branch", "show branch history", "create a PR", or "open a pull request" in Honeydew. |
Workspace & Branch Management
All Honeydew MCP tool calls operate against a workspace and branch set for the current session. Use this skill to set up that context, manage branches, and create pull requests when development work is ready for review.
Session Setup (Required Before Any Work)
Step 1: Check existing context
Call get_session_workspace_and_branch first. If a workspace and branch are already set, skip to Step 3.
Step 2: Select workspace and branch
list_workspaces → pick a workspace → set_session_workspace_and_branch
If the user needs a specific branch, call list_workspace_branches first to see available options.
Step 3: For development work, create a branch
create_workspace_branch → session switches automatically
Never make modeling changes on the prod branch directly. Always create a development branch first.
MCP Tools Reference
Read-Only Tools
list_workspaces — List all available workspaces. Returns the workspace name and data warehouse type (snowflake, databricks, or bigquery). Use the warehouse type to inform SQL dialect choices.
list_workspace_branches — List all branches available for a workspace. Requires workspace_id.
get_session_workspace_and_branch — Get the workspace and branch set for the current session.
get_branch_history — Get the change history for the current session's branch. Returns a chronological list of what semantic objects were modified, by whom, and when. Optional limit parameter (default: 50).
Write Tools
set_session_workspace_and_branch — Set the workspace and branch for the current session. All subsequent tool calls use this context. Requires workspace_id; branch_id is optional (defaults to prod).
create_workspace_branch — Create a new branch from the current state of the workspace's prod branch. The session automatically switches to the new branch. Requires workspace_id and branch_name.
delete_workspace_branch — Delete a branch from a workspace. Destructive and irreversible. Always confirm the workspace name and branch name with the user before calling. The prod branch cannot be deleted. If the deleted branch is the current session branch, the session switches to prod automatically. Requires workspace_id and branch_name.
create_pr_for_working_branch — Create a pull request for the current session's working branch. Returns the PR URL on success. Requires title; optional description.
Typical Workflows
Starting a session
get_session_workspace_and_branch
→ already set? → continue with current context
→ not set? → list_workspaces → set_session_workspace_and_branch
Starting development work
get_session_workspace_and_branch (confirm you're on the right workspace)
create_workspace_branch (workspace_id, branch_name)
→ session switches to new branch automatically
→ make modeling changes
Reviewing work done on a branch
get_branch_history
→ inspect what changed, who changed it, and when
Finishing development and opening a PR
create_pr_for_working_branch (title, description)
→ display the returned PR URL to the user
Cleaning up a branch
list_workspace_branches (confirm the branch name)
→ confirm with user before proceeding
delete_workspace_branch (workspace_id, branch_name)
Rules
- Always confirm before calling
delete_workspace_branch — it is irreversible.
- Never modify
prod directly. Always create a development branch for modeling changes.
create_workspace_branch always creates from the current prod state, not from another branch.
- If the deleted branch is the session branch, the session reverts to
prod automatically — remind the user to switch if needed.
- After
create_pr_for_working_branch, always display the returned PR URL.