Skip to content

Conversation

@janhesters
Copy link
Collaborator

This is another slash command I use a ton. It helps to quickly (or slowly and deliberately depending on the context) brainstorm approaches.

@janhesters janhesters self-assigned this Oct 15, 2025
@ericelliott
Copy link
Collaborator

@cursor 🙏 review

@cursor
Copy link

cursor bot commented Oct 17, 2025

🔬 Code Review

I've completed a thorough review of the brainstorm slash command PR. Here's my analysis:

Strengths

  1. Clear Purpose: The command has a well-defined goal - helping users ideate solutions with trade-offs and recommendations
  2. Comprehensive Constraints: Good coverage of important considerations (edge cases, scalability, DX, safety)
  3. Structured Format: Uses SudoLang syntax consistently with other commands in the project
  4. References Best Practices: Line 33 correctly references the JavaScript style guide rule
  5. User Safety Focus: Lines 31-32 appropriately emphasize user safety and quality work

📋 Structural Observations

Consistency with Project Patterns:
Comparing to other commands in ai/commands/:

  • ✅ Uses appropriate header format
  • ✅ Defines clear roles and constraints
  • ⚠️ Inconsistency: Other commands (help.md, plan.md, review.md) explicitly reference "please.mdc" constraints at the beginning. This command does not.

🔍 Detailed Findings

Issue 1: Missing Reference to please.mdc (Priority: Medium)

# Brainstorm

Act as a top-tier software engineer with deep expertise across all aspects of software development.

Goal: help the user ideate solutions with clear trade-offs and a final recommendation.

Brainstorm {
  currentYear: 2025
  roles: ["mentor", "advisor"]

  /brainstorm(topic, context?) => Output
}

Finding: Unlike other commands (help.md, plan.md, review.md), this doesn't include "Before beginning, read and respect the constraints in please.mdc" in its Constraints block.

Impact: May lead to inconsistent behavior if the brainstorm command doesn't respect the general constraints (e.g., "Do ONE THING at a time, get user approval before moving on").

Recommendation: Add constraint reference for consistency:

Constraints {
  Before beginning, read and respect the constraints in please.mdc.
  Think about edge cases and how to handle them.
  ...
}

Issue 2: Vague Web Search Guidance (Priority: Low)

  You might need to perform a web search to find current information, e.g. for:
    - Recent technology developments
    - Latest APIs
    - Latest best practices
    - Regulatory changes

Finding: The web search guidance is helpful but lacks specificity about when/how to perform searches.

Suggestion: Consider adding guidance like "Perform web searches BEFORE recommending solutions when the question involves..." to make it more actionable.

Issue 3: Logic Structure Clarity (Priority: Low)

  If "you want to list multiple options" {
    When listing multiple options, give your recommendation with reasons.
    Before giving your recommendation, list the options unbiasedly, and THEN give your recommendation.
  }

Finding: The condition If "you want to list multiple options" is slightly ambiguous. The agent should always list options when multiple solutions exist, not just when it "wants to."

Suggestion: Rephrase to be more directive:

  When multiple viable options exist {
    List all options unbiasedly first
    Then provide your recommendation with clear reasoning
  }

📊 Overall Assessment

Category Score Notes
Clarity 9/10 Clear purpose and structure
Completeness 8/10 Missing please.mdc reference
Consistency 7/10 Minor inconsistencies with other commands
Utility 10/10 Highly useful command for ideation
Safety 10/10 Appropriate safety constraints

Approval Status: APPROVED with Minor Suggestions

This is a valuable addition to the command set. The command is well-structured and will be immediately useful. The issues identified are minor and can be addressed in a follow-up if desired.

🎯 Recommended Actions (Optional)

  1. Add "Before beginning, read and respect the constraints in please.mdc." to Constraints block
  2. Consider clarifying the web search and option-listing guidance for better consistency
  3. No blocking issues - safe to merge as-is

Summary: The brainstorm command is well-designed and ready for use. It follows project conventions and provides clear guidance for ideation workflows. The minor inconsistencies noted don't block the PR but could improve consistency if addressed.


Open in Cursor Open in Web

Learn more about Cursor Agents

@ericelliott ericelliott requested a review from Copilot October 17, 2025 00:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new /brainstorm slash command that provides an AI-powered brainstorming assistant for software development solutions. The command is designed to help users ideate solutions with clear trade-offs and recommendations.

  • Adds a structured brainstorming command with defined roles (mentor, advisor)
  • Implements constraints emphasizing edge cases, scalability, maintainability, and user safety
  • Includes guidance for unbiased option listing followed by recommendations

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@janhesters
Copy link
Collaborator Author

@ericelliott I would ignore both of @cursor's suggestions:

Add "Before beginning, read and respect the constraints in please.mdc." to Constraints block

This will just create circular references.

Consider clarifying the web search and option-listing guidance for better consistency

I want to keep it vague to get the agent to use it's best judgement when to look up things. You can always explicitly tell it what to look up in your prompt, e.g. /brainstorm look up the Zod V4 API since it's not in your training data.

Goal: help the user ideate solutions with clear trade-offs and a final recommendation.

Brainstorm {
currentYear: 2025
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't hard-code current dates. Instead, we COULD add an instruction to grab the current date with a tool call to please.mdc, and then it will be in context when the user types please /[command] - including this one.

I wonder if "memoizedLookup(date)" would do the trick here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@janhesters janhesters force-pushed the 2025-10-15-brainstorm-slash-command branch from 4003e4e to 8473502 Compare November 3, 2025 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants