NotebookLM Research Assistant
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
[omh] Ambitious project goal needing many build cycles: agentic interviewer - planner - researcher - builder - reviewer cycles until a real gate.
$ npx skills add rlaope/oh-my-hermes --skill ulw-loop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rlaope/oh-my-hermes ulw-loop --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/rlaope/oh-my-hermes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ulw-loop .claude/skills/ulw-loop && 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 "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .claude/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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/rlaope/oh-my-hermes/tree/main/skills/ulw-loopType 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 rlaope/oh-my-hermes --skill ulw-loop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rlaope/oh-my-hermes ulw-loop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rlaope/oh-my-hermes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ulw-loop .agents/skills/ulw-loop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .agents/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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 rlaope/oh-my-hermes --skill ulw-loop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rlaope/oh-my-hermes ulw-loop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rlaope/oh-my-hermes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ulw-loop .cursor/skills/ulw-loop && 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 "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .cursor/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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/rlaope/oh-my-hermes.git --path skills/ulw-loop--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 rlaope/oh-my-hermes --skill ulw-loop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rlaope/oh-my-hermes ulw-loop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rlaope/oh-my-hermes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ulw-loop .gemini/skills/ulw-loop && 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 "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .gemini/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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 rlaope/oh-my-hermes ulw-loopInstalls 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 rlaope/oh-my-hermes --skill ulw-loop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rlaope/oh-my-hermes.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ulw-loop .github/skills/ulw-loop && 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 "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .github/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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 rlaope/oh-my-hermes --skill ulw-loop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rlaope/oh-my-hermes ulw-loop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rlaope/oh-my-hermes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ulw-loop .opencode/skills/ulw-loop && 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 "ulw-loop" agent skill from https://github.com/rlaope/oh-my-hermes/tree/main/skills/ulw-loop into .opencode/skills/ulw-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ulw-loop", 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.
ulw-loop[omh] Ambitious project goal needing many build cycles: agentic interviewer - planner - researcher - builder - reviewer cycles until a real gate.
Ulw Loop is an agent skill from rlaope/oh-my-hermes. [omh] Ambitious project goal needing many build cycles: agentic interviewer - planner - researcher - builder - reviewer cycles until a real gate. Use when the user says: loop, goal loop, long horizon goal, never stop, research plan goal feedback, token exhaustion resume, permission profile, star 10k.
Its SKILL.md is about 5.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/board-iteration.md`, `references/goal-constraint-discipline.md` and `references/measured-loop-discipline.md`).
The repository describes itself as: All in one plugin for Hermes Agent ⚚ the coding intelligence, a long-term memory system and model optimized workflow packages. The licence is MIT.
Read from SKILL.md and the folder at commit 74abedb. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Ulw Loop loads about 5.2k tokens when it runs, and up to ~9.5k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 2,725 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 rlaope/oh-my-hermes at commit 74abedb, republished under its MIT licence (© rlaope). 2,725 words, ~5,166 tokens.
.claude/skills/ulw-loop/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This is a Hermes-native loop workflow skill.
loop exists for goals whose correct implementation cannot be known upfront but can be discovered through bounded cycles of definition, action, verification, and revision without confusing planned cycles with observed progress.
ultrawork's delivery-boundary capability instead.ultrawork's durable-checkpoint capability.Good example:
Bad example:
/goal activation and continuation are backed by loop_goal_driver_observation/v1, and each observed role advance is backed by loop_phase_transition/v1.omh_loop tool when the plugin is loaded: assess, start, status, feedback, permit, run_once, goal_driver_observe, and queue_observe reach the same loop_cycle/v2 state, and a mutation submits the record_revision that status reported. Where it is absent, the same lifecycle is omh loop assess|start|status|feedback|permit|run-once|goal-driver-observe|queue observe, and every other Loop surface stays on that CLI.oh-my-hermes, meta-router, deep-interview, context, plan, ralplan, adversarial-consensus, codebase-onboarding, +8 more) - clarify, plan, ship, or loop goals.oh-my-hermes or name the adjacent workflow.omh-routing/references/skill-common-rail.md.Use when the user starts a high-level goal or invokes loop. Direct loop invocation means start/continue through interviewer, planner, researcher, builder, reviewer, and loop-controller lanes until a real gate stops it.
Strong routing signals: `loop`, `./loop`, `$loop`, `goal loop`, `long horizon goal`, `never stop`, `research plan goal feedback`, `token exhaustion resume`, `permission profile`, `star 10k`, `10k star`, `loop engineering`, `keep running until done`, `루프`, `목표 루프`, `장기 목표`, `끝까지`, `토큰 고갈`, `피드백 루프`, `끝날 때까지 계속`, `계속 돌려줘`Category: goal-loop
Phase: continuous-goal-loop
Hermes role: planner
Quality tier: loop-gated
Reasoning demand: heavy
Quality bar:
loop, ./loop, $loop, and OMH loop invocations as a start/continue signal rather than a picker or passive clarification path./goal and /goal gate add. Never prepare two controllers.omh loop goal-driver-observe. External state guides recovery, not checkpoint decisions; native turns still require activation and contiguous same-session evidence.done verdict, a turn-ceiling pause, or a gate-retry pause as narration; completion still requires the linked goal ledger completion gate and observed evidence.loop_constraint_assessment/v1 block before choosing the next action; if none is binding, say so from the recorded reason rather than assuming.references/board-iteration.md: builder and verifier rows chained by parents, a needs_input block when the loop must stop for the user, and resume from board readback rather than memory.Handoff policy:
Keep loop orchestration, role sequencing, verification-tier selection, deterministic runtime ticks, loop_engineering/v1 status, feedback evaluation, and permission narration in Hermes; prepare executor/runtime/worktree/connector/verifier handoffs only for concrete work and record completion only from linked evidence.
Required inputs:
Expected outputs:
Artifact expectations:
Safety rules:
Hermes narrates; the selected executor runs its goal; OMH verifies. Driver recovery never overrides checkpoint next_action.
Before choosing the next action, name the one element gating this loop's goal progress - the binding constraint - then work it in order:
wait_reason, blocked and prepared_not_observed queue counts, failure-mode warnings, and the linked goal completion gate.The loop_constraint_assessment/v1 block on the loop_status_card/v1 answers Identify deterministically from recorded state. The constraint assessment explains why the loop is gated; the card's own next_action stays the recorded directive. When the two differ, the binding constraint names what to fix and next_action names the recorded step.
Load references/goal-constraint-discipline.md for the full method: the translation table, the five focusing steps, and the anti-patterns.
The measured-loop rules in the quality bar above apply when a loop has a score.
A loop is measurable when one command produces one number and a direction. Fix that evaluation contract before the first attempt, declare it in the loop's own state, and let it decide what is kept - the loop never edits the scoring harness that judges it. A loop with no such command says it is unmeasured and keeps deciding on verification evidence instead of inventing a score.
The two disciplines compose and do not compete: the binding constraint chooses which attempt to make, and the metric chooses whether that attempt is kept.
The metric never decides completion. The loop still stops at its permission, evidence, verification, context, budget, and external-wait gates, and closing the goal still requires linked goal_ledger/v1 evidence.
Load references/measured-loop-discipline.md for the full method: the contract fields, the keep and discard rules, the ledger columns, the log rail, and the idea-exhaustion ladder.
Preferred harness for this skill: goal-loop.
omh runtime record --skill loop --harness goal-loop --status startedRecord observed delegation results; otherwise return not_available or not_observed.
Prepared OMH routing is not execution, review, CI, merge-readiness, or merge evidence.
memory_review_card/v1 or handoff_context_pack/v1, treat it as reviewed OMH-local or wrapper-supplied context only. Use conflict-free context summaries to shape plans and handoffs, but do not claim Hermes internal memory was read or changed.
Preserve workflow intent and stop conditions; verify before claiming completion.
Reply in the user's own words and the host's own voice: its SOUL.md persona owns reply language, tone, speech level, and sentence endings, progress updates included (where it sets no language, use the one the user wrote in), and OMH shapes structure and content only; OMH's record terms (surface, lane, wrapper, handoff, evidence boundary, not_observed) stay in records and tool calls, never in the sentence the user reads unless they ask about one; and when a stop condition or a decision the user owns ends the turn, offer the next action as a question rather than declaring what will not be done.Use Hermes-native subagent/delegation features when available: native subagents -> Hermes delegation when available, otherwise sequential lanes.
Shared product, compatibility, topology, memory, harness, and execution rules: omh-routing/references/skill-common-rail.md. Load it when applicable; otherwise name an unavailable capability.
© rlaope, MIT. 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 3 other files (references) in skills/ulw-loop of rlaope/oh-my-hermes.
Open the folder on GitHubat commit 74abedb
Ulw Loop 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 |
|---|---|---|---|---|---|---|
| Ulw Loop this skillrlaope/oh-my-hermes | 3.2k | — | ~5.2k | Automated safety check: Pass | MIT | |
| NotebookLM Research AssistantPleasePrompto/notebooklm-skill | 7.8k | 13 repos | ~2.4k | Automated safety check: Notes | MIT | |
| Hypothesis Generationspacering-net/codeg | 3.8k | 15 repos | ~3.6k | Automated safety check: Notes | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 83k | 5 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Tavily Web Searchallenpeng0705/EnvoyMesh | 3.1k | 4 repos | ~2.5k | Automated safety check: Notes | None | |
| Nature Paper CardYuan1z0825/nature-skills | 46k | 2 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 |
PleasePrompto/notebooklm-skill
Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.
spacering-net/codeg
Structured hypothesis formulation from observations. An agent skill from spacering-net/codeg.
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.
allenpeng0705/EnvoyMesh
Searches the web through the Tavily API with LLM-friendly output: clean structured results, optional AI-written answers, domain filters, news mode, images and raw content.
Yuan1z0825/nature-skills
Builds a structured deep-reading card for one scientific paper, covering methods, how experiments support claims, limitations and research ideas, with a script to prepare the source.
Panniantong/Agent-Reach
Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.
rlaope/oh-my-hermes
[omh] Screen-reader or keyboard accessibility gaps: prepare WCAG, keyboard, focus, screen-reader, target-size, and reflow evidence gates for UI surfaces.
rlaope/oh-my-hermes
[omh] Choosing between coding agents on evidence: compare executor or agent choices on reproducible tasks using quality, cost, time, tool, and evidence metrics.
rlaope/oh-my-hermes
[omh] Agent instruction file for a repo -- AGENTS.md, CLAUDE.md, a Cursor rule: write or update what an agent cannot derive from the code, inside a marked region, with every command verified or…
rlaope/oh-my-hermes
[omh] AI agent progress for managers: help managers inspect AI-agent progress, blockers, quality gates, and throughput levers.
rlaope/oh-my-hermes
[omh] Messy or AI-generated code to clean up: delete AI-generated slop, dead code, and duplication while observable behavior stays identical.
rlaope/oh-my-hermes
[omh] Application code misbehaves -- a wrong value, a flaky test, a lost update: reproduce it first, form competing hypotheses, discriminate them with the cheapest observation, and only then fix the…
[omh] Ambitious project goal needing many build cycles: agentic interviewer - planner - researcher - builder - reviewer cycles until a real gate. Ulw Loop is an agent skill from rlaope/oh-my-hermes. [omh] Ambitious project goal needing many build cycles: agentic interviewer - planner - researcher - builder - reviewer cycles until a real gate.
Ulw Loop fits situations like: the user says: loop; long horizon goal; research plan goal feedback; token exhaustion resume.
Run `npx skills add rlaope/oh-my-hermes --skill ulw-loop -a claude-code`. Or copy the skill folder (skills/ulw-loop in rlaope/oh-my-hermes) into .claude/skills/ulw-loop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rlaope/oh-my-hermes --skill ulw-loop -a codex`. Or copy the skill folder (skills/ulw-loop in rlaope/oh-my-hermes) into .agents/skills/ulw-loop 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 rlaope/oh-my-hermes --skill ulw-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ulw-loop, .gemini/skills/ulw-loop, .github/skills/ulw-loop and .opencode/skills/ulw-loop in your project.
SKILL.md names no scripts, command-line tools or credentials: Ulw Loop is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Ulw Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k 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 4.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ulw Loop: NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars), Hypothesis Generation (spacering-net/codeg, 3.8k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars) and Tavily Web Search (allenpeng0705/EnvoyMesh, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
rlaope (a GitHub user) maintains it in rlaope/oh-my-hermes, which has 3,201 GitHub stars. The repository holds 143 skills in this directory. The repository was last updated on October 7, 2026.
Source: rlaope/oh-my-hermes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.