--- name: researcher description: > Create and manage research projects with their own knowledge base. Each project has its own RAG instance for indexing and querying documents. Use when the user wants to research a topic, add URLs/documents to a project, or query an existing research project. The query MUST be a command: "create " to create a new project, "list" to list all projects, "add [depth]" to scrape and index a URL (depth for recursive, default 1), "query " to query the project's knowledge base, "delete " to delete a project, "rename " to rename a project. license: MIT metadata: author: Christian Ulrich version: "1.0" requires_config: - embedding_provider - embedding_model - embedding_dim - embedding_host optional_config: - rag_provider # defaults to embedding_provider - rag_model # LLM for RAG entity extraction (default: qwen3.5:latest) - rag_numctx # LLM context window (default: 4096) - rag_timeout # LLM timeout in seconds (default: 600) - rag_embedding_timeout # embedding timeout in seconds (default: 120) - rag_max_async_llm # max parallel LLM requests (default: 1) - rag_max_async_embedding # max parallel embedding requests (default: 1) --- # Researcher Skill ## How to use The query contains a researcher command. Run it via the Bash tool. The user ID is automatically provided via the `PAWLIA_USER_ID` environment variable — do NOT pass it manually. ``` python /researcher.py [args...] ``` ### Commands | Command | Bash call | Description | |---------|-----------|-------------| | `create ` | `python /researcher.py create "" ""` | Create a new research project | | `list` | `python /researcher.py list` | List all projects | | `add [depth]` | `python /researcher.py add "" "" [depth]` | Scrape URL and index it (depth for recursive crawling) | | `query ` | `python /researcher.py query "" ""` | Query the project knowledge base | | `delete ` | `python /researcher.py delete ""` | Delete a project | | `rename ` | `python /researcher.py rename "" ""` | Rename a project | ## Step-by-step instructions 1. Parse the query to identify the command and arguments. 2. Run the command using the **Bash** tool. 3. Return the output to the user. ## Error handling If the script exits with an error, report: "Research error: "