Not in the top 1,000 by GitHub stars

fcakyon/labrat

PhD Research Skills for Claude Code: paper reproduction, experiment design, paper review, result comparison and more.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

plugin/skills/compare/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/dataset-curation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/debug/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/experiment-design/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/latex-setup/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/launch/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/literature-research/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/paper-check/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 04877622ff12

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/paper-verification/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/paper-write/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 04877622ff12

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/paper-writing/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/rebuttal/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 04877622ff12

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/reproduce/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/research-publishing/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/reviewer-defense/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

50df7160ab35 → 04877622ff12

A local comparison is unavailable. You can inspect the recorded versions on GitHub.

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 50df7160ab35

No earlier version was observed for comparison.

Compare on GitHub

plugin/skills/setup/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 04877622ff12

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 04877622ff124d92d9ee8377109499c0afc6bf01

git clone --filter=blob:none --no-checkout https://github.com/fcakyon/labrat.git .hotskills/fcakyon-labrat && git -C .hotskills/fcakyon-labrat checkout --detach 04877622ff124d92d9ee8377109499c0afc6bf01 # Copy each selected skill directory from .hotskills/fcakyon-labrat into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/fcakyon/labrat.git .hotskills/fcakyon-labrat && git -C .hotskills/fcakyon-labrat checkout --detach 04877622ff124d92d9ee8377109499c0afc6bf01 # Copy each selected skill directory from .hotskills/fcakyon-labrat into .gemini/skills/<skill-name>/
451GitHub stars
13stars in 7 days
11skills in this repository
10commits in 30 days

Heat

5.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 2026452

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

compare

When your agent uses it

Same-epoch comparison and analysis of training runs across wandb, neptune, tensorboard, mlflow, or local result files. Aligns runs at the student's current step (never current-vs-final-of-baseline) and separates proxy metrics from downstream targets. Also writes run summaries and experiment reports, analyzes ablations, and monitors training. Use when the user asks to compare runs, check if a run is improving, track lag against a baseline, rank experiments, evaluate run-vs-run performance, analyze results, write a training report or experiment summary, summarize training results, monitor training, or asks which run is best.

What it loads into context

Frontmatter

132 tokens

Always available to the agent

SKILL.md

1,694 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Auto-detect the tracker
  2. The protocol
  3. Anti-patterns
  4. Output
  5. Beyond two runs: ranking, reports, ablations, monitoring

Scripts executed separately

  • ../../scripts/notify.sh

Files

  • ../../../.claude-plugin/marketplace.jsonasset1,332 bytes
  • ../../.claude-plugin/plugin.jsonasset478 bytes
  • ../../hooks/claude-hooks.jsonasset6,861 bytes
  • ../../scripts/notify.shruns1,867 bytes
  • SKILL.mdcore7,133 bytes
  • SKILL.mdcore7,133 bytes
  • SKILL.mdcore7,133 bytes
  • SKILL.mdcore7,133 bytes
Read SKILL.md

# Compare: same-epoch run comparison across trackers

The most common comparison error is reporting "run A is 4 percentage points behind baseline" when run A is at epoch 11 of 100 and the baseline number is from epoch 100. The student is _still training_; the comparison is meaningless. This skill enforces same-epoch alignment.

The agentic Stop hook routes here from `reason` when an assistant reports a delta without aligning the runs.

If the question is "why did X fail / diverge / underperform", go to `/labrat:debug` first.

## Auto-detect the tracker

Check in this order:

1. `WANDB_API_KEY` env var set, or `wandb` imports or a `*.yaml` config with wandb keys in the project → **wandb**
2. `NEPTUNE_API_TOKEN` env var set, or a `*.yaml` config with neptune keys → **neptune**
View the complete source on GitHub

Skills included

  • compare
  • dataset-curation
  • debug
  • experiment-design
  • launch
  • literature-research
  • paper-check
  • paper-write
  • rebuttal
  • reproduce
  • setup

Repository facts

