跳到正文
cccskills
免费在 GitHub 公开中文介绍

project-graveyard

通过本地Git历史盘点中断的个人项目,整理可能的停工原因和共同规律,选出一个重启候选,提出从运行检查到发布的具体步骤。

原文查看原文说明

Scans the developer's machine for dead side projects, autopsies each one from its git history (died at the payments wall, killed by a newer project, finished but never shipped), surfaces their personal death patterns, and picks the corpse most worth resurrecting — then helps ship it. Use when the user mentions abandoned, unfinished, or old side projects, asks "what should I finish", wants to revive or resurrect a project, says "run the graveyard", wonders why they never finish anything, or is about to start a new project that sounds like one they already built. Runs entirely locally.

AI 评分90分/ 100查看安装方法

适用场景

  • 盘点尚未完成的个人项目
  • 查找开发中断的共同原因
  • 选择一个项目重启并发布
  • 查找与新想法相似的旧项目
  • 检查重启后是否再次停止活动

中文介绍

功能

project-graveyard通过本地Git历史盘点中断的个人项目,整理可能的停工原因及共同规律。它检查指定文件夹中的仓库,报告活动时间段、提交次数、支持停工判断的证据和重启难度。还会查看候选项目的README与代码,选出一个项目,提出从确认能否运行到发布的具体步骤。

适用场景

适合在未完成项目越来越多、不知该完成哪一个时使用,也适合回顾开发是否总在相似阶段中断。开始新想法前,可以用它寻找过去的原型。保存状态后,还能检查重启后是否持续有活动。

使用示例

  • “整理~/dev中尚未完成的项目。”
  • “选出一个值得重启的项目,制定发布计划。”
  • “查一下过去是否做过与这个新想法类似的项目。”

注意事项

扫描使用Python 3在本地运行,不向目标仓库写入内容。停工原因是基于历史的推测,也会向本人核实。判断是否重启时,会通过外部搜索了解当前技术和类似产品;修改仓库前会请求确认。状态保存在单独的文件中。许可证为Apache-2.0。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

客观评估

AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。

指令清晰度能否看出何时使用、做什么
A良好明确说明盘点未完成个人项目、分析规律及选择重启项目的用途和操作。
步骤具体性步骤、输入输出和示例是否具体
A良好提供扫描命令和参数、四部分报告结构,以及从运行确认到发布的计划要求。
安全性发送数据、删除文件、执行命令等是否有说明
B部分不足要求修改前确认,但不联网的说明与外部搜索步骤相矛盾。
安装难易度所需工具和 API 密钥是否少且有说明
A良好提供用Python 3扫描本地项目文件夹的命令,并解释各参数。

总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月20日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(4)

  • SKILL.md10.4 KB
  • README.md4.6 KB
  • references/causes-of-death.md4.5 KB
  • scripts/graveyard.py24.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Project Graveyard

Every developer has a folder full of dead projects. Nobody has ever gotten an autopsy report. This skill scans the machine for abandoned repos, works out why each one died from its git history, finds the user's personal death patterns, and picks the one corpse worth digging up — then helps ship it.

Everything runs locally. No API, no network, nothing leaves the machine.

When to use

  • The user asks about abandoned/unfinished/old side projects, or what to finish
  • The user wants to revive, resurrect, or "finally ship" something
  • The user asks why they never finish projects
  • The user proposes a new project — check the graveyard first (see Necromancer mode). There's a decent chance they already built half of it.

When not to use

  • Cleaning up disk space or node_modules — that's kondo/npkill, not this
  • Archiving repos on GitHub — this works on local clones and never-pushed work
  • Analyzing one specific repo's history in depth — just read the git log

Run it

python3 scripts/graveyard.py ~/dev ~/projects

Point it at wherever projects actually live. If you don't know where that is, ask — one question beats sweeping someone's home directory uninvited. No args scans the usual suspects (~/dev, ~/projects, ~/code, ~/Desktop, ...). Useful flags:

  • --days 90 — how long silent before a repo counts as dead (default 45)
  • --json report.json — full machine-readable data
  • --me work@email.com — claim commits made under other emails (repeatable); without it, projects committed via a work identity or a builder tool get skipped as "not yours"
  • --include-foreign — also include repos the user barely committed to (skipped by default: clones, forks, work checkouts are not their corpses)
  • --state FILE — remember scans and resurrections; enables relapse watch

