Prompting Panel

Interactive AI assistance with the Elixion Prompting Panel

Prompting Panel

The Prompting Panel provides interactive AI assistance directly within Elixion. Ask questions, generate content, analyze code, and get help with any task.

Overview

What is the Prompting Panel?

The Prompting Panel is an AI-powered assistant that:

  • Answers questions about your project
  • Helps write code, documentation, and content
  • Analyzes issues and suggests solutions
  • Assists with planning and estimation
  • Provides real-time help as you work

Accessing the Panel

Methods:

  1. Keyboard: Press Ctrl/Cmd + P
  2. Sidebar: Click Prompting Panel
  3. Context Menu: Right-click → Ask AI
  4. Issue View: Click AI assistant icon

Basic Usage

Starting a Conversation

┌──────────────────────────────────────────────┐
│ Prompting Panel                         ✕    │
├──────────────────────────────────────────────┤
│                                              │
│  👤 You:                                     │
│  How should I implement password reset       │
│  functionality for our auth system?          │
│                                              │
│  🤖 Elixion AI:                              │
│  Here's a recommended approach for           │
│  implementing password reset:                │
│                                              │
│  1. **User Requests Reset**                  │
│     - Validate email exists                  │
│     - Generate secure token                  │
│     - Store token with expiration            │
│                                              │
│  2. **Send Reset Email**                     │
│     - Include unique reset link              │
│     - Set 24-hour expiration                 │
│                                              │
│  3. **Reset Password**                       │
│     - Validate token                         │
│     - Update password (hashed)               │
│     - Invalidate token                       │
│     - Notify user of change                  │
│                                              │
│  Would you like me to create stories for     │
│  this or generate sample code?               │
│                                              │
├──────────────────────────────────────────────┤
│ Type your message...                    Send │
└──────────────────────────────────────────────┘

Contextual Awareness

The AI understands your current context:

On Issue Page:

You: How should I approach this bug?

AI: Looking at AUTH-123 (Login timeout error),
I recommend:

1. Check session timeout configuration
2. Review token refresh logic
3. Test with different network conditions

Based on the stack trace attached, the issue
appears to be in the refreshToken function...

On Board:

You: What should I work on next?

AI: Based on your current sprint and priorities:

1. AUTH-125 (High priority, 3 pts) - Due tomorrow
2. UI-200 (Medium priority, 5 pts) - Blocked by AUTH-125
3. BUG-50 (Critical) - Reported today

I'd suggest starting with AUTH-125 to unblock
the dependent work.

Common Use Cases

Writing Code

You: Write a React hook for form validation

AI: Here's a custom form validation hook:

