Skip to content
Agentmart
Submit a tool

dev

Create a feature branch + worktree, do the work, then automatically merge back to the current branch

Skill by SongYunSeop

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/songyunseop-dev

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Create a feature branch + worktree, do the work, then automatically merge back to the current branch

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/dev

What's inside

Skill name
dev
Description
Create a feature branch + worktree, do the work, then automatically merge back to the current branch
License
MIT
Instructions
452 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • name: missing
  • body: contains an absolute path from the author's machine

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Dev Skill — Feature Branch Workflow Automation

Create a feature branch, do the work in a worktree, then automatically merge back to the current branch and clean up.

## Usage

```
/dev "brief feature description"
/dev --branch custom-name "feature description"
/dev --abort [branch-name]
```

## Argument Handling

Extract the following from `$ARGUMENTS`:

1. **Feature description** (required, except for `--abort`): a quoted string describing what to implement concisely
2. **--branch** (optional): specify the branch name directly. Skips prefix detection and uses the given name as-is (e.g. `--branch hotfix/urgent` → branch name `hotfix/urgent`)
3. **--abort** (optional): abort an in-progress dev workflow and clean up the worktree

### `--abort` Handling

```bash
# 1. If branch-name is provided: find the worktree for that branch
# 2. If branch-name is omitted: print the worktree list and guide the user to re-run with a branch name
git worktree list
```

Output when branch-name is not specified:
```
Current registered worktrees:
{git worktree list output}

Specify the branch to clean up and run again:
  /dev --abort feat/my-feature
```

When branch-name is specified:
```bash
# Check for unmerged commits
git log "$BASE_BRANCH".."$BRANCH_NAME" --oneline

# Warn if commits exist
```

Confirmation message when there are unmerged commits:
```
[WARNING] This branch has {N} unmerged commit(s):
{commit list}

These commits cannot be recovered after deletion. Do you want to proceed?
```
**→ Use `AskUserQuestion` to request confirmation and wait for the user's response. Do not proceed with deletion until a response is received.**

After user confirmation:
```bash
WORKTREE_DIR=$(echo "$BRANCH_NAME" | tr '/' '-')
WORKTREE_PATH="../${PROJECT_NAME}-${WORKTREE_DIR}"

git worktree remove --force "$WORKTREE_PATH"

# Attempt safe delete → force delete only after user confirmation above
git branch -d "$BRANCH_NAME" || git branch -D "$BRANCH_NAME"  # -D only after confirmation above
```

### Automatic Branch Name Generation

Detect the **type of change** from the feature description to determine the prefix:

| Detected keywords | prefix | Example |
|-------------------|--------|---------|
| "fix", "bug", "error" | `fix/` | `fix/pty-path-bug` |
| "refactor", "cleanup", "improve" | `refactor/` | `refactor/mcp-server` |
| "docs", "README", "comment" | `docs/` | `docs/update-readme` |
| anything else (default) | `feat/` | `feat/add-dashboard` |

Slug generation rules:
- Translate non-English words to English (e.g. "PTY bug fix" → `fix/pty-bug`)
- Replace spaces/special characters with hyphens
- Maximum 30 characters, lowercase

### Worktree Path Generation

Replace `/` in the branch name with `-` for the worktree path:
```bash
WORKTREE_DIR=$(echo "$BRANCH_NAME" | tr '/' '-')
WORKTREE_PATH="../${PROJECT_NAME}-${WORKTREE_DIR}"
# Example: feat/add-dashboard → ../oh-my-til-feat-add-dashboard
```

## Path Rules (Important)

Claude Code's Bash tool does not preserve shell state (including `cd`) between calls. Therefore:

- **Use absolute paths in all bash commands**
- When working in a worktree: prefix every command with the absolute path of `$WORKTREE_PATH`
- When editing files (Read/Edit tools): reference files by their absolute path under `$WORKTREE_PATH`
- After Phase 5: use the absolute path of `$PROJECT_ROOT`
- Use literal absolute path strings rather than variable references (e.g. `/Users/.../oh-my-til-feat-xxx/src/main.ts`)

## Pre-flight Validation

Check all conditions below. Abort and notify the user if any one fails.

1. **Verify the working tree is clean**
   ```bash
   git status --porcelain
   ```
   Abort if there are uncommitted changes.

2. **Check the current branch**
   ```bash
   git branch --show-current
   ```
   - Abort if the output is empty (detached HEAD): "Cannot run in detached HEAD state"
   - Abort if on `main`: "Do not work directly on main. Run from a release or other branch"
   - If on a `release/*` branch, print: "[INFO] Running from release branch ({name}). Merge target: {name}"
   - Save the current branch as `BASE_BRANCH` (merge target)

From SongYunSeop/oh-my-til, MIT.

More from SongYunSeop/oh-my-til

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Mar 4, 2026 (7 months ago)
Last release
May 15, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from SongYunSeop

Cite this page

dev skill. Agent Mart. https://agentmart.dev/skills/songyunseop-dev (last updated 2026-10-24)