[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D9VAQVR2RH68F2AZ0FFZE0":3,"skill-same:01M6D9VAQVR2RH68F2AZ0FFZE0":56},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":13,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6D9VAQVR2RH68F2AZ0FFZE0","publish",null,"Publish a Harbor task or dataset to the registry. Use when the user wants to upload, publish, or share tasks or datasets\u002Fbenchmarks on the Harbor registry.","PGCodeLLM\u002Fharbor","PGCodeLLM","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F195791236?v=4","01M6D9TVQRJDRVYVFYGFS1Q7HQ","01M6D9TVW86XTGX60XE4CR6RBT",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Fpublish\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27],"tasks","registry","share","harbor","user","use","datasets","benchmarks","task","upload","2026-11-10 10:12:30",false,"---\nname: publish\ndescription: Publish a Harbor task or dataset to the registry. Use when the user wants to upload, publish, or share tasks or datasets\u002Fbenchmarks on the Harbor registry.\nargument-hint: [path\u002Fto\u002Ftask-or-dataset]\n---\n\nHelp the user publish a Harbor task or dataset to the registry. Walk them through each step, checking prerequisites and confirming before running publish commands.\n\nAll commands use `uvx harbor` so the user does not need to install the CLI globally.\n\n## Prerequisites\n\n1. **Auth**: Ensure the user is logged in by running `uvx harbor auth status`. If not logged in, prompt them to run `uvx harbor auth login`.\n\n2. **Task identifiers**: All tasks must have a `[task]` section in their `task.toml` with a name like `\u003Corg>\u002F\u003Cname>`. If missing, run:\n   ```bash\n   uvx harbor task update \"\u003Cpath\u002Fto\u002Ftask>\" --org \"\u003Corg>\"\n   ```\n   To update all tasks in a directory:\n   ```bash\n   uvx harbor task update \"\u003Cpath\u002Fto\u002Ftasks>\" --org \"\u003Corg>\" --scan\n   ```\n\n## Publishing a task\n\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftask>\"\n```\n\nPublish multiple tasks or all tasks in a directory:\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftask-a>\" \"\u003Cpath\u002Fto\u002Ftask-b>\"\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftasks>\"\n```\n\n## Publishing a dataset\n\n### 1. Initialize the dataset manifest (if no `dataset.toml` exists)\n\n```bash\nuvx harbor dataset init \"\u003Corg>\u002F\u003Cdataset>\" \\\n  --description \"\u003Cdescription>\" \\\n  --author \"Jane Doe \u003Cjane@example.com>\"\n```\n\nAdd `--with-metric` if the user needs a custom metric script. If omitted, the dataset uses the default metric (average reward across tasks, with missing values treated as 0).\n\n**Auto-add behavior:** If `dataset init` is run in a directory that already contains tasks, those tasks are automatically added to the manifest. After init, **ask the user if they want to add additional tasks** — either from the Harbor registry or from other local folders.\n\n### 2. Add additional tasks and files (optional)\n\n```bash\ncd \"\u003Cpath\u002Fto\u002Fdataset>\"\nuvx harbor add \"\u003Cpath\u002Fto\u002Ftask-a>\" \"\u003Cpath\u002Fto\u002Ftask-b>\"   # local tasks from elsewhere\nuvx harbor add \"\u003Cpath\u002Fto\u002Ffolder>\" --scan                 # all tasks in another folder\nuvx harbor add org\u002Ftask-name                             # published tasks from registry\nuvx harbor add org\u002Fdataset-name                          # all tasks from a published dataset\nuvx harbor add metric.py                                 # metric file (same dir as dataset.toml)\nuvx harbor remove \"\u003Corg>\u002F\u003Ctask-name>\"                     # remove a task\n```\n\nSpecific versions: `org\u002Ftask@tag`, `org\u002Ftask@revision`, or `org\u002Ftask@sha256:\u003Chash>`.\n\n### 3. Sync digests (if tasks\u002Fmetrics changed since last publish)\n\n```bash\nuvx harbor sync\nuvx harbor sync --upgrade   # also upgrade remote tasks to latest\n```\n\n### 4. Publish the dataset\n\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Fdataset>\"\n```\n\n`uvx harbor publish` automatically refreshes digests of local tasks in the dataset directory.\n\n## Publish options (tasks and datasets)\n\n- `-t \u002F --tag`: add tags (repeatable). `latest` is always included.\n- `-c \u002F --concurrency`: control upload concurrency.\n- `--public`: make public (private by default).\n- `--no-tasks` (datasets only): skip publishing tasks in the dataset directory.\n\nExample:\n```bash\nuvx harbor publish \"\u003Cpath>\" -t v1.0 --public\n```\n\n## After publishing\n\n- Visibility can be changed later with `uvx harbor task visibility` \u002F `uvx harbor dataset visibility` or on https:\u002F\u002Fhub.harborframework.com\u002F.\n- Run a published dataset with:\n  ```bash\n  uvx harbor run -d \"\u003Corg>\u002F\u003Cdataset>@v1.0\" -a \"\u003Cagent>\" -m \"\u003Cmodel>\"\n  ```\n","Help the user publish a Harbor task or dataset to the registry. Walk them through each step, checking prerequisites and confirming before running publish commands.\n\nAll commands use `uvx harbor` so the user does not need to install the CLI globally.\n\n## Prerequisites\n\n1. **Auth**: Ensure the user is logged in by running `uvx harbor auth status`. If not logged in, prompt them to run `uvx harbor auth login`.\n\n2. **Task identifiers**: All tasks must have a `[task]` section in their `task.toml` with a name like `\u003Corg>\u002F\u003Cname>`. If missing, run:\n   ```bash\n   uvx harbor task update \"\u003Cpath\u002Fto\u002Ftask>\" --org \"\u003Corg>\"\n   ```\n   To update all tasks in a directory:\n   ```bash\n   uvx harbor task update \"\u003Cpath\u002Fto\u002Ftasks>\" --org \"\u003Corg>\" --scan\n   ```\n\n## Publishing a task\n\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftask>\"\n```\n\nPublish multiple tasks or all tasks in a directory:\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftask-a>\" \"\u003Cpath\u002Fto\u002Ftask-b>\"\nuvx harbor publish \"\u003Cpath\u002Fto\u002Ftasks>\"\n```\n\n## Publishing a dataset\n\n### 1. Initialize the dataset manifest (if no `dataset.toml` exists)\n\n```bash\nuvx harbor dataset init \"\u003Corg>\u002F\u003Cdataset>\" \\\n  --description \"\u003Cdescription>\" \\\n  --author \"Jane Doe \u003Cjane@example.com>\"\n```\n\nAdd `--with-metric` if the user needs a custom metric script. If omitted, the dataset uses the default metric (average reward across tasks, with missing values treated as 0).\n\n**Auto-add behavior:** If `dataset init` is run in a directory that already contains tasks, those tasks are automatically added to the manifest. After init, **ask the user if they want to add additional tasks** — either from the Harbor registry or from other local folders.\n\n### 2. Add additional tasks and files (optional)\n\n```bash\ncd \"\u003Cpath\u002Fto\u002Fdataset>\"\nuvx harbor add \"\u003Cpath\u002Fto\u002Ftask-a>\" \"\u003Cpath\u002Fto\u002Ftask-b>\"   # local tasks from elsewhere\nuvx harbor add \"\u003Cpath\u002Fto\u002Ffolder>\" --scan                 # all tasks in another folder\nuvx harbor add org\u002Ftask-name                             # published tasks from registry\nuvx harbor add org\u002Fdataset-name                          # all tasks from a published dataset\nuvx harbor add metric.py                                 # metric file (same dir as dataset.toml)\nuvx harbor remove \"\u003Corg>\u002F\u003Ctask-name>\"                     # remove a task\n```\n\nSpecific versions: `org\u002Ftask@tag`, `org\u002Ftask@revision`, or `org\u002Ftask@sha256:\u003Chash>`.\n\n### 3. Sync digests (if tasks\u002Fmetrics changed since last publish)\n\n```bash\nuvx harbor sync\nuvx harbor sync --upgrade   # also upgrade remote tasks to latest\n```\n\n### 4. Publish the dataset\n\n```bash\nuvx harbor publish \"\u003Cpath\u002Fto\u002Fdataset>\"\n```\n\n`uvx harbor publish` automatically refreshes digests of local tasks in the dataset directory.\n\n## Publish options (tasks and datasets)\n\n- `-t \u002F --tag`: add tags (repeatable). `latest` is always included.\n- `-c \u002F --concurrency`: control upload concurrency.\n- `--public`: make public (private by default).\n- `--no-tasks` (datasets only): skip publishing tasks in the dataset directory.\n\nExample:\n```bash\nuvx harbor publish \"\u003Cpath>\" -t v1.0 --public\n```\n\n## After publishing\n\n- Visibility can be changed later with `uvx harbor task visibility` \u002F `uvx harbor dataset visibility` or on https:\u002F\u002Fhub.harborframework.com\u002F.\n- Run a published dataset with:\n  ```bash\n  uvx harbor run -d \"\u003Corg>\u002F\u003Cdataset>@v1.0\" -a \"\u003Cagent>\" -m \"\u003Cmodel>\"\n  ```\n",{"name":5,"description":7,"argument-hint":33},[34],"path\u002Fto\u002Ftask-or-dataset","main","de2f043d9ffb2aa523e1494d4e00d0bfdce7afb8","skills\u002Fpublish","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor","https:\u002F\u002Fharborframework.com\u002F","https:\u002F\u002Fgithub.com\u002FPGCodeLLM","2026-11-12 12:30:06",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add PGCodeLLM\u002Fharbor --skill publish",{"tool":48,"command":49},"bunx","bunx skills add PGCodeLLM\u002Fharbor --skill publish",{"tool":51,"command":52},"pnpm","pnpm dlx skills add PGCodeLLM\u002Fharbor --skill publish","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Fpublish\u002FSKILL.md",true,[],[57,70,84,103,122,134],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":28},"01M6D9VFNTM2894A0RZP58Z5XF","upload-parity-experiments","Create or reuse Hugging Face dataset PRs for `harborframework\u002Fparity-experiments` and upload Harbor parity\u002Foracle result folders efficiently with sparse checkout, raw git pushes, and Git LFS.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Fupload-parity-experiments\u002FSKILL.md",[],[64,27,65,66,67,68,21,69],"experiments","upload parity experiments","oracle","create","git","hugging face",{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":28},"01M6D9VD3NATFN5G8V1G8CZV0M","rewardkit","Write Harbor task verifiers using Reward Kit. Use when creating or editing a task's tests\u002F directory, adding grading criteria, setting up LLM\u002Fagent judges, or designing verifiers that produce a reward score.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Frewardkit\u002FSKILL.md",[],[72,77,78,21,79,80,23,81,26,82,83],"directory","produce","editing","write","up","grading","tests",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":28},"01M6D9V6ZD67WGARQ2296KR5SC","create-task","Create a new Harbor task for evaluating agents. Use when the user wants to scaffold, build, or design a new task, benchmark problem, or eval. Guides through instruction writing, environment setup, verifier design (pytest vs Reward Kit vs custom), and solution scripting.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Fcreate-task\u002FSKILL.md",[],[91,67,26,92,23,93,94,95,96,97,98,99,100,101,21,102,22],"create task","build","verifier","pytest","scripting","environment","design","writing","scaffold","setup","benchmark","eval",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":28},"01M6D9V3YNRP4W6494DKGGM9CH","create-adapter","Scaffold a new Harbor benchmark adapter by running `harbor adapter init` and then guide implementation using the Adapters Agent Guide as the authoritative spec.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fskills\u002Fcreate-adapter\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[115,67,116,117,118,99,101,21,119,120,121],"create adapter","guide","spec","init","agent guide","implementation","as",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":28},"01M6D9V1QS0V21GX1W7M5KNG1Z","generate-greeting","Generate a greeting message and write it to a file.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fexamples\u002Ftasks\u002Fhello-skills\u002Fenvironment\u002Fskills\u002Fgenerate-greeting\u002FSKILL.md",[],[129,130,131,132,80,133],"generate greeting","greeting","generate","file","message",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":28},"01M6D9V08N633ABGSN808D0A0T","runtime-proof","Write the proof file for the Harbor runtime skill injection example.","https:\u002F\u002Fgithub.com\u002FPGCodeLLM\u002Fharbor\u002Fblob\u002Fmain\u002Fexamples\u002Fjobs\u002Fskills-merge\u002Fskills\u002Fruntime-proof\u002FSKILL.md",[],[141,142,143,21,80,144,132],"runtime proof","runtime","injection","example"]