[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77449":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":14,"starSnapshotCount":14,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},77449,"weft","WyattLee-nanami\u002Fweft","WyattLee-nanami","Weft — a local Claude Code workbench. Manage skills, see token usage, browse history. Native macOS, fully offline, MIT.","https:\u002F\u002Fgithub.com\u002FWyattLee-nanami\u002Fskillbox",null,"Rust",130,1,0,61,47,"MIT License",false,"main",true,[22,23,24,25,26,27,28,29],"claude-code","desktop-app","developer-tools","macos","react","skill-management","tauri","typescript","2026-06-12 04:01:21","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fbanner.png\" alt=\"Weft — Skill Management for macOS\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Weft\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cb>Find the right Claude skill in seconds — without scrolling.\u003C\u002Fb>\u003Cbr\u002F>\n  A native macOS app to browse, search, and demo your Claude Code skill library.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#install\">Install\u003C\u002Fa> ·\n  \u003Ca href=\"#features\">Features\u003C\u002Fa> ·\n  \u003Ca href=\"#how-it-works\">How it works\u003C\u002Fa> ·\n  \u003Ca href=\"#roadmap\">Roadmap\u003C\u002Fa> ·\n  \u003Ca href=\"#license\">License\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n\n## Why\n\nWhen your `~\u002F.claude\u002Fskills\u002F` folder grows past 30 entries, you stop remembering which skill does what. The Claude Code skill list becomes a wall of names that all look vaguely useful.\n\nWeft reads your local skill files and turns them into a searchable, browsable library — so you can find the one you need without scrolling through 50+ items every time.\n\n## Features\n\n- **Fast fuzzy search** across skill name, description, and trigger words (`⌘K`)\n- **Auto-grouping** by category — meta tools, work-internal, design, life scenarios, etc.\n- **Usage stats** scanned from your Claude Code session history. See what you actually use vs. what's gathering dust.\n- **One-click slash command copy** — paste `\u002Fskill-name` straight into Claude Code\n- **Presentation mode** (`⌘D`) — large-text, centered layout for screen-sharing or team demos\n- **Pure local** — reads your filesystem only. Sends nothing to the network.\n\n## Install\n\n### Option A — build from source\n\nRequires **Node 18+**, **Rust stable**, and **Xcode command-line tools**.\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FWyattLee-nanami\u002Fweft\ncd weft\nnpm install\nnpm run tauri build\nopen src-tauri\u002Ftarget\u002Frelease\u002Fbundle\u002Fmacos\u002FWeft.app\n```\n\n### Option B — download a release\n\nPre-built `.dmg` files will be available under [Releases](..\u002F..\u002Freleases) once v0.1.0 is published.\n\nFirst launch: macOS will block an unsigned app. Go to **System Settings → Privacy & Security**, scroll down, click **Open Anyway**.\n\n## How it works\n\n```\n~\u002F.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md   ──┐\n                                     ├─→  scan-skills.mjs  ─→  src\u002Fskills.json  ─→  React UI\n~\u002F.claude\u002Fprojects\u002F**\u002F*.jsonl      ──┘                                                 │\n   (usage counting)                                                                Tauri shell\n                                                                                       │\n                                                                                  Weft.app\n```\n\nThe scanner runs at build time, parsing each `SKILL.md` frontmatter (name, description, triggers) and counting how often each skill name appears in your local Claude Code session history.\n\nThe result is bundled as static JSON into the app, then rendered by a React + Fuse.js front-end inside a Tauri 2 shell.\n\n## Tech stack\n\n- **Tauri 2** — native macOS shell, ~10 MB bundle, Rust backend\n- **React 18 + TypeScript** — front-end\n- **Fuse.js** — fuzzy search\n- **react-markdown + remark-gfm** — render SKILL.md body\n\n## Roadmap\n\n- [ ] **v0.2** — Live Rust-side scanner so the app re-indexes without rebuilding\n- [ ] **v0.3** — Duplicate detection (embedding-based similarity for overlapping skills)\n- [ ] **v0.4** — Team mode: serve a read-only HTML view from a shared skill repo\n- [ ] **v0.5** — Edit skills inline (frontmatter + body) with live preview\n\n## Contributing\n\nBug reports and PRs welcome. The codebase is small (~500 lines of TS + a tiny Rust shell) and intentionally minimal.\n\n## License\n\nMIT — see [LICENSE](.\u002FLICENSE).\n\n---\n\n\u003Cp align=\"center\">\n  \u003Csub>Built because opening 50+ skill names every time was the bottleneck — the index, not the skills, was broken.\u003C\u002Fsub>\n\u003C\u002Fp>\n","Weft 是一个专为 macOS 设计的本地 Claude Code 工作台，帮助用户管理和查找技能、查看令牌使用情况和浏览历史记录。其核心功能包括快速模糊搜索、自动分类、使用统计以及一键复制斜杠命令等，所有操作完全离线进行，确保数据安全。该应用采用 Rust 语言编写后端，并结合 React 和 TypeScript 构建前端界面，利用 Tauri 框架实现跨平台支持。适用于需要高效管理和调用大量 Claude Code 技能的开发者或团队，在日常开发、项目演示等场景下尤其有用。",2,"2026-06-11 03:55:27","CREATED_QUERY"]