PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
Run one or more GitHub issues through their full lifecycle end-to-end with NO pauses for user input — investigate, decide the approach, gather test context, and run the CI/review loop entirely…
$ npx skills add hmislk/hmis --skill dev-issue-unattended -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hmislk/hmis dev-issue-unattended --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/dev-issue-unattended .claude/skills/dev-issue-unattended && 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 "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .claude/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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/dev-issue-unattendedType 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 dev-issue-unattended -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hmislk/hmis dev-issue-unattended --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/dev-issue-unattended .agents/skills/dev-issue-unattended && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .agents/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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 dev-issue-unattended -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hmislk/hmis dev-issue-unattended --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/dev-issue-unattended .cursor/skills/dev-issue-unattended && 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 "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .cursor/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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/dev-issue-unattended--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 dev-issue-unattended -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hmislk/hmis dev-issue-unattended --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/dev-issue-unattended .gemini/skills/dev-issue-unattended && 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 "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .gemini/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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 dev-issue-unattendedInstalls 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 dev-issue-unattended -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/dev-issue-unattended .github/skills/dev-issue-unattended && 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 "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .github/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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 dev-issue-unattended -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 dev-issue-unattended --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/dev-issue-unattended .opencode/skills/dev-issue-unattended && 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 "dev-issue-unattended" agent skill from https://github.com/hmislk/hmis/tree/development/.claude/skills/dev-issue-unattended into .opencode/skills/dev-issue-unattended/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev-issue-unattended", 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.
dev-issue-unattendedRun one or more GitHub issues through their full lifecycle end-to-end with NO pauses for user input — investigate, decide the approach, gather test context, and run the CI/review loop entirely…
Dev Issue Unattended is an agent skill from hmislk/hmis. Run one or more GitHub issues through their full lifecycle end-to-end with NO pauses for user input — investigate, decide the approach, gather test context, and run the CI/review loop entirely autonomously, documenting every judgment call for after-the-fact review instead of asking. Accepts a single issue, a batch of issue numbers/URLs, or an unfiled bug/request described in plain text. Use ONLY when the user has explicitly said they will be unreachable (away from the computer, asleep, offline) and wants the…
Its SKILL.md is about 7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with GitHub. The repository describes itself as: This is an Open Source Java EE based Hospital Information Management System. The licence is GPL-3.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d5d2020. 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.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
Dev Issue Unattended loads about 7k tokens when it runs. Until then it costs about 177 tokens; SKILL.md has 4,135 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 d5d2020, republished under its GPL-3.0 licence (© hmislk). 4,135 words, ~7,037 tokens.
.claude/skills/dev-issue-unattended/SKILL.md (or your agent's skills folder).This is dev-issue with every input-gate replaced by an autonomous,
evidence-documented decision. dev-issue itself is unchanged and remains
the default — use it whenever the user is actually present. Reach for this
skill only when the user has told you up front they won't be reachable.
Invoking this skill is explicit authorization for every commit/push/PR/issue step below, including filing the GitHub issue itself if none exists yet — do not re-ask before any of them.
Accept a comma/space/newline-separated list mixing bare issue numbers
(23100) and full GitHub issue URLs. Accept only bare numeric tokens or a
URL matching exactly ^https://github.com/hmislk/hmis/issues/(\d+)/?$ —
any other host or repo path (e.g. a URL pointing at a fork or a different
project) is an invalid token, not a source of an issue number for this
repo. Report invalid tokens rather than guessing at what they meant.
gh issue view <n> --repo hmislk/hmis --json title.
Only drop-and-continue when GitHub itself confirms the issue doesn't
exist (a clean "not found" from gh) or the token was invalid per the
URL rule above — note "could not resolve issue #N" (or the raw invalid
token) for the final summary (step 15) and move on. Any other failure
from this command — auth, permission, rate-limit, network/transport
errors — is not evidence the issue doesn't exist; it's the "true
whole-batch abort" case from the Hard limits section below (gh itself
is unreachable/broken), since it will affect every remaining issue the
same way. Stop and report it rather than silently dropping issues one by
one.start-issue), its own commits, its own PR, and
its own review loop, exactly as if dev-issue-unattended had been run
solo on just that issue.These are not judgment calls. If one of these is required to proceed, STOP,
post the blocker as a comment on the issue (creating one first if needed),
and end the run — do not guess. "End the run," here and everywhere else
in this skill, is always scoped to the current issue: in batch mode
(step 0), it means stop work on this issue, record its outcome, and
continue the batch with the next one — never abort the whole batch.
Reserve a true whole-batch abort for a failure that isn't scoped to one
issue at all (e.g. gh itself is unreachable) — that's outside anything
documented here, and warrants stopping and asking rather than guessing.
development, master, or
any production branch — everything goes through a PR.../hmis.wiki sibling,
needed for step 10's documentation publishing), the local Payara/MySQL dev
environment, and the GitHub API for this repo — no remote/production hosts.generate-ddl itself goes:
generating the tmp/createDDL.jdbc artifact for a column that's a direct,
evidence-backed part of the approved fix. Applying that DDL to any
database — even local — stays a human's call via the admin UI's "Add
Missing..." page, same as it always is; this skill never runs it.persistence.xml plus a localhost host with no active
tunnel on the DB port. If a datasource points anywhere else, treat it as
remote and stop. Create, mutate, and abandon local test data as needed —
do not revert it afterwards or treat local rows as precious.
Preferring to generate data through the app still applies as guidance
(playwright-e2e
§15),
because a fixture that bypasses the app's own validation can pass a test
while proving nothing — but locally that is a judgement call, not a hard
limit, and direct SQL is fine when it is simply the faster route. See
step 4.Two flavors of stop below get a different resolution than the rest of this section — this one and "Cannot reproduce with adequate information" further down. This one: when a stop at step 2, 2a, or 3 traces back to the issue's own description being inadequate — not a code-architecture question, not a schema/security limit — hand it back to whoever filed it instead of posting a bare blocker comment.
This is a judgment call at runtime, same as any other step-3 decision: document the reasoning. When genuinely unclear whether a stop is a description problem or an architecture problem, default to the plain hard limit above (post a blocker comment and stop) — don't reassign work to a reporter who can't actually resolve a code-level question.
When it does fire:
Look up the issue's creator first, before composing anything:
gh issue view <n> --repo hmislk/hmis --json author --jq '.author.login'.
If this fails or returns an empty login, stop here — do not post the
comment, edit the assignee, or touch the project board with a broken or
missing @mention. Record this issue's outcome as "stopped — could not
resolve issue creator" for the batch summary (step 15) and continue to
the next issue.
Post a comment on the issue that opens with @<creator-login> and asks
only for what actually stalled this run — drawn from, not a fixed
template dumped every time:
Menu > Submenu > Page)Ground the ask in what was actually tried, e.g. "Searched for a page matching this description under Inward and Reports; couldn't identify which screen this refers to. Could you share the URL or navigation path?" — not a bare template.
gh issue edit <n> --repo hmislk/hmis --add-assignee <creator-login> —
added alongside buddhika75, never replacing them.
Set the project-board (#11) Status field back to Backlog (same
GraphQL mutation pattern start-issue step 5 uses to set it forward to
"In Progress" — same field, different target option).
Check each of steps 2–4 actually succeeded (non-error gh/API output)
before calling this "needs info" — if one failed partway (e.g. the
comment posted but the assignee edit errored), don't silently record it
as fully done; note exactly which parts succeeded in the batch summary
(step 15) so it's clear what still needs finishing by hand.
Record this issue's outcome as "needs info" for the batch summary (step 15), then continue to the next issue in the batch (step 0).
The second special-cased flavor: step 2a's bug genuinely does not reproduce under a reasonable, documented attempt, and the issue already gave enough to work with — this is distinct from the missing-specifics case above, which stays on the "ask for more info, keep open" path. Here, more async back-and-forth isn't likely to help; close the issue instead of leaving it open indefinitely with just a blocker comment, and let the reporter bring it back with a live discussion if it's still happening.
@<creator-login>: what was tried, what
didn't reproduce, and an explicit invite to discuss rather than reopen
async — e.g. "Attempted to reproduce via <what was tried>; did not
observe the described behavior. Closing for now — if this is still
occurring, let's discuss and file a fresh issue with updated repro
details."gh issue close <n> --repo hmislk/hmis --reason "not planned".If given an issue number: run the start-issue skill for it, as
dev-issue step 1 does.
If given only a problem description (no issue number): do step 2's
investigation first, using gh issue list --search to check for an existing
duplicate. If none exists, file the issue yourself with gh issue create —
structure it like a normal bug/feature issue (Problem / Root cause found /
Proposed fix / Acceptance criteria), then run start-issue on the number you
just created. Filing the issue is not optional busywork — it's what makes the
rest of this run auditable later. Redact before filing — the supplied
problem description may itself contain an institution/patient name; strip it
per the hard limit below before it becomes the public issue body.
Same as dev-issue step 2: read the issue, explore the code (Explore agent
for anything spanning more than a few files), identify the entities/pages
involved and the existing patterns to follow. For bug issues, try to pin down
root cause by reading code — git archaeology (git log -p -S<term>,
git blame, related closed issues/PRs) is often decisive here and costs
nothing to try before falling back to live reproduction.
If this investigation — including the git archaeology above — cannot identify which entities/services/pages are even involved, that's the Insufficient issue description case from the Hard limits section, not a reason to guess. Route there instead of continuing to step 2a/3.
Skip for feature/enhancement issues and for bugs where step 2 already found a confirmed root cause from code + history alone.
GETs)
against existing data.Where dev-issue enters Plan Mode and waits for approval, instead:
Where dev-issue step 4 asks for department/records/environment, instead
query the local DB yourself for something real and relevant:
-- e.g. find an existing record this feature already touches
SELECT ... FROM <entity-table> WHERE <feature-relevant condition>
ORDER BY <recency> LIMIT 5;playwright-e2e
§15:
create a purchase before a return, a shift-start before a shift-end, etc.)
instead of asking which record to use. Going through the app is preferred
because it exercises the same validation and business logic the fix has to
survive.INSERT/UPDATE is fine on a
local DB. Say so in the PR, and be aware of what a hand-built fixture
skips: if it bypasses the very validation the fix depends on, the test
proves less, so prefer the app route when the difference matters.Same as dev-issue step 5 — delegate by file type (java-backend-developer,
jsf-frontend-dev), review each agent's actual diff before moving on.
Same as dev-issue step 5a — but see the hard limit above: this covers
generating DDL for a column that's a direct, already-decided part of the
fix, not designing new schema unsupervised and not applying/executing the
generated script against any database.
Same as dev-issue step 6 (adapt the exact commands to whichever machine
this session is running on — see the playwright-e2e skill and this
project's local-environment memory for the current host's paths/ports).
Check the server log for deploy errors before moving on.
Same as dev-issue step 7: exercise the feature with the department/records
from step 4, screenshot each meaningful stage into tmp/, verify in the DB.
Reach every page through the menus, never by URL — a URL-loaded page renders
against uninitialised session state and produces false findings
(playwright-e2e §2). Record the menu path in the PR. With no user to correct
you, an unreachable-by-menu page is itself the finding — do not work around it
with a URL.
If step 4 generated new records through the app, this is also where you
confirm the fix's actual effect on them (e.g. confirm a bypassed guard left
a pending record untouched rather than silently resolving it).
Same as dev-issue step 8 — fix, rebuild, retest until it passes end-to-end.
If 3+ fix attempts don't converge, that's the systematic-debugging
architecture-question trigger, not a reason to keep guessing: stop, post
findings, end the run.
The only review this skill otherwise gets is step 14's CodeRabbit/Codex loop — and both bots can be unavailable at once (rate-limited, usage-exhausted) with no fallback, leaving a PR that ships with zero substantive review. This step adds an earlier, Claude-driven pass so a caught bug becomes part of the initial push instead of a second commit reacting to a bot (or a human) after the fact. It runs once step 8's Iterate loop passes end-to-end, before step 9/11.
medium. Bump to high if the diff
touches billing, pharmacy, API (ws/), or security/privilege code — the
same shared/core risk areas merge-gate already flags ("touches
shared/core code (API, billing, pharmacy) where a regression could
silently break unrelated functions"), extended here to security/privilege
code given this skill's existing hard limit against writing such changes
at all./code-review at that effort level against the working diff —
the uncommitted changes on the branch, before the first commit/push, not
against an already-open PR.Step 14's CodeRabbit/Codex loop is unchanged by this step — this is an earlier, additional layer, not a replacement.
Same as dev-issue step 9.
Same as dev-issue step 10 — including its required wiki-page update
(find the page, embed the screenshots, replace outdated images, correct any
text the change makes wrong, or create/skip the page with the reason stated),
and linking the updated page(s) in the issue comment. Publishing an image
without wiring it into a page leaves it orphaned; that is not a completed
step 10.
Two additions for unattended runs:
Extra weight on redaction, since no human reviews the screenshots before they're published: when in doubt about a screenshot, crop tighter or drop it rather than publish it uncertain. This applies to the wiki page too — a page edit is as public as an issue comment.
Wiki prose: only publish what you can verify. A wrong page edit is public the moment it's pushed, and noting it in the PR afterwards doesn't unpublish it. So the test is not "am I confident?" but "can I point at the code, or at evidence from this run, that shows the current text is wrong?"
roomDischargeDateTime; hasActiveRoom() deliberately stopped using
that field in #21935").Record every prose change either way in the "Decisions made without approval" section of the PR (step 13).
Same as dev-issue step 11 — restore persistence.xml placeholders before
staging.
Same as dev-issue step 12 (commit format per
Commit Conventions,
restore local JNDI unstaged after push) — and fold step 3's documented
reasoning into the commit body so it's not only in the PR description. A
commit body is published the moment it's pushed: redact it per the hard
limit above before writing it, same as an issue or PR body.
Same as dev-issue step 13 — including its required Documentation
section linking the wiki page(s) updated in step 10 (or stating that none was
needed, and why) — plus a "Decisions made without approval" section up
front listing every step-3 judgment call in one place, so the user can scan
exactly what to double-check first. Any wiki prose you rewrote belongs in
that list. Redact this body per the hard limit above too — same as every
other publication point.
Repeat, up to 3 cycles:
Monitor (poll gh pr checks <PR#> --json name,bucket, emit each
newly-resolved check) to wait for CI instead of a synchronous watch. Use
ScheduleWakeup as a fallback heartbeat (~20 min) in case the monitor is
missed, per this project's autonomous-session pattern.review-pr skill. Auto-apply fixes matching its
documented false-positive/valid-fix patterns.gh pr view <PR#> --json mergeable,mergeStateStatus,isDraft,reviewDecision
— done only once mergeable: MERGEABLE, mergeStateStatus: CLEAN,
isDraft: false, and reviewDecision isn't blocking (e.g. not
CHANGES_REQUESTED). A required-approval reviewDecision with no
reviewer assigned isn't something this skill can resolve — that's normal
(a human still has to approve/merge, see step 15), not a stop condition.3 cycles without convergence → stop, summarize the sticking point, end the
run (same as dev-issue).
The run is not finished while a defect you noticed but did not fix lives only in chat or tmp/. From step 2 onward, keep a Found along the way list (in the batch's tmp/ master plan, or tmp/<issue>/found.md). Anything outside the issue's scope goes on that list, not into the PR.
Before Notify:
gh issue list --state all --search "<keywords>". If an open issue matches, comment on it. If a closed one fixed the same bug on another page, cite it in the new issue.file:line, steps, expected, fix direction, and honest impact (say so if it is unreachable or low).Produce one skimmable summary covering every issue in the batch (a single issue is just a batch of one), one line each:
#N — shipped as PR #M (link to the PR)#N — needs info from reporter (link to the comment posted in the
Insufficient issue description flow)#N — closed, could not reproduce (link to the closing comment)#N — stopped: <short reason> (link to the blocker comment)#N — could not resolve issue number/URLFound along the way → #K (one line per issue filed in step 14a)For issues that shipped, include what was found, every decision made and why (from step 3/13), what was verified and how, and links to the issue/PR/wiki — same depth as a solo run. For issues that didn't ship, the link to the comment is enough; don't re-summarize what's already written there. Never merge.
© 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
Just SKILL.md in .claude/skills/dev-issue-unattended of hmislk/hmis.
Open the folder on GitHubat commit d5d2020
Dev Issue Unattended 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 |
|---|---|---|---|---|---|---|
| Dev Issue Unattended this skillhmislk/hmis | 236 | — | ~7k | Automated safety check: Pass | GPL-3.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Superpowers Sessionsobra/superpowers | 296k | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 83k | 5 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Greplooponyx-dot-app/onyx | 32k | 4 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | Automated safety check: Pass | Apache-2.0 |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
mvanhorn/last30days-skill
Research what people actually say about any topic in the last 30 days.
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.
Works with
Run one or more GitHub issues through their full lifecycle end-to-end with NO pauses for user input — investigate, decide the approach, gather test context, and run the CI/review loop entirely…. Dev Issue Unattended is an agent skill from hmislk/hmis. Run one or more GitHub issues through their full lifecycle end-to-end with NO pauses for user input — investigate, decide the approach, gather test context, and run the CI/review loop entirely autonomously, documenting every judgment call for after-the-fact review instead of asking.
Dev Issue Unattended fits situations like: has explicitly said they will be unreachable (away from the computer; offline) and wants the issue(s) shipped as mergeable PR(s) without them.
Run `npx skills add hmislk/hmis --skill dev-issue-unattended -a claude-code`. Or copy the skill folder (.claude/skills/dev-issue-unattended in hmislk/hmis) into .claude/skills/dev-issue-unattended in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hmislk/hmis --skill dev-issue-unattended -a codex`. Or copy the skill folder (.claude/skills/dev-issue-unattended in hmislk/hmis) into .agents/skills/dev-issue-unattended 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 dev-issue-unattended -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dev-issue-unattended, .gemini/skills/dev-issue-unattended, .github/skills/dev-issue-unattended and .opencode/skills/dev-issue-unattended in your project.
Going by SKILL.md and its folder, Dev Issue Unattended needs the command-line tools its instructions call (gh and git).
SKILL.md contains no URLs. Its commands use gh and git, 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.
Dev Issue Unattended 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 7k tokens (SKILL.md is roughly 28k 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 Dev Issue Unattended: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Diagnosing Superpowers Sessions (obra/superpowers, 296k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars) and Greploop (onyx-dot-app/onyx, 32k 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 8, 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.