{"id":"ebea692f-0ae4-4784-a097-bc7281900089","slug":"startidy","kind":"skill","name":"Startidy","summary":"Turn messy GitHub Stars into organized Lists automatically with AI agent skills and npm CLI.","owner":"haimu0427","repoUrl":"https://github.com/haimu0427/Startidy","license":"MIT","licenseTier":"permissive","trust":"community","stars":25,"match":null,"fewStars":false,"format":"skill","createdAt":"2026-09-29T07:35:02.000Z","addedAt":"2026-10-14T06:06:27.898Z","logoUrl":"https://avatars.githubusercontent.com/u/177769575?u=5c83482c62b9251d07707f8ac833aa1474a8f58b&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools"],"tags":["ai-agents","claude-code","developer-tools","github-lists","github-stars","github-stars-api","github-stars-manager","llm"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T06:45:25.846Z","sample":false,"url":"https://conduits.dev/tools/startidy","language":"TypeScript","transports":["stdio"],"install":{"npm":"@haimu0427/startidy"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"right\">\n  <a href=\"README.en.md\">English</a> | <strong>简体中文</strong>\n</p>\n\n# Startidy 🌟\n\n[![npm version](https://img.shields.io/npm/v/@haimu0427/startidy.svg)](https://www.npmjs.com/package/@haimu0427/startidy)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n> **Contract-driven GitHub Stars organizer for AI agents and developers.**  \n> 让 AI Agent 帮你自动分类、整理混乱的 GitHub Stars 到 GitHub Lists 中，安全、增量且完全受控。\n\n---\n\n<!-- DEMO_IMAGES_START -->\n<p align=\"center\">\n  <img src=\"./assets/demo-1.png\" alt=\"GitHub Lists 实际整理效果\" width=\"49%\" style=\"border-radius: 6px; border: 1px solid #e1e4e8;\" />\n  <img src=\"./assets/demo-2.png\" alt=\"AI Agent 执行与原子校验\" width=\"49%\" style=\"border-radius: 6px; border: 1px solid #e1e4e8;\" />\n  <br>\n  <em>(左：AI 整理后的效果 / 右：AI Agent 执行过程中)</em>\n</p>\n<!-- DEMO_IMAGES_END -->\n\n---\n\n## ⚡ 极速开始： AI Agent 驱动\n\n如果你正在使用 **Claude Code / Cursor / Codex / Antigravity**，把下面这段 Prompt 复制发送给你的 Agent：\n\n> **🤖 复制发给 Agent 的一行流指令：**\n>\n> ```text\n> 请帮我初始化 GitHub Stars 整理工具 Startidy：先运行 npm install -g @haimu0427/startidy 并执行 startidy doctor 检查环境；接着读取并加载仓库 https://github.com/haimu0427/Startidy 中的 skills/startidy/SKILL.md（如果在本地已克隆则读取本地文件）；配置完毕后向我汇报就绪状态，并等待我发出整理 Stars 的具体指令。\n> ```\n\n初始化后，发送指令：**“请帮我分析我的 GitHub Stars，并规划一份合理的分类列表帮我整理。”**\n\n---\n\n## 💡 为什么需要 Startidy？\n\n随着 Star 的仓库越来越多（几百甚至数千个），GitHub 官方的 Lists 整理起来费时费力。普通脚本要么容易误删分类，要么需要把敏感 Token 喂给第三方大模型。\n\n**Startidy v2 采用全新的“Agent + 契约驱动”模式：**\n1. **Agent 负责大脑，CLI 负责手脚**：由日常使用的 ai agent 驱动，负责语义理解与分类规划。\n2. **严格的契约保障（Contract-Driven）**：通过 JSON Schema 严格校验输入输出，杜绝 AI 幻觉引发的破坏性操作。\n3. **安全三步走（Snapshot → Preview → Apply）**：每次操作前生成清晰的变更预览（Review），只有用户确认后才会执行。\n\n---\n\n## 🛠️ 手动安装与使用 (Manual Setup)\n\n如果你习惯在终端手动操作，仅需以下 3 步：\n\n### 1. 环境准备与安装\n\n运行 Startidy 需要 **Node.js (>= 22)** 与已登录的 **GitHub CLI (`gh`)**。\n\n#### 前置：安装并登录 GitHub CLI\n\n```bash\n#参见: https://cli.github.com/\n\n# 登录 GitHub 账号并授权\ngh auth login\n```\n\n#### 安装 Startidy\n\n**方式 A：通过 npm 全局安装（推荐）**\n\n```bash\nnpm install -g @haimu0427/startidy\n# 或无需安装直接通过 npx 运行\nnpx @haimu0427/startidy doctor\n```\n\n**方式 B：从源码本地构建**\n\n```bash\n# 克隆仓库\ngit clone https://github.com/haimu0427/Startidy.git\ncd Startidy\n\n# 安装依赖并构建\nbun install\nbun run build\n\n# 链接到全局命令行 (可在任何目录使用 startidy 命令)\nbun link   # 或使用 npm link\n```\n\n验证环境状态：\n```bash\nstartidy doctor\n```\n\n### 2. 载入 Agent Skill\n\nStartidy 在 [`skills/startidy/`](skills/startidy/) 目录下提供了符合标准的 Agent Skill，支持各种主流 AI 终端：\n\n* **Claude Code**: 将 `skills/startidy` 软链接或复制到 `.claude/skills/startidy`\n* **Codex / ChatGPT / Antigravity**: 软链接或复制到 `.agents/skills/startidy`\n* **Cursor**: 在项目技能/Rules 中引入 `skills/startidy/SKILL.md`\n\n### 3. 三阶段执行流程\n\n1. **读取状态**：执行 `startidy snapshot` 获取当前所有 Stars 和 Lists 快照。\n2. **语义规划 & 预览**：Agent 根据仓库简介自动归类生成 `plan.json`，并调用 `startidy preview` 生成变更预览供用户审核。\n3. **安全应用**：用户确认方案满意后，Agent 执行 `startidy apply` 安全同步至 GitHub。\n\n---\n\n## 📖 CLI 常用指令参考\n\n| 命令                | 用途                               | 关键参数                                             |\n| :------------------ | :--------------------------------- | :--------------------------------------------------- |\n| `startidy doctor`   | 检查 Node、gh 登录态和依赖环境     | `--json`                                             |\n| `startidy snapshot` | 抓取当前所有 Stars 与 Lists 快照   | `--out <file>`, `--json`                             |\n| `startidy details`  | 批量拉取候选仓库的 README 补充信息 | `--snapshot <file>`, `--candidates`, `--limit 20`    |\n| `startidy preview`  | 校验分类计划并生成变更预览 diff    | `--snapshot <file>`, `--plan <file>`, `--out <file>` |\n| `startidy apply`    | 执行已经校验的变更或恢复中断任务   | `--review <file>`, `--resume <runId>`                |\n| `startidy status`   | 查看指定运行任务的执行日志与状态   | `--run <runId>`                                      |\n| `startidy resolve`  | 处理由于网络或冲突阻断的异常状态   | `--run <runId>`, `--action <adopt/retry/abort>`      |\n\n---\n\n## 🤝 致谢 (Acknowledgements)\n\n本项目基于并灵感源自 [@hellosunghyun](https://github.com/hellosunghyun) 的开源项目 [hellosunghyun/startidy](https://github.com/hellosunghyun/startidy)。\n\nv2 版本进行了彻底重构：不再需要配置外部大模型 API，而是直接配合你日常使用的 AI 助手进行分类规划；执行过程提供严格的数据校验、变更预览与断点续传能力。感谢原作者!\n\n---\n\n## 📄 License\n\n[MIT License](LICENSE) © 2024 hellosunghyun & © 2026 haimu0427\n"}