From ennam-dev-agent-team
Standard git branching and commit workflow for worker agents operating in isolated worktrees. Covers branch naming, commit conventions, domain boundary rules, self-check procedures, and task completion signaling. Automatically loaded by all worker agents.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ennam-dev-agent-team:branch-worker-protocolThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are working in an isolated git worktree. Follow this protocol for every task.
You are working in an isolated git worktree. Follow this protocol for every task.
<domain>/<task-id>-<short-description>
Examples:
backend/task-001-product-reviews-apifrontend/task-004-review-componentstests/task-006-review-api-testsmobile/task-010-product-listing-screenRules:
git checkout -b <branch-name>
git status # Verify you are on the correct branch
Then immediately confirm to the team-lead:
Branch created: <branch-name>
Starting TASK-<ID>: <title>
Use conventional commits. Commit each logical chunk — do NOT batch all changes into a single commit at the end.
<type>(<scope>): <description>
[optional body]
Task: TASK-<ID>
Types: feat, fix, test, refactor, docs, chore
Scopes: api, services, prisma, components, pages, hooks, styles, tests
Examples:
feat(api): add POST /api/products/[id]/reviews endpoint
Validates review body with Zod, persists via ReviewService,
returns created review with author info.
Task: TASK-003
test(api): add unit tests for review service
Tests create, list, and delete operations.
Covers validation errors and not-found cases.
Task: TASK-006
You may ONLY modify files within your assigned domain directories.
If you discover you need a file outside your domain:
<file-path> because <reason>"Common cross-domain needs:
src/types/ → team-lead owns thesepackage.json → team-lead owns thistsconfig.json, next.config.*) → team-lead owns thesepubspec.yaml → team-lead coordinatesandroid/, ios/) → mobile-dev owns, but team-lead coordinates with backend if neededBefore running self-checks, update your task status:
.serena/memories/ouroboros/tasks/registry.md — update your task status to review.serena/memories/ouroboros/architecture/conventions.mdRun ALL of these before reporting task done. Use the appropriate check commands for your detected stack.
# 1. Verify only your domain files were changed
git diff --name-only main...HEAD
# 2. No uncommitted changes remain
git status
# 3. TypeScript compiles without errors
npx tsc --noEmit
# 4. Linting passes
npx next lint
# 5. Relevant tests pass (if applicable)
npx vitest run --reporter=verbose
# 1. Verify only your domain files were changed
git diff --name-only main...HEAD
# 2. No uncommitted changes remain
git status
# 3. Dart analysis passes
dart analyze
# 4. Format check
dart format --set-exit-if-changed lib/ test/
# 5. Flutter tests pass
flutter test --reporter=expanded
# 1. Verify only your domain files were changed
git diff --name-only main...HEAD
# 2. No uncommitted changes remain
git status
# 3. Type checking passes
mypy .
# 4. Linting passes
ruff check .
# 5. Relevant tests pass (if applicable)
pytest --tb=short
If any check fails, fix the issue and re-run before reporting done.
When all self-checks pass, report to team-lead:
DONE: TASK-<ID>
Branch: <branch-name>
Files changed:
- <path/to/file.ts> (new)
- <path/to/other.ts> (modified)
Summary: <1-3 sentences describing what was implemented>
Tests: <X passed / not applicable>
If you cannot proceed, report immediately:
BLOCKED: TASK-<ID>
Reason: <specific thing that is missing or broken>
Need from: <team-lead | specific teammate>
Do NOT try to work around blockers by modifying files outside your domain.
If you encounter merge conflicts:
npx claudepluginhub en-nam/ennam-claude-agent-team --plugin ennam-dev-agent-teamStructures git workflow practices for committing, branching, resolving conflicts, and organizing work across parallel streams. Use when making any code change.
Creates isolated git worktrees for branch work, auto-installs dependencies, verifies baselines, and handles branch finishing with clean isolation.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.