Instructions for using this template: Replace all sections marked with
[CUSTOMIZE: ...]with your project-specific details. Remove these instruction callouts before using the final prompt.
It is your job to iterate on the following well-scoped ticket within your branch until completion.
[CUSTOMIZE: List the primary directories containing source code, e.g., /apps and /packages, /src, /backend, etc.] will contain all the source code you need to complete your goal. If any additional resources are required you will be provided with those as well.
During planning phase it is your job to collect all information needed to clarify ambiguous requirements and fill in necessary gaps.
Once executing you must try to complete your tasks without further intervention. We are working on well-scoped tickets in git worktrees, so you have the leeway to accomplish your task how you see fit.
Once you are satisfied with your changes you may push your changes to your branch and open a descriptive PR of everything you accomplished so that someone can come by and review your work.
[CUSTOMIZE: Describe your monorepo/project structure. Include main applications, services, and their purposes.]
Example structure:
The project apps are:
[APP_NAME]in[PATH]that[DESCRIPTION OF PURPOSE][APP_NAME]in[PATH]that[DESCRIPTION OF PURPOSE][APP_NAME]in[PATH]that[DESCRIPTION OF PURPOSE]
The important project packages are:
[PACKAGE_PATH]-[DESCRIPTION OF WHAT IT DOES][PACKAGE_PATH]-[DESCRIPTION OF WHAT IT DOES][PACKAGE_PATH]-[DESCRIPTION OF WHAT IT DOES]
[CUSTOMIZE: Describe your build/package management setup]
Example: Workspace members are run using [BUILD_TOOL] as a manager. Dependencies and packages are maintained and scripted with [PACKAGE_MANAGER].
[CUSTOMIZE: List external services, databases, and infrastructure components needed for development]
Example structure:
The project relies on [DATABASE/SERVICE_NAME]. This runs as a local service within [HOW_IT_RUNS, e.g., docker container, local binary, etc.].
[CUSTOMIZE: If applicable, add instructions for resetting/managing local development resources]
Example: If you need to fully reset the database you may run [RESET_COMMAND] in order to [WHAT_THIS_DOES].
[Optional section - only include if your project has specific patterns or conventions that Claude Code needs to follow]
[CUSTOMIZE: Describe your project's coding patterns, conventions, and best practices]
Example structure:
We have a very specific pattern for implementing library methods in [PATH_TO_LIB]:
[PATTERN OR CONVENTION 1][PATTERN OR CONVENTION 2][PATTERN OR CONVENTION 3]
[CUSTOMIZE: If using specific error handling patterns, dependency injection, or other architectural patterns, describe them here]
[CUSTOMIZE: Title based on your constraint, e.g., "Note on running the dev server", "Port conflicts", etc.]
[CUSTOMIZE: Add any constraints or important warnings about the development environment]
Example: While the services needed for testing are running and available locally, refrain from trying to run the dev environment. You are working on the same machine as other claude code instances in different worktrees, and we do not have a reliable way to run multiple dev servers at once. Trust that your work will be verified visually by running the dev server separately.
[CUSTOMIZE: Describe how to add new dependencies to your project]
Example: If you add dependencies to any members of the workspace, you should follow [BUILD_TOOL] best practices and add them as dependencies of the desired app or package.
You are starting from a fresh worktree, so you will need to install dependencies before you can begin:
[DEPENDENCY_INSTALL_COMMAND] # e.g., npm install, pnpm i, yarn install[CUSTOMIZE: Add common issues and their solutions specific to your project]
Example structure:
-
Issue:
[DESCRIPTION OF COMMON PROBLEM]- Solution:
[HOW TO FIX IT]
- Solution:
-
Issue:
[DESCRIPTION OF COMMON PROBLEM]- Solution:
[HOW TO FIX IT]
- Solution:
[CUSTOMIZE: Describe your testing setup and how to run tests]
Example structure:
All apps and packages use [TEST_FRAMEWORK] in order to run tests. [DESCRIBE ANY SPECIAL TEST SETUP, e.g., environment variables, test databases, etc.]
In order to run tests, from the project root you should run:
[TEST_COMMAND] # e.g., npm test, pnpm test, pytest[CUSTOMIZE: If you have different test commands for different parts of the codebase, list them here]
Example:
- To test
[MODULE_NAME]:[SPECIFIC_TEST_COMMAND] - To test
[MODULE_NAME]:[SPECIFIC_TEST_COMMAND]
You are not allowed to finish in a state where CI is failing. Before counting your tasks as done, you need the following commands to pass without errors:
[CUSTOMIZE: List all commands that must pass before the task is complete]
Example checklist:
[BUILD_COMMAND] # check that we build with no errors
[LINT_COMMAND] # lint checks (you may run [FIX_COMMAND] if this fails)
[FORMAT_COMMAND] # format checks (you may run [FIX_FORMAT_COMMAND] if this fails)
[TYPE_CHECK_COMMAND] # check the types (if applicable)
[TEST_COMMAND] # you should check that tests for affected modules are still passing[CUSTOMIZE: Add any additional validation steps required]
[CUSTOMIZE: This is where you'll insert the actual ticket/task description for each specific piece of work]
Before using this template:
- Replace all
[CUSTOMIZE: ...]sections with your project details - Remove all instruction callouts and example structures
- Keep only the sections relevant to your project
- Add any project-specific sections that Claude Code needs to know about
- Ensure all commands are tested and accurate
- Consider adding links to internal documentation where relevant
Tips for effective prompts:
- Be specific about file paths and project structure
- Include examples of existing patterns Claude should follow
- Clearly state constraints (e.g., ports in use, shared resources)
- List all CI checks that must pass
- Describe how to reset/troubleshoot common issues
- Include any special build or dependency management quirks