A skill your agent uses when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or…
Install Gnhf
$ npx skills add kunchenguid/gnhf --skill gnhf -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install kunchenguid/gnhf gnhf --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/kunchenguid/gnhf.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gnhf .claude/skills/gnhf && 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 "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .claude/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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/kunchenguid/gnhf/tree/main/skills/gnhfType 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 kunchenguid/gnhf --skill gnhf -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install kunchenguid/gnhf gnhf --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/gnhf.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gnhf .agents/skills/gnhf && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .agents/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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 kunchenguid/gnhf --skill gnhf -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install kunchenguid/gnhf gnhf --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/gnhf.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gnhf .cursor/skills/gnhf && 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 "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .cursor/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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/kunchenguid/gnhf.git --path skills/gnhf--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 kunchenguid/gnhf --skill gnhf -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install kunchenguid/gnhf gnhf --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/gnhf.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gnhf .gemini/skills/gnhf && 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 "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .gemini/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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 kunchenguid/gnhf gnhfInstalls 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 kunchenguid/gnhf --skill gnhf -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/kunchenguid/gnhf.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gnhf .github/skills/gnhf && 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 "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .github/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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 kunchenguid/gnhf --skill gnhf -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install kunchenguid/gnhf gnhf --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/kunchenguid/gnhf.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gnhf .opencode/skills/gnhf && 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 "gnhf" agent skill from https://github.com/kunchenguid/gnhf/tree/main/skills/gnhf into .opencode/skills/gnhf/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gnhf", 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.
Facts
- Skill name
gnhf- GitHub stars
- 4.2k
- Token cost
- ~2k tokens
- SKILL.md length
- 871 words
- Files
- 1
- Skills in repo
- 1
- Repo updated
- First seen
- Licence
- MIT
At a glance
A skill your agent uses when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or…
- Works in 5 steps: Inspect branch, status, commits, changed… → Read GNHF notes/logs as claims, not… → Run independent verification: tests,… → …
- The user asks to run GNHF
- SKILL.md covers Overview, Modes, Launch and Steer, plus 5 more sections
- Calls git, claude and codex
What it does
Gnhf is an agent skill from kunchenguid/gnhf. Use when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or gives feedback on GNHF results.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Before I go to bed, I tell my agents: good night, have fun. The licence is MIT.
When your agent uses it
- The user asks to run GNHF
- Says they are going to sleep
- Leaving and wants an agent-managed coding run
- Asks to supervise
Example prompts
- “/gnhf”
Workflow steps
5 steps, taken from the first numbered list in SKILL.md.
- Inspect branch, status, commits, changed files, and diff.
- Read GNHF notes/logs as claims, not evidence.
- Run independent verification: tests, lint, build, typecheck, manual QA, or domain-specific checks.
- Compare the result to the stop condition and the user's latest feedback.
- Decide: Mergeable, Needs follow-up GNHF run, or Do not merge.
What it can do on your machine
Read from SKILL.md and the folder at commit f2ad5ba. 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
Shell commands in SKILL.md call:
gitclaudecodexopencode
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Gnhf loads about 2k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 871 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.
Safety
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.
SKILL.md
The full file from kunchenguid/gnhf at commit f2ad5ba, republished under its MIT licence (© kunchenguid). 871 words, ~2,008 tokens.
.claude/skills/gnhf/SKILL.md (or your agent's skills folder).- name
- gnhf
- description
- Use when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or gives feedback on GNHF results.
GNHF
Overview
GNHF is an agent orchestrator: it repeatedly calls another coding agent until a natural-language stop condition is met. This skill teaches the host agent to prepare one durable run and, in Companion mode, steer or review it.
Core rule: the host agent orchestrates; GNHF executes. Do not manually implement inside the same scope while a GNHF worker is responsible for it unless the user explicitly changes the delegation.
In Companion mode, GNHF completion is not user acceptance. "Stop condition met" only means the worker stopped; the host still compares the result to the user's latest requirements and fresh verification.
Modes
Choose exactly one mode for the run.
Hands-Off
Use when the task is bounded, verification is clear, and the user wants one configured run to proceed without steering.
- Prepare a precise prompt with constraints, non-goals, verification, and stop condition.
- Launch GNHF and wait for completion.
- Intervene early only for hard failure, runaway scope, destructive behavior, or impossible prerequisites.
- Report the final GNHF status after exit.
Examples:
- English: "I'm going to bed. Use GNHF with Copilot to keep working on this branch and stop when the test suite passes."
- Chinese: "我要睡了。用 GNHF 接着跑这个分支,测试都过了就停。"
Companion
Use when the task is uncertain, exploratory, design-heavy, research-heavy, or likely to need course correction.
Default to Companion when the user asks to iterate until satisfied, requests multi-round work, provides review findings, asks for design/skill/documentation improvement, or asks for supervision.
- Keep a note of original intent, branch, session id, and last known result.
- Poll the active GNHF process until exit or until an intervention point appears.
- Intervene when the worker optimizes the wrong thing, repeats failed fixes, skips requested research, drifts scope, or claims success without evidence.
- Treat review findings as the next acceptance criteria.
- Prefer a new bounded GNHF prompt over manually taking over implementation.
Examples:
- English: "Run GNHF for a few rounds on this onboarding flow. Check the diff between rounds and tighten the next prompt if it starts polishing the wrong thing."
- Chinese: "用 GNHF 多跑几轮这个 onboarding 流程。每轮看一下 diff,如果它开始改偏了,就收窄下一轮 prompt。"
Launch
Check the installed CLI before relying on flags:
gnhf --helpKnown shape:
gnhf \
--agent <agent> \
--max-iterations <n> \
--stop-when "<observable completion condition>" \
--prevent-sleep on \
"<worker prompt>"Use --model <model> to select a model for a run. For config defaults and agent-specific restrictions, follow the README Configuration.
Before launch:
git status --short
git branch --show-current
git log --oneline --max-count=5Prompt skeleton:
Objective: <one concrete outcome>.
Use <agent/model requirement>. Work in this repo. Treat this as a long-running GNHF task.
Before coding, inspect the current repo, relevant docs, and recent commits. Preserve user changes. Do not make unrelated refactors.
After each meaningful slice, run relevant verification. If blocked, commit no fake success; leave notes with the blocker and evidence.
Stop only when: <observable completion condition>.Steer
In Companion mode, evaluate after each iteration or meaningful output chunk:
| Signal | Action |
|---|---|
| Worker found a real blocker | Stop or relaunch with blocker-specific instructions |
| Good partial slice | Let it continue or tighten the next stop condition |
| Skipped requested research | Relaunch with research as explicit first deliverable |
| Worker changes unrelated files | Stop and review before continuing |
| Worker claims success without verification | Review immediately; relaunch only with evidence-based stop condition |
| Reviewer finds a blocking issue or user says not satisfactory | Relaunch with that finding as the sole bounded correction |
Steering prompt:
Continue from the current repo state. The previous run partially succeeded: <evidence>.
Do not redo completed work. Focus only on <bounded correction>.
The issue to fix now is <specific observed issue>. Verify with <commands/checks>.
Stop only when <observable condition>.Companion Review
Use only in Companion mode, when the host is supervising quality or deciding whether to continue with another bounded run.
- Inspect branch, status, commits, changed files, and diff.
- Read GNHF notes/logs as claims, not evidence.
- Run independent verification: tests, lint, build, typecheck, manual QA, or domain-specific checks.
- Compare the result to the stop condition and the user's latest feedback.
- Decide: Mergeable, Needs follow-up GNHF run, or Do not merge.
If the result needs follow-up, continue in Companion mode instead of presenting the run as complete. Do not merge unless explicitly authorized.
Show full SKILL.md (310 more words)Show less
Findings
Use when the user provides findings such as "not preserved", "scope drift", "missing requirement", or "why did you stop".
- Treat the run as Companion mode.
- Convert each finding into an observable correction. Preserve severity, file/line scope, and the user's wording.
- Relaunch on the same candidate branch when salvageable.
- Prompt the worker to fix only the bounded finding, preserve completed valid work, verify, and stop only when the finding is no longer true.
- Review again after the follow-up.
- Repeat until no blocking findings remain, verification passes, or a real blocker is found.
Morning Review
Use when the user returns with "good morning", "how did last night's run go?", or similar after a GNHF run.
Do not ask what to review first. Reconstruct state:
git status --short
git branch --show-current
git log --oneline --decorate --max-count=20
pgrep -fl 'gnhf|claude|codex|copilot|cursor-agent|opencode|rovodev' || trueInspect likely GNHF branches, notes, logs, terminal sessions, and changed files. If a GNHF process is still running, report that first.
Report mode, agent, branch, status, changes, verification, stop-condition result, quality assessment, and recommended next action. Never summarize an overnight run from memory.
Agent
The supported --agent roster comes from gnhf --help; the Agents table in the GNHF README owns per-agent requirements. Do not hard-code the roster.
- Default to the agent the user explicitly requested, or the one already configured and authenticated locally.
codex: repo-aware code work or review-heavy tasks.claude: reasoning-heavy implementation or prose-heavy planning when configured.acp:<target>: when the user wants to drive a custom ACP-compatible agent through GNHF.
Safety
- Preserve user changes. Never run destructive git commands to clean up a GNHF branch.
- In Companion mode, do not trust a worker's success summary without fresh verification.
- Keep prompts outcome-based and evidence-based.
- Use concrete stop conditions. Bad: "looks good". Good: "the target workflow succeeds, relevant checks pass, and no unrelated files changed."
- If the user is away, produce branches and a status report, not irreversible changes, unless explicitly authorized.
© kunchenguid, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Files
Just SKILL.md in skills/gnhf of kunchenguid/gnhf.
Open the folder on GitHubat commit f2ad5ba
Questions about Gnhf
What does Gnhf do?
A skill your agent uses when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or…. Gnhf is an agent skill from kunchenguid/gnhf. Use when the user asks to run GNHF, says they are going to sleep or leaving and wants an agent-managed coding run, asks to supervise, steer, or review an active GNHF run, or gives feedback on GNHF results.
When should I use Gnhf?
Gnhf fits situations like: the user asks to run GNHF; says they are going to sleep; leaving and wants an agent-managed coding run; asks to supervise.
How do I install Gnhf in Claude Code?
Run `npx skills add kunchenguid/gnhf --skill gnhf -a claude-code`. Or copy the skill folder (skills/gnhf in kunchenguid/gnhf) into .claude/skills/gnhf in your project. Claude Code loads it when a task matches its description.
How do I install Gnhf in Codex?
Run `npx skills add kunchenguid/gnhf --skill gnhf -a codex`. Or copy the skill folder (skills/gnhf in kunchenguid/gnhf) into .agents/skills/gnhf in your project. Codex loads it when a task matches its description.
Can I use Gnhf 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 kunchenguid/gnhf --skill gnhf -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gnhf, .gemini/skills/gnhf, .github/skills/gnhf and .opencode/skills/gnhf in your project.
What does Gnhf need to run?
Going by SKILL.md and its folder, Gnhf needs the command-line tools its instructions call (git, claude, codex and opencode).
Does Gnhf access the network?
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Is Gnhf 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. Review the folder before installing.
What licence does Gnhf use?
Gnhf 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 Gnhf use?
About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Who maintains Gnhf?
kunchenguid (a GitHub user) maintains it in kunchenguid/gnhf, which has 4,178 GitHub stars. The repository was last updated on October 3, 2026.
Source: kunchenguid/gnhf on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.
