Survival LLM
A free AI assistant and survival library (1.5 million offline articles) that runs on your own computer, with no internet. Shows the source of every answer. Mac and Windows.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Design-engineering craft as an Agent Skill: motion, micro-interactions, and polish for AI coding assistants. npx skills add arjunlohan/finesse
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Design-engineering craft for interfaces that feel polished, fast, and physical: packaged as an Agent Skill for Claude Code, Cursor, Codex, Gemini CLI, and other skill-aware coding assistants.
Great interfaces are rarely one big thing. They're an accumulation of small, individually invisible details that compound: felt, not seen. finesse teaches your AI coding assistant those details as concrete, committed defaults: a motion-token system, interaction states, surfaces & depth, typography, layout & color, performance, and accessibility.
Live showcase: 15 UI components, each built twice by Opus 4.8 from the same prompt. The only variable was whether the agent read finesse first.
npx skills add arjunlohan/finesse # project-scoped
npx skills add arjunlohan/finesse -g # global: available in every project
Once installed it auto-triggers on UI / animation / "make it feel better" work, or you can invoke it manually with /finesse. Without installing, you can also just point any assistant at skills/finesse/SKILL.md.
Same prompt ("add a hover state to this card"), same assistant, with and without the skill loaded.
Before
.card { transition: all 0.3s ease; }
.card:hover { transform: scale(1.05); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); }
After
:root {
--duration-fast: 150ms; /* micro: hover, press, color */
--ease-standard: cubic-bezier(0.2, 0, 0, 1); /* small in-place state changes */
}
.card {
transition:
transform var(--duration-fast) var(--ease-standard),
box-shadow var(--duration-fast) var(--ease-standard);
}
.card:hover {
transform: translateY(-2px);
box-shadow: 0 1px 2px rgb(0 0 0 / 0.06), 0 8px 24px rgb(0 0 0 / 0.10);
}
@media (prefers-reduced-motion: reduce) {
.card { transition-duration: 1ms; }
.card:hover { transform: none; }
}
Four things changed and none of them were a judgement call: named tokens instead of hand-picked numbers, compositor-only properties instead of all, easing chosen by the direction of travel, and a reduced-motion path that substitutes rather than deletes.
| File | Covers |
|---|---|
SKILL.md | The spine: the motion-token system, core principles, common mistakes, a review/output contract + checklist |
motion.md | Duration/easing/spring tokens, enter/exit, interruptibility, origin, stagger, when-not-to-animate, modern primitives (View Transitions, @starting-style, scroll-driven) |
interaction-states.md | Hover/active/focus-visible/disabled, loading & skeletons, empty/error states, optimistic UI, menus |
surfaces.md | Concentric radius, shadows vs borders & elevation, image outlines, optical alignment, hit areas |
typography.md | Wrapping, smoothing, tabular numbers, hierarchy, measure, line-height, fluid sizing |
layout-and-color.md | Spacing & grouping, alignment, near-black/white, functional color scales, depth |
performance.md | Compositor-only animation, will-change, FLIP, the tool ladder, 60fps/RAIL, perceived speed |
accessibility.md | prefers-reduced-motion policy, forced-colors, contrast, focus, semantics & ARIA |
motion/framer-motion) variants. It won't add an animation dependency that isn't already in your package.json.SKILL.md carries every number you need to act; the reference files are pulled in on demand for depth.prefers-reduced-motion policy (substitute, don't delete), forced-colors, focus, and contrast are baked in: not bolted on.MIT © Arjun Lohan