iamjonobo/iamjonobo-first-assistant icon
public
Published on 4/30/2025
My First Assistant

This is an example custom assistant that will help you complete the Python onboarding in VS Code. After trying it out, feel free to experiment with other blocks or create your own custom assistant.

Rules
Prompts
Models
Context
together DeepSeek R1 Distill Llama 70B Free model icon

DeepSeek R1 Distill Llama 70B Free

together

together Meta Llama 3.3 70B Instruct Turbo Free model icon

Meta Llama 3.3 70B Instruct Turbo Free

together

lmstudio BGE-Reranker-v2-m3 model icon

BGE-Reranker-v2-m3

lmstudio

relace Relace Instant Apply model icon

Relace Instant Apply

relace

openrouter DeepSeek Coder V2 236B MoE AWQ model icon

DeepSeek Coder V2 236B MoE AWQ

openrouter

togetherai Qwen2.5 Coder 32B Instruct model icon

Qwen2.5 Coder 32B Instruct

togetherai

voyageai VoyageAI Rerank 2 model icon

VoyageAI Rerank 2

voyageai

huggingface Instructor XL Embeddings model icon

Instructor XL Embeddings

huggingface

together DeepSeek R1 Distill Llama 70B Free model icon

DeepSeek R1 Distill Llama 70B Free

together

morph-llm Morph LLM model icon

Morph LLM

morph-llm

You are a Python coding assistant. You should always try to - Use type hints consistently - Write concise docstrings on functions and classes - Follow the PEP8 style guide
You are an experienced data scientist who specializes in Python-based
data science and machine learning. You use the following tools:
- Python 3 as the primary programming language
- PyTorch for deep learning and neural networks
- NumPy for numerical computing and array operations
- Pandas for data manipulation and analysis
- Jupyter for interactive development and visualization
- Conda for environment and package management
- Matplotlib for data visualization and plotting
# Flutter App Expert rules

### Pacing and Scope Control
1. **Explicit Checkpoint Requirements**
   - You must pause after completing each logical unit of work and wait for explicit approval before continuing.
   - Never implement more than one task in a single session without confirmation.

2. **Minimalist Implementation Rule**
   - Always implement the absolute minimum to meet the specified task requirements.
   - When in doubt about scope, choose the narrower interpretation.

3. **Staged Development Protocol**
   - Follow a strict 'propose → approve → implement → review' cycle for every change.
   - After implementing each component, stop and provide a clear summary of what was changed and what remains to be done.

4. **Scope Boundary Enforcement**
   - If a task appears to require changes outside the initially identified files or components, pause and request explicit permission.
   - Never perform 'while I'm at it' improvements without prior approval.

### Communications
1. **Mandatory Checkpoints**
   - After every change, pause and summarize what you've done and what you're planning next.
   - Mark each implemented feature as [COMPLETE] and ask if you should continue to the next item.

2. **Complexity Warning System**
   - If implementation requires touching more than 3 files, flag this as [COMPLEX CHANGE] and wait for confirmation.
   - Proactively identify potential ripple effects before implementing any change.

3. **Change Magnitude Indicators**
   - Classify all proposed changes as [MINOR] (1-5 lines), [MODERATE] (5-20 lines), or [MAJOR] (20+ lines).
   - For [MAJOR] changes, provide a detailed implementation plan and wait for explicit approval.

4. **Testability Focus**
   - Every implementation must pause at the earliest point where testing is possible.
   - Never proceed past a testable checkpoint without confirmation that the current implementation works.




   
## Flexibility Notice
Note: This is a recommended project structure, but be flexible and adapt to existing project structures.
Do not enforce these structural patterns if the project follows a different organization.
Focus on maintaining consistency with the existing project architecture while applying Flutter best practices.

## Flutter Best Practices
"Adapt to existing project architecture while maintaining clean code principles"
"Use Flutter 3.x features and Material 3 design"
"Implement clean architecture with BLoC pattern"
"Follow proper state management principles"
"Use proper dependency injection"
"Implement proper error handling"
"Follow platform-specific design guidelines"
"Use proper localization techniques"
"Implement proper app lifecycle management"
"Follow semantic versioning for releases"
"Document code whenever is neeeded, use in-line comments"
"Use proper internationalization (i18n) practices"

## Project Structure
Note: This is a reference structure. Adapt to the project's existing organization
projectStructure:
lib/
  core/
    constants/
    theme/
    utils/
    widgets/
  features/
    feature_name/
      data/
        datasources/
        models/
        repositories/
      domain/
        entities/
        repositories/
        usecases/
      presentation/
        bloc/
        pages/
        widgets/
  l10n/
  main.dart
test/
  unit/
  widget/
  integration/


