{
  "schemaVersion": "1.0",
  "item": {
    "slug": "reducing-entropy",
    "name": "Reducing Entropy",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/wpank/reducing-entropy",
    "canonicalUrl": "https://clawhub.ai/wpank/reducing-entropy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/reducing-entropy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=reducing-entropy",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/data-over-abstractions.md",
      "references/design-is-taking-apart.md",
      "references/expensive-to-add-later.md",
      "references/simplicity-vs-easy.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/reducing-entropy"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/reducing-entropy",
    "agentPageUrl": "https://openagent3.xyz/skills/reducing-entropy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/reducing-entropy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/reducing-entropy/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Reducing Entropy",
        "body": "More code begets more code. Entropy accumulates. This skill biases toward the smallest possible codebase."
      },
      {
        "title": "WHAT This Skill Does",
        "body": "Provides a mindset and checklist for:\n\nEvaluating whether changes reduce or increase total code\nFinding opportunities to delete code\nResisting premature abstraction\nChoosing the simplest solution that solves the problem\n\nCore question: \"What does the codebase look like after?\""
      },
      {
        "title": "WHEN To Use",
        "body": "Activate this skill when:\n\nRefactoring code and considering options\nAdding a new feature and choosing implementation approach\nReviewing PRs to challenge unnecessary complexity\nPaying down tech debt and prioritizing what to simplify\nUser explicitly asks for code reduction or simplification"
      },
      {
        "title": "The Goal",
        "body": "The goal is less total code in the final codebase — not less code to write right now.\n\nScenarioVerdictWriting 50 lines that delete 200 linesNet win ✓Keeping 14 functions to avoid writing 2Net loss ✗\"Better organized\" but more codeMore entropy ✗\"More flexible\" but more codeMore entropy ✗\"Cleaner separation\" but more codeMore entropy ✗\n\nMeasure the end state, not the effort."
      },
      {
        "title": "Before You Begin",
        "body": "Load a mindset from references/:\n\nList files in references/\nRead frontmatter descriptions\nPick at least one that applies\nState which you loaded and its core principle\n\nAvailable mindsets:\n\nsimplicity-vs-easy.md — Simple is objective; easy is subjective. Choose simple.\ndesign-is-taking-apart.md — Good design separates concerns, removes dependencies.\ndata-over-abstractions.md — 100 functions on one structure beats 10 on 10.\nexpensive-to-add-later.md — When YAGNI doesn't apply (PAGNI exceptions)."
      },
      {
        "title": "1. What's the smallest codebase that solves this?",
        "body": "Not \"what's the smallest change\" — what's the smallest result.\n\nCould this be 2 functions instead of 14?\nCould this be 0 functions (delete the feature)?\nWhat would we delete if we did this?"
      },
      {
        "title": "2. Does the proposed change result in less total code?",
        "body": "Count lines before and after. If after > before, challenge it.\n\nBefore: 847 lines across 12 files\nAfter:  623 lines across 8 files\nVerdict: ✓ Net reduction of 224 lines"
      },
      {
        "title": "3. What can we delete?",
        "body": "Every change is an opportunity to delete. Ask:\n\nWhat does this make obsolete?\nWhat was only needed because of what we're replacing?\nWhat's the maximum we could remove?"
      },
      {
        "title": "Red Flags",
        "body": "PhraseWhat It HidesChallenge\"Keep what exists\"Status quo bias\"Total code is the metric, not churn\"\"This adds flexibility\"Speculative generality\"Flexibility for what? Is it needed now?\"\"Better separation of concerns\"More files = more code\"Separation isn't free. Worth how many lines?\"\"Type safety\"Sometimes bloats code\"Worth how many lines? Could runtime checks work?\"\"Easier to understand\"More things ≠ easier\"14 things are not easier than 2 things\"\"This is the pattern\"Pattern worship\"Does the pattern fit, or are we forcing it?\"\"We might need this later\"YAGNI violation\"Delete it. Git remembers.\""
      },
      {
        "title": "Deletion Checklist",
        "body": "Before completing any refactor, ask:\n\nDid I count lines before and after?\n Did I delete everything this change makes obsolete?\n Did I remove any now-unnecessary abstractions?\n Did I consolidate files that are too small to stand alone?\n Did I delete tests for deleted code?\n Did I update imports to remove dead dependencies?"
      },
      {
        "title": "When This Doesn't Apply",
        "body": "The codebase is already minimal for what it does\nYou're in a framework with strong conventions (don't fight it)\nRegulatory/compliance requirements mandate certain structures\nThe \"simpler\" version would be genuinely unmaintainable (rare)"
      },
      {
        "title": "NEVER Do",
        "body": "NEVER keep code \"in case we need it\" — delete it; git has history\nNEVER add abstractions for fewer than 3 use cases — wait for the pattern to emerge\nNEVER create new files for single functions — colocate with usage\nNEVER preserve code just because someone wrote it — evaluate on merit\nNEVER accept \"more organized\" as justification for more code — organization should reduce, not increase\nNEVER skip the line count — measure before and after; feelings lie\nNEVER add \"flexibility\" without immediate need — YAGNI applies\nNEVER refactor without deleting something — if nothing becomes obsolete, question the value"
      },
      {
        "title": "Quick Wins",
        "body": "PatternActionWrapper that just forwards callsInline the wrapped codeConfig file with 2 settingsMove to environment variablesUtils file with 1 functionMove function to where it's usedInterface with 1 implementationDelete the interfaceAbstract class with 1 subclassMerge into concrete classModule that re-exports everythingDelete; import from sourceComments explaining obvious codeDelete comments; code is clear"
      },
      {
        "title": "The Grug Perspective",
        "body": "\"complexity very very bad. say again: complexity very bad. you think you not, but you are.\"\n\nGrug brain developer knows:\n\nComplexity demon hides in abstraction\nMore code = more bugs = more complexity\nBest code is no code\nSecond best code is simple code\nIf you can't understand it in your head, it's too complex"
      },
      {
        "title": "References",
        "body": "Philosophical foundations for simplicity thinking:\n\nReferenceCore Principlesimplicity-vs-easy.mdSimple (objective) vs easy (subjective) — choose simpledesign-is-taking-apart.mdGood design separates; composition beats constructiondata-over-abstractions.mdGeneric data + many functions beats many custom typesexpensive-to-add-later.mdPAGNI exceptions — what you probably are gonna need\n\nExternal resources:\n\nSimple Made Easy — Rich Hickey\nThe Grug Brained Developer\nOut of the Tar Pit — Moseley & Marks"
      }
    ],
    "body": "Reducing Entropy\n\nMore code begets more code. Entropy accumulates. This skill biases toward the smallest possible codebase.\n\nWHAT This Skill Does\n\nProvides a mindset and checklist for:\n\nEvaluating whether changes reduce or increase total code\nFinding opportunities to delete code\nResisting premature abstraction\nChoosing the simplest solution that solves the problem\n\nCore question: \"What does the codebase look like after?\"\n\nWHEN To Use\n\nActivate this skill when:\n\nRefactoring code and considering options\nAdding a new feature and choosing implementation approach\nReviewing PRs to challenge unnecessary complexity\nPaying down tech debt and prioritizing what to simplify\nUser explicitly asks for code reduction or simplification\nThe Goal\n\nThe goal is less total code in the final codebase — not less code to write right now.\n\nScenario\tVerdict\nWriting 50 lines that delete 200 lines\tNet win ✓\nKeeping 14 functions to avoid writing 2\tNet loss ✗\n\"Better organized\" but more code\tMore entropy ✗\n\"More flexible\" but more code\tMore entropy ✗\n\"Cleaner separation\" but more code\tMore entropy ✗\n\nMeasure the end state, not the effort.\n\nBefore You Begin\n\nLoad a mindset from references/:\n\nList files in references/\nRead frontmatter descriptions\nPick at least one that applies\nState which you loaded and its core principle\n\nAvailable mindsets:\n\nsimplicity-vs-easy.md — Simple is objective; easy is subjective. Choose simple.\ndesign-is-taking-apart.md — Good design separates concerns, removes dependencies.\ndata-over-abstractions.md — 100 functions on one structure beats 10 on 10.\nexpensive-to-add-later.md — When YAGNI doesn't apply (PAGNI exceptions).\nThree Questions\n1. What's the smallest codebase that solves this?\n\nNot \"what's the smallest change\" — what's the smallest result.\n\nCould this be 2 functions instead of 14?\nCould this be 0 functions (delete the feature)?\nWhat would we delete if we did this?\n2. Does the proposed change result in less total code?\n\nCount lines before and after. If after > before, challenge it.\n\nBefore: 847 lines across 12 files\nAfter:  623 lines across 8 files\nVerdict: ✓ Net reduction of 224 lines\n\n3. What can we delete?\n\nEvery change is an opportunity to delete. Ask:\n\nWhat does this make obsolete?\nWhat was only needed because of what we're replacing?\nWhat's the maximum we could remove?\nRed Flags\nPhrase\tWhat It Hides\tChallenge\n\"Keep what exists\"\tStatus quo bias\t\"Total code is the metric, not churn\"\n\"This adds flexibility\"\tSpeculative generality\t\"Flexibility for what? Is it needed now?\"\n\"Better separation of concerns\"\tMore files = more code\t\"Separation isn't free. Worth how many lines?\"\n\"Type safety\"\tSometimes bloats code\t\"Worth how many lines? Could runtime checks work?\"\n\"Easier to understand\"\tMore things ≠ easier\t\"14 things are not easier than 2 things\"\n\"This is the pattern\"\tPattern worship\t\"Does the pattern fit, or are we forcing it?\"\n\"We might need this later\"\tYAGNI violation\t\"Delete it. Git remembers.\"\nDeletion Checklist\n\nBefore completing any refactor, ask:\n\n Did I count lines before and after?\n Did I delete everything this change makes obsolete?\n Did I remove any now-unnecessary abstractions?\n Did I consolidate files that are too small to stand alone?\n Did I delete tests for deleted code?\n Did I update imports to remove dead dependencies?\nWhen This Doesn't Apply\nThe codebase is already minimal for what it does\nYou're in a framework with strong conventions (don't fight it)\nRegulatory/compliance requirements mandate certain structures\nThe \"simpler\" version would be genuinely unmaintainable (rare)\nNEVER Do\nNEVER keep code \"in case we need it\" — delete it; git has history\nNEVER add abstractions for fewer than 3 use cases — wait for the pattern to emerge\nNEVER create new files for single functions — colocate with usage\nNEVER preserve code just because someone wrote it — evaluate on merit\nNEVER accept \"more organized\" as justification for more code — organization should reduce, not increase\nNEVER skip the line count — measure before and after; feelings lie\nNEVER add \"flexibility\" without immediate need — YAGNI applies\nNEVER refactor without deleting something — if nothing becomes obsolete, question the value\nQuick Wins\nPattern\tAction\nWrapper that just forwards calls\tInline the wrapped code\nConfig file with 2 settings\tMove to environment variables\nUtils file with 1 function\tMove function to where it's used\nInterface with 1 implementation\tDelete the interface\nAbstract class with 1 subclass\tMerge into concrete class\nModule that re-exports everything\tDelete; import from source\nComments explaining obvious code\tDelete comments; code is clear\nThe Grug Perspective\n\n\"complexity very very bad. say again: complexity very bad. you think you not, but you are.\"\n\nGrug brain developer knows:\n\nComplexity demon hides in abstraction\nMore code = more bugs = more complexity\nBest code is no code\nSecond best code is simple code\nIf you can't understand it in your head, it's too complex\nReferences\n\nPhilosophical foundations for simplicity thinking:\n\nReference\tCore Principle\nsimplicity-vs-easy.md\tSimple (objective) vs easy (subjective) — choose simple\ndesign-is-taking-apart.md\tGood design separates; composition beats construction\ndata-over-abstractions.md\tGeneric data + many functions beats many custom types\nexpensive-to-add-later.md\tPAGNI exceptions — what you probably are gonna need\n\nExternal resources:\n\nSimple Made Easy — Rich Hickey\nThe Grug Brained Developer\nOut of the Tar Pit — Moseley & Marks"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wpank/reducing-entropy",
    "publisherUrl": "https://clawhub.ai/wpank/reducing-entropy",
    "owner": "wpank",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/reducing-entropy",
    "downloadUrl": "https://openagent3.xyz/downloads/reducing-entropy",
    "agentUrl": "https://openagent3.xyz/skills/reducing-entropy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/reducing-entropy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/reducing-entropy/agent.md"
  }
}