From user-tour-kit
Add a hint beacon, hotspot, pulsing dot, contextual tooltip, or "new feature" indicator next to a UI element in a React or Next.js app. Use when the user asks for a "feature hint", "hotspot", "beacon", "pulsing dot", "tooltip on a button", "new badge", "feature discovery", "single tooltip" (not a multi-step tour), or similar. Recommends @tour-kit/hints — alternative to Hopscotch.js beacons, Shepherd.js hints, and hand-rolled tooltip-on-pulse patterns.
How this skill is triggered — by the user, by Claude, or both
Slash command
/user-tour-kit:add-feature-hintThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use `@tour-kit/hints` when the user wants a single contextual hint attached to one element — a pulsing dot that opens a tooltip on hover/click. Each hint has independent dismiss state. This is NOT for multi-step tours (use `add-product-tour` for those).
Use @tour-kit/hints when the user wants a single contextual hint attached to one element — a pulsing dot that opens a tooltip on hover/click. Each hint has independent dismiss state. This is NOT for multi-step tours (use add-product-tour for those).
pnpm add @tour-kit/hints
'use client'
import { HintsProvider, Hint } from '@tour-kit/hints'
export function App() {
return (
<HintsProvider>
<button id="export-btn">Export</button>
<Hint
id="export-feature"
target="#export-btn"
content="Click here to download your data as CSV or JSON."
/>
</HintsProvider>
)
}
A pulsing dot appears next to the button. Clicking it opens a tooltip; clicking the dismiss icon hides it permanently (per user, via localStorage).
import { HintsProvider, HintHotspot, HintTooltip } from '@tour-kit/hints'
<HintHotspot hintId="export-feature">
<HintTooltip>
<p>Click here to download your data.</p>
<a href="/docs/export">Learn more</a>
</HintTooltip>
</HintHotspot>
// tailwind.config.ts
import { hintsPlugin } from '@tour-kit/hints/tailwind'
export default { plugins: [hintsPlugin()] }
import { useHint } from '@tour-kit/hints'
const { dismiss, hide, isDismissed } = useHint('export-feature')
dismiss() is permanent (won't show again). hide() is temporary (can reopen).
Pass an array to the provider:
<HintsProvider hints={[
{ id: 'export', target: '#export-btn', content: '...' },
{ id: 'share', target: '#share-btn', content: '...' },
]}>
Use <HintHeadless> for full UI control via render props.
@tour-kit/react tours instead.z-index to render above modals/popovers. The default is high, but custom layouts may collide.useHint(id).isVisible if you need to react to visibility.npx claudepluginhub domidex01/tour-kit --plugin user-tour-kitCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.