Core principles
Be explicit about what you want. Instead of “can you improve the auth system?” try “add rate limiting to login attempts with exponential backoff following the pattern in middleware/rateLimit.ts.” Droid performs best when you clearly state your goal. Provide context upfront. Include error messages, file paths, screenshots, or relevant documentation. If you’re implementing something from a Jira ticket or design doc, paste the link—droid can automatically read context from platforms you’ve integrated in Factory’s dashboard. Choose your approach. For complex features, consider using Specification Mode for automatic planning. For routine tasks, droid can proceed directly while still showing you all changes for review. See the Planning versus doing section for detailed guidance. Define success. Tell droid how to verify the work is complete—run specific tests, check that a service starts cleanly, or confirm a UI matches a mockup.Writing effective prompts
The best prompts are direct and include relevant details:- State the goal clearly in the first sentence
- Include specific files or commands when known
- Mention related code that might help
- Explain how to test the result
- Keep it conversational but direct
Planning versus doing
For complex features, use Specification Mode which automatically provides planning and review before implementation:Managing context
Use AGENTS.md files to document build commands, testing procedures, and coding standards. Droid reads these automatically, so you don’t have to repeat project conventions. See the AGENTS.md guide for detailed setup instructions. Mention specific files when you know where the code lives. Use@filename
to reference files directly, or include file paths in your prompts. This focuses droid’s attention and saves time.
Set boundaries for changes. “Only modify files in the auth directory” or “don’t change the public API” helps contain the scope.
Reference external resources by including URLs to tickets, docs, designs, or specs. Droid can fetch and use this information.
Common workflows
Understanding code:Enterprise integration
Reference your team’s tools by pasting links to tickets or documents:Session management
Start new conversations when context gets cluttered or when switching to unrelated tasks. Fresh context often works better than accumulated noise from failed attempts. For large projects, break work into phases:Advanced techniques
Test-driven development:Examples of good prompts
Here are real examples that work well:What doesn’t work well
Avoid vague requests:- “Make the app better” → too broad
- “Fix the database” → not specific enough
- “Can you help with the frontend?” → unclear goal
- If you know the file path, include it
- If you know the command to run, mention it
- If there’s related code, point to it