Agent skill

GitHub Repo Monitor

by OpenHands in OpenHands/extensions

This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…

MITAuto-check passedProductivity & Automation

Install GitHub Repo Monitor

skills CLI
$ npx skills add OpenHands/extensions --skill github-repo-monitor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenHands/extensions github-repo-monitor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/github-repo-monitor .claude/skills/github-repo-monitor && rm -rf skills-src

Use ~/.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/

Facts

Skill name
github-repo-monitor
GitHub stars
163
Token cost
~3.1k tokens
SKILL.md length
1,194 words
Files
12 (incl. scripts, references)
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…

  • Works in 10 steps: Verify GITHUB_PERSONAL_ACCESS_TOKEN → Collect repository → Collect trigger phrase → …
  • Asks to monitor a GitHub repository
  • SKILL.md covers Prerequisites, Setup Workflow, Runtime Behaviour (per poll) and Additional Resources, plus 1 more section
  • Runs Python scripts from its folder; calls curl and python3; reaches api.github.com; needs GITHUB_PERSONAL_ACCESS_TOKEN and OPENHANDS_AUTOMATION_API_KEY

What it does

GitHub Repo Monitor is an agent skill from OpenHands/extensions. This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration", "trigger OpenHands from a GitHub comment", or "poll a GitHub repo for a trigger phrase". Guides the user through creating a cron automation that polls a single repository and starts an OpenHands conversation whenever a configurable trigger phrase is detected in an issue or PR comment.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files, including scripts and reference files (for example `.plugin/plugin.json`, `README.md` and `commands/github-monitor-poll.md`).

It sits in Productivity & Automation, covering Scheduled and recurring tasks. It works with GitHub. The repository describes itself as: Public registry for OpenHands extensions. The licence is MIT.

When your agent uses it

  • Asks to monitor a GitHub repository
  • Watch GitHub for issues
  • Respond to @OpenHands mentions on GitHub
  • Set up an OpenHands GitHub integration

Example prompts

  • “monitor a GitHub repository”
  • “watch GitHub for issues or PRs”
  • “respond to @OpenHands mentions on GitHub”
  • “/github-repo-monitor”

Requirements

  • Python 3
  • A credential in GITHUB_PERSONAL_ACCESS_TOKEN
  • A credential in OPENHANDS_AUTOMATION_API_KEY

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Verify GITHUB_PERSONAL_ACCESS_TOKEN
  2. Collect repository
  3. Collect trigger phrase
  4. Collect allowed GitHub logins
  5. Collect event types
  6. Collect cron schedule
  7. Generate the automation script
  8. Package and upload
  9. Create the automation
  10. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 642df1a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • curl
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GITHUB_PERSONAL_ACCESS_TOKEN
    • OPENHANDS_AUTOMATION_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

GitHub Repo Monitor loads about 3.1k tokens when it runs, and up to ~6.5k if it reads all its reference files. Until then it costs about 126 tokens; SKILL.md has 1,194 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.5k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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); the scripts in this folder are not scanned.

SKILL.md

The full file from OpenHands/extensions at commit 642df1a, republished under its MIT licence (© OpenHands). 1,194 words, ~3,055 tokens.

Download SKILL.mdSave it as .claude/skills/github-repo-monitor/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
github-repo-monitor
description
This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration", "trigger OpenHands from a GitHub comment", or "poll a GitHub repo for a trigger phrase". Guides the user through creating a cron automation that polls a single repository and starts an OpenHands conversation whenever a configurable trigger phrase is detected in an issue or PR comment.
triggers
/github-monitor:poll

GitHub Repository Monitor

Create a cron automation that polls a single GitHub repository on a configurable schedule (default: every minute). Windows PowerShell equivalents for the setup, packaging, upload, and API-check shell snippets are in references/windows.md.

When a comment on an issue or PR contains the trigger phrase (default: @OpenHands) it:

  1. Posts a GitHub comment acknowledging the request with a conversation link.
  2. Creates an OpenHands conversation pre-loaded with the issue/PR title, body, labels, and recent comment history for full context.
  3. Posts a summary GitHub comment when the conversation finishes.

