跳到正文
cccskills
免费在 GitHub 公开

ln-review

Audit code quality focusing on deep modules, naming, model hygiene, and architectural clarity. Use after a burst of development, when codebase structure needs assessment, or to make code more agent-navigable.

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

查看安装方法

包含的文件(1)

  • SKILL.md6.5 KB

SKILL.md(原文)

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

Ln Review

Explore the codebase. Surface structural improvement opportunities. Be opinionated.

Use the repo's pre-release posture: reward conceptual clarity over compatibility scaffolding, and treat unnecessary preservation as review debt. Look for stale code, obsolete fixtures, legacy terms, and compatibility paths that should be deleted rather than protected.

Input

What to review: $ARGUMENTS

If "recent" or unspecified, focus on recently modified files.

What to look for

Read memory/SPEC.md first when it exists. Use its lexicon for domain terms, and treat the live architecture register as the current decision record. Read memory/PLAN.md for active frontier context when the reviewed area touches active or near-horizon work. If ADRs or design docs exist in the touched area, respect them as supporting context, but do not introduce ADRs or sidecar decision logs by default; durable updates reconcile through memory/SPEC.md / memory/PLAN.md.

Apply Ousterhout's depth test: modules should have small interfaces hiding significant complexity. Modules that move together should live together — clusters of small files always used in concert are a single deep module waiting to be extracted.

Use the deletion test for suspected shallow modules: if deleting the module makes complexity vanish, it was pass-through structure; if the same complexity reappears across multiple callers, the module was earning its keep. Prefer depth as leverage/locality, not line-count ratio.

Treat the interface as the test surface. The interface is everything callers must know to use the module correctly: types, invariants, ordering constraints, error modes, required configuration, and performance characteristics. If callers or tests must reach past the interface to verify important behavior, the module shape is probably wrong. A good seam lets tests and callers cross the same public boundary.

Apply seam discipline: one adapter usually means a hypothetical seam; two adapters make a real seam. Flag indirection introduced only for imagined future variation, especially when it spreads configuration, mocks, or ordering knowledge into callers.

When a finding is a deepening opportunity, present it as a candidate rather than a detailed design. Name the current shallow module shape, the deepened module that might replace it, what complexity would move behind the seam, and why that would improve locality, leverage, and the test surface. Do not propose detailed interfaces in ln-review; route selected deepening candidates to ln-design before scoping or refactoring.

Check the functional core / imperative shell boundary (Gary Bernhardt, "Boundaries"). Pure functions should stay pure. Flag when a pure function has acquired side effects or a growing parameter list — it has drifted into shell territory.

Make invalid states unrepresentable (Yaron Minsky). Split optional fields into distinct types. Use branded types for domain-distinct values.

Oracle coverage

If memory/SPEC.md §Oracle Strategy by Loop Tier exists, check whether recent work implemented the oracles declared by the relevant memory/PLAN.md frontier definition. If a full or light scope card is available in session context, use it as a higher-resolution slice supplement, not the primary source of truth. Look for:

  • Scope card promised schema validation → is there a Zod parse in the test?
  • Scope card promised differential oracle → are there golden master fixtures?
  • Scope card promised round-trip oracle → is there a persist-then-query test?
  • memory/SPEC.md §Acknowledged Blind Spots → has anything changed that should promote a blind spot to "needs an oracle now"?

Collect gaps as numbered findings (category: oracle-coverage).

Lexicon alignment

If memory/SPEC.md exists, survey how §Lexicon terms (both method and domain) appear across:

  • Symbols: variable names, function names, class/type names, module names
  • Comments: inline comments, docstrings, JSDoc, type annotations
  • Files and paths: file names, directory structure, import paths
  • Documentation: READMEs, inline docs, config descriptions

Collect misalignments as numbered findings (category: naming) with the canonical term, where the deviation occurs, and what it should be. Format these so they can be passed directly to ln-refactor.

Output

Present findings as numbered candidates. Use the compact form for ordinary findings:

## Review: [area]

1. **[Description]** — [category: depth|naming|model|coupling|seam|oracle-coverage] — [impact: low|medium|high]
   [1-2 sentence explanation and suggested action]

2. ...

Use the deepening form when the finding is a shallow-module or weak-seam opportunity:

1. **[Deepening candidate]** — [category: depth|seam|coupling|testability] — [impact: low|medium|high]
   **Files** — [modules/files involved]
   **Problem** — [why the current module shape causes friction]
   **Possible direction** — [plain English target shape; no detailed interface yet]
   **Benefits** — [locality, leverage, and test-surface improvement]

Recommend the highest-impact improvement.

Routing

After presenting findings, present these options to the user (use tool-ask-question):

#LabelTargetWhy
1Scope a fixln-scopeA finding warrants a planned slice
2Explore a deepening designln-designA selected candidate needs seam/interface design before scoping or refactoring
3Plan a refactorln-refactorMultiple findings need coordinated restructuring
4Back to triageln-consultReview complete, no immediate action needed

Recommended: 2 if the highest-impact finding is a deepening candidate, 1 if high-impact findings are concrete fixes, 4 otherwise.


Draws from mattpocock/skills/improve-codebase-architecture and theswerd/aicode/skills/self-documenting-code.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.

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

hashintel/brunch82026年10月17日 更新

Search the live web via Perplexity Search API. Use when you need current documentation, release notes, vendor pages, news, domain-constrained web search, or date/recency filtering. Not for local codebase search or stable docs already in context.

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

hashintel/brunch82026年10月17日 更新

cli-cdp

免费

Chrome DevTools CLI for browser automation via shell commands. Use when interacting with web pages from the command line — navigating, clicking, filling forms, inspecting console/network, taking screenshots, or extracting page content. Triggers on: browse a page, automate Chrome, inspect console, check network requests, take a screenshot, fill a form, click a button.

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

hashintel/brunch82026年10月17日 更新

Uses the chrome-devtools-axi CLI for browser automation, accessibility-tree snapshots, console and network inspection, screenshots, Lighthouse audits, and performance traces. Use when interacting with Chrome from the shell, especially when the user mentions chrome-devtools-axi, AX snapshots, browser debugging, or DevTools automation from the command line.

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

hashintel/brunch82026年10月17日 更新

cli-cmux

免费

Deep expertise in cmux — the terminal multiplexer with native browser views. Use when managing panes, reading terminal output, sending keystrokes, opening browser views, or manually testing web UIs and TUIs inside cmux. Triggers on: cmux, open a browser pane, split terminal, read screen, send keys, test this UI in cmux, preview in cmux.

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

hashintel/brunch82026年10月17日 更新

Uses the gh-axi CLI for GitHub shell operations: issue, pull request, workflow run, release, repo, search, and API tasks. Prefer this over regular `gh` for GitHub reads and simple mutations when an agent needs compact, structured, suggestion-rich output. Triggers on: gh, GitHub CLI, github issue, github pr, pull request, workflow run, github release, gh api, repo inspection, list PRs, view issue, check workflow runs, inspect repo, GitHub shell operations.

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

hashintel/brunch82026年10月17日 更新

查看 hashintel 的全部技能

报告此技能的问题