跳到正文
cccskills
免费在 GitHub 公开

ln-design

Explore radically different module shapes before committing to one. Use when choosing an API surface, deciding what a module hides vs exposes, or when the user says 'design it twice'.

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

查看安装方法

包含的文件(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

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

Ln Design

Apply Ousterhout's "Design It Twice": generate 3+ radically different module shapes, compare on depth, and synthesize. The goal is deep modules — small interfaces hiding significant complexity. Do not implement; this is purely about the shape of the seam.

Use ln-design as the deepening pathway from ln-review: when review surfaces a shallow module or weak seam, explore alternative deepened module shapes here before routing to ln-scope or ln-refactor.

Input

The module or API boundary: $ARGUMENTS

Procedure

1. Gather requirements

Understand the problem, the callers, the key operations, constraints, and — crucially — what complexity should be hidden inside vs exposed. If this design follows an ln-review deepening candidate, start from that candidate's files, problem, possible direction, and benefits. Skip steps you already know the answer to.

Read memory/SPEC.md first when it exists. Use its lexicon for domain terms and respect its live assumptions, decisions, and invariants. Read memory/PLAN.md when the seam touches active or near-horizon work.

2. Generate designs (parallel sub-agents)

Spawn 3+ sub-agents simultaneously. Each must produce a radically different shape — enforce this by assigning divergent constraints:

  • "Minimize method count — aim for 1–3 methods max"
  • "Maximize flexibility — support many use cases"
  • "Optimize for the most common case"
  • "Take inspiration from [specific paradigm or library]"

Each agent returns: interface (types, methods, params, invariants, ordering constraints, error modes, required configuration, and performance characteristics), usage example, what it hides, seam / adapter strategy where relevant, and trade-offs.

3. Present and compare

Show each design sequentially, then compare in prose on:

  • Depth (Ousterhout's depth test): small interface hiding significant complexity (good) vs large interface with thin implementation (bad)
  • Locality: whether change, bugs, knowledge, and verification concentrate behind the seam
  • Leverage: what callers get per fact they must learn about the interface
  • Ease of correct use vs ease of misuse
  • General-purpose vs specialized: flexibility vs focus
  • Implementation efficiency: does the shape allow efficient internals?

Highlight where designs diverge most.

4. Synthesize

The best design often combines insights from multiple options. Ask which shape best fits the primary use case and whether elements from other designs are worth incorporating.

Output

Present the recommended module shape with rationale. If memory/SPEC.md exists, ensure names align with its lexicon.

Do not invent a standalone design document unless the user explicitly asks for one. Durable design choices reconcile back into memory/SPEC.md and memory/PLAN.md.

Routing

After choosing a design, present these options to the user (use tool-ask-question):

#LabelTargetWhy
1Scope a sliceln-scopeDesign is chosen, define the first slice
2Write a specln-specModule needs a full spec before slicing
3Grill it moreln-grillDesign choice raised new questions

Recommended: 1


Adapted from mattpocock/skills/design-an-interface.

评价

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

评论

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

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

提交后会立即公开。请勿填写邮箱、电话等个人信息。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 的全部技能

报告此技能的问题