License
MIT
Created
Mar 11, 2026
Last pushed
Nov 1, 2026
Forks
38
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 38 notes
  • plugin/hooks/claude-hooks.json:9 Analysis incomplete: physical or joined line exceeds character limit
  • plugin/hooks/claude-hooks.json:7 Analysis incomplete: physical or joined line exceeds character limit
  • plugin/hooks/claude-hooks.json:8 Analysis incomplete: physical or joined line exceeds character limit
  • plugin/skills/compare/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/compare/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/compare/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/dataset-curation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/dataset-curation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/debug/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/hooks/claude-hooks.json:9 Plugin-wide analysis incomplete; see repository notes
  • plugin/skills/launch/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/launch/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugin/skills/launch/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 65 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Fatih Cagatay Akyon",     "url": "https://scholar.google.com/citations?user=RHGyDE0AAAAJ"
  • Network accessline 4
    "name": "Fatih Cagatay Akyon",     "url": "https://scholar.google.com/citations?user=RHGyDE0AAAAJ"   },
  • Network accessline 5
    "url": "https://scholar.google.com/citations?user=RHGyDE0AAAAJ"
  • Network accessline 14
    "source": {         "source": "git-subdir",         "url": "https://github.com/fcakyon/labrat.git",
  • Network accessline 15
    "source": "git-subdir",         "url": "https://github.com/fcakyon/labrat.git",         "path": "plugin"
  • Network accessline 16
    "url": "https://github.com/fcakyon/labrat.git",
  • Network accessline 22
    "name": "Fatih Cagatay Akyon"       },       "homepage": "https://github.com/fcakyon/labrat",
  • Network accessline 23
    },       "homepage": "https://github.com/fcakyon/labrat",       "repository": "https://github.com/fcakyon/labrat",
  • Network accessline 24
    "homepage": "https://github.com/fcakyon/labrat",
  • Network accessline 25
    "repository": "https://github.com/fcakyon/labrat",

plugin/scripts/notify.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 25
    if [ -n "${NTFY_TOPIC:-}" ]; then     curl -s \
  • Network accessline 26
    curl -s \
  • Network accessline 27
    -H "Title: $title" \         -d "$message" \         "https://ntfy.sh/$NTFY_TOPIC" >/dev/null 2>&1 && sent=true
  • Network accessline 28
    -d "$message" \         "https://ntfy.sh/$NTFY_TOPIC" >/dev/null 2>&1 && sent=true fi
  • Network accessline 29
    "https://ntfy.sh/$NTFY_TOPIC" >/dev/null 2>&1 && sent=true
  • Network accessline 33
    if [ -n "${SLACK_WEBHOOK_URL:-}" ]; then     payload=$(jq -n --arg text "*$title*\n$message" '{"text": $text}')     curl -s -X POST \
  • Network accessline 34
    payload=$(jq -n --arg text "*$title*\n$message" '{"text": $text}')     curl -s -X POST \         -H 'Content-type: application/json' \
  • Network accessline 35
    curl -s -X POST \

plugin/skills/compare/SKILL.md

  • Access to secretsline 18
    [Credential-related source omitted]

plugin/skills/debug/SKILL.md

  • Dangerous shell operationline 90
    - **Model hypothesis**: forward pass only on a single batch with `eval()` mode. Loss finite? Outputs sane?

plugin/skills/launch/SKILL.md

  • Access to secretsline 84
    [Credential-related source omitted]
  • Dangerous shell operationline 111
    1. **Local checkpoint dir** on the launching machine: `rm -rf /local/runs/<run-name>` (verify path first).
  • Dangerous shell operationline 112
    2. **Remote artifact dir** on the cluster / NFS / object store: `rm -rf /remote/runs/<run-name>` (or equivalent).

