Researcher
A lightweight, open-source AI assistant built for local hardware.
npx -y skills add cutec-chris/PawLia --skill researcherAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Collect web sources into named research projects and answer questions from them. Scrapes URLs (recursive crawl, PDFs, YouTube transcripts) into a project, then answers questions grounded in the gathered sources via semantic/keyword search. Use for "research X", building a sourced dossier on a topic, or querying previously gathered material — as opposed to a one-shot web search (perplexica/searxng). Commands: create, list, add, query, delete, rename (syntax in the skill instructions).
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.0 KB, as published. Nobody here has run it
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 <scripts_dir>/researcher.py <command> [args...]
Commands
| Command | Bash call | Description |
|---|---|---|
create <name> <desc> | python <scripts_dir>/researcher.py create "<name>" "<description>" | Create a new research project |
list | python <scripts_dir>/researcher.py list | List all projects |
add <project> <url> [depth] | python <scripts_dir>/researcher.py add "<project>" "<url>" [depth] | Scrape URL and save to workspace (depth for recursive crawling) |
query <project> <question> | python <scripts_dir>/researcher.py query "<project>" "<question>" | Search the project's documents |
delete <project> | python <scripts_dir>/researcher.py delete "<project>" | Delete a project |
rename <old> <new> | python <scripts_dir>/researcher.py rename "<old>" "<new>" | Rename a project |
Storage
Documents are saved as markdown under:
$PAWLIA_SESSION_DIR/{user_id}/research/{project}/
This lives beside the workspace, not inside it, so scraped sources never leak into the workspace listing, BM25 search, git push or the DreamWiki.
No RAG backend or DreamWiki is involved. The embed index (.index/) is built
lazily on the first query call and invalidated automatically after each add.
Search
- With embedding config: semantic search via cosine similarity on bge-m3 (or configured model)
- Without embedding config: keyword search fallback
Step-by-step instructions
- Parse the query to identify the command and arguments.
- Run the command using the Bash tool.
- Return the output to the user.
Error handling
If the script exits with an error, report: "Research error: <error message from stderr>"