跳到正文
cccskills
免费在 GitHub 公开

prior-art

Discover how a codebase already handles a specific concern — search broadly, find every instance, and assess consistency. The "how does this app do X?" tool.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.9 KB

SKILL.md(原文)

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

Behavior

Research how this codebase handles $ARGUMENTS. Explore the codebase thoroughly and report what you find.

Step 1: Search Broadly

Cast a wide net across the codebase. Use multiple search strategies:

  • Grep for keywords — search for terms related to the concern (e.g. for error reporting: error, exception, rescue, Sentry, Bugsnag, notify, report)
  • Check common Rails locations — initializers, middleware, concerns, base classes, config files, lib/
  • Check the Gemfile — are there gems related to this concern? What do they tell you about the approach?
  • Check application-level base classes — ApplicationController, ApplicationRecord, ApplicationJob — these often set patterns that everything inherits
  • Check for dedicated directories or files — service objects, concerns, lib/ modules that handle this concern

Don't stop at the first result. The goal is to find every place this concern is handled — the consistent pattern and the exceptions.

Step 2: Check Git History

For the key files involved in this concern:

  • git log --oneline -10 <file> to see recent changes
  • git log --all --oneline --grep="<keyword>" to find commits related to the concern
  • Look for: when the pattern was established, whether it's evolved, any recent changes or migrations from one approach to another

Git history reveals whether a pattern is settled or in flux — critical context before you build on top of it.

Step 3: Map What You Found

Report the findings in this order:

The pattern — describe the primary approach in plain English. One paragraph. "This codebase handles X by doing Y." If there's a clear convention, name it. If there are multiple approaches, name each.

Where it lives — list the key files and locations, grouped logically:

  • Configuration (initializers, middleware, config)
  • Base-level setup (ApplicationController, ApplicationRecord, etc.)
  • Implementation files (services, concerns, models, specific controllers)
  • Tests (how is this concern tested?)

For each file, include the path and a one-line description of its role.

The conventions — what rules does this codebase follow for this concern? Be specific:

  • Is there a consistent pattern, or multiple approaches?
  • Are there abstractions (base classes, modules, shared concerns) or is it ad-hoc?
  • What naming conventions are used?
  • Is there test coverage for this concern?

Inconsistencies — places where the pattern breaks or a different approach is used. Not a judgment — just "here's where it's different and what's different about it." These are the spots where you'd want to understand why before extending the pattern.

Git context — is this pattern stable, evolving, or recently changed? Any ongoing migrations or recent refactors worth knowing about?

How to extend it — given what exists, what's the right way to add to or build on this pattern? Follow the existing convention unless there's a good reason not to. Name the specific file or directory where new code should go, and the pattern it should follow.


Output Format

Report in plain prose with clear headings. Include file paths for every reference. This is a research artifact — it should be useful as a reference doc for anyone working in this area of the codebase.

Tone

Thorough and neutral. You're an archaeologist, not a critic. Report what exists, how it works, where it's consistent, and where it isn't. Save opinions for the "how to extend it" section — and even there, ground the recommendation in what the codebase already does.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

challenge

免费

Pressure-test an assumption, decision, or inherited constraint — Socratic cross-examination that forces you to defend or abandon your position

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

explain

免费

Explain what a piece of code does — a specific file, class, or method in close detail, or a user-facing flow as a concise system overview. What it does and why, not whether it's good.

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

Take one new feature slice from idea to reviewed, committed code in a single guided pass — scope it into the smallest shippable slice, build it test-first with strict TDD, review and fix the diff, then commit it. Chains slice → test-driven-development → the built-in /code-review → git-commit. Not for reviewing an existing PR, upgrades, or open-ended design questions.

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

Turn the working changes into one or more atomic commits with well-written messages. Use whenever the user runs /git-commit or asks to commit their work, wrap up a feature, or "commit what I have."

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

hard-news

免费

Prepare to deliver difficult technical news to a client — a conversational prep session before the hard conversation happens

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

offboard

免费

Walk through the Designer/Developer wrap-up checklist for offboarding a client engagement — conversationally, one item at a time.

中文简介正在准备中。当前显示原文说明。

thoughtbot/rails-consultant262026年9月19日 更新

查看 thoughtbot 的全部技能

报告此技能的问题