On every subsequent run:

  • New trigger comments on an already-tracked issue/PR are forwarded to the running conversation (or re-open a previously closed one).
  • When a conversation goes idle/finished/error the agent's final response is posted back as a GitHub comment.

Local mode only. This automation targets the local OpenHands setup (dev:automation stack). A cloud/webhook variant is out of scope here.


The script imports shared GitHub transport from scripts/github_client.py, installed with this skill. Include it beside main.py when packaging manually, as shown below.

Prerequisites

Required secret

Verify that the following secret is set in OpenHands Settings → Secrets before proceeding:

Secret nameToken typeMinimum permissions
GITHUB_PERSONAL_ACCESS_TOKENClassic PATrepo (private repos) or public_repo (public repos)
GITHUB_PERSONAL_ACCESS_TOKENFine-grained PATIssues: Read and Write

Check with:

bash
curl -s https://api.github.com/user \
  -H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN" \
  -H "Accept: application/vnd.github+json" \
  | python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('login') or d.get('message'))"

If the token is missing, inform the user and stop — the automation cannot function without GitHub credentials.

Optional secret
Secret nameDefaultPurpose
OPENHANDS_URLhttp://localhost:8000Base URL used to build conversation links in GitHub comments

Setup Workflow

Follow these steps in order.

Step 1 - Verify GITHUB_PERSONAL_ACCESS_TOKEN

Fetch the secret and run the curl check above.

  • If the secret is absent: tell the user "GITHUB_PERSONAL_ACCESS_TOKEN is not set. Please add it in OpenHands Settings → Secrets (classic PAT with repo or public_repo scope, or a fine-grained PAT with Issues: Read and Write)." Then stop.

  • If the API returns a non-200 or {"message": "Bad credentials"}: tell the user the token is invalid and ask them to update it.

Step 2 - Collect repository

Ask the user: "Which GitHub repository should be monitored? (Format: owner/repo, e.g. microsoft/vscode)"

Validate access and write permissions:

bash
curl -s "https://api.github.com/repos/{owner}/{repo}" \
  -H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN" \
  -H "Accept: application/vnd.github+json" \
  | python3 -c "
import json, sys
d = json.load(sys.stdin)
if 'message' in d:
    print('ERROR:', d['message'])
