$npx -y skills add tkellogg/open-strix --skill github-pollerMonitor GitHub repositories for new issues, PRs, comments, and reviews on a schedule. Ready-to-use poller following the pollers.json contract. Install from ClawHub or copy into your agent's skills/ folder.
| 1 | # GitHub Repository Poller |
| 2 | |
| 3 | Monitors GitHub repositories for new activity. Emits events to the agent only when there's something actionable. |
| 4 | |
| 5 | ## Installation |
| 6 | |
| 7 | Install from [ClawHub](https://clawhub.ai): |
| 8 | |
| 9 | ```bash |
| 10 | npx clawhub install github-poller |
| 11 | ``` |
| 12 | |
| 13 | Or copy this skill directory into your agent's `skills/` folder. |
| 14 | |
| 15 | After installation, call `reload_pollers` to register the poller with the scheduler. |
| 16 | |
| 17 | ## Setup |
| 18 | |
| 19 | ### 1. Set environment variables |
| 20 | |
| 21 | The poller reads credentials from the agent's environment (`.env` file or system env): |
| 22 | |
| 23 | | Variable | Required | Description | |
| 24 | |----------|----------|-------------| |
| 25 | | `GITHUB_TOKEN` | yes | GitHub personal access token or `gh` CLI token | |
| 26 | | `GITHUB_REPOS` | yes | Comma-separated list of repos to monitor (e.g., `owner/repo1,owner/repo2`) | |
| 27 | |
| 28 | **Note:** The `gh` CLI auth token works if `gh` is installed and authenticated. The poller tries `gh auth token` as a fallback if `GITHUB_TOKEN` isn't set. |
| 29 | |
| 30 | ### 2. Configure pollers.json |
| 31 | |
| 32 | The skill ships with a default `pollers.json` that polls every 15 minutes: |
| 33 | |
| 34 | ```json |
| 35 | { |
| 36 | "pollers": [ |
| 37 | { |
| 38 | "name": "github-activity", |
| 39 | "command": "python poller.py", |
| 40 | "cron": "*/15 * * * *" |
| 41 | } |
| 42 | ] |
| 43 | } |
| 44 | ``` |
| 45 | |
| 46 | Adjust the cron schedule as needed. For active repos, `*/5 * * * *` works but watch API rate limits. |
| 47 | |
| 48 | ### 3. Reload pollers |
| 49 | |
| 50 | After installation, call `reload_pollers` to register the poller with the scheduler. |
| 51 | |
| 52 | ## What It Reports |
| 53 | |
| 54 | The poller emits events for: |
| 55 | - **New issues** opened on your repos |
| 56 | - **New pull requests** opened on your repos |
| 57 | - **New comments** on issues and PRs (excluding your own bot account) |
| 58 | - **PR reviews** submitted (excluding your own) |
| 59 | |
| 60 | Each event includes the repo, author, title/body, and URLs needed to act. |
| 61 | |
| 62 | ## Filtering |
| 63 | |
| 64 | - Comments and reviews from the authenticated account are excluded (avoids self-notification loops) |
| 65 | - Only activity since the last successful poll is reported |
| 66 | - Empty polls produce no output (silence = nothing new) |
| 67 | |
| 68 | ## Dependencies |
| 69 | |
| 70 | Requires either: |
| 71 | - The `gh` CLI installed and authenticated, OR |
| 72 | - A `GITHUB_TOKEN` environment variable with repo read access |
| 73 | |
| 74 | No additional Python packages needed — uses `subprocess` to call `gh` API. |