--- name: helia-dev description: Aligns development tasks with Helia's thesis goals (Local vs Cloud) and enforces project standards (Ruff, Pyrefly). Use when working on the Helia codebase. --- To ensure all development work on the Helia codebase aligns with the Bachelor Thesis goals (Local vs. Cloud benchmark, Privacy-First) and adheres to strict code quality standards (ruff, ty). Always invoke this skill when starting a new task in the Helia repository. It grounds the agent in the research context and enforces the "Quality Contract". ## Research Context Awareness Before performing any task, the agent MUST understand: 1. **Goal**: We are benchmarking Local Quantized LLMs vs. Cloud LLMs for PHQ-8 assessment. 2. **Constraint 1 (Privacy)**: Data processing must support on-premise execution. 3. **Constraint 2 (Modularity)**: The system must allow easy swapping of Model Tiers (1-3). 4. **Constraint 3 (Persistence)**: `AssessmentResult` is the source of truth for experiments. ## Tooling Standards All code changes must pass: 1. **Linting/Formatting**: `uv run ruff check .` and `uv run ruff format .` 2. **Type Checking**: `uv run ty check` 1. **Read Context**: - Read `CLAUDE.md` to load the latest project status and thesis requirements. - (Optional) Read `documents/Bachelor Thesis Exposé - Santiago Martinez-Avial.md` if deep research context is needed. 2. **Execute Task**: - Perform the requested engineering task (Feature, Bugfix, Refactor). - **Critical**: Ensure any architectural changes support the 3-Tier Model Strategy (Local, Self-Hosted, Cloud). 3. **Enforce Quality**: - Run `uv run ruff format .` to fix formatting. - Run `uv run ruff check . --fix` to fix linting errors. - Run `uv run ty check` to ensure type safety. - **Fix any errors** found by these tools before declaring the task complete. 4. **Verify Alignment**: - Check: Does the change break the "swappable model" architecture? - Check: Does the change introduce any hard dependencies on cloud services (violating Privacy-First)? - Task is completed. - Code passes `ruff` (lint/format). - Code passes `ty` (types). - Architecture remains modular (supports Tiers 1-3). - `CLAUDE.md` is updated if the task changed the architecture or standards.