upload-parity-experiments
Skill6.7k starsChanged 24 days agoApache-2.0View on GitHub
Create or reuse Hugging Face dataset PRs for `harborframework/parity-experiments` and upload Harbor parity/oracle result folders efficiently with sparse checkout, raw git pushes, and Git LFS.
- Commits and pushes
We split this skill into the rules it gives an agent
21 rules. About 0 are common, 10 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use this skill to publish Harbor parity experiment outputs to the shared Hugging Face dataset and capture the resulting discussion URL for …
- Very specific: line 21
Ensure Hugging Face authentication is available with discussion-write permission.
- Very specific: line 22
Keep the target dataset fixed to harborframework/parity-experiments unless the user explicitly asks for another repo.
- Distinctive: line 27
Create or reuse a dataset PR.
- Distinctive: line 30
Ensure every file larger than 10 MiB is Git LFS-tracked before committing.
- Distinctive: line 38
If the user already has a parity PR number, reuse it.
- Distinctive: line 74
If the local folder already contains the final repo-root layout, copy it as-is.
- Very specific: line 76
If the local folder only contains the adapter subtree, copy it into adapters/<adapter_name>/:
- Very specific: line 101
If any file is flagged and is not already covered by root, write the LFS rule to adapters/<adapter_name>/.gitattributes — never to the …
- Very specific: line 122
Use this discussion URL in parity_experiment.json:
- Distinctive: line 130
When raw git push is running, check the live output first.
- Distinctive: line 146
If the push exits early:
- Distinctive: line 149
if Hugging Face rejects a file larger than 10 MiB, add the needed git lfs track rules, re-add the file, and retry
- Distinctive: line 150
if the connection broke mid-push, rerun the same push command before changing anything else
- Very specific: line 154
Use hf upload-large-folder only as a fallback when raw git is unavailable or the user explicitly asks for it.
- Very specific: line 170
Do not upload the Harbor repo itself by accident.
- Very specific: line 171
Do not fall back to a full clone of harborframework/parity-experiments.
- Very specific: line 172
Do not modify the repo-root .gitattributes.
- Very specific: line 173
Always remove or exclude .DS_Store.
- Distinctive: line 174
Before pushing, make sure every file larger than 10 MiB is LFS-tracked.
- Distinctive: line 175
If the user already has a parity PR number, reuse it instead of creating another one.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Upload Parity Experiments
Use this skill to publish Harbor parity experiment outputs to the shared Hugging Face dataset and capture the resulting discussion URL for the adapter's parity_pr field.
Why This Skill Exists
hf upload-large-foldercan be slow or unreliable for large parity bundles because it pushes through the Hub API commit loop.- A normal git clone of
harborframework/parity-experimentsis too expensive because the dataset is very large. - Hugging Face dataset PR refs are different from GitHub PR refs and are easy to misuse.
- Files larger than 10 MiB must be Git LFS-tracked before pushing.
This skill avoids the full clone by fetching only the target PR ref with --depth 1 --filter=blob:none and checking out only the paths needed for the current adapter.
Prereqs
- Ensure Hugging Face authentication is available with discussion-write permission. Either a classic
writetoken or a fine-grained token with globaldiscussion.writeenabled at https://huggingface.co/settings/tokens. A read-only or narrowly-scoped token will causecreate_pr.pyto fail with HTTP 403. - Keep the target dataset fixed to
harborframework/parity-experimentsunless the user explicitly asks for another repo. - Accept any local upload source that already contains the final files the user wants to publish.
Preferred Workflow
- Create or reuse a dataset PR.
- Prepare a sparse local worktree for that PR ref.
- Copy the local parity results into the sparse checkout.
- Ensure every file larger than 10 MiB is Git LFS-tracked before committing.
- Push directly to the PR ref with raw
git push. - Share the discussion URL and record it as the adapter's
parity_pr.
For large parity bundles, prefer raw git over hf upload-large-folder. The raw git path is materially faster and more reliable because it avoids the API-side commit loop and does not require cloning the entire parity dataset.
1. Create Or Reuse A Dataset PR
If the user already has a parity PR number, reuse it.
Otherwise, create one with the bundled helper:
uv run python scripts/create_pr.py create-pr \
--title "Add parity experiments for <adapter_name>" \
--description-file /path/to/pr-description.mdThe script prints JSON including:
pr_numberdiscussion_urlrepo_id
2. Prepare A Sparse PR Checkout
mkdir -p /tmp/parity-experiments-pr<number>
cd /tmp/parity-experiments-pr<number>
git init
git remote add origin git@hf.co:datasets/harborframework/parity-experiments
git config core.sparseCheckout true
git sparse-checkout init --cone
git sparse-checkout set adapters/<adapter_name>
git fetch --depth 1 --filter=blob:none origin refs/pr/<number>:pr/<number>
git checkout pr/<number>This fetches only the PR ref and the requested paths instead of cloning the full dataset repo.
3. Copy The Local Results
If the local folder already contains the final repo-root layout, copy it as-is.
If the local folder only contains the adapter subtree, copy it into adapters/<adapter_name>/:
rsync -a --delete \
--exclude '.git' \
--exclude '.cache' \
--exclude '.DS_Store' \
/path/to/local-folder/ \
adapters/<adapter_name>/4. Ensure Large Files Use Git LFS
The repo-root .gitattributes already LFS-tracks common binary, model, archive, and media extensions (*.bin, *.parquet, *.safetensors, images, audio, video, *.log, *.txt, etc.). Most parity outputs are covered automatically and need no manual action. Scan the sparse checkout for files larger than 10 MiB to catch anything that slipped through:
python - <<'PY'
from pathlib import Path
for path in sorted(Path(".").rglob("*")):
if path.is_file() and ".git" not in path.parts and path.stat().st_size > 10 * 1024 * 1024:
print(path)
PYIf any file is flagged and is not already covered by root, write the LFS rule to adapters/<adapter_name>/.gitattributes — never to the repo-root .gitattributes, which is a shared merge-conflict hotspot. Run git lfs track inside the adapter directory so the rule is written with a relative pattern:
(cd adapters/<adapter_name> && git lfs track "<pattern>")
git add adapters/<adapter_name>/.gitattributesGit LFS honors nested .gitattributes files, so rules added this way apply only to that adapter and never collide with other in-flight parity PRs.
5. Commit And Push
find . -name .DS_Store -delete
git add adapters/<adapter_name>
git commit -m "Add parity experiment artifacts for <adapter_name>"
GIT_SSH_COMMAND='ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=10' \
git push origin pr/<number>:refs/pr/<number>6. Record The Discussion URL
Use this discussion URL in parity_experiment.json:
https://huggingface.co/datasets/harborframework/parity-experiments/discussions/<number>Monitoring And Retry
When raw git push is running, check the live output first. Large pushes often spend a long time in:
git-lfs pre-push- single-object LFS uploads
- packfile compression
Useful checks:
git ls-remote git@hf.co:datasets/harborframework/parity-experiments refs/pr/<number>ps -p <pid> -o pid=,etime=,command=If the push exits early:
- rerun the exact same
git pushcommand first - if Hugging Face rejects a file larger than 10 MiB, add the needed
git lfs trackrules, re-add the file, and retry - if the connection broke mid-push, rerun the same push command before changing anything else
Fallback
Use hf upload-large-folder only as a fallback when raw git is unavailable or the user explicitly asks for it.
You can still create the PR with the bundled helper and upload to the PR revision:
hf upload-large-folder harborframework/parity-experiments \
<local-folder> \
--repo-type dataset \
--revision refs/pr/<pr-number> \
--exclude ".DS_Store" \
--exclude "**/.DS_Store" \
--num-workers 8Guardrails
- Do not upload the Harbor repo itself by accident. Upload only the intended local results folder.
- Do not fall back to a full clone of
harborframework/parity-experiments. - Do not modify the repo-root
.gitattributes. Put any adapter-specific LFS rules inadapters/<adapter_name>/.gitattributesinstead. - Always remove or exclude
.DS_Store. - Before pushing, make sure every file larger than 10 MiB is LFS-tracked.
- If the user already has a parity PR number, reuse it instead of creating another one.
Trending
Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about laude-institute/harbor
- A Hacker News story“Harbor – a framework for evaluating and optimizing agents and language models”Hacker News · Nov 8, 2025 · 3 points
- harbor-framework/harbor“Multiple reward keys not supported”GitHub · Feb 16, 2026 · 2 reactions
- NovaSky-AI/SkyRL“[skyrl-train][Harbor] Upstream Harbor training code to main skyrl-train”GitHub · Jan 12, 2026 · 2 reactions
- harbor-framework/harbor-datasets“Add SpreadsheetBench dataset (400 tasks)”GitHub · Feb 22, 2026 · 1 reactions
- harbor-framework/harbor“why import environment variables in environment.env in examples/configs/*.yaml”GitHub · Jan 12, 2026 · 1 reactions
The biggest 5 of 38 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 38
Talked about on GitHub and Hacker News (38 times).
On GitHub · 37
- Feb 16, 2026Multiple reward keys not supported — harbor-framework/harbor2 reactions · 1 comment
- Jan 12, 2026[skyrl-train][Harbor] Upstream Harbor training code to main skyrl-train — NovaSky-AI/SkyRL2 reactions · 1 comment
- Feb 22, 2026Add SpreadsheetBench dataset (400 tasks) — harbor-framework/harbor-datasets1 reaction
- Jan 12, 2026why import environment variables in environment.env in examples/configs/*.yaml — harbor-framework/harbor1 reaction · 5 comments
- Nov 30, 2025Add Claude Code OAuth authentication documentation — harbor-framework/harbor-docs1 reaction · 1 comment
32 more on GitHub
- Oct 5, 2026Scout pitch: Resumable, seeded benchmark runs (per-item result files, resume flag, recorded seed) — 8gi-foundation/8gent-codesays it tested it0 reactions
- Sep 26, 2026Research input for 13/14 (souls, continuity, retention): reuse existing formats, and make "forget" cascade through derived memory — BharathChinthallapalli/Test-Waters0 reactions
- Sep 15, 2026Nothing measures whether our own skills help, so every subtraction decision is a vibe check — pmgledhill102/agentic-coding-config0 reactions · 1 comment
- Aug 15, 2026Eval infrastructure: measure whether a skill rewrite still routes — Lancetnik/slop-writer0 reactions
- Aug 7, 2026docs: per-plugin CLAUDE.md with the upstream docs and local specifics — walkerhughes/agents0 reactions
- Apr 29, 2026实验记录:Qwen3-8B run-3 (msp60ius) Phase 1 OOD 跑分 — base+4 ckpt × 66 task × 3 attempts (terminus-2 + harbor + sglang) — iter215 OOD 峰 vs iter279 回落 — HansBug/OpenClaw-RL0 reactions
- Apr 10, 2026Feature: Integrate PraisonAI Agents with Terminal-Bench 2.0 (Harbor Framework) — MervinPraison/PraisonAI0 reactions · 1 comment
- Mar 1, 2026Bedrock API key env var mismatch with LiteLLM (`AWS_BEARER_TOKEN_BEDROCK`) — harbor-framework/harbor0 reactions
- Feb 21, 2026[Harbor] Proper cleanup of Trials (especially address sandbox leakage) upon RL run fails / KeyboardInterrupt — NovaSky-AI/SkyRL0 reactions
- Feb 17, 2026[Ready For Review] multi-step checkpoint trial execution — harbor-framework/harbor0 reactions · 1 comment
- Feb 16, 2026Change asyncio.gather to TaskGroup in the Harbor generator to correctly propagate cancellation signals. — NovaSky-AI/SkyRL0 reactions · 6 comments
- Feb 12, 2026Sandboxes do not get terminated after Keyboard interruption during RL — harbor-framework/harbor0 reactions · 3 comments
- Feb 12, 2026Improve startup time with installed agents — harbor-framework/harbor0 reactions · 2 comments
- Feb 11, 2026Support MCP for all agents — harbor-framework/harbor0 reactions · 2 comments
- Feb 9, 2026Stored Object: paper:url.153C303C — chtmp223/papers-feed0 reactions · 1 comment
- Feb 5, 2026Bug: breaking change from `bash -ic` to `bash -lc` — harbor-framework/harbor0 reactions · 1 comment
- Feb 5, 2026TMUX is not compatible with the alpine image in docker — harbor-framework/harbor0 reactions · 1 comment
- Jan 20, 2026OpenRouter model names not working in Harbor 0.1.42 (`--model openrouter/anthropic/claude-sonnet-4.5`) — harbor-framework/harbor0 reactions
- Jan 17, 2026Failures in agent setup are silently discarded — harbor-framework/harbor0 reactions
- Jan 16, 2026Terminus 2 Agent Uses Logger Before Initialization When Model Provider is hosted_vllm — harbor-framework/harbor0 reactions · 1 comment
- Jan 10, 2026feat: Support Agent-Trajectory Interchange Format (ATIF) for trial trajectory capture — spachava753/rollout0 reactions
- Jan 10, 2026feat(evaluation): block web access and restrict LiteLLM tools during CRS run phase — sslab-gatech/CRSBench0 reactions · 4 comments
- Jan 6, 2026docker gpu support — harbor-framework/harbor0 reactions · 11 comments
- Dec 28, 2025BUG: where does 4096 come from? — harbor-framework/harbor0 reactions · 1 comment
- Dec 24, 2025Fix: Docker environment PATH inheritance on macOS — rotemtam/harbor0 reactions
- Dec 23, 2025Adapter runs unable to find docker — harbor-framework/harbor0 reactions · 2 comments
- Dec 17, 2025Trajectory viewer for non-linear history — harbor-framework/harbor0 reactions · 2 comments
- Dec 16, 2025environment.exec(): bash: cannot set terminal process group (-1): Not a tty bash: no job control in this shell — harbor-framework/harbor0 reactions · 3 comments
- Dec 16, 2025Deniz/dc agent updates 1215 — mlfoundations/SkyRL0 reactions
- Dec 10, 2025🚨 CRITICAL: Docker Compose project name validation bug breaks Oracle on custom_docker_compose tasks — harbor-framework/harbor0 reactions · 2 comments
- Nov 30, 2025Revert litellm hack once upstream fix is released — harbor-framework/harbor0 reactions · 2 comments
- Nov 24, 2025Feature Request: Harbor as a LLM proxy — harbor-framework/harbor0 reactions · 1 comment
On Hacker News · 1
Other versions1 project uses a version of this.
Word for word · 1
- harbor-framework/harbor★ 6.2k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- create-adapterSkill
- create-taskSkill
- harbor-execSkill
- publishSkill
- rewardkitSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