else:
    perms = d.get('permissions', {})
    print(f\"Accessible. Private: {d.get('private')}. Permissions: {perms}\")
"
  • If message: Not Found or message: Bad credentials → inform the user and ask them to check the repo name and token.
  • If the repo is private and permissions.push is false → inform the user the token does not have write access and comments will fail.
  • If the check passes, record REPO = "{owner}/{repo}".
Step 3 - Collect trigger phrase

Ask the user: "What trigger phrase should OpenHands respond to? (Press Enter to use the default: @OpenHands)"

Accepted values: any non-empty string unlikely to appear by accident.

Record as TRIGGER_PHRASE. Default: "@openhands".

Step 4 - Collect allowed GitHub logins

Ask the user: "Which GitHub users may trigger this automation? Press Enter to allow only the authenticated GITHUB_PERSONAL_ACCESS_TOKEN owner. You may also provide comma-separated GitHub logins, or * to allow any non-bot commenter on the monitored repository."

Map the answer to ALLOWED_GITHUB_LOGINS:

User answerALLOWED_GITHUB_LOGINS value
Empty/default["<TOKEN_OWNER>"]
enyst,tofarr["enyst", "tofarr"]
*["*"]

Default to token-owner-only unless the user explicitly chooses a broader allowlist. Record as ALLOWED_GITHUB_LOGINS.

Step 5 - Collect event types

Ask the user: "Which event types should be monitored? Choose one or more: 1. Issue and PR comments (default) 2. PR inline review comments 3. Both (Press Enter to accept the default: issue and PR comments.)"

Map the choice to the EVENT_TYPES list:

ChoiceEVENT_TYPES value
1 (default)["issue_comment"]
2["pr_review_comment"]
3["issue_comment", "pr_review_comment"]
Step 6 - Collect cron schedule

Ask the user: "How often should the automation poll GitHub? (Press Enter for the default: every minute. Use a cron expression for a different interval, e.g.: */5 * * * * = every 5 minutes, 0 * * * * = every hour)"

Default: * * * * * (every minute).

Record as CRON_SCHEDULE.

Step 7 - Generate the automation script

Read scripts/main.py from this skill's directory. Apply exactly five constant substitutions near the top of the file:

PlaceholderReplace with
REPO = "owner/repo"REPO = "{owner_repo}"
TRIGGER_PHRASE = "@openhands"TRIGGER_PHRASE = "{trigger_phrase_lower}"
EVENT_TYPES = ["issue_comment"]EVENT_TYPES = {event_types_list}
ALLOWED_GITHUB_LOGINS = ["<TOKEN_OWNER>"]ALLOWED_GITHUB_LOGINS = {allowed_logins_list}
DEFAULT_OPENHANDS_URL = "http://localhost:8000"DEFAULT_OPENHANDS_URL = "{url}" (keep default if the user has no preference)

Run these commands from this skill's directory and write the customised script to a temporary build directory:

bash
mkdir -p /tmp/github-monitor-build
cp -L scripts/github_client.py /tmp/github-monitor-build/github_client.py
# (write the customised main.py to /tmp/github-monitor-build/main.py)

Validate syntax before packaging:

bash
python3 -m py_compile /tmp/github-monitor-build/main.py && echo "Syntax OK"

Fix any syntax errors before proceeding.

Show full SKILL.md (502 more words)Show less
Step 8 - Package and upload

Determine the Automation backend URL and auth from the <RUNTIME_SERVICES> block in your system context:

  • Use the Automation backend url_from_agent as OPENHANDS_HOST
  • Auth: X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY

If no Automation backend is listed in <RUNTIME_SERVICES>, stop and tell the user to start the full automation stack.

bash
tar -czf /tmp/github-monitor.tar.gz -C /tmp/github-monitor-build .

# OPENHANDS_HOST: read from <RUNTIME_SERVICES> Automation backend url_from_agent
OPENHANDS_HOST="<automation-url-from-runtime-services>"

TARBALL_PATH=$(curl -s -X POST \
  "${OPENHANDS_HOST}/api/automation/v1/uploads?name=github-repo-monitor" \
  -H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
  -H "Content-Type: application/gzip" \
  --data-binary @/tmp/github-monitor.tar.gz \
  | python3 -c "import json,sys; print(json.load(sys.stdin)['tarball_path'])")

echo "Uploaded: $TARBALL_PATH"
Step 9 - Create the automation
bash
curl -s -X POST "${OPENHANDS_HOST}/api/automation/v1" \
  -H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"name\": \"GitHub Monitor: {owner}/{repo}\",
    \"trigger\": {\"type\": \"cron\", \"schedule\": \"{cron_schedule}\"},
    \"tarball_path\": \"$TARBALL_PATH\",
    \"entrypoint\": \"python3 main.py\",
    \"timeout\": 55
  }" | python3 -m json.tool

Record the returned id.

Step 10 - Confirm

Tell the user:

✅ GitHub Repository Monitor is running!

  • Automation ID: {id}
  • Repository: {owner}/{repo}
  • Trigger phrase: {phrase}
  • Event types: {event_types}
  • Allowed GitHub logins: {allowed_logins}
  • Polling schedule: {cron_schedule}
  • State file: ~/.openhands/workspaces/automation-state/github_poller_{id}.json

From an allowed GitHub login, post a comment containing {phrase} on any issue or PR in {owner}/{repo} to test it. OpenHands will acknowledge with a comment and a link to the new conversation.


Runtime Behaviour (per poll)

