# Backend Agent Project Selector

> Find suitable traditional software backend or business-grade AI agent projects from GitHub for students or early-career engineers, evaluate resume value, and generate a Markdown resume-writing package. Use when a user asks to choose backend projects, Java/Spring projects, distributed-system projects, complete AI agent business projects, multi-agent systems, LLM apps, GitHub projects for resumes, or turn selected projects into resume bullets/interview talking points. Supports modes: agent-only, backend-only, mixed, safe-mode, and challenge-mode. If no mode is specified, ask the user to choose before searching or recommending. Backend recommendations exclude IoT, embedded, hardware-integration, device-management, and industrial-control platforms unless requested. Avoid simple browser extensions, thin LLM wrappers, shallow AI plugins, and browser-automation libraries unless requested.

- Skill: `lishuangqiang/backend-agent-project-selector` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add lishuangqiang/backend-agent-project-selector`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lishuangqiang/backend-agent-project-selector/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: lishuangqiang (https://skillmd.com/u/lishuangqiang)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lishuangqiang/backend-agent-project-selector

---


# 后端 / Agent 项目选择器

## 能力范围

从 GitHub / Web 搜索适合写进简历的后端项目或完整业务型 Agent 项目，筛选后生成 `backend-agent-project-resume-pack.md`。

推荐模式是必填项。用户必须指定 `agent-only`、`backend-only`、`mixed`、`safe-mode`、`challenge-mode` 中的一种；如果用户初始化找项目、选择项目、推荐项目或生成简历项目但没有指定模式，先完整列出所有可选模式并让用户选择，不要开始搜索或生成推荐。

## 必须遵守

- 用户每次初始化找项目、选择项目、推荐项目或生成简历项目时，如果推荐模式缺失，必须先完整列出所有可选模式并反问，不能自行默认、推断或继续执行。
- 除非用户明确要求不要联网，否则要搜索当前 GitHub / Web 项目后再推荐。
- 优先完整业务系统，避免 demo、插件、薄封装、纯框架和只会调用一次大模型的项目。
- `backend-only` 不要默认只推荐 API 网关、IAM、调度、监控等底层技术项目；除非用户明确要求基础设施 / 中间件，否则应优先覆盖电商交易、内容社区、协作办公、工单客服、CRM/ERP、知识库、网盘、在线教育等完整业务项目。
- 不要避开有业务闭环的业务项目；只避开浅层 CRUD、教程复刻、没有状态流转 / 异步链路 / 失败恢复 / 权限边界的业务项目。
- 默认不要把 IoT、嵌入式、硬件接入、设备管理、工业控制类平台作为后端项目推荐；除非用户明确要求硬件 / IoT / 物联网方向，否则这些项目应降权或淘汰。
- 先构建多样化候选池，再做最终选择；不要直接推荐全局高星项目，也不要把 star 数作为主要排序依据。
- star 数只作为“项目已有一定社区验证”的弱信号：达到 1k star 即可纳入正式候选池并认真评估；超过 1k 后不应因为 star 更高而显著加分。
- 搜索候选时必须主动覆盖中等 star 区间和细分领域项目，避免只用 `sort=stars` 或只看几万 star 项目；后端和 Agent 项目都适用该规则。
- 候选池阶段要读取 README 前若干行做项目类型 probe，用于判断是否为业务系统、框架 / SDK / 桌面壳 / 工具链；README probe 只能用于筛选和项目定位，不能支撑最终“负责功能 / 技术难点”。
- 构建候选池时优先使用 `references/search_github_candidates.py` 自动搜索、README probe、去重、分桶和初筛；如果手动搜索，最终也要输出同等字段的候选池和短名单确认内容。
- 拉取最终候选源码前，必须先向用户展示 3-4 个短名单项目、每个项目的选择理由和主要淘汰理由，并等待用户确认方向；用户确认后才能执行 `pull_github_repos.py`。
- 最终入选项目前必须运行 `references/pull_github_repos.py` 真实拉取对应 GitHub 仓库到本地；未经过该脚本成功拉取并写入 manifest 的项目不得进入最终推荐。
- 源码验证只能基于 `pull_github_repos.py` 拉取到本地的仓库目录进行；不能用 GitHub raw/API、README、网页搜索、模型记忆或经验判断替代本地源码验证。
- 如果脚本执行失败、仓库无法拉取、manifest 中该仓库状态不是 `cloned`、本地源码不可读，或无法从源码提取至少 5 个证据点，该项目必须淘汰。
- 必须区分 `已有能力`、`建议改造`、`可写入简历`。
- 简历功能点默认输出为“建议简历功能点（完成对应改造后可写）”；除非用户明确已经实现或本轮完成代码改造，否则不能把建议改造写成已完成成果。
- 项目亮点必须挖掘技术难度，不能只写“实现功能 / 接入组件 / 提供接口”；优先挖数据同步与一致性、MQ 异步链路、缓存与高并发、并发控制与幂等、任务调度、线程池与异步编排、流量治理、数据库优化、检索索引、权限安全、可观测性、接口治理、规则引擎、状态机、文件处理、实时通信、交易链路、Agent 工程等机制。
- 默认使用中文输出，除非用户要求其他语言。

## 参考资料加载

按任务需要加载，不要一次性加载所有资料：

- `references/执行流程.md`：项目选择任务必载。
- `references/用户输入模板.md`：用户需要模板、示例，或推荐模式缺失需要反问时加载。
- `references/筛选评分.md`：筛选、分桶、推荐模式打分时加载。
- `references/简历写法.md`：写简历条目和面试问题前加载。
- `references/输出模板.md`：生成最终 Markdown 文件前加载。
- `references/search_github_candidates.py`：候选池搜索和短名单确认前优先执行；用于自动搜索 GitHub、读取 README probe、去重、分桶、排除前端 / 库 / IoT / 框架 / SDK / 桌面壳 / coding-agent 工具链等不合适项目，并生成候选池 JSON 与短名单预览 Markdown。
- `references/pull_github_repos.py`：最终候选源码验证前必须执行；用于真实拉取 GitHub 仓库并生成本地源码 manifest。
- `references/markdown_to_pdf.py`：最终交付必执行；将最终 Markdown 转成浅色、中文友好的 PDF。
- `references/规则索引.md`：只在需要查看文档映射关系时加载。

## 高层流程

1. 先检查用户是否明确给出推荐模式。
2. 如果没有给出推荐模式，停止执行，并使用“缺少推荐模式时的反问话术”完整展示所有可选模式后让用户选择。
3. 如果已给出推荐模式，再提取用户画像。
4. 优先运行 `references/search_github_candidates.py` 搜索多个项目分桶，建立候选池；候选池必须包含 1k+ star 的中等热度项目，不能只来自全局高星榜。
5. 按 `筛选评分.md` 过滤浅层项目，并给剩余候选打分。
6. 按推荐模式选择 3-4 个短名单项目，输出短名单、选择理由、淘汰理由和待拉取 URL，先让用户确认技术栈和方向。
7. 用户确认短名单后，将最终候选仓库 URL 写入临时列表或作为 `--repo` 参数，强制执行 `python references/pull_github_repos.py` 拉取源码并生成 manifest。
8. 只读取 manifest 中状态为 `cloned` 的本地仓库目录；阅读 README / 文档只是前置步骤，不能代替本地源码验证。
9. 只保留能够从本地源码证据提取功能点的项目；无法完成脚本拉取或源码验证的候选直接淘汰。
10. 按 `输出模板.md` 和 `简历写法.md` 生成 `backend-agent-project-resume-pack.md`。
11. 默认最终必须同时生成 Markdown 和 PDF 两个版本；执行 `python backend-agent-project-selector/references/markdown_to_pdf.py backend-agent-project-resume-pack.md --output backend-agent-project-resume-pack.pdf --title "业务型 Agent 项目推荐报告"`。

## 推荐模式

- `agent-only`：只推荐完整业务型 Agent 项目。
- `backend-only`：只推荐传统软件后端项目，默认排除 IoT / 硬件接入类项目。
- `mixed`：推荐一个 Agent 项目 + 一个传统软件后端项目；其中后端项目默认排除 IoT / 硬件接入类项目。
- `safe-mode`：只推荐容易落地、依赖少、部署成本低的项目。
- `challenge-mode`：推荐更难、更有差异化、更适合深度改造的项目。

## 缺少推荐模式时的反问话术

如果用户没有明确写出推荐模式，直接回复：

```text
你想按哪种推荐模式执行？

