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

formula-detangler

Untangle the spreadsheet formula nobody dares touch — decompose the seven-function nest into named readable steps, explain what it actually does (vs…

不碰外部(只输出文字)无严重或高危命中mohitagw15856/pm-claude-skills

它会碰到什么

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

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

技能内容

Formula Detangler Skill

Every long-lived sheet grows one: the 400-character nest of IFs inside IFERROR inside INDEX-MATCH that one departed analyst understood — now load-bearing, feared, and edited by no one. Detangling is decompilation: read it inside-out, name each layer's job in plain language, check the believed behavior against the actual (the gaps are where the sheet has been quietly wrong), then rebuild as steps a successor can read — helper columns with named headers beat heroic one-liners in every sheet that outlives its author.

What This Skill Produces

  • The decode — the formula's actual behavior in plain language, layer by layer
  • The believed-vs-actual gaps — where what it does differs from what the team thinks it does (the silent-wrong findings)
  • The decomposition — the nest split into named helper-column steps, each testable alone
  • The rebuild — modern equivalents (LOOKUP-family upgrades, IFS over IF-chains) where the platform allows, with the migration check

Required Inputs

Ask for these if not provided:

  • The formula, verbatim — and the cells/ranges it references (the decode reads the actual text, not a description)
  • The believed behavior — what the team thinks it does ("it pulls the latest price for the customer's tier") — the decode is diffed against this, and the diff is often the payoff
  • The platform — Excel/Sheets and roughly the version; rebuild options (XLOOKUP, LET, IFS, dynamic arrays) depend on it
  • The blast radius — what reads this cell; rebuilds get verified against current outputs before anything switches over

Framework: The Detangle Rules

  1. Read inside-out, name each layer: innermost function first — "MATCH finds the customer's row" → "INDEX pulls that row's price" → "IFERROR hides when the customer's missing" — each layer gets one plain sentence. The decode is these sentences in order, and writing them usually surfaces the surprise.
  2. IFERROR is where sins hide: every error-suppression layer gets interrogated — what error, from what cause, and is hiding it right? IFERROR-to-blank routinely masks broken lookups as legitimate empties; the decode names what's being swallowed, because that's usually the believed-vs-actual gap.
  3. Decompose to helper columns: each named layer becomes a column with a header saying its job (_customer_row, _tier_price, _final_with_fallback) — individually inspectable, individually testable, and readable by the next person as documentation. Hide or group the helpers if aesthetics demand; never re-inline them to look clever.
  4. Rebuild with the platform's decade: IF-chains → IFS · nested VLOOKUP acrobatics → XLOOKUP/INDEX-MATCH with explicit if-not-found · repeated subexpressions → LET (names inside the formula) where available. Modern functions exist precisely to make yesterday's nests unnecessary.
  5. Verify by parallel run: the rebuild lives beside the original across the real data; a diff column proves equivalence (or surfaces the original's bugs — findings, not failures, and they route to the believed-vs-actual report before anyone "fixes" the rebuild to match old wrongness). Only then does the switchover happen, original commented/parked per [spreadsheet-audit](../spreadsheet-audit/SKILL.md) hygiene.

Output Format

Detangle: [cell/formula name]

The Decode (inside-out)

[Layer → plain sentence, in order · the one-paragraph summary of what it actually does]

Believed vs Actual

| The team thinks | It actually | Consequence |

|---|---|---|

[Including every IFERROR's swallowed cases]

The Decomposition

[Helper columns: name · job · formula — each testable alone]

The Rebuild + Verification

[Modern version · the parallel-run diff result · switchover only on clean diff (or documented divergence-is-the-old-bug)]

Quality Checks

  • [ ] Every layer has its plain-language sentence
  • [ ] Every error-suppression names what it swallows
  • [ ] Helper columns carry job-stating headers
  • [ ] The rebuild was parallel-run against real data before switchover
  • [ ] Diffs were investigated as possible original-bugs, not auto-matched

Anti-Patterns

  • [ ] Do not "fix" before decoding — editing a formula you can't narrate is surgery blindfolded
  • [ ] Do not preserve heroic one-liners for pride — maintainability is the requirement; cleverness was the problem
  • [ ] Do not let IFERROR survive uninterrogated — silent blanks are how sheets lie politely
  • [ ] Do not match the rebuild to the original's bugs — believed-vs-actual gaps get decided, not replicated
  • [ ] Do not switch over without the parallel diff — equivalence is demonstrated, never assumed

想直接用这个技能?

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

同名技能的其他版本

有 3 个不同仓库或目录里都有叫 formula-detangler 的技能。它们内容并不相同,别混用: