Skip to main content

Communication

Be Specific

Make the code better

Provide Context

When working on existing code, let Nelson read relevant files first:
You: Read src/api/users.js and src/models/user.js

Nelson: [Reads files]

You: Now add email verification to the registration flow

Use Step-by-Step for Complex Tasks

Break complex requests into steps:
You: Let's build a payment integration:
1. First, read the current checkout flow
2. Then design the payment service interface
3. Implement the Stripe integration
4. Add tests
5. Update the checkout flow to use payments

Working with Files

Let Nelson Explore First

You: What's the structure of this project?

Nelson: [Lists directories]

You: Read the main entry point

Nelson: [Reads index.js]

You: Now I need to add a new feature...

Review Changes

Nelson shows what tools are used. Pay attention to:
  • Which files are being modified
  • What commands are being run
  • Any errors or warnings

Use Edit for Small Changes

For small, targeted changes, be specific about what to change:
You: In config.js, change the timeout from 5000 to 10000

Using Nelson Loop

Always Set Max Iterations

# Good - has a safety limit
/nelson-loop "Build feature X" --max-iterations 20

# Risky - could run forever
/nelson-loop "Build feature X"

Define Clear Completion Criteria

/nelson-loop "Make the app work better"

Include Verification Steps

/nelson-loop "Implement the search feature:
1. Add search endpoint
2. Write tests
3. RUN THE TESTS
4. Output <haha>DONE</haha> only when tests pass"
--completion-haha "DONE" --max-iterations 20

Project Organization

Run from Project Root

# Good - full project context
cd ~/projects/my-app
nelson

# Less ideal - limited context
cd ~/projects/my-app/src/utils
nelson

Keep a Clean Working Directory

Nelson works best when your project is organized:
  • Use .gitignore to exclude node_modules, etc.
  • Keep related files together
  • Use clear naming conventions

Error Handling

When Things Go Wrong

If Nelson makes a mistake:
You: That's not quite right. The function should return a Promise, not a callback

Nelson: HA-HA! My bad. Let me fix that...

When Loops Get Stuck

If a Nelson Loop isn’t making progress:
/cancel-nelson
Then try with:
  • A clearer prompt
  • Smaller scope
  • Different approach

Performance Tips

Start Small

Begin with small tasks to understand Nelson’s capabilities

Iterate Often

Frequent small requests > one massive request

Use Tests

Tests help Nelson verify implementations

Trust but Verify

Review Nelson’s changes, especially for critical code

Anti-Patterns to Avoid

Don’t ask Nelson to make changes to files you haven’t let him read
Don’t run infinite loops without --max-iterations
Don’t give vague requirements and expect perfect results
Don’t skip testing - always verify changes work