plugin/skills/literature-research/SKILL.md

  • Network accessline 29
    ### 2a. Direct Search Use [Paper Search CLI](https://github.com/fcakyon/paper-search-cli). Follow [paper search setup](references/paper-search.md) if it is missing.
  • Network accessline 30
    Use [Paper Search CLI](https://github.com/fcakyon/paper-search-cli). Follow [paper search setup](references/paper-search.md) if it is missing.

plugin/skills/literature-research/references/paper-search.md

  • Network accessline 3
    Literature search and paper acquisition use [Paper Search CLI](https://github.com/fcakyon/paper-search-cli). Other skills do not require it. It needs uv and Python 3.10+, with no Docker or MCP server.
  • Network accessline 3
    Literature search and paper acquisition use [Paper Search CLI](https://github.com/fcakyon/paper-search-cli). Other skills do not require it. It needs uv and Python 3.10+, with no Docker or MCP server.
  • Network accessline 3
    Literature search and paper acquisition use [Paper Search CLI](https://github.com/fcakyon/paper-search-cli). Other skills do not require it. It needs uv and Python 3.10+, with no Docker or MCP server.
  • Network accessline 5
    Check `paper-search --help`. If missing, install [uv](https://docs.astral.sh/uv/getting-started/installation/), then run:
  • Network accessline 5
    Check `paper-search --help`. If missing, install [uv](https://docs.astral.sh/uv/getting-started/installation/), then run:
  • Network accessline 5
    Check `paper-search --help`. If missing, install [uv](https://docs.astral.sh/uv/getting-started/installation/), then run:
  • Network accessline 8
    uv tool install 'git+https://github.com/fcakyon/paper-search-cli'
  • Network accessline 8
    uv tool install 'git+https://github.com/fcakyon/paper-search-cli'
  • Network accessline 8
    uv tool install 'git+https://github.com/fcakyon/paper-search-cli'
  • Network accessline 15
    Inspect the search JSON's `errors` field before reporting success. Configure optional provider credentials using the CLI's [.env.example](https://github.com/fcakyon/paper-search-cli/blob/main/.env.example) in `~/.config/paper-search-mcp/.en
  • Network accessline 15
    Inspect the search JSON's `errors` field before reporting success. Configure optional provider credentials using the CLI's [.env.example](https://github.com/fcakyon/paper-search-cli/blob/main/.env.example) in `~/.config/paper-search-mcp/.en
  • Network accessline 15
    Inspect the search JSON's `errors` field before reporting success. Configure optional provider credentials using the CLI's [.env.example](https://github.com/fcakyon/paper-search-cli/blob/main/.env.example) in `~/.config/paper-search-mcp/.en

plugin/skills/paper-check/references/code-release.md

  • Network accessline 87
    | GPL 3.0 | Yes | Yes | Yes (derivative works) | | CC BY 4.0 | Yes | Yes | No (for non-code) | | CC BY-NC 4.0 | No | Yes | No (for non-code) |
  • Network accessline 89
    | CC BY-NC 4.0 | No | Yes | No (for non-code) |

plugin/skills/paper-write/references/latex.md

  • Dangerous shell operationline 68
    sudo apt install texlive-base texlive-latex-recommended
  • Dangerous shell operationline 68
    sudo apt install texlive-base texlive-latex-recommended
  • Dangerous shell operationline 71
    sudo apt install texlive-latex-extra  # most \usepackage needs
  • Dangerous shell operationline 71
    sudo apt install texlive-latex-extra  # most \usepackage needs
  • Dangerous shell operationline 72
    sudo apt install texlive-fonts-recommended texlive-fonts-extra
  • Dangerous shell operationline 72
    sudo apt install texlive-fonts-recommended texlive-fonts-extra
  • Dangerous shell operationline 73
    sudo apt install texlive-bibtex-extra biber  # if biblatex used
  • Dangerous shell operationline 73
    sudo apt install texlive-bibtex-extra biber  # if biblatex used
  • Dangerous shell operationline 74
    sudo apt install texlive-science  # algorithm2e, etc.
  • Dangerous shell operationline 74
    sudo apt install texlive-science  # algorithm2e, etc.
  • Dangerous shell operationline 85
    sudo tlmgr update --self
  • Dangerous shell operationline 85
    sudo tlmgr update --self
  • Dangerous shell operationline 86
    sudo tlmgr install <package-name>
  • Dangerous shell operationline 86
    sudo tlmgr install <package-name>

plugin/skills/reproduce/references/01-paper-fetch.md

  • Network accessline 7
    - arxiv URL or arxiv ID (e.g. `2508.12345`, `https://arxiv.org/abs/2508.12345`)
  • Network accessline 15
    Use [fcakyon/paper-search-cli](https://github.com/fcakyon/paper-search-cli). Follow [paper search setup](../../literature-research/references/paper-search.md) if the command is missing.
  • Network accessline 29
    For a direct PDF URL or an unsupported proceedings site, download the publisher's public PDF with `curl -fL` and use an available PDF reader. ArXiv HTML at `https://arxiv.org/html/<id>` can help with equations and tables. If access fails, r

plugin/skills/reproduce/references/02-code-clone.md

  • Network accessline 26
    Manually visit `https://paperswithcode.com/paper/<paper-slug>`. PWC often lists multiple implementations including community reproductions that may be more complete than the official one.

plugin/skills/setup/SKILL.md

  • Broad permissionsline 1
    Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
  • Network accessline 80
    - **ntfy.sh**: ask for topic name, write to `.env` as `NTFY_TOPIC=<topic>`. Test with `curl -d "labrat test" ntfy.sh/<topic>`
  • Network accessline 81
    - **Slack**: ask for webhook URL, write to `.env` as `SLACK_WEBHOOK_URL=<url>`. Test with curl POST

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 55 facts

and 5 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md plugin/skills/compare/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md plugin/skills/compare/SKILL.md.cursor/skills/<skill-name>/
Gemini CLINativeManifest plugin/gemini-extension.json.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md plugin/skills/compare/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md plugin/skills/compare/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.