dev
Create a feature branch + worktree, do the work, then automatically merge back to the current branch
Skill by SongYunSeop
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.
About
Reviews
Write a reviewNo 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
- 0.502score
save
SongYunSeop
Save learning content as a TIL file and update MOC and backlog.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
research
SongYunSeop
Research a topic to identify key concepts and terms, then organize as a learning backlog.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
dashboard
SongYunSeop
Learning dashboard — stats, activity heatmap, categories, backlog progress.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
til-lint
SongYunSeop
Health-check the TIL wiki for structural issues.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
backlog
SongYunSeop
View learning backlog and show progress.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
til
SongYunSeop
Today I Learned — research a topic, learn interactively, then save as TIL markdown.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
til-review
SongYunSeop
SRS-based TIL review session (spaced repetition).
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
omt-setup
SongYunSeop
oh-my-til unified setup — seeds SCHEMA.md and configures deployment
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
setup-obsidian
SongYunSeop
Install or update the Oh My TIL plugin in an Obsidian vault
SkillCFreshness: C★ 1Claude Code +9 - 0.487score
release
SongYunSeop
Create a new release.
SkillCFreshness: C★ 1Claude Code +9 - 0.484score
update-plugin
SongYunSeop
Update the installed Oh My TIL plugin to the latest version
SkillCFreshness: C★ 1Claude Code +9 - 0.484score
install-plugin
SongYunSeop
Install the Oh My TIL plugin into an Obsidian vault
SkillCFreshness: C★ 1Claude Code +9
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
- Repository
- github.com/SongYunSeop/oh-my-til
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SongYunSeop
- 0.502score
save
SongYunSeop
Save learning content as a TIL file and update MOC and backlog.
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
research
SongYunSeop
Research a topic to identify key concepts and terms, then organize as a learning backlog.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
dashboard
SongYunSeop
Learning dashboard — stats, activity heatmap, categories, backlog progress.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
til-lint
SongYunSeop
Health-check the TIL wiki for structural issues.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
backlog
SongYunSeop
View learning backlog and show progress.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
til
SongYunSeop
Today I Learned — research a topic, learn interactively, then save as TIL markdown.
SkillCFreshness: C★ 1Claude Code +9
Cite this page
dev skill. Agent Mart. https://agentmart.dev/skills/songyunseop-dev (last updated 2026-10-24)