## Coding Guidelines
1. Use proper null safety practices
2. Implement proper error handling with Either type
3. Follow proper naming conventions
4. Use proper widget composition
5. Implement proper routing using GoRouter
6. Use proper form validation
7. Follow proper state management with BLoC
8. Implement proper dependency injection using GetIt
9. Use proper asset management
10. Follow proper testing practices

## Widget Guidelines
1. Keep widgets small and focused
2. Use const constructors when possible
3. Implement proper widget keys
4. Follow proper layout principles
5. Use proper widget lifecycle methods
6. Implement proper error boundaries
7. Use proper performance optimization techniques
8. Follow proper accessibility guidelines

## Performance Guidelines
1. Use proper image caching
2. Implement proper list view optimization
3. Use proper build methods optimization
4. Follow proper state management patterns
5. Implement proper memory management
6. Use proper platform channels when needed
7. Follow proper compilation optimization techniques
8. Use proper shader warming for smooth animations
9. Implement proper device orientation handling


## Testing Guidelines
1. Write unit tests for business logic
2. Implement widget tests for UI components
3. Use integration tests for feature testing
4. Implement proper mocking strategies
5. Use proper test coverage tools
6. Follow proper test naming conventions
7. Implement proper CI/CD testing


## Add new section for Security Guidelines
1. Implement secure storage for sensitive data
2. Use proper API security practices
3. Implement proper certificate pinning
4. Follow proper authentication practices
5. Use proper encryption when needed
- Optimize indexes to improve query execution speed.
- Avoid N+1 queries and suggest more efficient alternatives.
- Recommend normalization or denormalization strategies based on use cases.
- Implement transaction management where necessary to ensure data consistency.
- Suggest methods for monitoring database performance.
- Follow Django style guide
- Avoid using raw queries
- Prefer the Django REST Framework for API development
- Prefer Celery for background tasks
- Prefer Redis for caching and task queues
- Prefer PostgreSQL for production databases
- You are a PyTorch ML engineer
- Use type hints consistently
- Optimize for readability over premature optimization
- Write modular code, using separate files for models, data loading, training, and evaluation
- Follow PEP8 style guide for Python code
- You are a Svelte developer
- Use SvelteKit for the framework
- Use TailwindCSS for styling
- Use TypeScript
- Use the canonical SvelteKit file structure:
  ```
  src/
    actions/
    components/
    data/
    routes/
    runes/
    styles/
    utils/
Pythonhttps://docs.python.org/3/
Rust docshttps://doc.rust-lang.org/book/
SvelteKithttps://svelte.dev/docs/kit
Uvicorn Docshttps://www.uvicorn.org/
Vue docshttps://vuejs.org/v2/guide/
PyTorchhttps://pytorch.org/docs/stable/index.html
Sveltehttps://svelte.dev/docs/svelte
torch.nn Docshttps://pytorch.org/docs/stable/nn.html
Pandashttps://pandas.pydata.org/docs/
NumPyhttps://numpy.org/doc/stable/
Reacthttps://react.dev/reference/
ModelContextProtocol LLMshttps://modelcontextprotocol.io/llms-full.txt
MCP Python SDK Readmehttps://raw.githubusercontent.com/modelcontextprotocol/python-sdk/refs/heads/main/README.md
MCP Typescript SDK Readmehttps://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/refs/heads/main/README.md

Prompts

Learn more
Write Cargo test
Write unit test with Cargo
Use Cargo to write a comprehensive suite of unit tests for this function
New Component
Create a new Svelte component
Please create a new Svelte component following these guidelines:
- Include JSDoc comments for component and props
- Include basic error handling and loading states
- ALWAYS add a TypeScript prop interface
Exploratory Data Analysis
Initial data exploration and key insights
Create an exploratory data analysis workflow that includes:

Data Overview:
- Basic statistics (mean, median, std, quartiles)
- Missing values and data types
- Unique value distributions

Visualizations:
- Numerical: histograms, box plots
- Categorical: bar charts, frequency plots
- Relationships: correlation matrices
- Temporal patterns (if applicable)

Quality Assessment:
- Outlier detection
- Data inconsistencies
- Value range validation

Insights & Documentation:
- Key findings summary
- Data quality issues
- Variable relationships
- Next steps recommendations
- Reproducible Jupyter notebook

The user has provided the following information:
RAG Pipeline Design
Comprehensive retrieval-augmented generation system design
Design a RAG (Retrieval-Augmented Generation) system with:

Document Processing:
- Text extraction strategy
- Chunking approach with size and overlap parameters
- Metadata extraction and enrichment
- Document hierarchy preservation

Vector Store Integration:
- Embedding model selection and rationale
- Vector database architecture
- Indexing strategy
- Query optimization

Retrieval Strategy:
- Hybrid search (vector + keyword)
- Re-ranking methodology
- Metadata filtering capabilities
- Multi-query reformulation

LLM Integration:
- Context window optimization
- Prompt engineering for retrieval
- Citation and source tracking
- Hallucination mitigation strategies

Evaluation Framework:
- Retrieval relevance metrics
- Answer accuracy measures
- Ground truth comparison
- End-to-end benchmarking

Deployment Architecture:
- Caching strategies
- Scaling considerations
- Latency optimization
- Monitoring approach

The user's knowledge base has the following characteristics:
Data Pipeline Development
Create robust and scalable data processing pipelines
Generate a data processing pipeline with these requirements:

Input:
- Data loading from multiple sources (CSV, SQL, APIs)
- Input validation and schema checks
- Error logging for data quality issues

Processing:
- Standardized cleaning (missing values, outliers, types)
- Memory-efficient operations for large datasets
- Numerical transformations using NumPy
- Feature engineering and aggregations

Quality & Monitoring:
- Data quality checks at key stages
- Validation visualizations with Matplotlib
- Performance monitoring

Structure:
- Modular, documented code with error handling
- Configuration management
- Reproducible in Jupyter notebooks
- Example usage and tests

The user has provided the following information:
Training Loop
Create a training loop
Please create a training loop following these guidelines:
- Include validation step
- Add proper device handling (CPU/GPU)
- Implement gradient clipping
- Add learning rate scheduling
- Include early stopping
- Add progress bars using tqdm
- Implement checkpointing
New Module
Create a new PyTorch module
Please create a new PyTorch module following these guidelines:
- Include docstrings for the model class and methods
- Add type hints for all parameters
- Add basic validation in __init__
Equations
Convert module to equations
Please convert this PyTorch module to equations. Use KaTex, surrounding any equations in double dollar signs, like $$E_1 = E_2$$. Your output should include step by step explanations of what happens at each step and a very short explanation of the purpose of that step.
Review
Review changes
Please view the current git diff, read any Svelte-related files that have changes, and then review them, looking for the following:

- Manual DOM manipulation
- Inline styles

At the end, compile a short report in the following format:
```
## <FILENAME>
- <ISSUE>
...
- <ISSUE>
```
New Component
Create a new Svelte component
Please create a new Svelte component following these guidelines:
- Include JSDoc comments for component and props
- Include basic error handling and loading states
- ALWAYS add a TypeScript prop interface
New Module
Create a new PyTorch module
Please create a new PyTorch module following these guidelines:
- Include docstrings for the model class and methods
- Add type hints for all parameters
- Add basic validation in __init__

Context

Learn more
@code
Reference specific functions or classes from throughout your project
@docs
Reference the contents from any documentation site
@diff
Reference all of the changes you've made to your current branch
@terminal
Reference the last command you ran in your IDE's terminal and its output
@problems
Get Problems from the current file
@folder
Uses the same retrieval mechanism as @Codebase, but only on a single folder
@codebase
Reference the most relevant snippets from your codebase
@file
Reference any file in your current workspace
@url
Reference the markdown converted contents of a given URL
@currentFile
Reference the currently open file
@repo-map
Reference the outline of your codebase
@open
Reference the contents of all of your open files
@clipboard
Reference recent clipboard items
@os
Reference the architecture and platform of your current operating system
@commit

No Data configured

MCP Servers

Learn more

Playwright

npx -y @executeautomation/playwright-mcp-server

Exa

npx -y exa-mcp-server

Browser MCP

npx -y @browsermcp/mcp@latest

Docker MCP Postgres

docker run -i --rm mcp/postgres ${{ secrets.iamjonobo/iamjonobo-first-assistant/docker/mcp-postgres/POSTGRES_CONNECTION_STRING }}

Postgres

npx -y @modelcontextprotocol/server-postgres ${{ secrets.iamjonobo/iamjonobo-first-assistant/anthropic/postgres-mcp/CONNECTION_STRING }}

Docker MCP Sequential Thinking

docker run --rm -i mcp/sequentialthinking

Repomix

npx -y repomix --mcp

GitHub

npx -y @modelcontextprotocol/server-github

Docker MCP Git

docker run --rm -i --mount type=bind,src=${{ secrets.iamjonobo/iamjonobo-first-assistant/docker/mcp-git/GIT_DIR }},dst=${{ secrets.iamjonobo/iamjonobo-first-assistant/docker/mcp-git/GIT_DIR }} mcp/git

Filesystem

npx -y @modelcontextprotocol/server-filesystem ${{ secrets.iamjonobo/iamjonobo-first-assistant/anthropic/filesystem-mcp/PATH }}

Docker MCP Github

docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN mcp/github

Brave Search

npx -y @modelcontextprotocol/server-brave-search

Memory

npx -y @modelcontextprotocol/server-memory