Agent skill
sync-feature-branch
Commit current work to feature branch with Beads metadata tracking and git integration. MUST BE USED for all commit operations. Handles Feature-Key trailers, Beads status updates, and optional quick linting before commit. Use when user wants to save progress, commit changes, prepare work for review, sync local changes, or finalize current work, or when user mentions "uncommitted changes", "git status shows changes", "Feature-Key missing", commit operations, saving work, git workflows, or syncing changes.
Install this agent skill to your Project
npx add-skill https://github.com/stars-end/agent-skills/tree/master/sync-feature-branch
SKILL.md
Sync Feature Branch
Commit current work with Beads tracking + smart discovery handling + auto phase transitions.
Workflow
1. Set Beads Context
mcp__plugin_beads_beads__set_context(workspace_root="/path/to/project")
2. Get Current Issue
git branch --show-current
# Extract FEATURE_KEY from feature-<KEY> pattern
Use MCP tool:
currentIssue = mcp__plugin_beads_beads__show(issue_id=<FEATURE_KEY>)
If not found, auto-create as safety net:
mcp__plugin_beads_beads__create(
title=<FEATURE_KEY>,
issue_type="feature",
priority=2,
description="Auto-created during commit",
assignee="claude-code"
)
Note: Issue should ideally exist BEFORE coding (Issue-First Development), but this prevents orphaned commits.
3. Analyze Diff for Discoveries
git diff HEAD
Detect discovery patterns:
- Bug fixes: Lines with "fix:", "bug:", error handling additions
- New tasks: TODO comments, "should add", validation additions
- Protected paths: .claude/hooks/, migrations/, workflows/**
Score risk level:
- Auto (silent): <50 lines, P3-P4, non-protected
- Auto (notify): <100 lines, P2, non-protected
- Prompt: >100 lines OR P0-P1 OR protected paths
4. Handle Discoveries (if detected)
If discovery found and risk <= "auto (notify)":
childIssue = mcp__plugin_beads_beads__create(
title="Bug: <detected-issue>",
type="bug", // or "task" based on pattern
priority=1, // or 2 based on severity
deps=[currentIssue.id], // Creates discovered-from link
id=currentIssue.id + ".X" // Auto-assigned child ID
)
Close child issue BEFORE commit:
mcp__plugin_beads_beads__close(childIssue.id, reason="Fixed")
Force flush to JSONL:
bd sync --flush-only
Commit with child Feature-Key:
git add -A
git commit -m "fix: <issue-description>
Closes ${childIssue.id}
Feature-Key: ${childIssue.id}
Parent-Feature: ${currentIssue.id}
Discovery-Type: bug"
If risk = "prompt", ask user before creating issue.
5. Every Commit Check (make ci-lite)
if make ci-lite exists:
make ci-lite
if fails:
echo "â make ci-lite failed (Linting or Backend Tests)"
ask user: "Fix errors or force commit? (fix/force)"
if fix: exit 1
5.5. Doc Auto-Link and Impact Analysis
Auto-link docs to Beads (if not already linked):
# Check if docs directory exists
DOC_DIR="docs/${currentIssue.id}"
if [ -d "$DOC_DIR" ]; then
# Check if already linked
CURRENT_REF=$(bd show ${currentIssue.id} --json | jq -r '.external_ref // ""')
if [ -z "$CURRENT_REF" ] || [ "$CURRENT_REF" = "null" ]; then
# Auto-link
bd update ${currentIssue.id} --external-ref "docs:${DOC_DIR}/"
echo "đ Auto-linked: ${currentIssue.id} â ${DOC_DIR}/"
fi
fi
Doc impact analysis:
# Run doc router to analyze which docs might need updates
python3 scripts/ci/doc_router.py --base HEAD --head @ --format brief
Show informational message if doc updates recommended:
âšī¸ Doc Impact Detected:
- backend/services/auth.py â docs/SECURITY/AUTH.md
- frontend/components/Login.tsx â docs/FRONTEND/COMPONENTS.md
Consider updating docs before PR (optional)
Why informational:
- Non-blocking (doesn't fail commit)
- User controls timing (can update now or later)
- CI will also check (reminder in PR comments)
6. Commit Changes
If NO discovery (normal commit):
# Get agent identity (uses DX_AGENT_ID if set, fallback to auto-detect)
AGENT_ID="$(~/.agent/skills/scripts/get_agent_identity.sh)"
git add -A
git commit -m "feat: Progress on {FEATURE_KEY}
Feature-Key: {currentIssue.id}
Agent: $AGENT_ID
Role: {current-role}"
Note: Agent: trailer uses DX_AGENT_ID standard (bd-n1rv). See DX_AGENT_ID.md for details.
If discovery handled, commit was already done in step 4.
7. Check for Phase Completion
After commit, check if current issue should close:
currentIssue = mcp__plugin_beads_beads__show(currentIssue.id)
Auto-close criteria:
- Issue has dependents (tasks waiting)
- Work appears complete (no obvious TODOs in recent commits)
- User didn't say "work in progress" or "checkpoint"
If should close:
mcp__plugin_beads_beads__close(
currentIssue.id,
reason="Completed in commit <hash>"
)
8. Auto Phase Transition
After closing current issue, find next ready task:
readyTasks = mcp__plugin_beads_beads__ready(priority=1)
// Filter to dependents of parent epic
nextTask = readyTasks.find(task =>
task.dependencies.includes(currentIssue.id)
)
If next task found:
mcp__plugin_beads_beads__update(
nextTask.id,
status="in_progress"
)
9. Confirm to User
If discovery occurred:
â
Auto-committed {childIssue.id} (bug fix, 15 lines)
â
{childIssue.id} closed
đ Resuming {currentIssue.id}: {currentIssue.title}
Ready to continue main task
If phase transitioned:
â
Closed {currentIssue.id} (Research complete)
đ Starting {nextTask.id}: {nextTask.title}
Next phase in epic workflow
If normal commit:
â
Committed to feature-{currentIssue.id}
â
Beads updated
Next: Say 'create PR' to open pull request
Best Practices
- Set context first - Call set_context() at start of skill
- Analyze diff before commit - Detect discoveries automatically
- Use child IDs - Auto-assigned (bd-xyz.1, bd-xyz.2)
- Link discoveries - deps=[parent] creates discovered-from
- Trust automation - Auto-close criteria are conservative
- Phase transitions - Automatic when dependencies exist
- Context restoration - Always show what's next after transitions
Discovery Detection Patterns
Bug fixes detected by:
- Commit message starts with "fix:", "bug:"
- New error handling (try/catch, if err)
- Permission fixes (chmod, access control)
- Schema corrections (JSON format, API contracts)
Tasks detected by:
- TODO/FIXME comments added
- "should add", "need to implement"
- Placeholder code with notes
Auto-close NOT triggered if:
- User says "checkpoint", "work in progress", "WIP"
- Commit message includes "partial", "incomplete"
- Multiple TODOs remain in diff
What This DOESN'T Do
- â Run full test suite (CI handles this)
- â Build containers (CI handles this)
- â Wait for approval (environments validate async)
- â Close issues if user indicates incomplete work
Philosophy: Fast commits + Smart automation + Context preservation
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
toolchain-health
Validate Python toolchain alignment between mise, Poetry, and pyproject. Use when changing Python versions, editing pyproject.toml, or seeing Poetry/mise version solver errors. Invokes /toolchain-health to check: - .mise.toml python tool version - pyproject.toml python constraint - Poetry env python interpreter Keywords: python version, mise, poetry, toolchain, env use, lock, install
parallelize-cloud-work
Delegate independent work to Claude Code Web cloud sessions for parallel execution. Generates comprehensive session prompts with context exploration guidance, verifies Beads state, provides tracking commands. Use when user says "parallelize work to cloud", "start cloud sessions", or needs to execute multiple independent tasks simultaneously, or when user mentions cloud sessions, cloud prompts, delegate to cloud, Claude Code Web, generate session prompts, parallel execution, or asks "how do I use cloud sessions".
docs-create
Create epic-specific documentation skill with external reference docs. MUST BE USED for caching external docs. Fetches URLs, caches full content, uses documentation-engineer to generate cohesive summaries, and creates auto-activating skill. Use when starting work on epic that requires external documentation context (API docs, tool guides, reference materials), or when user mentions "cache docs", "external docs", "API documentation", URLs for docs, documentation needs, reference materials, knowledge caching, or epic context documentation.
railway-doctor
git-safety-guard
Installs a Git safety guard hook for Claude Code to prevent destructive Git and filesystem commands. Blocks accidental data loss from commands like 'git checkout --', 'git reset --hard', 'git clean -f', 'git push --force', and 'rm -rf'. Use this skill to set up safety rails in a new or existing repository, or globally for the agent.
beads-guard
Safe Beads workflow helper (warning-only). Use before bd sync/close/create to avoid JSONL conflicts. Ensures you are on a feature branch, up to date with origin/master, and stages Beads files cleanly with Feature-Key commits.
Didn't find tool you were looking for?