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.
From ennam-dev-agent-teamnpx claudepluginhub en-nam/ennam-claude-agent-team --plugin ennam-dev-agent-teamThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
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: