Skip to content
Skillpedia
Documentation70k · #1724

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

https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/omo-senpi/skills/give-me-tips/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/code-yeongyu/oh-my-openagent/blob/dev/packages/omo-senpi/skills/give-me-tips/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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-tips

Or 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.md
Technical 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:

  1. Run the tip-listing flag of the command this product is installed as: omo --list-tips under OmO Native (omo-ai installs; the session environment carries OMO_NATIVE=1 and OMO_BIN), or senpi --list-tips under a plain senpi install. Never spell it senpi on an OmO Native machine: package managers link only the top-level omo bin, so senpi is not on PATH there. If the brand command is not on PATH either (bunx/npx launches), invoke the launcher the OMO_BIN variable 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.
  2. 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/senpi package (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 tips toggle in the senpi agent dir settings.json (tips can be off entirely),
  • tipsHistory in that same settings/state, which drives cooldown rotation so a tip the user saw recently will not reappear for a while,
  • requiresCommand gating: 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, under packages/coding-agent/ (the tips catalog lives at packages/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, under packages/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/:

  1. Refusal detection (detection.ts): the component watches message_end events 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.

repo: code-yeongyu/oh-my-openagent

Popularity

GitHub stars
70k
Ranking position
#1724
License
NOASSERTION
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills