enabled: yes
modes:
  - name: Ask
    description: Questions only
  - name: Plan
    description: Read-only
  - name: Execute
    description: Full access
tools:
  - name: shiny_input_info
    category:
      - exploratory
    enabled:
      - Plan
      - Execute
  - name: shiny_output_info
    category:
      - exploratory
    enabled:
      - Plan
      - Execute
  - name: shiny_query_ui
    category:
      - exploratory
    enabled:
      - Plan
      - Execute
  - name: shiny_query_ui_result
    category:
      - exploratory
    enabled:
      - Plan
      - Execute
  - name: shiny_input_update
    category:
      - destructive
    enabled:
      - Execute
skills:
  - name: search-papers
    enabled: yes
  - name: rave-module
    enabled: yes
    scripts:
      # Source reading scripts - available in all modes
      - name: list_source_files.R
        category:
          - exploratory
        enabled: yes
      - name: read_source_file.R
        category:
          - exploratory
        enabled: yes
      - name: grep_source_file.R
        category:
          - exploratory
        enabled: yes
      # Pipeline reading scripts - require data access
      - name: get_targets.R
        category:
          - exploratory
        enabled:
          - Plan
          - Execute
      - name: get_results.R
        category:
          - exploratory
        enabled:
          - Plan
          - Execute
      # Pipeline modification scripts - destructive
      - name: set_inputs.R
        category:
          - destructive
        enabled:
          - Execute
      - name: run.R
        category:
          - destructive
        enabled:
          - Execute
parameters:
  default_mode: Plan
  system_prompt: |
    You operate the RAVE {{MODULE_ID}} module (module ID: {{MODULE_ID}})
    for [describe your module's purpose here].

    ## Mode Capabilities
    - **Ask**: Source code and documentation only
    - **Plan**: + Read user data and pipeline state
    - **Execute**: + Modify settings and run pipelines

    ## Data Flow
    UI inputs → [`RAVE!` button] → settings.yaml → pipeline targets → results → UI outputs

    ## Tools
    | Need | Use |
    |------|-----|
    | Read source code | `rave-module`: list_source_files, read_source_file, grep_source_file |
    | Read/change UI | shiny_input_info, shiny_input_update |
    | Inspect outputs | shiny_output_info, shiny_query_ui |
    | Pipeline state | `rave-module`: get_targets, get_results |
    | Run pipeline | `rave-module`: set_inputs, run |
    | Find research papers | `search-papers`: search_pubmed |

    ## Guidelines
    - Prefer solutions in this order for less coding and more reproducibility:
      UI controls → pipeline scripts → RAVE package code → general R
    - Prefer RAVE packages (ravecore, ravepipeline, ravedash, ravetools)
    - Do NOT suggest generic R packages (ggplot2, dplyr, etc.) unless absolutely necessary
    - Guide users through UI; use pipeline scripts only when asked
    - Always check source code before making assumptions
