Guide · Agent skill
How to use the Harbor Intake Triage agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
Harbor is an agent skill for Claude that works as an intake desk for a GitHub repository's incoming issues, bug reports, feature requests and outside pull requests. It is written for maintainers of busy open-source projects who want the agent to do the reading and checking, and to bring them only the decisions that really need a person. After this guide you will know what the skill does, how to install it, how to trigger it with plain requests, and which safety limits apply.
Quick start
- 1Check your requirements. Confirm the GitHub CLI (gh) is installed and has access to the target repository, and that the repository is hosted on GitHub.
- 2Download the skill ZIP. Get the Harbor skill ZIP from this page under the same licence noted on the item (MIT).
- 3Unzip the skill. Unzip it into ~/.claude/skills/ for personal use, or into the project's .claude/skills/ folder for one project.
- 4Or upload it in the Claude apps. Open Settings, go to Capabilities, then Skills, and upload the skill.
- 5Run a first sweep. Invoke the skill with a sweep request and check the proposals and records it leaves in the tracker before you sign anything.
What does the Harbor skill make the agent do?
Harbor sweeps incoming issues and pull requests, checks each claim against the repository and the tracker, and reuses decisions the maintainer has already made. The agent acts on its own only for reading, searching, reproducing under safe conditions, gathering evidence and carrying out actions a maintainer has already authorized. Anything new, such as accepting, rejecting, merging, granting an exception or changing scope, is prepared as a single question with options, a recommendation, impact and evidence, and waits for the maintainer's signature.
The skill states that it never merges.
- Verifies every claim before deciding what to do with it
- Reuses prior signed decisions instead of re-asking the same question
- Prepares a docket of pending items for the maintainer
- Records its work as comments, labels and links in the tracker
What do you need before installing Harbor?
Harbor is designed for a specific setup. The skill file lists three requirements, and it only works with a remote GitHub repository as the tracker in this version.
- GitHub CLI (gh) installed, with access to the target repository
- A remote GitHub repository used as the issue tracker
- A tracker label vocabulary recorded by the companion skill /oh-my-claudecode:drydock
How do you install the Harbor skill?
Download the ZIP from the skill's page on this directory and unzip it into one of two places. Use ~/.claude/skills/ to make the skill available in your user account, or use a project's .claude/skills/ folder to make it available only in that project.
You can also add it through the Claude apps: open Settings, go to Capabilities, then Skills, and upload the skill there.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into .claude/skills/ inside the project
- App install: Settings → Capabilities → Skills, then upload
~/.claude/skills/How do you trigger Harbor with natural requests?
Harbor is set to run only when you invoke it, so the agent will not start triage on its own. The skill's argument hint lists the four ways to call it. Phrase your request close to one of these forms.
Each request maps to a specific job: a sweep looks over what has changed, a look at a numbered item inspects one issue or PR, a sign command records a decision you have made, and a readiness question asks what is ready for you.
- sweep: review what has changed in incoming work
- look at #N: inspect one issue or pull request by its number
- sign ...: record your decision on a pending proposal
- what's ready?: list items waiting for you
What does a Harbor run look like in practice?
Before anything else, Harbor checks that the remote tracker responds and that it is the expected repository. It does this with gh repo view on the recorded or implicit remote. If the remote cannot be reached, Harbor stops and reports the blocker instead of writing to local files.
Every action leaves one of four records in the tracker: verification evidence, a proposal, a decision, or an execution result. A proposal names one explicit question and includes a recommendation, the alternative, the scope and non-goals, and linked evidence. When you sign a decision, the record names who authorized it and where that authorization came from.
- Step 0 checks the remote tracker is reachable and correct
- Verification records the command or method used and what was not verified
- Proposals contain exactly one main question
- Changes to a signed proposal produce a new snapshot rather than an edited one
gh repo viewWhat are the safety limits and notes on scripts and network access?
The skill file states that it runs scripts and uses the network. Its network use is to reach the GitHub repository through the GitHub CLI. Harbor will not write to local markdown files as if they were a tracker, so dispositions end up where reporters and maintainers can see them.
Authority is limited. An API token, a reporter saying 'approved', or the model's confidence does not count as a disposition. Standing rules must be explicitly signed by the maintainer, and a rule only allows an action when the covered facts are verified, the rule permits the action and the host permits it.
Only one harbor writer should run per repository. If exclusivity cannot be confirmed or another writer is detected, Harbor produces drafts only and makes no tracker writes.
- Runs scripts and uses the network, so review the files before installing
- Never merges; merge decisions remain with the maintainer
- Standing rules are the only way to let the agent act without a new signature
- Use one writer per repository to avoid stale writes
Tips for getting good results from Harbor
Ask for a rule when you see the same report pattern again and again. The skill is built so that one signed standing rule replaces many repeated signatures. A good rule names the scope it covers, the allowed actions, the facts that must hold, and the exceptions, such as regressions, security reports or an invalidated parent issue.
Keep your label vocabulary recorded before the first run, since Harbor relies on the tracker labels it sets up and reads.
- Write standing rules with explicit exceptions
- Check the label set exists before the first run
- Expect a closed parent issue to not automatically make new reports closeable
What people use it for
- Triaging a steady stream of duplicate bug reports against one parent issue, with a standing rule for the exceptions
- Checking a feature request's claims against the repository before deciding whether to accept it
- Preparing a short docket of pending questions for a maintainer who is short on time
- Reviewing an outside pull request for verified facts, leaving the merge decision with the maintainer
Frequently asked questions
How do I install the Harbor agent skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. You can also open Settings, go to Capabilities, then Skills, and upload the ZIP in the Claude apps.
What do I need to run Harbor?
You need the GitHub CLI (gh) with access to the target repository, a remote GitHub repository as the issue tracker, and the tracker label vocabulary recorded by /oh-my-claudecode:drydock. The skill runs scripts and uses the network.
Is the Harbor skill free?
The item is licensed under MIT. The source does not state any price, so check the item's page for licence details rather than assuming anything beyond that.
Can Harbor merge pull requests for me?
No. The skill states that it never merges. Accepting, rejecting, merging and scope changes are new judgments that the maintainer signs.
Does Harbor work with GitLab, Bitbucket or other trackers?
Not in this version. The skill supports only remote GitHub. Other backends are unsupported, and Harbor reports the problem and stops rather than falling back to local files.
Why does Harbor not start on its own?
The skill is set to run only when invoked, so you start it with a request such as sweep, look at #N, sign, or what's ready?. This keeps the agent from triaging work without your say-so.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Harbor suits maintainers of busy GitHub repositories who receive many repetitive issues and pull requests, and who use the oh-my-claudecode setup and want recorded, consistent triage decisions. It is a poor fit for small projects with few requests, where the formal records and standing rules add more overhead than they save, and for anyone who expects the agent to close or merge work on its own judgment.
Download the skill