Opentraces Skill Verifier
JayFarei/opentraces
Author a trace-grounded, CALIBRATED verifier for one skill, two ways: an interactive ALIGNMENT SESSION (manual) or AUTOVERIFY (the agent self-aligns to the skill's goal).
A skill your agent uses when user wants to optimize or tune something measurable through repeated experiments — "make X faster", "improve [metric]", "find best config", "iterate overnight", "run…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install krzysztofdudek/ResearcherSkill researcher --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/researcher .claude/skills/researcher && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .claude/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcherType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install krzysztofdudek/ResearcherSkill researcher --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/researcher .agents/skills/researcher && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .agents/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install krzysztofdudek/ResearcherSkill researcher --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/researcher .cursor/skills/researcher && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .cursor/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/krzysztofdudek/ResearcherSkill.git --path skills/researcher--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install krzysztofdudek/ResearcherSkill researcher --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/researcher .gemini/skills/researcher && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .gemini/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install krzysztofdudek/ResearcherSkill researcherInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/researcher .github/skills/researcher && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .github/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install krzysztofdudek/ResearcherSkill researcher --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/krzysztofdudek/ResearcherSkill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/researcher .opencode/skills/researcher && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "researcher" agent skill from https://github.com/krzysztofdudek/ResearcherSkill/tree/main/skills/researcher into .opencode/skills/researcher/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "researcher", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
researcherA skill your agent uses when user wants to optimize or tune something measurable through repeated experiments — "make X faster", "improve [metric]", "find best config", "iterate overnight", "run…
Researcher is an agent skill from krzysztofdudek/ResearcherSkill. Use when user wants to optimize or tune something measurable through repeated experiments — "make X faster", "improve [metric]", "find best config", "iterate overnight", "run experiments until it hits N". Triggers on quantitative goals (build time, latency, pass rate, accuracy) or qualitative ones scoreable against a rubric (prompt quality, doc parsing). Skip for one-shot bugs with a clear fix or tasks where the user wants direct implementation without exploration.
Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Education, covering Quizzes and assessments and A/B testing. It works with Git. The repository describes itself as: One file. Your AI coding agent becomes a scientist. 30+ experiments while you sleep. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 034ec64. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitpythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Researcher loads about 5.5k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 2,923 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
sets, branch creation) are autonomous — do not ask the user for permission. They are systemic to the research process, nAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from krzysztofdudek/ResearcherSkill at commit 034ec64, republished under its MIT licence (© krzysztofdudek). 2,923 words, ~5,546 tokens.
.claude/skills/researcher/SKILL.md (or your agent's skills folder).<critical>
Non-negotiable rules — every real experiment, no exceptions:
1. Commit before running. Log before resetting. Reset on discard. Each branch holds only keeps.
2. Protect `.lab/` — it is the single source of truth.
3. Work autonomously — only consult the user for scope violations or true dead ends.
4. Follow ALL guardrails (discard streaks, plateau, re-validation). They are mandatory, not suggestions.
</critical>
You are entering researcher mode. This skill is for YOU — the main agent. You orchestrate the entire research process: planning, implementing, committing, measuring, logging. When you need independent work done (evaluation, analysis), you spawn subagents with specific, scoped tasks. You control what each subagent knows through the prompt you give it.
You have complete freedom in how you navigate the problem space. The strategies and signals later in this document are tools when you need them, not rails you must follow.
.lab/ is Sacred.lab/ is an untracked, local directory — the single source of truth for all experiment history. It survives all git operations because it is in .gitignore. Git manages code state. .lab/ manages experiment knowledge. They are independent.
Structure:
.lab/config.md, results.tsv, log.md, branches.md, parking-lot.md — experiment metadata.lab/workspace/ — scratch space for experiment files (scripts, test data, generated output, per-experiment subdirectories). Create whatever you need here — it's yours, untracked, and safe from git operations.Always protect .lab/. When cleaning the repo, use targeted commands that preserve untracked directories. When resetting, use git reset and git checkout which leave .lab/ intact.
Check if .lab/ already exists in the project root.
If it exists:
.lab/config.md, .lab/results.tsv, .lab/branches.md, and tail of .lab/log.md.lab/archives/<slug>/ (slug from the existing research/<slug> branch; if it collides, suffix with -<timestamp>), then clear all other entries in .lab/ and proceed to Phase 1If it does not exist: proceed to Phase 1.
Before any experiment, understand the problem. Ask these questions conversationally — skip what's obvious from context, use the defaults shown when the user has no preference:
.claudeignore, .cursorrules, or other tool-specific config files) and helper scripts to save on token usage. If yes, then what agentic ecosystem are we using?.lab/ persists — the next session resumes via Phase 0.Once you have answers, repeat the configuration back minimally and get explicit confirmation before proceeding. Use a compact table. If something is default, say “default” rather than restating details.
After confirmation:
research/<slug> from current HEAD..lab/ in the project root..lab/config.md with all agreed parameters (objective, metrics with measure commands and directions, run command, scope, constraints, wall-clock budget, termination condition, baseline and best placeholders)..lab/results.tsv with tab-separated columns: experiment, branch, parent, commit, metric, secondary_metrics, status, duration_s, description. Status values: keep, discard, crash, thought, keep*, interesting..lab/log.md.lab/parking-lot.md for deferred ideas.lab/branches.md with columns: Branch, Forked from, Status, Experiments, Best metric, Notes.lab/workspace/ for scratch files (scripts, test data, generated output). Use per-experiment subdirectories (e.g., .lab/workspace/exp-3/) when needed..lab/bin/ with minimalist helpers (run, measure, data_head) and ecosystem-specific ignore files. Follow the [Token Hygiene Standards] (#token-hygiene-standards) below..lab/ and run.log to .gitignore.THINK — Before anything, read: .lab/results.tsv, .lab/log.md (last 5 entries if 20+), .lab/branches.md, .lab/parking-lot.md, and in-scope source files. Re-read the critical rules at the top of this document and the guardrails in the Execution Discipline section. Then write a ## THINK — before Experiment N entry in .lab/log.md covering:
The log entry is mandatory — it is the evidence that you stopped to think. Without it, the THINK phase didn't happen. Stay as long as productive.
TEST — Implement, run, measure. Verify hypotheses. Follow execution discipline (below). Stay as long as you're generating new data.
REFLECT — What confirmed? What surprised? What breaks your model? Log everything. Update parking lot.
<critical>
These rules apply to every real experiment without exception. All git operations (commits, resets, branch creation) are autonomous — do not ask the user for permission. They are systemic to the research process, not discretionary actions.
</critical>
Repo-file experiments modify any file in scope (as defined in config). If you change a file that is in scope, it is a repo-file experiment — even if you "just want to test something quickly." No exceptions.
Lab-only experiments only touch .lab/ or files outside scope. The commit rules below apply to repo-file experiments. Lab-only experiments just need logging.
For every real experiment (code change + run):
Commit BEFORE running (repo-file experiments only):
experiment #{N}: {short description}
Branch: {research branch name}
Parent: #{parent experiment number}
Hypothesis: {one-line hypothesis}Next experiment number = highest experiment in .lab/results.tsv + 1. Keeps stay on the branch as permanent checkpoints. Discards are reset — their SHA is recorded in results.tsv and remains accessible until git gc runs. Fork from discarded SHAs sooner rather than later.
Execute ALL measure commands (primary + secondary), record raw values
Log first — write a structured entry to .lab/log.md and a row to .lab/results.tsv (including the commit SHA). This must happen before any reset.
Then decide:
git reset --hard HEAD~1. The commit disappears from the branch but its SHA is in .lab/results.tsv. Want to revisit a discarded idea? Fork a new branch from that SHA.git reset --hard HEAD~1. Only read last 50 lines of run.log or grep for patterns.Guardrails (after every decide/reset):
<critical>3+ discards in a row: STOP. Write a ## 3-Discard Guardrail — after Experiment N entry in .lab/log.md reviewing convergence signals and documenting why you are continuing vs. forking. This entry is mandatory — without it, you cannot proceed to the next experiment.</critical><critical>5+ discards in a row: Fork is the default action. Write a ## 5-Discard Fork — after Experiment N entry in .lab/log.md. Before forking, check .lab/parking-lot.md — if there are untested ideas there, try one first. Otherwise, to stay on the current branch, you must name a specific, untested hypothesis that is NOT a variant of what you already tried. If you cannot, fork — and follow the strategy diversification rules below.</critical><critical>Every 10th real experiment (experiment #10, #20, #30...): before running the next experiment, re-run current HEAD and compare to recorded best. Log the re-validation result in .lab/log.md as ## Re-Validation after Experiment N. If regressed >2%, log drift and consider forking from the best experiment. This is mandatory — do not skip.</critical>For every thought experiment: Log with status thought in both files.
Log entry format — each entry as a heading, followed by labeled fields (one per line or inline, your choice — just be consistent):
## Experiment N — <title>
Branch: ... / Type: thought|real / Parent: #M
Hypothesis: ...
Changes: ...
Result: ...
Duration: ...
Status: keep|discard|crash|thought|keep*|interesting
Insight: ...Default: complete autonomy. You do not return to the user with progress updates. You work, you log, the user observes.
Consult the user ONLY when:
When the user intervenes: accept the direction, log the intervention, continue.
The experiment history is non-linear. Fork branches to explore divergent approaches.
When to fork: fundamentally different approach from an earlier state, current branch stagnating, combining keeps from different branches into a new line of experimentation, or promising divergence.
How to fork:
git log --oneline --grep="experiment #N:". For discards: find the SHA in .lab/results.tsv.git checkout <SHA> → git checkout -b research/<descriptive-slug>.lab/branches.md (the "Forked from" column tracks genealogy — branch names don't need to encode it)Always consider results from ALL branches when thinking. Mark exhausted branches as closed in .lab/branches.md.
When forking due to stagnation, you are probably stuck in a local optimum. Tweaking the same variables from the same starting point will not escape it. Before creating the fork:
.lab/log.md: what does the current best strategy assume? (e.g., "verbose prompts score better", "caching is the bottleneck", "users prefer shorter messages"). These are your current priors.<critical>Invert at least one core assumption as the first experiment on the new branch. This is mandatory, not optional. If the current strategy assumes "more detail is better" — try minimal. If it assumes "aggressive caching" — try no caching. Not a minor tweak of the same approach. The whole point of forking is to discover whether a different region has a higher peak — you cannot discover this without going there. Invert means explore the opposite region, not the opposite extreme.</critical>research/low-alpha-approach not research/tweak-delta).When the current metric is flawed — dimensions are unmeasurable from output, scale doesn't differentiate quality, or rubric misses what actually matters — revise it mid-series:
.lab/log.md, describe what is wrong with the current metric and why (e.g., which dimensions always score neutral, what the metric fails to capture).lab/config.md, add a ## Metric v2 section (keep v1 intact). Include: date, what changed, rationale for each dropped/added/modified dimensionresults.tsv is meaningless because you cannot tell whether improvement came from the experiment or the metric changeresults.tsv with a version suffix on the experiment number (e.g., 2v2 for experiment #2 re-scored under metric v2). Original rows stay untouched for auditMetric revision is expensive (re-scoring every keep), so do it once and get it right. If you suspect the metric is flawed, run a thought experiment first to confirm before triggering a full revision.
When termination is met or user interrupts:
.lab/summary.md: total experiments, keeps, discards per branch and global; best vs baseline; top 3 impactful changes; branch history; experiment genealogy; key insights; failed approaches; remaining parking lot ideasresearch complete: {short description of best result}.<reference name="qualitative-rubric">
When the primary metric is qualitative, define a rubric in .lab/config.md during Phase 2:
sum(criterion_score × weight)This composite becomes the quantitative proxy. Log it in results.tsv with per-criterion scores in log entries.
When the metric is qualitative (agent judgment), a single evaluator introduces bias — the same agent that made the change also judges it. To counteract this:
.lab/log.md, median in results.tsv.This protocol is mandatory for qualitative metrics. Quantitative metrics (command output) do not need it.
Tools when you're stuck, not a menu to follow. You have complete freedom to invent your own.
| Strategy | When it helps |
|---|---|
| Ablation — remove something | Unsure what's actually helping |
| Amplification — push what works further | After a keep |
| Combination — merge wins from separate experiments | Multiple keeps in different areas |
| Inversion — try the opposite | String of discards |
| Isolation — change one variable | Unclear what helped |
| Analogy — borrow from adjacent domains | Truly stuck |
| Simplification — remove complexity, preserve metric | Accumulated cruft |
| Scaling — change by order of magnitude | Small tweaks plateaued |
| Decomposition — split big change into parts | Promising change discarded |
| Sweep — test parameter across a range | Right value unknown |
| Signal | Meaning |
|---|---|
| 5+ discards in a row | Current approach exhausted |
| Thought experiments repeating | Go empirical |
| Results consistently confirm theory | Go deeper |
| Results contradict theory | Model is wrong — rethink |
| Metric plateau (<0.5% over 5 keeps) | Try something radically different |
| Same code area modified 3+ times | Explore elsewhere |
| Alternating keep/discard on similar changes | Isolate variables |
| 2+ timeouts in a row | Approach too expensive |
| Branch stagnating, other thriving | Switch or combine |
| Best results split across branches | Fork to combine |
| Change only tested in one direction | Test the opposite to confirm the assumption holds |
| 5+ discards with increasingly desperate variants | Locally optimal — fork from baseline, invert assumptions |
| All branches share the same core assumptions | Anchored — fork from baseline and invert |
| Global best unchanged for 8+ experiments | Plateau — fork from baseline with inverted assumptions |
| Dimension always scores neutral (e.g., 5/10) | Dimension unmeasurable — consider metric revision |
</reference>
<reference name="token-hygiene-standard">
.lab/bin/)tr -d '[:space:]' to strip invisible characters.head for text. For dataframes (parquet/arrow), use a python -c snippet if dependencies exist; otherwise, fall back to a file metadata summary. Never dump raw binary..lab/workspace/ or any files explicitly listed in the research Scope via token-hygiene / context-ignore patterns. This is separate from version-control ignores (e.g., it is still correct to add .lab/ to .gitignore).</reference>
© krzysztofdudek, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/researcher of krzysztofdudek/ResearcherSkill.
Open the folder on GitHubat commit 034ec64
Researcher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Researcher this skillkrzysztofdudek/ResearcherSkill | 265 | — | ~5.5k | Automated safety check: Warn | MIT | |
| Opentraces Skill VerifierJayFarei/opentraces | 100 | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| Prompt LabMathews-Tom/armory | 329 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Darwin SkillHHU3637kr/skills | 145 | 1 repos | ~2.2k | Automated safety check: Pass | None | |
| DeepTutor CLIHKUDS/DeepTutor | 41k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| AI Engineering Placement Quizrohitg00/ai-engineering-from-scratch | 67k | — | ~2k | Automated safety check: Pass | MIT |
JayFarei/opentraces
Author a trace-grounded, CALIBRATED verifier for one skill, two ways: an interactive ALIGNMENT SESSION (manual) or AUTOVERIFY (the agent self-aligns to the skill's goal).
Mathews-Tom/armory
LLM prompt engineering: analyzes failure modes, generates variants (direct, few-shot, CoT), designs rubrics, produces test suites.
HHU3637kr/skills
Darwin Skill (达尔文.skill): autonomous skill optimizer inspired by Karpathy's autoresearch.
HKUDS/DeepTutor
Teaches the agent to set up and run DeepTutor from the command line: chat and capabilities, knowledge bases, partners, memory, sessions, notebooks and the server or Web app.
rohitg00/ai-engineering-from-scratch
Runs a 10-question quiz across five areas to place a learner in the AI Engineering from Scratch curriculum, so they skip what they already know.
zarazhangrui/codebase-to-course
Turns a codebase into an interactive single-page HTML course for non-technical learners, with scroll modules, animated diagrams, quizzes and plain-English code translations.
Works with
Categories
A skill your agent uses when user wants to optimize or tune something measurable through repeated experiments — "make X faster", "improve [metric]", "find best config", "iterate overnight", "run…. Researcher is an agent skill from krzysztofdudek/ResearcherSkill. Use when user wants to optimize or tune something measurable through repeated experiments — "make X faster", "improve [metric]", "find best config", "iterate overnight", "run experiments until it hits N".
Researcher fits situations like: user wants to optimize; tune something measurable through repeated experiments — make X faster; improve [metric]; find best config.
Run `npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a claude-code`. Or copy the skill folder (skills/researcher in krzysztofdudek/ResearcherSkill) into .claude/skills/researcher in your project. Claude Code loads it when a task matches its description.
Run `npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a codex`. Or copy the skill folder (skills/researcher in krzysztofdudek/ResearcherSkill) into .agents/skills/researcher in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add krzysztofdudek/ResearcherSkill --skill researcher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/researcher, .gemini/skills/researcher, .github/skills/researcher and .opencode/skills/researcher in your project.
Going by SKILL.md and its folder, Researcher needs the command-line tools its instructions call (git and python).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
Researcher is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.5k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Researcher: Opentraces Skill Verifier (JayFarei/opentraces, 100 stars), Prompt Lab (Mathews-Tom/armory, 329 stars), Darwin Skill (HHU3637kr/skills, 145 stars) and DeepTutor CLI (HKUDS/DeepTutor, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
krzysztofdudek (a GitHub user) maintains it in krzysztofdudek/ResearcherSkill, which has 265 GitHub stars. The repository was last updated on October 5, 2026.
Source: krzysztofdudek/ResearcherSkill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.