skills/researcher/SKILL.md
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).
npx skillsauth add cutec-chris/PawLia researcherInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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...]
| 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 |
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.
If the script exits with an error, report: "Research error: <error message from stderr>"
tools
Sets up SSH-based git push for the Pawlia workspace, manages the workspace git remote, and creates automation jobs for regular pushes. Use when the user wants to: sync the workspace to an external git repo, set up git push, configure a git remote for the workspace, fix git push errors (SSH key, host key, authentication), check push status. Triggers on phrases like "workspace git", "git push einrichten", "ssh key für git", "workspace remote", "git sync", "push workspace".
development
Create new PawLia skills from scratch, improve or audit existing ones. Also manages credentials for skills — store, check, list and delete API keys and tokens that other skills need at runtime (skills themselves only see the runtime `CRED_*` env vars, never the store). When a skill has bugs or needs changes, delegate the full task here — describe the problem and let the skill-creator autonomously diagnose and fix it. Do not pre-read the skill files yourself. Use when the user wants to: create a new skill, scaffold a skill directory, manage skill credentials, improve or review an existing skill, validate a SKILL.md against the spec, package a skill for distribution. Triggers on phrases like "create a skill", "new skill", "store api key", "add credentials", "improve this skill", "validate skill", "audit skill", "scaffold a skill".
development
Perform web searches using a SearXNG instance. Use when the user asks for web search results, current information, news, or wants to find online resources.
development
Perform AI-powered web searches using a Perplexica or Vane instance. Returns a synthesized answer with cited sources. Use when the user asks for current information, research topics, news, or complex questions requiring web search with summarization.