跳到主要内容
知仓学习社ZHICANG

thinking-triz

When two design requirements seem mutually exclusive, name the contradiction, separate conflicting states, then invent a concrete no-compromise reso…

不碰外部(只输出文字)无严重或高危命中tjboudreaux/cc-thinking-skills

它会碰到什么

扫了多少1 个文本文件,4 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

TRIZ

Resolve technical design contradictions without midpoint compromise. Name the conflict, separate the opposing states, and transform the system so both benefits hold.

When to Use

  • Architecture, API, or system parameters pull in opposite directions (stable vs evolving, fresh vs cached, strict vs frictionless).
  • You are about to accept a trade-off because "you can't have both."
  • Every candidate solution shares the same structural weakness—the conflict is in the requirements, not the options list.

When NOT to Use

  • One option is simply better under stated constraints → pick it; do not manufacture a contradiction.
  • A cheap measurement shows which side actually matters → measure instead of inventing a separation.
  • A standard pattern already resolves it (cache-aside, CQRS, feature flags, versioning) → apply the pattern directly.
  • Non-technical people/org conflicts → out of scope; separation targets system parameters.
  • Ordinary prioritization or resource allocation without opposing states of the same parameter.

Procedure

  1. Name the contradiction in template form. Write: "We need [PARAMETER] to be [STATE_1] for [BENEFIT_1] BUT [STATE_2] for [BENEFIT_2]." If this form fails, stop—use another method.
  2. State the ideal final result (IFR). Describe both benefits held with minimal new machinery and no permanent midpoint sacrifice.
  3. Try separation before invention. Test, in order: time (different moments), space (different components/layers), condition (context, load, risk), scale (interface vs implementation, aggregate vs element). Keep the first separation that delivers both benefits without hidden compromise.
  4. If separation fails, apply an inventive transform. Prefer resource-light moves: segmentation, preliminary action, inversion (push/pull), intermediary, copying/replication, dynamization (flags/config), another dimension (metadata/versioning/events). Scan only principles that map to the named parameter conflict.
  5. Reuse existing resources first. Before adding services or stores, check data, traffic, headers, schedulers, and side effects already present that can carry the separation.
  6. Lock a concrete resolution and stop. Specify the design change, where each state lives, and how both benefits are preserved. Stop when a no-compromise design is stated, or when honest analysis shows only a constrained trade-off remains—then document the residual trade-off explicitly rather than forcing TRIZ theater.

Output

Emit a TRIZ resolution:

  • contradiction: parameter / state_1+benefit_1 / state_2+benefit_2
  • ideal_final_result: both benefits without permanent compromise
  • separation_tried: time | space | condition | scale → result each
  • inventive_move: principle or pattern used if separation alone was insufficient (or none)
  • resources_reused: existing capabilities leveraged
  • resolution: concrete design decision and where each state holds
  • residual_tradeoff: none, or the honest remaining compromise

Verification

  • Template gate: if the contradiction cannot be written in the required form, do not apply TRIZ.
  • No-compromise check: a pure midpoint on the trade-off curve without a separation or inventive move is a failed application.
  • Separation-first: principles without attempted time/space/condition/scale separation are incomplete.
  • Over-application guard: if measurement or a standard pattern settles the design, skip TRIZ.
  • Stop: one named contradiction → separation/inventive pass → concrete resolution; do not cycle principles as decoration.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。