The script is read-only. It never writes inside a scanned repo.

Reading the report

The script gives you four blocks: census, the dead (with cause of death), patterns, and the top 3 by "pulse" (resurrectability score). Causes are evidence-based guesses, not verdicts — each comes with the evidence line that justifies it. If a cause looks wrong, check the evidence before repeating it. The cause taxonomy and what each one means for resurrection is in references/causes-of-death.md — read it before writing the report.

The autopsy interview

The script can only read git. You can ask. For corpses whose primary cause is unknown or slow_fade — the low-confidence verdicts — ask the user one question each, two or three total at most:

"recipe-scraper — the history just shows it drifting. Do you remember what actually stopped you?"

Blend the answers in, and label verdicts honestly in the report: (forensic) for what git showed, (confirmed) for what the user told you. Testimony beats a forensic guess — update the tombstone, not just the prose. Two questions is a conversation; five is a deposition.

Writing the tombstone report

Turn the script output into a report the user will actually feel. Format:

  1. The census. Deaths, combined lifespan, oldest corpse. Plain numbers — they land on their own.
  2. Tombstones. One per dead project, worst-to-best pulse. Name, lifespan, commit count, cause of death with its evidence, and a one-line epitaph. Above ~10 corpses, give full tombstones only to the 6-8 most interesting (highest pulse, most distinctive deaths) and bury the rest together in one line — "...plus 11 one-day experiments, buried in a shared plot." A wall of 23 tombstones kills the funeral.
  3. The patterns. This is the part they'll remember. "Your projects die at day 19." "Four of six were killed by a newer project." Quote the script's numbers; add anything you can see that it can't.
  4. The resurrection. One project. Not three. See below.

Carve the resurrection pick (and only it) as an ASCII tombstone card — stone is earned, not sprayed; every other corpse stays a line in the table:

        .------------------------.
       /                          \
      |        tab-sensei          |
      |      Apr — May 2026        |
      |   54 commits · 12 days     |
      |                            |
      |   died of deploy fear      |
      |                            |
      |   "It worked. It just      |
      |     never shipped."        |
   ___|____________________________|___
      ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Center the text, keep the card under 44 columns so it never wraps, epitaph last. If the graveyard is empty, no card — don't carve a stone for nobody.

Epitaph rules — this is where the whole thing lives or dies:

  • Every epitaph must be traceable to evidence from the scan. "Died as it lived: configuring webpack" works because the config ratio was 78%. Made-up jokes about code you haven't seen don't work and the user will know.
  • Punch at the pattern, not the person. "It worked. It just never shipped" is fine. "You were too scared to ship" is not.
  • Dry beats wacky. One sentence. No puns unless they're earned.
  • If a project deserves respect, give it. A 26-commit repo with a finished README that never shipped is a small tragedy, not a punchline.

Offer --redact framing if the user wants to share the report: project names swapped for project-1..n, causes and patterns intact.

The resurrection

Pick ONE corpse. Highest pulse wins unless its idea is dead in the world too. Before deciding, read the top candidate's README and skim the code — then do the world-check, the part only you can do because the script can't see the present:

  • Search whether what blocked it got easier since it died: the API it fought may have an official SDK now, the model that was too expensive may be 20x cheaper, the thing it hand-rolled may be a library today.
  • Search whether the world shipped the idea. If three funded products do exactly this now, say so — that changes the plan from "ship it" to "ship it for yourself," or to "let it rest."

Cite what you find in the plan. "This got easier: X exists now" is the strongest argument for digging; "the window closed" is the strongest for leaving it buried.

Then write the resurrection plan. The per-cause dig strategy is in references/causes-of-death.md (each cause has a "resurrection angle" — deploy-fear corpses need shipping steps only, wall deaths need the managed alternative, scope explosions get one feature extracted). Plan rules:

  • At most 7 concrete steps, ending at shipped (a URL, a release, a published package — not "keep working on it")
  • Step 0 is always: confirm it still runs. Deps rot; prove the install and the entry point before promising anything.
  • Step 1 must be completable today — the first session has to end with visible progress
  • Ask before touching the repo. Then offer to start on step 1 right now — that offer is the entire point of running this inside an agent.

When to leave it buried — say it plainly when it's true: the user doesn't care anymore (a shrug at the interview is closure, not a project); the window closed and the world shipped the idea; or every candidate is weak. "Nothing here is worth digging up, and that's fine — here's what the patterns say about the next project" is a legitimate and useful ending.

