[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11222":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},11222,"skills-manager","xingkongliang\u002Fskills-manager","xingkongliang","A lightweight desktop app to manage, sync, and organize AI agent skills across 15+ coding tools — Cursor, Claude Code, Codex, Copilot, and more.",null,"https:\u002F\u002Fgithub.com\u002Fxingkongliang\u002Fskills-manager","Rust",2080,184,8,74,0,105,290,738,315,28.8,false,"main","2026-06-12 02:02:30","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Ficon.png\" width=\"80\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Skills Manager\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  One app to manage AI agent skills across all your coding tools.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\".\u002FREADME.zh-CN.md\">中文说明\u003C\u002Fa>\n  &nbsp;·&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002FJayTL00\">@JayTL00 on X\u003C\u002Fa>\n  &nbsp;·&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fbuymeacoffee.com\u002Fjaytl\">Buy me a coffee\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemo.gif\" width=\"800\" alt=\"Skills Manager Demo\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cstrong>My Skills\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002FCleanShot_20260419_003504@2x.png\" width=\"800\" alt=\"My Skills\" \u002F>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cstrong>Install Skills — Marketplace\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002FCleanShot_20260316_231142@2x.png\" width=\"800\" alt=\"Install Skills Marketplace\" \u002F>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cstrong>Projects\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002FCleanShot_20260419_003526@2x.png\" width=\"800\" alt=\"Projects\" \u002F>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cstrong>Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002FCleanShot_20260419_003825@2x.png\" width=\"800\" alt=\"Settings\" \u002F>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cstrong>Code Diff\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"assets\u002FCleanShot_20260419_003613@2x.png\" width=\"800\" alt=\"Code Diff\" \u002F>\u003C\u002Fp>\n\n## Features\n\n- **Unified skill library** — Install skills from Git repos, local folders, `.zip` \u002F `.skill` archives, or the [skills.sh](https:\u002F\u002Fskills.sh) marketplace. Everything goes into one central repo, which defaults to `~\u002F.skills-manager` and can be customized in **Settings**.\n- **Marketplace + AI search** — Browse popular skills from the marketplace, run keyword search, or enable SkillsMP AI search with your API key.\n- **Multi-tool sync** — Sync skills to any supported tool via symlink or copy with a single click.\n- **Project Workspaces** — View and manage project-local skill folders for supported agents, compare them with your central library, and sync changes in either direction. Supports nested skill directories and per-agent assignment when exporting.\n- **Linked Workspaces** — Point to any directory as a skills root — useful for skills that live outside the default agent paths. Managed as a standalone workspace without participating in global scenario sync.\n- **Scenarios** — Group skills into scenarios, configure per-scenario agent toggles, drag to reorder enabled skills, and switch between setups instantly from the left sidebar.\n- **Batch operations** — Multi-select skills for bulk enable\u002Fdisable, export, or delete. Project Workspaces also support bulk enable\u002Fdisable for project-local skills.\n- **Skill tagging and filters** — Tag skills, use tags to group similar skills, and filter by source or tag to narrow large libraries quickly.\n- **Update tracking** — Check for upstream updates on Git-based skills; re-import local ones.\n- **Skill preview and source inspection** — Read `SKILL.md` \u002F `README.md`, inspect source metadata, and compare local content with the upstream version inside the app.\n- **Custom tools** — Add your own agents\u002Ftools with custom skills directories, or override the default path for any built-in tool.\n- **Git backup and restore** — Version-control your skill library with Git for backup and multi-machine sync, then restore snapshot versions from Version History when needed.\n- **Flexible app settings** — Configure repo path, sync mode, default scenario, theme, text size, language, tray behavior, proxy, Git remote, and update checks in one place.\n\n## Core Concepts\n\n- **Scenarios are global skill sets** — A scenario is your global set of enabled skills for a tool. For Claude Code, these skills are synced to `~\u002F.claude\u002Fskills\u002F`.\n- **Project Workspaces are project-local skill sets** — A project workspace manages the skills that live inside a specific project. For Claude Code, these skills are synced to `\u003Cproject>\u002F.claude\u002Fskills\u002F`.\n- **Switch scenarios from the sidebar** — Click a scenario in the left sidebar to change the active global setup for your current workflow.\n- **Batch control works in both places** — You can bulk enable or disable skills in scenarios and in Project Workspaces.\n- **Tags are for grouping and filtering** — Use tags to label similar skills, then filter by tag to find the subset you want quickly.\n\n## Quick Start\n\n1. Create a scenario or switch to one from the left sidebar.\n2. Install skills from local folders, Git repositories, archives, or the marketplace. If you have a SkillsMP API key, you can also turn on AI search.\n3. Open **My Skills** to decide which skills belong to the active scenario, tag them, review docs, and bulk enable or disable them.\n4. Sync enabled scenario skills to detected tools, or use **Project Workspaces** to manage project-local skills in `\u003Cproject>\u002F.claude\u002Fskills\u002F`, including bulk enable\u002Fdisable and two-way sync with your central library.\n5. Configure agent paths, custom tools, sync mode, default scenario, theme, language, proxy, and Git preferences in **Settings**.\n6. If you want history or multi-machine sync, set a Git remote in **Settings** and run **Start Backup** or **Sync to Git** from **My Skills**.\n\n## Git Backup\n\nBack up the `skills\u002F` folder inside your current central repository to a Git repo for version history and multi-machine sync. By default this is `~\u002F.skills-manager\u002Fskills\u002F`.\n\n### Quick setup\n\n1. Create a private repository (recommended).\n2. Open **Settings → Git Sync Configuration** and save your remote URL.\n3. Open **My Skills**.\n4. Choose one:\n- Existing remote: click **Start Backup** to clone from the configured remote.\n- New local repo: click **Start Backup** to initialize locally, then use **Sync to Git**.\n5. Use **Sync to Git** from the My Skills toolbar.\n\n`Sync to Git` automatically handles pull, commit, and push based on current repo status.\nEach successful sync creates a snapshot version tag. You can open **Version History** in **My Skills**, inspect the timeline, and restore any snapshot as a new commit.\n\n### Authentication\n\n- SSH URL (`git@github.com:...`): requires SSH key configured on your machine and added to GitHub.\n- HTTPS URL (`https:\u002F\u002Fgithub.com\u002F...`): push usually requires a Personal Access Token (PAT).\n\n> **Note:** The SQLite database (`skills-manager.db` inside your current central repository, `~\u002F.skills-manager\u002Fskills-manager.db` by default) is not included in Git — it stores metadata that can be rebuilt by scanning the skill files.\n\n## Supported Tools\n\nCursor · Claude Code · Codex · OpenCode · Amp · Kilo Code · Roo Code · Goose · Gemini CLI · GitHub Copilot · Windsurf · TRAE IDE · Antigravity · Clawdbot · Droid\n\nYou can also add custom tools in **Settings** and manage their skills the same way.\n\n## In-App Help\n\nThe **Help** button in **Settings** mirrors the current product flow: scenarios, skill installation, My Skills management, Project Workspaces, Git backup, and environment-level settings. It is intended as the in-app version of this quick-start guide.\n\n## Tech Stack\n\n| Layer | Tech |\n|-------|------|\n| Frontend | React 19, TypeScript, Vite, Tailwind CSS |\n| Desktop | Tauri 2 |\n| Backend | Rust |\n| Storage | SQLite (`rusqlite`) |\n| i18n | react-i18next |\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- Rust toolchain\n- [Tauri prerequisites](https:\u002F\u002Fv2.tauri.app\u002Fstart\u002Fprerequisites\u002F) for your OS\n\n### Development\n\n```bash\nnpm install\nnpm run tauri:dev\n```\n\n### CLI\n\nThe repository now includes an agent-friendly CLI built on the same Rust shared core used by the desktop app. Repository bootstrap, tool resolution, scenario sync\u002Fapply logic, and metadata reindexing now live in reusable core modules instead of being reimplemented separately for CLI automation.\n\n```bash\n# Show the active repository paths and counts\nnpm run cli -- repo status\n\n# List skills \u002F inspect one skill\nnpm run cli -- skills list\nnpm run cli -- skills show db\n\n# Preview or apply a scenario using the shared Rust core\nnpm run cli -- scenarios list\nnpm run cli -- scenarios preview Default\nnpm run cli -- scenarios apply Default\n\n# Export one skill to another agent workspace\nnpm run cli -- skills export db --dest ~\u002F.claude\u002Fskills\u002Fdb\n\n# Inspect or sync the git-backed skills repo\nnpm run cli -- git status\nnpm run cli -- git pull\nnpm run cli -- git commit -m \"chore: update skills\"\n```\n\nAvailable command groups:\n- `repo` — inspect or change the configured base directory\n- `tools` — list detected tool targets and paths\n- `skills` — list, inspect, and export skills\n- `scenarios` — list scenarios, preview sync targets, or apply one to default tool paths\n- `git` — operate on the git-backed `skills\u002F` repository (`clone`, `pull`, `push`, `commit`, `versions`, `restore`)\n\nExtra flags:\n- `--skills-root \u003Cpath>` — operate on a cloned\u002Fexported skills repo directly instead of the local app default. The manager's state (DB, scenarios, cache, logs) lives in `~\u002F.skills-manager\u002Fexternal\u002F\u003Cname>-\u003Chash>\u002F`, namespaced by the canonical path of the skills root, so the external checkout itself stays clean.\n- `--json` — machine-readable output for scripts\u002Fagents\n\n```bash\nnpm run -s cli -- --skills-root \u002Fpath\u002Fto\u002Fmy-skills --json skills list\n```\n\n#### Install the binary on PATH\n\nAgents and scripts that invoke `skills-manager-cli` directly (without `npm run`) need the binary on PATH. Install it with:\n\n```bash\nnpm run cli:install\n# equivalent to:\n# cargo install --path src-tauri --bin skills-manager-cli --locked --force\n```\n\nThis drops the binary at `~\u002F.cargo\u002Fbin\u002Fskills-manager-cli`. Re-run after pulling updates to refresh it.\n\n#### Concurrent use with the desktop app\n\nThe CLI and desktop app share the same SQLite database. SQLite serializes writes safely, but the running app does not auto-refresh its in-memory caches when the CLI mutates state — restart or trigger a manual refresh in the app after `scenarios apply`, `git pull`, or other CLI write operations.\n\n### Build\n\n```bash\nnpm run tauri:build\nnpm run cli:build\n```\n\n## Troubleshooting\n\n### macOS: \"App is damaged and can't be opened\"\n\nIf you see this error after downloading the app, run the following command in Terminal and then open the app again:\n\n```bash\nxattr -cr \u002FApplications\u002Fskills-manager.app\n```\n\nReplace the path with wherever you placed the `.app` file if it's not in `\u002FApplications`.\n\n## License\n\nMIT\n","Skills Manager 是一个轻量级的桌面应用程序，用于管理和同步超过15种编码工具（如Cursor、Claude Code、Codex、Copilot等）中的AI代理技能。该应用使用Rust语言开发，具备统一的技能库管理功能，支持从Git仓库、本地文件夹、`.zip`或`.skill`归档文件以及marketplace安装技能。其核心特性包括多工具同步、项目工作区管理、场景配置及批量操作等，旨在帮助开发者高效组织和利用各种AI辅助编程工具。适用于需要跨多种开发环境保持一致性和便捷性地使用AI技能的场景。",2,"2026-06-11 03:31:27","trending"]