Each cron run executes main.py, which:

  1. Loads state from the JSON file (see references/state-schema.md).
  2. Resolves and validates GITHUB_PERSONAL_ACCESS_TOKEN — aborts immediately if absent or invalid.
  3. Polls for new events since the previous last_poll timestamp:
    • GET /repos/{owner}/{repo}/issues/comments?since=… for issue_comment
    • GET /repos/{owner}/{repo}/pulls/comments?since=… for pr_review_comment
  4. Processes matching comments in chronological order:
    • Skips bot accounts (login ending in [bot]) to avoid feedback loops.
    • Skips already-processed comment IDs.
    • Skips comments from logins outside ALLOWED_GITHUB_LOGINS.
    • Checks body for the trigger phrase (case-insensitive).
    • Extracts the issue/PR number from the comment URL.
  5. For each trigger comment, per issue/PR:
    • Active conversation → forwards the new comment directly.
    • Closed conversation → tries to re-open it; falls back to creating a new conversation if the old one is unreachable.
    • No conversation → fetches full context (title, body, labels, last 10 comments) and creates a new conversation with a detailed prompt.
    • Posts a GitHub comment: "🤖 OpenHands is on it! View progress: {url}"
  6. Checks active conversations for completion:
    • If status ∈ {idle, finished, error, stuck} and enough time has passed since creation (debounce), fetches the agent's final response and posts it as a GitHub comment. Marks the conversation closed.
  7. Saves state and fires the completion callback.

Additional Resources

Reference Files
  • references/state-schema.md - State JSON schema, field definitions, and conversation lifecycle diagram.
  • references/github-api.md - GitHub API endpoint reference, token scopes, rate limits, and common error codes.
Script Template
  • scripts/main.py - The complete automation script. Customise the four constants at the top (REPO, TRIGGER_PHRASE, EVENT_TYPES, DEFAULT_OPENHANDS_URL) before packaging.

Troubleshooting

SymptomLikely causeFix
Bot doesn't respond to commentsGITHUB_PERSONAL_ACCESS_TOKEN missing or wrong scopesVerify token with curl /user; check scopes in Step 1
"Bad credentials" in run logsToken expiredRotate token and update the secret in Settings
404 on repo accessRepo name wrong or token has no accessRe-check owner/repo spelling; add token as collaborator
Comments posted but no conversation createdAgent server URL wrongCheck OPENHANDS_URL secret and AGENT_SERVER_URL env var
Same comment processed twiceprocessed_comment_ids clearedState file was deleted; harmless but duplicate comment may appear
Summary never postedConversation stuck in runningOpen the conversation in the OpenHands UI; agent may need input
No events detected after first runlast_poll in the futureDelete the state file to reset; it will be recreated on next run

© OpenHands, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files (scripts, references) in skills/github-repo-monitor of OpenHands/extensions.

  • SKILL.md
  • .claude-plugin
  • .codex-plugin
  • .plugin/plugin.json
  • README.md
  • commands/github-monitor-poll.md
  • references/github-api.md
  • references/state-schema.md
  • references/windows.md
  • scripts/github_client.py
  • scripts/main.py
  • tests/test_main.py

Open the folder on GitHubat commit 642df1a

Compare with similar skills

GitHub Repo Monitor 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.

GitHub Repo Monitor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GitHub Repo Monitor this skillOpenHands/extensions163—~3.1kAutomated safety check: PassMIT
Superset Automatesuperset-sh/superset15k—~1.4kAutomated safety check: PassCustom licence
Auto Promotexiaotonng/pikiloom294—~629Automated safety check: NotesMIT
Building LoopsPostHog/posthog40k—~3.6kAutomated safety check: PassCustom licence
Meeting Briefgooseworks-ai/goose-skills1.2k1 repos~2.3kAutomated safety check: PassMIT
OpenObserve PR Briefopenobserve/openobserve22k—~1.8kAutomated safety check: PassAGPL-3.0

Similar skills

  • Superset Automate

    superset-sh/superset

    Turns a recurring chore into a scheduled or event-triggered Superset agent, drafting its prompt, picking a target and trigger, and reviewing the first run.

    15k GitHub stars~1.4k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Auto Promote

    xiaotonng/pikiloom

    无人值守推广总入口。按 promo/orchestrate.md 跨所有启用渠道(GitHub / Twitter / Reddit)跑一轮:发现→去重→起草→自我批判→护栏→按 posture 发布→记录→度量。供每日 cron(schedule / loop)调用,也可手动运行。传 "post-approved" 只执行 batch 待发队列。

    294 GitHub stars~629 tokensUpdated 5 days ago
    Productivity & AutomationAuto-check: notes
  • Building Loops

    PostHog/posthog

    Official

    Build a Loop for PostHog Desktop: a workflow that creates an AI task each time its trigger fires, optionally followed by a Slack or email notification with the task's result.

    40k GitHub stars~3.6k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Meeting Brief

    gooseworks-ai/goose-skills

    Daily meeting preparation system that checks your calendar each morning, deeply researches external attendees (LinkedIn, company info, GitHub, past notes), and sends you personalized briefs via…

    1.2k GitHub starsUsed in 1 repo~2.3k tokens
    Productivity & AutomationAuto-check passed
  • OpenObserve PR Brief

    openobserve/openobserve

    Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.

    22k GitHub stars~1.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.

    770 GitHub stars~9k tokensUpdated yesterday
    Productivity & AutomationAuto-check: warnings

