Monitor CI
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
A skill your agent uses when the developer has finished reviewing a PR (often a hotfix to a production or staging branch) and wants it merged, and so CI/CD deployed, at a specific later time or…
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hmislk/hmis scheduled-pr-merge --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .claude/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.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/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .claude/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-mergeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hmislk/hmis scheduled-pr-merge --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .agents/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .agents/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hmislk/hmis scheduled-pr-merge --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .cursor/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .cursor/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hmislk/hmis.git --path .claude/skills/scheduled-pr-merge--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hmislk/hmis scheduled-pr-merge --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .gemini/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .gemini/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hmislk/hmis scheduled-pr-mergeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .github/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .github/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hmislk/hmis --skill scheduled-pr-merge -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hmislk/hmis scheduled-pr-merge --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hmislk/hmis.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/scheduled-pr-merge .opencode/skills/scheduled-pr-merge && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scheduled-pr-merge" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/scheduled-pr-merge into .opencode/skills/scheduled-pr-merge/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduled-pr-merge", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scheduled-pr-mergeA skill your agent uses when the developer has finished reviewing a PR (often a hotfix to a production or staging branch) and wants it merged, and so CI/CD deployed, at a specific later time or…
Scheduled PR Merge is an agent skill from hmislk/hmis. Use when the developer has finished reviewing a PR (often a hotfix to a production or staging branch) and wants it merged, and so CI/CD deployed, at a specific later time or window agreed with a customer (e.g. "merge 24289 between 3:00 and 3:30am on 5 October"), or wants to list or cancel such a scheduled merge. Also /scheduled-pr-merge.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `schedule.sh` and `scheduled-merge.sh`).
It sits in DevOps & Cloud, covering CI/CD. The repository describes itself as: This is an Open Source Java EE based Hospital Information Management System. The licence is GPL-3.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 19f723d. It shows what the files ask for, not the result of running them.
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.
Ships script files (Shell), which the agent can run.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scheduled PR Merge loads about 1.5k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 804 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from hmislk/hmis at commit 19f723d, republished under its GPL-3.0 licence (© hmislk). 804 words, ~1,519 tokens.
.claude/skills/scheduled-pr-merge/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.A cron job merges the PR within the agreed window, by default 30 minutes from the start time. It does not need a Claude session, only this machine on with cron running.
The merge is essential, so the job keeps trying. Cron starts it every minute of the window, and anything temporary is retried the next minute. A start missed by a few minutes still merges.
It is also fail-safe. It pins the reviewed head commit and never merges anything that has changed since the review.
Tools in this folder:
schedule.sh handles add, test, list and cancel.scheduled-merge.sh is the runner.add and test install both scripts in
~/.local/share/hmis-scheduled-merge/. Jobs run from there, and so can
list and cancel, whatever branch the repo is on.
| Situation | Action |
|---|---|
All checks passed, head is the reviewed commit, GitHub reports MERGEABLE/CLEAN | Merge (gh pr merge --match-head-commit), then stop |
| Already merged, by hand or by an earlier minute | Stop quietly |
| Checks still running, mergeability still computing, network or API error, merge call failed | Retry next minute |
BLOCKED by branch rules, e.g. unresolved review conversations | Retry next minute; the log and comment name the cause |
Merge accepted but not yet MERGED, e.g. a merge queue | Keep checking; success is reported only once GitHub shows MERGED |
| PR closed, base changed, new commits pushed, a check failed, conflicts | Give up now: retrying can't fix these |
| Still not ready in the last minute of the window | Give up |
| Machine was off for the whole window | Give up, from the first run that does happen |
Every give-up and every merge posts a PR comment.
It never uses --admin and never merges outside [start, start+window):
the clock is re-read just before the merge call. Only the latest run of
each check counts. An overlapping attempt skips its minute.
Results go to two places:
~/.local/state/hmis-scheduled-merge/pr-<N>.log.A merge or give-up deletes the job's cron lines. Cron has no year field, so without that the job would fire again next year.
merge, matching repo history). Confirm the review is complete. The job
pins whatever head commit exists now, so ask the developer to push any
last fixes first.gh auth refresh).
Cron cannot read the desktop keyring (gh returns HTTP 401). Ask before
creating the token file, because it is a credential on disk, outside the
repo:mkdir -p ~/.config/hmis-scheduled-merge && chmod 700 ~/.config/hmis-scheduled-merge
(umask 077; gh auth token > ~/.config/hmis-scheduled-merge/gh-token)RESULT: would merge now. Anything else names the blocker. A common one
is an unresolved review conversation (often from CodeRabbit) on a base
branch whose rules require conversations to be resolved. Get those
resolved first..claude/skills/scheduled-pr-merge/schedule.sh test --repo hmislk/hmis --pr <N>add. This works if the developer has allowed
Bash(~/.local/share/hmis-scheduled-merge/schedule.sh *) in
.claude/settings.local.json. If auto mode refuses anyway, give the
developer the exact line to run with !. Do not work around the refusal.! ~/.local/share/hmis-scheduled-merge/schedule.sh add --repo hmislk/hmis --pr <N> --at "2026-10-05 03:00" --window-minutes 30schedule.sh list.<owner>-<repo>-pr<N>-<epoch>), the pinned
head commit, the window with its time zone, the log path, and how to
cancel it (schedule.sh cancel <job-id>). If add printed a merge-state
WARNING, resolve the cause before the window. Re-running test shortly
before leaving catches review comments that arrived after scheduling.CronCreate) for just after the window
ends to read the log and the PR state and report. If not, the PR
comment and log are the record. Either way the merge does not depend on
the session.hotfix-deploy Step 9a:
mirror the change into development unless it was cherry-picked from
there.| Mistake | Fix |
|---|---|
| Scheduling before the last fix is pushed | The job aborts because the head changed. Push first, then add. |
systemd-run --user timer or at | A user timer dies at logout without linger, and at isn't installed. Use cron. |
| Relying on the keyring | Cron gets HTTP 401. Use the token file. |
| Time given without a zone | --at is read in the machine's zone (Asia/Colombo). Repeat the window back with its zone. |
| Window ends too early | Give the full customer window with --window-minutes. The job never merges after it ends. |
A new push after add | The job aborts by design. Re-run add after re-review. |
| A bot review lands after scheduling | Its unresolved conversations can block the merge (BLOCKED). Re-run test before leaving. |
© hmislk, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .claude/skills/scheduled-pr-merge of hmislk/hmis.
Open the folder on GitHubat commit 19f723d
Scheduled PR Merge 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scheduled PR Merge this skillhmislk/hmis | 236 | — | ~1.5k | Automated safety check: Pass | GPL-3.0 | |
| Monitor CInrwl/nx | 29k | 6 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Terraform and OpenTofu Guideagentscope-ai/QwenPaw | 36k | 6 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Analyze GitHub Action Logswithastro/astro | 63k | 1 repos | ~1.3k | Automated safety check: Pass | Custom licence | |
| Azure Pipelines Log Downloaderansible/ansible | 71k | — | ~825 | Automated safety check: Pass | GPL-3.0 | |
| GitHub Actions Templatesbartstc/vite-ts-react-template | 122 | 14 repos | ~1.9k | Automated safety check: Pass | MIT |
nrwl/nx
Monitor Nx Cloud CI pipeline and handle self-healing fixes. An agent skill from nrwl/nx.
agentscope-ai/QwenPaw
Guidance for writing and testing Terraform and OpenTofu code: module structure, naming, test approaches, CI/CD workflows, state handling and security scanning.
withastro/astro
Analyze recent GitHub Actions workflow runs to identify patterns, mistakes, and improvements.
ansible/ansible
Downloads Azure Pipelines CI logs for an Ansible pull request or build so the agent can analyze test failures, after asking you first.
bartstc/vite-ts-react-template
Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications.
ccusage/ccusage
Guides ccusage Nushell scripts. An agent skill from ccusage/ccusage.
hmislk/hmis
Reference for calling existing HMIS REST APIs. An agent skill from hmislk/hmis.
hmislk/hmis
Application configuration options reference for the HMIS project.
hmislk/hmis
Ultra-compressed communication mode. An agent skill from hmislk/hmis.
hmislk/hmis
MySQL database development guide for the HMIS project. An agent skill from hmislk/hmis.
hmislk/hmis
A skill your agent uses when asked to make a demo, training, how-to or tutorial video with sound or voice-over showing an HMIS function or configuration (e.g.
hmislk/hmis
Sync development into QA/testing environment branches (QA1-QA4, local RH staging) via PR + merge on GitHub.
Categories
A skill your agent uses when the developer has finished reviewing a PR (often a hotfix to a production or staging branch) and wants it merged, and so CI/CD deployed, at a specific later time or…. Scheduled PR Merge is an agent skill from hmislk/hmis.g.
Scheduled PR Merge fits situations like: the developer has finished reviewing a PR (often a hotfix to a production; staging branch) and wants it merged; so CI/CD deployed; at a specific later time.
Run `npx skills add hmislk/hmis --skill scheduled-pr-merge -a claude-code`. Or copy the skill folder (.claude/skills/scheduled-pr-merge in hmislk/hmis) into .claude/skills/scheduled-pr-merge in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hmislk/hmis --skill scheduled-pr-merge -a codex`. Or copy the skill folder (.claude/skills/scheduled-pr-merge in hmislk/hmis) into .agents/skills/scheduled-pr-merge in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hmislk/hmis --skill scheduled-pr-merge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scheduled-pr-merge, .gemini/skills/scheduled-pr-merge, .github/skills/scheduled-pr-merge and .opencode/skills/scheduled-pr-merge in your project.
Going by SKILL.md and its folder, Scheduled PR Merge needs a shell for the scripts in its folder and the command-line tools its instructions call (gh). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Scheduled PR Merge is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Scheduled PR Merge: Monitor CI (nrwl/nx, 29k stars), Terraform and OpenTofu Guide (agentscope-ai/QwenPaw, 36k stars), Analyze GitHub Action Logs (withastro/astro, 63k stars) and Azure Pipelines Log Downloader (ansible/ansible, 71k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hmislk (a GitHub organization) maintains it in hmislk/hmis, which has 236 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 10, 2026.
Source: hmislk/hmis on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.