give-me-tips
Explains system tips and features in detail. It's useful when you have questions about a tip or want to better understand available features.
What it does
This tool explains in detail the tips Senpi shows you, like startup tips or specific messages that appear during use. It details what the tip means and how the functionality behind it works.
When to use it
- ✓When you see a tip and want to know what it means.
- ✓When a 'Tip:' message appears and you don't understand it.
- ✓When you want to understand how a specific feature works.
Example of what to ask your AI
“What does the tip 'Try breaking your problem into smaller parts' mean?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool first checks which tips are currently active for you. Then, it investigates the actual code behind the tip to explain exactly how it functions, citing the files and processes involved.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add code-yeongyu/oh-my-openagent --skill give-me-tipsOr download just the file:
curl -L https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/packages/omo-senpi/skills/give-me-tips/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
give-me-tips - explain any senpi tip, in depth
Purpose
Senpi shows the user tips: startup tips, working tips, and Tip: lines injected by omo
components. When the user asks about any of them - "what was that Tip: line", "what does this tip
mean", "how does that feature work" - this skill produces a DEEP explanation of that exact tip, in
the USER'S language (match the language they asked in, always).
Specific over generic, every time. "It retries on failure" is a failure of this skill. "It detects the refusal from the stopDetails on the assistant message_end event, gates on the architect category in your .omo/omo.json, and only then injects the directive" is the bar. The user asked because the tip made them curious; reward that curiosity with the real mechanism, not a summary of the tip text they already read.
Query the live tip list FIRST
Never explain from memory. Get the ground truth of what tips exist:
- Run the tip-listing flag of the command this product is installed as:
omo --list-tipsunder OmO Native (omo-ai installs; the session environment carriesOMO_NATIVE=1andOMO_BIN), orsenpi --list-tipsunder a plain senpi install. Never spell itsenpion an OmO Native machine: package managers link only the top-levelomobin, sosenpiis not on PATH there. If the brand command is not on PATH either (bunx/npx launches), invoke the launcher theOMO_BINvariable points at:"$OMO_BIN" --list-tips. The command prints JSON:[{id, text, requiresCommand?}]. Match the user's tip against this list by id or by text fragment. - If the flag is unavailable on this senpi version, fall back to reading the catalog sources
directly at
packages/coding-agent/src/modes/interactive/tips/catalog/inside the installed@code-yeongyu/senpipackage (find it via the senpi install path or node_modules) or in a local clone of code-yeongyu/senpi.
Then - and this is the part most explanations get wrong - available tips DIFFER per user. The catalog is the superset; what THIS user can actually see is gated by:
- the
tipstoggle in the senpi agent dirsettings.json(tips can be off entirely), tipsHistoryin that same settings/state, which drives cooldown rotation so a tip the user saw recently will not reappear for a while,requiresCommandgating: a tip tied to a command only shows when that command is available,- keybinding availability: some tips reference bindings the user's setup may not have.
Read the senpi agent dir settings.json (and its tips history state) BEFORE explaining, and tell
the user which tips they personally can encounter and why - not the full catalog as if everyone
sees everything.
Verify before explaining
Never invent behavior. A tip is a one-line promise; the truth lives in code. Before writing the explanation, read the actual feature implementation:
- senpi itself:
code-yeongyu/senpi, underpackages/coding-agent/(the tips catalog lives atpackages/coding-agent/src/modes/interactive/tips/catalog/; the features the tips point at live in the surrounding packages), - omo components:
code-yeongyu/oh-my-openagent, underpackages/omo-senpi/.
Cite the concrete file paths you read in your explanation. If the code and the tip text disagree, the code wins - say so and show what it actually does.
Tone: BRAG
These tips exist because someone engineered something genuinely impressive, and a flat doc summary betrays that. Lead with the most impressive engineering behind the tip - the clever detection, the race that had to be closed, the state machine hiding under one sentence - and showcase it. The user should finish the explanation feeling like they got a tour of the engine room, not a sticker reading. Concrete mechanics over adjectives: name the events, the gates, the file paths, the exact order of operations.
The Fable-5-refusal tip specifically
When the user asks about the tip that appears after a Fable 5 refusal ("Fable 5 refused, but its
refusals should not wear you down..."), explain the full fallback-architect pipeline, citing
packages/omo-senpi/src/components/fallback-architect/:
- Refusal detection (
detection.ts): the component watchesmessage_endevents and applies the same refusal semantics senpi's own retry classifier uses - stopReason checked FIRST (so an abort or normal stop carrying stale stopDetails can never masquerade as a refusal), then
…
FAQ
Why is the explanation so detailed?
The goal is to showcase the impressive engineering behind the tip, like a tour of the engine room, rather than a simple summary.
Is the explanation the same for everyone?
No, the explanation is personalized. It considers which tips are active for you, if you've seen them recently, and if the necessary commands or shortcuts are available.
What if the code is different from what the tip says?
If there's a discrepancy, the tool explains what the code actually does, as the code is the source of truth.
Details
Original description by the author
Explains any senpi tip in depth, including Tip: lines in the TUI. Use when the user asks about a tip, what a tipped feature does, or which tips they can see.
Popularity
- GitHub stars
- 70k
- Ranking position
- #1724
- License
- NOASSERTION
- Updated
- 10/16/2026
Comments
- …
More skills from this repository
comment-checker
Helps your agent understand and respond to feedback from automatic comment checkers. It's useful when the agent needs to process information from tools that automatically review code or content.
code-yeongyu/oh-my-openagent
lcx-contribute-bug-fix
Helps your agent contribute bug fixes for LazyCodex-related projects. It creates issues or pull requests to ensure code quality.
code-yeongyu/oh-my-openagent
lcx-doctor
Lets your agent check the health of LazyCodex and Codex CLI installations. It's useful when the system behaves oddly after updates or changes.
code-yeongyu/oh-my-openagent
lcx-report-bug
Helps your agent report bugs in detail for LazyCodex projects. It creates issues with useful information for developers to fix the problem.
code-yeongyu/oh-my-openagent
Similar skills
architecture-decision-records
Has your agent record important project structure decisions. It helps to understand the reasoning behind choices and maintain a clear history of changes.
affaan-m/ECC
code-tour
Lets your agent create step-by-step code walkthroughs with exact file and line anchors. It's useful for project introductions, code explanations, or change reviews. Helps understand how a system works.
affaan-m/ECC
codebase-onboarding
Helps your agent analyze unfamiliar code and create an onboarding guide. It includes an architecture map, entry points, and conventions. Ideal for starting on a new project.
affaan-m/ECC