Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub bjornjee/agent-dashboard --plugin agent-dashboardHow this skill is triggered — by the user, by Claude, or both
Slash command
/agent-dashboard:featureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Start a new feature in an isolated git worktree.
Creates an isolated git worktree for feature development with automatic dependency setup and test verification to ensure a clean baseline.
Automates git workflow: creates isolated worktrees for features with .gitignore safety checks, enables atomic commits, completes branches via merge, PR, preserve, or discard.
Creates isolated git worktrees for feature branches with directory selection, gitignore safety checks, multi-language project setup, and clean baseline verification.
Share bugs, ideas, or general feedback.
Start a new feature in an isolated git worktree.
Feature description: $ARGUMENTS
Follow these phases in order. Each phase has a gate — do not proceed until the gate is satisfied.
basename $(git rev-parse --show-toplevel)git checkout maingit pull origin mainfeat/<name> and worktree ../worktrees/<app>/<name> from main:
mkdir -p ../worktrees/<app> && git worktree add ../worktrees/<app>/<name> -b feat/<name> main
find . -name '.env*' -not -path './.git/*' -not -path './node_modules/*'./. env → ../worktrees/<app>/<name>/.env./services/api/.env.local → ../worktrees/<app>/<name>/services/api/.env.local./infra/.env.production → ../worktrees/<app>/<name>/infra/.env.productionfor f in $(find . -name '.env*' -not -path './.git/*' -not -path './node_modules/*'); do mkdir -p "../worktrees/<app>/<name>/$(dirname "$f")" && cp "$f" "../worktrees/<app>/<name>/$f"; done.claude/settings.local.json exists: mkdir -p ../worktrees/<app>/<name>/.claude && cp .claude/settings.local.json ../worktrees/<app>/<name>/.claude/pwd and git branch --show-currentfind command in both directories and diff the file lists. If any files are missing in the worktree, halt and report failure. If the source repo had no .env* files, note that explicitly.Gate: Working directory is the new worktree on the correct branch, based on latest main. If .env* files existed in the source repo, they are all present in the worktree.
Start two tracks in parallel:
Background — Environment setup: Launch a background agent (run_in_background: true) to set up the dev environment. The agent must:
Auto-detect project type from project files (highest match wins):
| Priority | Signal | Type |
|---|---|---|
| 1 | react-native in package.json dependencies | Mobile |
| 2 | next, vite, or webpack in package.json | Web |
| 3 | requirements.txt, pyproject.toml, or setup.py | Python |
| 4 | go.mod | Go |
| 5 | Dockerfile or docker-compose.yml | Containerized |
Ask the user only if no signal matches.
Install dependencies appropriate for the project type (e.g. pip install, npm install, go mod download). Configure ports, create emulators/simulators as needed.
Symlink large data directories (data/, datasets/, evals/, models/, artifacts/) from the source repo rather than copying.
On success, write a sentinel file: touch .env-setup-done
On failure, write the error: echo "<error message>" > .env-setup-failed
Foreground — Planning:
EnterPlanMode tool. Present the plan and wait for user approval.ExitPlanMode before proceeding.Gate: User has approved the approach in plan mode. No code has been written yet.
Pre-gate: Check for .env-setup-done in the worktree root.
node_modules/ exists, pip list succeeds, go env GOPATH works) and data symlinks resolve correctly..env-setup-failed exists: surface the error and halt.Build the feature following strict RED → GREEN → REFACTOR:
make test to confirm they fail. Show the failing output. Do not proceed until tests fail for the right reason.make test to confirm all tests pass.make test to confirm tests still pass.Gate: Environment ready. All tests pass via make test. Implementation matches the approved plan.
Review all changes for correctness, security, and convention adherence. Apply all project rules and conventions that are in your context.
Gate: No critical or high-severity issues remain.
Commit changes and prepare for merge.
Gate: Clean commit history with conventional commit messages.
Triggered when the user indicates the feature has been merged upstream.
.env-setup-done/.env-setup-failed sentinel files