.config/claude/skills/bdagent/SKILL.md
spawn agent worktree to execute bdloop
npx skillsauth add jm96441n/dotfiles .config/claude/skills/bdagentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Creates a new jj worktree in a sibling directory, spawns a tmux session there, and starts a Claude agent running /bdloop on the specified epic. Used after planning is complete to delegate execution to a separate agent in an isolated workspace.
$ARGUMENTS
Required:
<branch-name>: Name for the new branch and worktree directory (e.g., "feature-auth", "fix-api-validation")<epic-id>: BD epic or issue ID to execute (e.g., "proj-100", "api-15")Example:
/bdagent feature-user-auth proj-100
This skill is used after planning has been completed:
/bdplan/bdloop to execute-review-fix until passingVerify both arguments are provided:
# Arguments should be passed to skill, validate they exist
if [[ -z "$branch_name" ]] || [[ -z "$epic_id" ]]; then
echo "Error: Both branch-name and epic-id are required"
echo "Usage: /bdagent <branch-name> <epic-id>"
exit 1
fi
Before creating the worktree, confirm the epic exists in beads:
bd show "$epic_id"
If the epic doesn't exist, inform the user and suggest running /bdplan first.
Verify there are ready issues for the epic:
bd ready --parent "$epic_id" --json
If no ready work exists, warn the user that the agent will have nothing to execute.
Run the tmux-claude-worktree script:
tmux-claude-worktree "$branch_name" "$epic_id"
The script will:
../$branch_name (sibling directory)$branch_name and set it as working copy/bdloop $epic_idOutput a summary for the user:
✓ Agent worktree created and started
Branch: $branch_name
Worktree: ../$branch_name
Epic: $epic_id
tmux session: $session_name
The agent is now running /bdloop $epic_id in the background.
To monitor progress:
tmux attach -t $session_name
To switch to the agent session:
tmux switch-client -t $session_name
Current session remains active for continued planning or monitoring.
Worktree directory exists:
If ../$branch_name already exists, the script will fail. Suggest using a different branch name or manually removing the old worktree.
Epic doesn't exist: If the BD epic ID is invalid, inform the user and exit before creating the worktree.
No ready work: Warn but proceed — the agent will report "no ready work" immediately and exit.
tmux session exists: If a tmux session with the branch name already exists, the script will fail. Suggest attaching to the existing session or using a different branch name.
Post-planning delegation:
User: "Okay, the plan looks good. Let's get started on proj-100."
/bdagent implement-auth proj-100
Parallel execution:
# Planning session continues in current worktree
# Execution happens in separate worktree with separate agent
# User can monitor both or switch between them
Epic scope:
# Agent only works on issues under the specified epic
# Other epics in the repo remain untouched
/bdplan: Create the worktree and start execution/session-close: Optionally spawn agent before ending planning session/jujutsu: Uses jj worktrees for clean isolationtmux list-sessions to see all active agent sessionstools
Protocol for properly ending a coding session - ensures all work is committed, pushed, and handed off correctly.
tools
Prefer Jujutsu (jj) over git for version control. Use squash workflow pattern where commits are described first, then changes are made in a scratch child commit and squashed into the parent.
development
# Jira Skill Guidelines for creating and managing Jira issues for HashiCorp projects. ## InfraGraph Project (IG) ### Project Information - **Project Key**: `IG` - **Team Field**: `customfield_10001` - **Default Team Value**: `"InfraGraph-Graph Engine"` ### Creating Issues When creating Jira issues for the InfraGraph project, always include the team field: ```python jira_create_issue( project_key="IG", summary="Task summary", issue_type="Task", description="Task description
development
Write Gremlin graph traversal queries for Neptune using the gremlin-go driver patterns in this codebase