When the user commits to a resurrection, record it (ask once where to keep the state file — ~/.project-graveyard.json is a sane default):

python3 scripts/graveyard.py --state ~/.project-graveyard.json \
    --mark-resurrected /path/to/the/corpse

Relapse watch

Scans run with --state hold past resurrections to their promise: the report gains a RELAPSE WATCH block showing whether each resurrected project is holding or going silent again. When one relapses, say it plainly and make the user choose — recommit or bury it honestly. A second silent death is an answer, not a failure; close the loop instead of prescribing a third attempt. No tool follows up on its own prescription. This one does — that's the point of keeping state.

Necromancer mode

When the user proposes building something new, check the graveyard for prior attempts before scaffolding anything — grep the state file (or a fresh --json report) for name and README overlap. If there's a match:

"You already built about 60% of this. It's called project-14, it died in March at the auth step, and its parser still works. Resurrect instead?"

Don't be preachy about it. Mention it once, let them choose, drop it.

Gotchas

  • ~/Desktop might itself be a git repo (accidental git init, backup tools). The scanner handles nested repos, but if the census looks absurd, that's usually why.
  • Ownership filter uses git email. If the user commits under multiple emails (work address, GitHub web edits, builder tools), real corpses get skipped as "not yours" — the census names what it skipped; claim yours with --me that@email.com.
  • "Dead" is a threshold, not a truth. A stable finished tool looks dead at 45 days. The script separates finished (deploy config + pushed + README) from dead, but the heuristic is rough — ask before eulogizing anything the user considers done.
  • One-day corpses are usually vibe-coded bursts, not failures — a project built in one sitting and never reopened. The pattern worth surfacing is how many of them there are, not that each one "died."
  • Don't resurrect by default. The report is the product; the resurrection is an offer. Some corpses should stay buried — see "When to leave it buried" above.

Files

  • scripts/graveyard.py — scanner + autopsy + pulse ranking (stdlib, offline, read-only)
  • references/causes-of-death.md — the taxonomy: signals, confidence, and the per-cause resurrection strategy

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

advisor-orchestrator-worker

免费有简介AI 评分 80分

将大型调研或生成任务分配给多个AI模型,完成计划评审、并行执行、成果验证与整合,并记录各负责角色的进度和重试情况。

  • 并行调研多个竞争对手
  • 分担大型内容生成任务
  • 让顾问评审计划或草稿
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

chatgpt-app-builder

免费有简介AI 评分 70分

指导开发可在ChatGPT内操作的应用,涵盖功能规划、React组件及状态共享的实现。该技能已弃用,并指引用户转向后续技能。

  • 梳理ChatGPT应用功能
  • 实现与服务器联动的界面
  • 与ChatGPT共享界面状态
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

commit-archaeologist

免费有简介AI 评分 100分

通过本地Git历史调查代码的引入背景与修改意图,追溯最初提交及反复同时修改的文件,整理改动前需要检查的事项。

  • 了解陌生函数存在的原因
  • 改动前检查历史约束
  • 调查临时变通方案为何仍被保留
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

dependency-doctor

免费有简介AI 评分 100分

检查Python和JavaScript依赖文件中的版本约束缺失、重复条目、固定版本冲突及过时兼容包,用易懂的语言说明影响并提出便于核对的修改建议。

  • 安装失败深入排查前的初步检查
  • 检查过时的Python兼容包
  • 检查重复条目和固定版本冲突
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

first-reader

免费有简介AI 评分 100分

从目标读者的角度试读发布前的文稿,检查是否愿意打开、在哪里失去兴趣,以及读后记住什么。它报告模拟读者的反应,不改写文章。

  • 检查帖子是否会被读完
  • 找出读者停止阅读的位置
  • 比较修改前后的读者反应
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

mcp-apps-builder

免费有简介AI 评分 70分

使用mcp-use设计和实现MCP服务器,让AI调用外部操作与数据。指南涵盖认证、交互界面、错误处理及部署,并引导查阅各功能的配套资料。

  • 新建MCP服务器
  • 添加操作、数据及可复用提示词
  • 构建浏览与选择数据的React界面
Shubhamsaboo/awesome-llm-apps14.3万2026年10月22日 更新

查看 Shubhamsaboo 的全部技能

报告此技能的问题