```typescript
import { useState, useCallback } from 'react';

interface ValidationRules {
  required?: boolean;
  minLength?: number;
  maxLength?: number;
  pattern?: RegExp;
  custom?: (value: string) => string | null;
}

export function useFormValidation<T extends Record<string, string>>(
  initialValues: T,
  rules: Record<keyof T, ValidationRules>
) {
  const [values, setValues] = useState(initialValues);
  const [errors, setErrors] = useState<Record<keyof T, string | null>>({} as any);

  const validate = useCallback((name: keyof T, value: string) => {
    const fieldRules = rules[name];
    if (!fieldRules) return null;

    if (fieldRules.required && !value) {
      return 'This field is required';
    }
    // ... more validation
    return null;
  }, [rules]);

  // ... rest of implementation
}

Would you like me to add this to a new file or expand on specific validation rules?


### Analyzing Issues

You: What's causing these test failures?

AI: Looking at the test output for AUTH-123:

Root Cause: The mock for authService isn't properly resetting between tests.

Evidence:

  • Tests pass individually but fail together
  • State leaking between test cases
  • Mock call counts are accumulating

Solution: Add beforeEach cleanup:

beforeEach(() => {
  jest.clearAllMocks();
});

Shall I create a fix for this?


### Planning Work

You: Help me break down this epic

AI: Let's break down "User Profile Management":

Stories:

  1. View User Profile (3 pts)

    • Display user info, avatar
    • Show account details
  2. Edit Profile (5 pts)

    • Update name, email
    • Form validation
    • Save confirmation
  3. Upload Avatar (3 pts)

    • Image upload
    • Crop/resize
    • Preview
  4. Change Password (5 pts)

    • Current password verification
    • New password validation
    • Success notification
  5. Delete Account (3 pts)

    • Confirmation flow
    • Data deletion
    • Email confirmation

Total: 19 story points

Want me to create these as issues?


### Writing Documentation

You: Document the auth API endpoints

AI: Here's API documentation for authentication:

Authentication API

POST /api/auth/login

Authenticate a user and receive access tokens.

Request:

{
  "email": "user@example.com",
  "password": "securepassword"
}

Response (200 OK):

{
  "access_token": "eyJ...",
  "refresh_token": "eyJ...",
  "expires_in": 3600
}

Errors:

  • 401: Invalid credentials
  • 429: Too many attempts

Shall I continue with other endpoints?


## Advanced Features

### Style Cards

Apply consistent style to AI responses:

**Technical Style:**

Response: Formal, detailed, code-heavy Audience: Senior developers Format: Include code examples, edge cases


**Simple Style:**

Response: Clear, concise Audience: All team members Format: Bullet points, easy steps


**Switching Styles:**

You: /style technical AI: Switched to Technical style.


### Saved Prompts

Save frequently used prompts:

**Creating:**
1. Click **Save Prompt**
2. Enter name
3. Add to library

**Using:**

You: /prompt code-review AI: [Applies saved code review prompt template]


**Example Saved Prompts:**
- Code review checklist
- Bug triage template
- Sprint planning questions
- Documentation template

### Context Injection

Add project context:

You: @file src/auth/login.ts What improvements would you suggest?

AI: Looking at login.ts, here are suggestions:

  1. Error Handling Line 45: Catch block is too broad Suggestion: Handle specific error types

  2. Security Line 23: Password compared in plain text Suggestion: Use constant-time comparison

  3. Performance Line 67: Unnecessary async/await Suggestion: Return promise directly


### Issue References

Reference issues in prompts:

You: How does AUTH-100 relate to AUTH-150?

AI: Analyzing the relationship:

AUTH-100 (Login Implementation):

  • Core authentication flow
  • Session management

AUTH-150 (SSO Integration):

  • Depends on AUTH-100
  • Extends auth to support OAuth

The SSO work builds on the session management from AUTH-100. They share:

  • Token storage logic
  • User model
  • Auth middleware

## Keyboard Shortcuts

| Shortcut | Action |
|----------|--------|
| `Ctrl/Cmd + P` | Open panel |
| `Ctrl/Cmd + Enter` | Send message |
| `Ctrl/Cmd + L` | Clear conversation |
| `Ctrl/Cmd + S` | Save prompt |
| `Esc` | Close panel |
| `↑` | Previous message |

## Best Practices

### Effective Prompting

✓ **Do:**
- Be specific about what you need
- Provide context
- Ask follow-up questions
- Reference relevant issues/files

✗ **Don't:**
- Ask vague questions
- Ignore AI suggestions to clarify
- Skip reviewing generated content
- Use for sensitive data analysis

### Getting Better Results

**Be Specific:**

❌ "How do I fix this?" ✅ "How do I fix the null pointer in login.ts line 45?"


**Provide Context:**

❌ "Write a component" ✅ "Write a React form component for user registration using our existing Button and Input components"


**Iterate:**

You: Write a test AI: [provides test] You: Add edge cases for empty input AI: [updates with edge cases] You: Use our test utilities from test-utils.ts AI: [updates with utilities]


## Integration

### Creating Issues from Chat

You: Create a story for this discussion

AI: I'll create a story based on our discussion:

Title: Implement password reset functionality Type: Story Points: 5 Description: [Generated from conversation]

Acceptance Criteria:

  • [ ] User can request password reset
  • [ ] Email sent with reset link
  • [ ] Password can be changed with valid token

[Create Issue] [Edit First]


### Linking to Code

You: Link this discussion to a PR

AI: I'll create a summary for PR #234:

Context from Discussion

  • Decided to use JWT tokens
  • Implemented refresh token rotation
  • Added rate limiting

[Add to PR Description]


---

Next: [Style Cards](/docs/style-cards) - Customize how AI agents generate code