Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Optimize daily development workflow with Cursor IDE using Chat, Composer, Tab, and Git integration. Triggers on "cursor workflow", "cursor development loop", "cursor productivity", "cursor daily workflow", "cursor dev flow".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-19 | ✓→✓ | = Same ✓ | 79% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 77% | 0% |
Establish a productive daily development workflow using Cursor's AI features at each stage of the code-write-test-commit cycle.
┌─────────────────────────────────────────────────────────────┐
│ 1. PLAN → Chat (Cmd+L) with @Codebase, @Docs │
│ 2. SCAFFOLD → Composer (Cmd+I) for new files │
│ 3. IMPLEMENT → Tab completion for line-by-line coding │
│ 4. REFINE → Inline Edit (Cmd+K) for targeted fixes │
│ 5. TEST → Chat to generate tests, terminal to run │
│ 6. COMMIT → AI-generated commit messages │
│ 7. REVIEW → @Git for branch diff review │
└─────────────────────────────────────────────────────────────┘Start each task by discussing architecture with Chat:
@Codebase @Docs Prisma
I need to add a "favorites" feature where users can bookmark products.
What's the best approach given our current data model and API structure?
Consider: database schema, API endpoints, and frontend hooks.Chat excels at:
@CodebaseOnce the plan is clear, use Composer for multi-file generation:
@src/api/users/route.ts @prisma/schema.prisma
Create the favorites feature:
1. prisma/schema.prisma: Favorite model (userId, productId, createdAt)
2. src/api/favorites/route.ts: GET (list user favorites), POST (add), DELETE (remove)
3. src/services/favorite.service.ts: FavoriteService with Prisma operations
4. src/hooks/useFavorites.ts: React hook with optimistic updates
Follow existing patterns from the users API.Tip: Reference existing files with @ so Composer replicates your patterns instead of inventing new ones.
With scaffolded files open, use Tab for implementation details:
typescript// Open favorite.service.ts and start typing: async toggleFavorite(userId: string, productId: string // Tab completes the full method: async toggleFavorite(userId: string, productId: string): Promise<Favorite | null> { const existing = await this.prisma.favorite.findUnique({ where: { userId_productId: { userId, productId } }, }); if (existing) { await this.prisma.favorite.delete({ where: { id: existing.id } }); return null; } return this.prisma.favorite.create({ data: { userId, productId } }); }
Workflow tips for Tab:
Cmd+→ when the suggestion is 80% rightFor targeted improvements, select code and use Cmd+K:
Select the toggleFavorite method → Cmd+K:
"Add input validation: userId and productId must be non-empty strings.
Add error handling for database connection failures.
Return a Result type instead of throwing."Other common Cmd+K workflows:
"Add JSDoc comments" on a function"Convert to async/await" on a Promise chain"Add null checks" on a code block"Optimize this query" on a database callGenerate tests via Chat:
@src/services/favorite.service.ts @tests/services/user.service.test.ts
Generate vitest tests for FavoriteService following the same patterns as
user.service.test.ts. Cover: addFavorite, removeFavorite, toggleFavorite,
getFavorites with pagination. Mock Prisma client.Run tests in the integrated terminal:
bash# Cmd+` to open terminal npm test -- --watch src/services/favorite.service.test.ts
If tests fail, paste the error into Chat:
@src/services/favorite.service.ts
This test is failing with: "Expected null but received undefined"
[paste test output]
What's wrong?Use Cursor's Source Control panel (Cmd+Shift+G):
feat: add favorites feature with toggle, pagination, and optimistic updates
- Add Favorite model to Prisma schema with userId/productId unique constraint
- Create REST API endpoints (GET, POST, DELETE) for /api/favorites
- Implement FavoriteService with toggleFavorite and paginated listing
- Add useFavorites React hook with optimistic UI updatesBefore pushing, review your full branch diff:
@Git
Review all changes in this branch compared to main.
Check for:
- Missing error handling
- Type safety issues
- Potential N+1 query problems
- Any hardcoded values that should be environment variables@Git includes the branch diff in context, giving the AI a complete view of all your changes.
Morning startup:
1. cursor . # Open project
2. Wait for "Indexed" in status bar # Indexing complete
3. Cmd+Shift+G → git pull # Sync with team
4. Cmd+L → "What changed yesterday? @Git"
Task switching:
- Start a new Chat (Cmd+N) for each task
- Do NOT continue a 20-turn conversation on a new topicMinimize mouse usage:
Cmd+P → Open any file by name
Cmd+Shift+P → Run any command
Cmd+L → Ask AI anything
Cmd+K → Edit selected code
Cmd+I → Multi-file changes
Cmd+` → Toggle terminal
Cmd+B → Toggle sidebar
Cmd+Shift+G → Git panelCreate .cursor/rules/dev-standards.mdc:
yaml--- description: "Development standards for all code" globs: "" alwaysApply: true --- - Run `npm test` before committing - All new functions need JSDoc comments - Use Conventional Commits format - No console.log in committed code (use proper logger)
@Codebase to explore unfamiliar codeOther measured skills in the registry, with their headline benchmark lift.