- agent-only：只找完整业务型 Agent 项目
- backend-only：只找传统软件后端项目，默认排除 IoT / 硬件接入类
- mixed：一个 Agent 项目 + 一个传统软件后端项目
- safe-mode：只推荐容易落地、部署成本低的项目
- challenge-mode：推荐更难、更有差异化的项目

你回复其中一个模式后，我再开始搜索 GitHub 并生成简历写法。
```

## Agent 项目标准

Agent 项目必须是完整业务系统，而不是 LLM UI、浏览器插件或浏览器自动化库。它应该解决具体领域问题，例如 AI 投研、多智能体协作、客服自动化、数据分析、代码修复、DevOps 运维、报告生成、企业知识流转。

Agent 候选短名单必须优先满足业务型强门槛：业务数据、状态流转、持久化、工具调用、评测、用户价值至少命中 2-3 项；纯 framework / SDK / library / toolkit / desktop companion / coding-agent 工具链不得和业务型 Agent 混在同一短名单中，除非用户明确要求工具链方向。

除非用户明确要求，否则淘汰简单浏览器插件、网页侧边栏、总结器、提示词管理器、单次 LLM 调用包装，以及没有业务数据、状态、持久化、评测或可见用户价值的项目。

## 输出约定

始终在当前工作区创建或更新 Markdown 与 PDF 两个交付物；Markdown 内容包括：

- 结论先行的推荐
- 候选池
- 推荐模式和多样性说明
- 可替换项目
- 每个推荐项目的详细分析
- 简历写法：先给 80-120 字项目简介，再给代码验证摘要，然后给 5-6 条“负责功能 / 技术难点”，最后给“建议简历功能点（完成对应改造后可写）”；其中“负责功能 / 技术难点”必须来自源码验证。
- 下一步落地或改造计划
- PDF 必须生成：使用 `references/markdown_to_pdf.py` 输出 `backend-agent-project-resume-pack.pdf`，保持浅色背景块、清晰标题层级，不添加“阅读导航”，内联代码按普通正文渲染以避免中文段落异常换行。