More from OpenHands/extensions

All 78 skills in this repo
  • Agent Readiness Report

    OpenHands/extensions

    Evaluate how well a codebase supports autonomous AI-assisted development.

    163 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Discord

    OpenHands/extensions

    Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).

    163 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • GitHub

    OpenHands/extensions

    Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUBTOKEN environment variable and GitHub CLI.

    163 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • GitHub Issue To PR

    OpenHands/extensions

    Create an automation that implements GitHub issues when a configurable trigger label is applied.

    163 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • GitLab Issue To Mr

    OpenHands/extensions

    Create an automation that implements GitLab issues when a configurable trigger label is applied.

    163 GitHub stars~4.9k tokensUpdated yesterday
    Auto-check passed
  • Jira Issue To PR

    OpenHands/extensions

    This skill should be used when the user asks to "set up a Jira automation to create pull requests", "poll Jira for create-pr issues", "automatically create GitHub PRs from Jira tickets", "deploy a…

    163 GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about GitHub Repo Monitor

What does GitHub Repo Monitor do?

This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…. GitHub Repo Monitor is an agent skill from OpenHands/extensions. This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration", "trigger OpenHands from a GitHub comment", or "poll a GitHub repo for a trigger phrase".

When should I use GitHub Repo Monitor?

GitHub Repo Monitor fits situations like: asks to monitor a GitHub repository; watch GitHub for issues; respond to @OpenHands mentions on GitHub; set up an OpenHands GitHub integration.

How do I install GitHub Repo Monitor in Claude Code?

Run `npx skills add OpenHands/extensions --skill github-repo-monitor -a claude-code`. Or copy the skill folder (skills/github-repo-monitor in OpenHands/extensions) into .claude/skills/github-repo-monitor in your project. Claude Code loads it when a task matches its description.

How do I install GitHub Repo Monitor in Codex?

Run `npx skills add OpenHands/extensions --skill github-repo-monitor -a codex`. Or copy the skill folder (skills/github-repo-monitor in OpenHands/extensions) into .agents/skills/github-repo-monitor in your project. Codex loads it when a task matches its description.

Can I use GitHub Repo Monitor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenHands/extensions --skill github-repo-monitor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-repo-monitor, .gemini/skills/github-repo-monitor, .github/skills/github-repo-monitor and .opencode/skills/github-repo-monitor in your project.

What does GitHub Repo Monitor need to run?

Going by SKILL.md and its folder, GitHub Repo Monitor needs Python for the scripts in its folder, the command-line tools its instructions call (curl and python3) and credentials named GITHUB_PERSONAL_ACCESS_TOKEN and OPENHANDS_AUTOMATION_API_KEY. Our summary lists: Python 3; A credential in GITHUB_PERSONAL_ACCESS_TOKEN; A credential in OPENHANDS_AUTOMATION_API_KEY.

Does GitHub Repo Monitor access the network?

SKILL.md names 1 domain. In commands or code: api.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is GitHub Repo Monitor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does GitHub Repo Monitor use?

GitHub Repo Monitor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does GitHub Repo Monitor use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.

What are the alternatives to GitHub Repo Monitor?

Skills that share tags, products or a category with GitHub Repo Monitor: Superset Automate (superset-sh/superset, 15k stars), Auto Promote (xiaotonng/pikiloom, 294 stars), Building Loops (PostHog/posthog, 40k stars) and Meeting Brief (gooseworks-ai/goose-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GitHub Repo Monitor?

OpenHands (a GitHub organization) maintains it in OpenHands/extensions, which has 163 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 9, 2026.

Source: OpenHands/extensions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.