本文へ移動
cccskills
無料GitHub で公開

abstraction-laws

Law-driven abstraction protocol: evidence first, seam test, minimal algebra, executable law check.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md2.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Abstraction Laws

When to use

  • You see the same code shape in 3+ places and want to unify it.
  • Refactors stall on “how general should this be?”.
  • Parameter clusters repeat across modules.
  • Algebraic cues show up (map/fold/compose, identity/associativity, combine/merge ops).

Quick start

  1. Collect 3+ concrete instances (file:line).
  2. Classify similarity: essential (domain) vs accidental (incidental implementation).
  3. Run the seam test (can callers stay ignorant of the concrete variant?).
  4. Name the abstraction by behavior.
  5. If algebraic, pick the minimal construction and add one executable law check.

Evidence table

| Instance | Location | Shared Shape | Variance Point |
|----------|----------|--------------|----------------|
| A        | file:line| ...          | ...            |
| B        | file:line| ...          | ...            |
| C        | file:line| ...          | ...            |

Essential vs accidental

  • Essential: the shared shape exists because of domain rules.
  • Accidental: the shared shape exists because of today’s implementation.
  • If accidental, prefer duplication (or a smaller helper) until the domain forces convergence.

Seam test (yes/no)

  1. Can callers use the abstraction without knowing the concrete variant?
  2. Can you describe it in one sentence without naming a current implementation?
  3. Would a new instance fit without adding flags or branching?

If any answer is “no”, extract a smaller helper or keep duplication.

Abstraction template

Name: <behavioral name>
Fixed parts:
- ...
Variance points:
- ...
Interface sketch:
- ...
Break-glass:
- <next likely change that makes this harmful>

Universalist pass (only if algebraic)

Map to the smallest construction:

  • Product (record/struct) for independent fields
  • Coproduct (tagged union) for alternatives
  • Semigroup/monoid for combine operations
  • Functor/applicative/monad only if you can state and test the laws

Law check (make it executable)

Pick one and implement it where the repo can run it:

  • Identity: op(x, identity) == x
  • Associativity: op(a, op(b, c)) == op(op(a, b), c)
  • Functor identity: map(id, x) == x
  • Functor composition: map(f, map(g, x)) == map(compose(f, g), x)

Verification:

  • Prefer property tests if the repo already has them.
  • Otherwise add a small set of representative cases (include an edge case).

Deliverable format

  • Evidence table (3+ instances).
  • Essential vs accidental verdict.
  • Proposed abstraction (fixed vs variance points) + break-glass scenario.
  • One executable law check.

Activation cues

  • "this looks like that"
  • "duplicate pattern"
  • "shared shape"
  • "extract abstraction"
  • "monoid/fold/compose"

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Master backend architectures, REST API design, microservices, and server-side development across multiple languages. Use this as a central index to access specialized sub-skills.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

在每次回复中使用固定前缀并列出本次实际参考的指令/文件,便于校验是否遵循上下文与规则。

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

[00] META. Orchestrate skills into dynamic chains for complex tasks. Analyzes the task, discovers available skills, builds an optimal chain, explains why each skill is needed, and executes step-by-step with user confirmation. Use for any complex task requiring multiple thinking/research/analysis steps. Triggers on "plan this", "how to approach", "what's the strategy", "build a plan", or any multi-step problem requiring skill orchestration.

日本語の概要は準備中です。原文の説明を表示しています。

MikeCheng1208/BattleTree22026年7月22日 更新

MikeCheng1208 のスキルをすべて見る

このスキルの問題を報告する