{
  "schemaVersion": "1.0",
  "item": {
    "slug": "decision-frameworks",
    "name": "Decision Frameworks",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/wpank/decision-frameworks",
    "canonicalUrl": "https://clawhub.ai/wpank/decision-frameworks",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/decision-frameworks",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=decision-frameworks",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/decision-frameworks"
    },
    "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/decision-frameworks",
    "agentPageUrl": "https://openagent3.xyz/skills/decision-frameworks/agent",
    "manifestUrl": "https://openagent3.xyz/skills/decision-frameworks/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/decision-frameworks/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": "Decision Frameworks (Meta-Skill)",
        "body": "Structured approaches for making engineering decisions with confidence and traceability."
      },
      {
        "title": "OpenClaw / Moltbot / Clawbot",
        "body": "npx clawhub@latest install decision-frameworks"
      },
      {
        "title": "When to Use",
        "body": "Choosing between libraries, frameworks, or tools\nFacing a build-vs-buy decision\nSelecting an architecture pattern (monolith vs microservices, SQL vs NoSQL, etc.)\nMultiple valid options exist and the team needs alignment\nPrioritizing a backlog or technical roadmap\nDocumenting a significant technical decision for future reference"
      },
      {
        "title": "Decision Matrix Template",
        "body": "Use a weighted scoring matrix when comparing 3+ options across measurable criteria.\n\nCriteriaWeightOption AOption BOption CPerformance54 (20)3 (15)5 (25)Developer Experience45 (20)4 (16)3 (12)Community Support35 (15)3 (9)2 (6)Learning Curve33 (9)4 (12)2 (6)Cost25 (10)3 (6)4 (8)Total745857\n\nHow to use:\n\nList criteria relevant to the decision\nAssign weights (1-5) based on project priorities\nScore each option per criterion (1-5)\nMultiply score x weight, sum per option\nHighest total wins — but sanity-check the result against gut feel"
      },
      {
        "title": "Build vs Buy Framework",
        "body": "Follow this decision tree:\n\nIs it a core differentiator for your product?\n├── YES → Build it (own the competitive advantage)\n└── NO\n    ├── Does a mature, well-maintained solution exist?\n    │   ├── YES → Buy / adopt it\n    │   └── NO → Build, but keep it minimal\n    └── Is the integration cost higher than building?\n        ├── YES → Build\n        └── NO → Buy / adopt\n\nFactor comparison:\n\nFactorBuildBuy / AdoptMaintenance costOngoing — your team owns itVendor/community maintains itCustomizationUnlimited flexibilityLimited to extension pointsTime to marketSlower — development requiredFaster — ready-madeTeam expertiseMust have or acquire skillsAbstracted awayLong-term costScales with internal capacityLicense/subscription feesVendor lock-in riskNoneMedium to highSecurity controlFull audit capabilityDependent on vendor transparency"
      },
      {
        "title": "Library / Framework Selection",
        "body": "Evaluate candidate libraries against these criteria before adopting:\n\nCriterionWhat to CheckRed FlagMaintenance activityCommits in last 90 days, open issues trendNo commits in 6+ monthsCommunity sizeGitHub stars, npm weekly downloads, Discord/forum< 1k weekly downloads for critical libBundle sizeBundlephobia, tree-shaking support> 50 KB gzipped for a utility libTypeScript supportBuilt-in types vs DefinitelyTyped, type qualityNo types or outdated @typesBreaking change historyChangelog, semver adherence, migration guidesFrequent majors without guidesLicenseOSI-approved, compatible with your projectAGPL in a SaaS product, no licenseSecurity auditSnyk/Socket score, CVE history, dependency depthKnown unpatched CVEsDocumentation qualityGetting started guide, API reference, examplesREADME-only, no examples\n\nQuick heuristic: If you cannot replace the library within one sprint, treat the decision as a one-way door (see Reversibility Check below)."
      },
      {
        "title": "Architecture Decision Framework",
        "body": "Use these tradeoff tables when choosing between architectural approaches."
      },
      {
        "title": "Monolith vs Microservices",
        "body": "FactorMonolithMicroservicesComplexityLow at start, grows over timeHigh from day oneDeploymentSingle artifactIndependent per serviceTeam scalingHarder beyond 10-15 engineersEnables autonomous teamsData consistencyACID transactionsEventual consistency, sagasDebuggingSingle process, easy tracingDistributed tracing requiredBest whenEarly-stage, small team, MVPProven domain boundaries, scale needs"
      },
      {
        "title": "SQL vs NoSQL",
        "body": "FactorSQL (Relational)NoSQL (Document/Key-Value)SchemaStrict, enforcedFlexible, schema-on-readRelationshipsNative joins, foreign keysDenormalized, application-level joinsScalingVertical (read replicas help)Horizontal by designConsistencyStrong (ACID)Tunable (eventual to strong)Query flexibilityAd-hoc queries, aggregationsLimited to access patternsBest whenComplex relations, reportingHigh write volume, flexible schema"
      },
      {
        "title": "REST vs GraphQL",
        "body": "FactorRESTGraphQLSimplicitySimple, well-understoodSchema definition requiredOver/under-fetchingCommon — multiple endpointsClients request exact fieldsCachingHTTP caching built-inRequires custom caching layerToolingMature ecosystemGrowing — Apollo, Relay, urqlVersioningURL or header versioningSchema evolution, deprecationBest whenCRUD APIs, public APIsComplex UIs, mobile + web clients"
      },
      {
        "title": "SSR vs CSR vs SSG",
        "body": "FactorSSRCSRSSGInitial loadFast (HTML from server)Slow (JS bundle parse)Fastest (pre-built HTML)SEOExcellentPoor without hydrationExcellentBest whenPersonalized pagesDashboards, SPAsBlogs, docs, marketing"
      },
      {
        "title": "Monorepo vs Polyrepo",
        "body": "FactorMonorepoPolyrepoCode sharingTrivial — same repoRequires published packagesCI/CD complexityNeeds smart filtering (Turborepo)Simple per-repo pipelinesBest whenShared libs, aligned releasesIndependent teams, different stacks"
      },
      {
        "title": "Priority Matrices — RICE Scoring",
        "body": "Score and rank features/tasks:\n\nRICE Score = (Reach x Impact x Confidence) / Effort\n\nFactorScaleReachNumber of users/events affected per quarterImpact3 = massive, 2 = high, 1 = medium, 0.5 = low, 0.25 = minimalConfidence100% = high, 80% = medium, 50% = lowEffortPerson-weeks (or person-sprints)"
      },
      {
        "title": "MoSCoW Method",
        "body": "CategoryMeaningBudget TargetMustNon-negotiable for this release~60% of effortShouldImportant but not critical~20% of effortCouldDesirable if time permits~15% of effortWon'tExplicitly out of scope (this time)~5% (planning)"
      },
      {
        "title": "Reversibility Check",
        "body": "Classify every significant decision as a one-way or two-way door.\n\nAspectOne-Way Door (Type 1)Two-Way Door (Type 2)DefinitionIrreversible or very costly to undoEasily reversed with low costExamplesDatabase engine migration, public API contract, language rewriteUI framework for internal tool, feature flag experiment, library swap behind interfaceHow to identifyWould reverting require > 1 sprint of rework? Data migration? Customer communication?Can you revert with a config change, flag toggle, or single PR?ApproachInvest in analysis, prototype, get stakeholder sign-offDecide fast, ship, measure, iterateTime to decideDays to weeks — thorough evaluationHours — bias toward action\n\nRule of thumb: Wrap risky choices behind interfaces/abstractions. This converts many one-way doors into two-way doors by isolating the implementation from consumers."
      },
      {
        "title": "ADR Template",
        "body": "Document significant decisions using a lightweight Architecture Decision Record.\n\n# ADR-NNNN: [Short Title]\n\n## Status\n[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]\n\n## Context\nWhat is the problem or situation that motivates this decision?\nInclude constraints, requirements, and forces at play.\n\n## Decision\nWhat is the change being proposed or adopted?\nState the decision clearly and concisely.\n\n## Consequences\n\n### Positive\n- [Benefit 1]\n- [Benefit 2]\n\n### Negative\n- [Tradeoff 1]\n- [Tradeoff 2]\n\n### Risks\n- [Risk and mitigation]\n\nStore in docs/adr/ or decisions/. Number sequentially. Never delete — mark superseded. Review during onboarding and quarterly audits."
      },
      {
        "title": "Anti-Patterns",
        "body": "Anti-PatternDescriptionCounterAnalysis ParalysisEndless evaluation, no decision madeSet a decision deadline; use the matrixHiPPOHighest Paid Person's Opinion overrides dataRequire data or a scored matrix for all optionsSunk Cost FallacyContinuing because of past investment, not future valueEvaluate options as if starting fresh todayBandwagon EffectChoosing because \"everyone uses it\"Score against your actual criteriaPremature OptimizationOptimizing before measuring or validating needProfile first; optimize only proven bottlenecksResume-Driven DevelopmentPicking tech to pad a resume, not to solve the problemAlign choices with team skills and project goalsNot Invented HereRejecting external solutions out of prideRun the Build vs Buy framework honestly"
      },
      {
        "title": "NEVER Do",
        "body": "NEVER skip writing down the decision — undocumented decisions get relitigated endlessly\nNEVER decide by committee without a single owner — assign a DRI (Directly Responsible Individual)\nNEVER treat all decisions as equal weight — classify by reversibility and impact first\nNEVER ignore second-order effects — ask \"and then what?\" at least twice\nNEVER lock in without an exit plan — define how you would migrate away before committing\nNEVER conflate familiarity with superiority — evaluate on criteria, not comfort\nNEVER defer a one-way door decision indefinitely — the cost of delay often exceeds the cost of a wrong choice"
      }
    ],
    "body": "Decision Frameworks (Meta-Skill)\n\nStructured approaches for making engineering decisions with confidence and traceability.\n\nInstallation\nOpenClaw / Moltbot / Clawbot\nnpx clawhub@latest install decision-frameworks\n\nWhen to Use\nChoosing between libraries, frameworks, or tools\nFacing a build-vs-buy decision\nSelecting an architecture pattern (monolith vs microservices, SQL vs NoSQL, etc.)\nMultiple valid options exist and the team needs alignment\nPrioritizing a backlog or technical roadmap\nDocumenting a significant technical decision for future reference\nDecision Matrix Template\n\nUse a weighted scoring matrix when comparing 3+ options across measurable criteria.\n\nCriteria\tWeight\tOption A\tOption B\tOption C\nPerformance\t5\t4 (20)\t3 (15)\t5 (25)\nDeveloper Experience\t4\t5 (20)\t4 (16)\t3 (12)\nCommunity Support\t3\t5 (15)\t3 (9)\t2 (6)\nLearning Curve\t3\t3 (9)\t4 (12)\t2 (6)\nCost\t2\t5 (10)\t3 (6)\t4 (8)\nTotal\t\t74\t58\t57\n\nHow to use:\n\nList criteria relevant to the decision\nAssign weights (1-5) based on project priorities\nScore each option per criterion (1-5)\nMultiply score x weight, sum per option\nHighest total wins — but sanity-check the result against gut feel\nBuild vs Buy Framework\n\nFollow this decision tree:\n\nIs it a core differentiator for your product?\n├── YES → Build it (own the competitive advantage)\n└── NO\n    ├── Does a mature, well-maintained solution exist?\n    │   ├── YES → Buy / adopt it\n    │   └── NO → Build, but keep it minimal\n    └── Is the integration cost higher than building?\n        ├── YES → Build\n        └── NO → Buy / adopt\n\n\nFactor comparison:\n\nFactor\tBuild\tBuy / Adopt\nMaintenance cost\tOngoing — your team owns it\tVendor/community maintains it\nCustomization\tUnlimited flexibility\tLimited to extension points\nTime to market\tSlower — development required\tFaster — ready-made\nTeam expertise\tMust have or acquire skills\tAbstracted away\nLong-term cost\tScales with internal capacity\tLicense/subscription fees\nVendor lock-in risk\tNone\tMedium to high\nSecurity control\tFull audit capability\tDependent on vendor transparency\nLibrary / Framework Selection\n\nEvaluate candidate libraries against these criteria before adopting:\n\nCriterion\tWhat to Check\tRed Flag\nMaintenance activity\tCommits in last 90 days, open issues trend\tNo commits in 6+ months\nCommunity size\tGitHub stars, npm weekly downloads, Discord/forum\t< 1k weekly downloads for critical lib\nBundle size\tBundlephobia, tree-shaking support\t> 50 KB gzipped for a utility lib\nTypeScript support\tBuilt-in types vs DefinitelyTyped, type quality\tNo types or outdated @types\nBreaking change history\tChangelog, semver adherence, migration guides\tFrequent majors without guides\nLicense\tOSI-approved, compatible with your project\tAGPL in a SaaS product, no license\nSecurity audit\tSnyk/Socket score, CVE history, dependency depth\tKnown unpatched CVEs\nDocumentation quality\tGetting started guide, API reference, examples\tREADME-only, no examples\n\nQuick heuristic: If you cannot replace the library within one sprint, treat the decision as a one-way door (see Reversibility Check below).\n\nArchitecture Decision Framework\n\nUse these tradeoff tables when choosing between architectural approaches.\n\nMonolith vs Microservices\nFactor\tMonolith\tMicroservices\nComplexity\tLow at start, grows over time\tHigh from day one\nDeployment\tSingle artifact\tIndependent per service\nTeam scaling\tHarder beyond 10-15 engineers\tEnables autonomous teams\nData consistency\tACID transactions\tEventual consistency, sagas\nDebugging\tSingle process, easy tracing\tDistributed tracing required\nBest when\tEarly-stage, small team, MVP\tProven domain boundaries, scale needs\nSQL vs NoSQL\nFactor\tSQL (Relational)\tNoSQL (Document/Key-Value)\nSchema\tStrict, enforced\tFlexible, schema-on-read\nRelationships\tNative joins, foreign keys\tDenormalized, application-level joins\nScaling\tVertical (read replicas help)\tHorizontal by design\nConsistency\tStrong (ACID)\tTunable (eventual to strong)\nQuery flexibility\tAd-hoc queries, aggregations\tLimited to access patterns\nBest when\tComplex relations, reporting\tHigh write volume, flexible schema\nREST vs GraphQL\nFactor\tREST\tGraphQL\nSimplicity\tSimple, well-understood\tSchema definition required\nOver/under-fetching\tCommon — multiple endpoints\tClients request exact fields\nCaching\tHTTP caching built-in\tRequires custom caching layer\nTooling\tMature ecosystem\tGrowing — Apollo, Relay, urql\nVersioning\tURL or header versioning\tSchema evolution, deprecation\nBest when\tCRUD APIs, public APIs\tComplex UIs, mobile + web clients\nSSR vs CSR vs SSG\nFactor\tSSR\tCSR\tSSG\nInitial load\tFast (HTML from server)\tSlow (JS bundle parse)\tFastest (pre-built HTML)\nSEO\tExcellent\tPoor without hydration\tExcellent\nBest when\tPersonalized pages\tDashboards, SPAs\tBlogs, docs, marketing\nMonorepo vs Polyrepo\nFactor\tMonorepo\tPolyrepo\nCode sharing\tTrivial — same repo\tRequires published packages\nCI/CD complexity\tNeeds smart filtering (Turborepo)\tSimple per-repo pipelines\nBest when\tShared libs, aligned releases\tIndependent teams, different stacks\nPriority Matrices — RICE Scoring\n\nScore and rank features/tasks:\n\nRICE Score = (Reach x Impact x Confidence) / Effort\n\nFactor\tScale\nReach\tNumber of users/events affected per quarter\nImpact\t3 = massive, 2 = high, 1 = medium, 0.5 = low, 0.25 = minimal\nConfidence\t100% = high, 80% = medium, 50% = low\nEffort\tPerson-weeks (or person-sprints)\nMoSCoW Method\nCategory\tMeaning\tBudget Target\nMust\tNon-negotiable for this release\t~60% of effort\nShould\tImportant but not critical\t~20% of effort\nCould\tDesirable if time permits\t~15% of effort\nWon't\tExplicitly out of scope (this time)\t~5% (planning)\nReversibility Check\n\nClassify every significant decision as a one-way or two-way door.\n\nAspect\tOne-Way Door (Type 1)\tTwo-Way Door (Type 2)\nDefinition\tIrreversible or very costly to undo\tEasily reversed with low cost\nExamples\tDatabase engine migration, public API contract, language rewrite\tUI framework for internal tool, feature flag experiment, library swap behind interface\nHow to identify\tWould reverting require > 1 sprint of rework? Data migration? Customer communication?\tCan you revert with a config change, flag toggle, or single PR?\nApproach\tInvest in analysis, prototype, get stakeholder sign-off\tDecide fast, ship, measure, iterate\nTime to decide\tDays to weeks — thorough evaluation\tHours — bias toward action\n\nRule of thumb: Wrap risky choices behind interfaces/abstractions. This converts many one-way doors into two-way doors by isolating the implementation from consumers.\n\nADR Template\n\nDocument significant decisions using a lightweight Architecture Decision Record.\n\n# ADR-NNNN: [Short Title]\n\n## Status\n[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]\n\n## Context\nWhat is the problem or situation that motivates this decision?\nInclude constraints, requirements, and forces at play.\n\n## Decision\nWhat is the change being proposed or adopted?\nState the decision clearly and concisely.\n\n## Consequences\n\n### Positive\n- [Benefit 1]\n- [Benefit 2]\n\n### Negative\n- [Tradeoff 1]\n- [Tradeoff 2]\n\n### Risks\n- [Risk and mitigation]\n\n\nStore in docs/adr/ or decisions/. Number sequentially. Never delete — mark superseded. Review during onboarding and quarterly audits.\n\nAnti-Patterns\nAnti-Pattern\tDescription\tCounter\nAnalysis Paralysis\tEndless evaluation, no decision made\tSet a decision deadline; use the matrix\nHiPPO\tHighest Paid Person's Opinion overrides data\tRequire data or a scored matrix for all options\nSunk Cost Fallacy\tContinuing because of past investment, not future value\tEvaluate options as if starting fresh today\nBandwagon Effect\tChoosing because \"everyone uses it\"\tScore against your actual criteria\nPremature Optimization\tOptimizing before measuring or validating need\tProfile first; optimize only proven bottlenecks\nResume-Driven Development\tPicking tech to pad a resume, not to solve the problem\tAlign choices with team skills and project goals\nNot Invented Here\tRejecting external solutions out of pride\tRun the Build vs Buy framework honestly\nNEVER Do\nNEVER skip writing down the decision — undocumented decisions get relitigated endlessly\nNEVER decide by committee without a single owner — assign a DRI (Directly Responsible Individual)\nNEVER treat all decisions as equal weight — classify by reversibility and impact first\nNEVER ignore second-order effects — ask \"and then what?\" at least twice\nNEVER lock in without an exit plan — define how you would migrate away before committing\nNEVER conflate familiarity with superiority — evaluate on criteria, not comfort\nNEVER defer a one-way door decision indefinitely — the cost of delay often exceeds the cost of a wrong choice"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/wpank/decision-frameworks",
    "publisherUrl": "https://clawhub.ai/wpank/decision-frameworks",
    "owner": "wpank",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/decision-frameworks",
    "downloadUrl": "https://openagent3.xyz/downloads/decision-frameworks",
    "agentUrl": "https://openagent3.xyz/skills/decision-frameworks/agent",
    "manifestUrl": "https://openagent3.xyz/skills/decision-frameworks/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/decision-frameworks/agent.md"
  }
}