skills/core/brainstorming/SKILL.md
Use when starting new features, major changes, or unclear requirements. Establishes shared understanding before implementation.
npx skillsauth add liauw-media/codeassist brainstormingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before writing ANY code, discuss the approach with the user. This prevents wasted effort and ensures alignment.
NEVER skip brainstorming for non-trivial work.
Even if you think you understand the requirement, the user may have:
Template:
I understand you want to [restate user's request in your own words].
Before I start implementing, let me make sure I understand correctly:
- [Clarifying question 1]
- [Clarifying question 2]
- [Clarifying question 3]
Example:
I understand you want to add user authentication to the API.
Before I start implementing, let me make sure I understand correctly:
- Do you want social login (Google, GitHub) or just email/password?
- Should this be stateless (JWT tokens) or session-based?
- Do you need role-based permissions (admin, user, etc.)?
Identify 2-4 possible approaches. For each option:
Template:
I see a few ways we could approach this:
## Option 1: [Approach Name]
**Description**: [What it involves]
**Pros**:
- [Advantage 1]
- [Advantage 2]
**Cons**:
- [Trade-off 1]
- [Trade-off 2]
**Complexity**: [Low/Medium/High]
**Best for**: [Scenario]
## Option 2: [Approach Name]
[Same structure]
## My Recommendation
Based on [reasoning], I recommend [Option X] because [why].
Be explicit about:
Never assume approval.
Template:
Does this approach make sense to you?
Any concerns or changes before I start implementing?
Wait for user's response before proceeding to planning/implementation.
After brainstorming:
writing-plans skilldatabase-backup skilltest-driven-development skillUser Request: "Add authentication to the API"
Bad Response (no brainstorming):
Let me add Laravel Sanctum authentication.
[Starts coding immediately]
Good Response (with brainstorming):
I understand you want to add authentication to the API.
Before I start, let me clarify:
- Do you need social login (Google, GitHub) or email/password?
- Stateless tokens (JWT) or session-based?
- Role-based permissions needed?
I see three approaches:
## Option 1: Laravel Sanctum (SPA/Mobile)
**Description**: Token-based, stateless
**Pros**: Simple, good for SPAs/mobile
**Cons**: No built-in OAuth
**Complexity**: Low
**Best for**: Single-page apps, mobile apps
## Option 2: Laravel Passport (OAuth2)
**Description**: Full OAuth2 server
**Pros**: Complete OAuth2, social login support
**Cons**: More complex setup
**Complexity**: Medium
**Best for**: Multiple clients, social login
## Option 3: Clerk (Third-party)
**Description**: Hosted auth service
**Pros**: Very fast setup, social login included
**Cons**: External dependency, cost at scale
**Complexity**: Low
**Best for**: MVP, rapid prototyping
My recommendation: For an API-first MVP with mobile app, I'd suggest Sanctum + Clerk for social login. This gives you simplicity plus social OAuth.
Does this approach make sense?
User Request: "We need to track user activity logs"
Bad Response:
I'll add an activity_logs table.
[Creates migration immediately]
Good Response:
I understand you want to track user activity logs.
Let me clarify the scope:
- What activities should we log? (logins, API calls, data changes, all?)
- How long should we retain logs? (30 days, 1 year, forever?)
- Do you need to query these logs? (search, filter, reports?)
- Expected volume? (100 events/day or 100,000/day?)
I see a few approaches:
## Option 1: Simple Database Table
**Description**: activity_logs table with user_id, action, timestamp
**Pros**: Simple, easy to query with SQL
**Cons**: Can get large, may slow down main database
**Complexity**: Low
**Best for**: < 1000 events/day
## Option 2: Dedicated Logging Table (Partitioned)
**Description**: Separate database or partitioned table
**Pros**: Doesn't impact main DB performance
**Cons**: More complex setup
**Complexity**: Medium
**Best for**: 1000-100k events/day
## Option 3: External Service (e.g., Papertrail, Logstash)
**Description**: Send logs to external service
**Pros**: Scalable, built-in search/analytics
**Cons**: Cost, external dependency
**Complexity**: Low-Medium
**Best for**: High volume, need analytics
My recommendation: Start with Option 1 (simple table) and add indexes on user_id and timestamp. We can migrate to Option 2 if volume grows.
What level of detail do you need in the logs?
This skill is based on:
Social Proof: Professional development teams ALWAYS discuss design before coding.
Before using this skill, confirm:
Bottom Line: 5 minutes of brainstorming saves hours of refactoring. Always discuss before you code.
development
Use when decomposing complex work. Dispatch fresh subagent per task, review between tasks. Flow: Load plan → Dispatch task → Review output → Apply feedback → Mark complete → Next task. No skipping reviews, no parallel dispatch.
development
# Server Documentation System Set up a documentation system that tracks changes and maintains server/project documentation with Claude Code hooks. ## When to Use - Setting up a new server or development environment - Need to track configuration changes over time - Want automatic documentation of work sessions - Maintaining changelog for infrastructure ## Directory Structure ``` ~/docs/ # User home directory (cross-platform) ├── changelog.md # Global over
development
Delegate tasks to remote Claude Code agent containers for parallel execution, long-running analysis, or resource-intensive operations.
development
Use when working on multiple features simultaneously. Creates isolated workspaces without branch switching, enabling parallel development.