{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mulch",
    "name": "Mulch",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/RuneweaverStudios/mulch",
    "canonicalUrl": "https://clawhub.ai/RuneweaverStudios/mulch",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mulch",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mulch",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "BENCHMARK.md",
      "QUALIFICATION.md",
      "README.md",
      "SKILL.md",
      "_meta.json",
      "assets/LEARNINGS.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/mulch"
    },
    "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/mulch",
    "agentPageUrl": "https://openagent3.xyz/skills/mulch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mulch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mulch/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": "Mulch Self Improver — Let your agents grow 🌱",
        "body": "Structured expertise that accumulates over time, lives in git, and works with any agent. Agents start each session from zero; the pattern discovered yesterday is forgotten today. This skill uses Mulch: agents call mulch record to write learnings and mulch query to read them. Expertise compounds across sessions, domains, and teammates. Mulch is a passive layer — it does not contain an LLM. Agents use Mulch; Mulch does not use agents.\n\nBenefits: Better and more consistent coding · Improved experience · Less hallucination (grounding in project expertise)\n\nWhen to use: Command/tool fails, user corrects you, user wants a missing feature, your knowledge was wrong, or you found a better approach — record with Mulch and promote proven patterns to project memory. Auto-detection: The hook now detects errors and corrections automatically and prompts to record.\n\nMechanics: One learning store — .mulch/ (append-only JSONL, git-tracked, queryable). Session start: mulch prime. Recording: mulch record <domain> --type <type> .... No .learnings/ markdown files.\n\nQualification (features, benefits, pain points): See QUALIFICATION.md. Benchmark (token efficiency, troubleshooting skill improvement): See BENCHMARK.md — e.g. ~54% fewer chars to get same resolutions; find rate same or better; less context → fewer tokens, less noise, lower risk of wrong fix."
      },
      {
        "title": "Auto-Detection",
        "body": "The hook now automatically detects learning moments:\n\nErrors/failures — When commands fail or return errors\nCorrections — When you say \"no\", \"actually\", \"wrong\", etc.\nRetries — When you ask to try again\n\nThe agent will prompt: \"Want me to record this for next time?\""
      },
      {
        "title": "Pre-loaded Domains",
        "body": "24 preset domains included in config/domains.json:\n\napi, database, testing, frontend, backend, infra, docs, config,\nsecurity, performance, deployment, auth, errors, debugging,\nworkflow, customer, system, marketing, sales, content,\ncompetitors, crypto, automation, openclaw"
      },
      {
        "title": "Notifications",
        "body": "When a learning is recorded, you're notified via Telegram."
      },
      {
        "title": "Quick Reference",
        "body": "SituationActionCommand/operation or API failsmulch record <domain> --type failure --description \"...\" --resolution \"...\"User corrects you / knowledge was wrongmulch record <domain> --type convention \"...\" or --type pattern --name \"...\" --description \"...\"Found better approach, best practicemulch record <domain> --type convention \"...\" or --type guide --name \"...\" --description \"...\"Architectural or tech decisionmulch record <domain> --type decision --title \"...\" --rationale \"...\"Feature request (tracking)mulch record <domain> --type decision --title \"...\" --rationale \"...\"Key file/endpoint to remembermulch record <domain> --type reference --name \"...\" --description \"...\"Similar to existing recordUse --relates-to <domain>:<id> or --supersedes; run mulch search \"...\" firstBroadly applicable patternPromote to CLAUDE.md, AGENTS.md, SOUL.md, TOOLS.md; use mulch onboard for snippetsSession start (project has .mulch/)Run mulch prime to load expertise into context"
      },
      {
        "title": "Mulch Setup",
        "body": "Install (optional; npx works without install):\n\nnpm install -g mulch-cli\n# or: npx mulch-cli <command>\n\nInitialize in project:\n\nmulch init\n# Quick: add all preset domains at once\ncat config/domains.json | jq -r '.domains[].name' | xargs -I {} mulch add {}\n# Or add individually:\nmulch add api\nmulch add database\nmulch add testing\n# add domains that match your areas: frontend, backend, infra, docs, config\n\nProvider hooks (remind agent to record):\n\nmulch setup cursor   # or: claude, codex, gemini, windsurf, aider\n\nOnboarding snippet for AGENTS.md/CLAUDE.md:\n\nmulch onboard"
      },
      {
        "title": "Record Types (Mulch)",
        "body": "TypeRequiredUse Casefailuredescription, resolutionWhat went wrong and how to avoid itconventioncontent\"Use pnpm not npm\"; \"Always WAL mode for SQLite\"patternname, descriptionNamed patterns, optional --filedecisiontitle, rationaleArchitecture, tech choices, feature trackingreferencename, descriptionKey files, endpoints, resourcesguidename, descriptionStep-by-step procedures\n\nOptional on any record: --classification (foundational | tactical | observational), --tags, --relates-to, --supersedes, --evidence-commit, --evidence-file, --outcome-status (success | failure)."
      },
      {
        "title": "Workflow",
        "body": "Session start: If .mulch/ exists, run mulch prime (or mulch prime <domain> for focus).\nDuring work: When something fails or you learn something, run mulch record <domain> --type <type> ....\nBefore finishing: Review; record any remaining insights with mulch record.\nPromote: When a pattern is proven and broadly applicable, add to CLAUDE.md / AGENTS.md / SOUL.md / TOOLS.md; use mulch onboard to generate snippets."
      },
      {
        "title": "Finding Domain",
        "body": "Use existing domains from mulch status or mulch query --all.\nRun mulch learn to get domain suggestions from changed files.\nCommon domains: api, database, testing, frontend, backend, infra, docs, config."
      },
      {
        "title": "Recurring Patterns and Linking",
        "body": "Search first: mulch search \"keyword\" or mulch query <domain>.\nLink records: mulch record ... --relates-to <domain>:<id> or --supersedes <domain>:<id>.\nRecurring issues → promote to CLAUDE.md/AGENTS.md or add to TOOLS.md/SOUL.md so all agents see them."
      },
      {
        "title": "Simplify & Harden Feed",
        "body": "For candidates from the simplify-and-harden skill:\n\nUse pattern_key as a stable tag: mulch record <domain> --type pattern --name \"<pattern_key>\" --description \"...\" --tags \"simplify-and-harden\".\nSearch first: mulch search \"<pattern_key>\"; if found, use --relates-to or add to existing via mulch edit if needed.\nWhen recurrence is high, promote to CLAUDE.md/AGENTS.md/SOUL.md/TOOLS.md as short prevention rules."
      },
      {
        "title": "Periodic Review",
        "body": "When: Before major tasks, after features, weekly.\nCommands: mulch status, mulch ready --since 7d, mulch query --all.\nActions: Promote high-value records to project memory; run mulch prune for stale tactical/observational entries if desired; mulch doctor --fix for health."
      },
      {
        "title": "Promotion Targets",
        "body": "Learning TypePromote ToBehavioral patternsSOUL.md (OpenClaw workspace)Workflow improvementsAGENTS.mdTool gotchasTOOLS.md (OpenClaw workspace)Project facts, conventionsCLAUDE.mdCopilot context.github/copilot-instructions.md\n\nUse mulch onboard to generate AGENTS.md/CLAUDE.md snippets."
      },
      {
        "title": "Detection Triggers",
        "body": "Record when you notice:\n\nUser corrects you (\"No, that's not right...\", \"Actually...\") → convention or pattern\nCommand/API/tool fails → failure (description + resolution)\nUser wants missing capability → decision (title + rationale)\nYour knowledge was wrong or outdated → convention\nYou found a better approach → convention or guide"
      },
      {
        "title": "OpenClaw Setup",
        "body": "OpenClaw injects workspace files; use Mulch for learnings."
      },
      {
        "title": "Installation",
        "body": "clawdhub install self-improving-agent\n# or: git clone ... ~/.openclaw/skills/self-improving-agent"
      },
      {
        "title": "Workspace and Mulch",
        "body": "Session start: Run mulch prime when the project (or workspace) has .mulch/. Optionally add mulch prime output to workspace context if your setup supports it.\nRecording: Use mulch record from the project or workspace directory that contains .mulch/.\nPromotion: SOUL.md, AGENTS.md, TOOLS.md live in ~/.openclaw/workspace/; add promoted rules there."
      },
      {
        "title": "Enable Hook (reminder at bootstrap)",
        "body": "cp -r hooks/openclaw ~/.openclaw/hooks/self-improvement\nopenclaw hooks enable self-improvement\n\nSee references/openclaw-integration.md."
      },
      {
        "title": "Generic Setup (Other Agents)",
        "body": "In project: mulch init and mulch add <domain> as needed.\nUse mulch setup <provider> (cursor, claude, codex, etc.) for hooks.\nAdd to CLAUDE.md/AGENTS.md: \"Run mulch prime at session start. Record learnings with mulch record <domain> --type failure|convention|decision|pattern|guide|reference.\"\nRun mulch onboard and paste the snippet into your agent docs."
      },
      {
        "title": "Multi-Agent Safety",
        "body": "Mulch is safe for concurrent use: advisory file locking, atomic writes, and merge=union in .gitattributes for JSONL. Multiple agents can run mulch prime and mulch record in parallel; locks serialize writes per domain."
      },
      {
        "title": "Skill Extraction",
        "body": "When a Mulch record is valuable as a reusable skill:\n\nGet content from mulch query <domain> or mulch search \"...\".\nCreate skills/<skill-name>/SKILL.md (template in assets/SKILL-TEMPLATE.md).\nOptionally note in the record (e.g. via mulch edit) that it was promoted to a skill."
      },
      {
        "title": "Best Practices",
        "body": "Record immediately — context is freshest after the issue.\nPick the right type — failure (description+resolution), convention (short rule), decision (title+rationale), etc.\nUse domains consistently — e.g. same api domain for all API-related learnings.\nLink related records — --relates-to, --supersedes.\nRun mulch prime at session start — so the agent is grounded in existing expertise.\nPromote when proven — move broadly applicable rules to CLAUDE.md, AGENTS.md, SOUL.md, TOOLS.md."
      },
      {
        "title": "No .learnings/",
        "body": "This skill does not use .learnings/ or markdown log files. All learnings live in .mulch/ and are recorded via the Mulch CLI. If you see references to .learnings/ in older docs, treat them as superseded by Mulch."
      }
    ],
    "body": "Mulch Self Improver — Let your agents grow 🌱\n\nStructured expertise that accumulates over time, lives in git, and works with any agent. Agents start each session from zero; the pattern discovered yesterday is forgotten today. This skill uses Mulch: agents call mulch record to write learnings and mulch query to read them. Expertise compounds across sessions, domains, and teammates. Mulch is a passive layer — it does not contain an LLM. Agents use Mulch; Mulch does not use agents.\n\nBenefits: Better and more consistent coding · Improved experience · Less hallucination (grounding in project expertise)\n\nWhen to use: Command/tool fails, user corrects you, user wants a missing feature, your knowledge was wrong, or you found a better approach — record with Mulch and promote proven patterns to project memory. Auto-detection: The hook now detects errors and corrections automatically and prompts to record.\n\nMechanics: One learning store — .mulch/ (append-only JSONL, git-tracked, queryable). Session start: mulch prime. Recording: mulch record <domain> --type <type> .... No .learnings/ markdown files.\n\nQualification (features, benefits, pain points): See QUALIFICATION.md. Benchmark (token efficiency, troubleshooting skill improvement): See BENCHMARK.md — e.g. ~54% fewer chars to get same resolutions; find rate same or better; less context → fewer tokens, less noise, lower risk of wrong fix.\n\nNew Features (v1.1)\nAuto-Detection\n\nThe hook now automatically detects learning moments:\n\nErrors/failures — When commands fail or return errors\nCorrections — When you say \"no\", \"actually\", \"wrong\", etc.\nRetries — When you ask to try again\n\nThe agent will prompt: \"Want me to record this for next time?\"\n\nPre-loaded Domains\n\n24 preset domains included in config/domains.json:\n\napi, database, testing, frontend, backend, infra, docs, config,\nsecurity, performance, deployment, auth, errors, debugging,\nworkflow, customer, system, marketing, sales, content,\ncompetitors, crypto, automation, openclaw\n\nNotifications\n\nWhen a learning is recorded, you're notified via Telegram.\n\nQuick Reference\nSituation\tAction\nCommand/operation or API fails\tmulch record <domain> --type failure --description \"...\" --resolution \"...\"\nUser corrects you / knowledge was wrong\tmulch record <domain> --type convention \"...\" or --type pattern --name \"...\" --description \"...\"\nFound better approach, best practice\tmulch record <domain> --type convention \"...\" or --type guide --name \"...\" --description \"...\"\nArchitectural or tech decision\tmulch record <domain> --type decision --title \"...\" --rationale \"...\"\nFeature request (tracking)\tmulch record <domain> --type decision --title \"...\" --rationale \"...\"\nKey file/endpoint to remember\tmulch record <domain> --type reference --name \"...\" --description \"...\"\nSimilar to existing record\tUse --relates-to <domain>:<id> or --supersedes; run mulch search \"...\" first\nBroadly applicable pattern\tPromote to CLAUDE.md, AGENTS.md, SOUL.md, TOOLS.md; use mulch onboard for snippets\nSession start (project has .mulch/)\tRun mulch prime to load expertise into context\nMulch Setup\n\nInstall (optional; npx works without install):\n\nnpm install -g mulch-cli\n# or: npx mulch-cli <command>\n\n\nInitialize in project:\n\nmulch init\n# Quick: add all preset domains at once\ncat config/domains.json | jq -r '.domains[].name' | xargs -I {} mulch add {}\n# Or add individually:\nmulch add api\nmulch add database\nmulch add testing\n# add domains that match your areas: frontend, backend, infra, docs, config\n\n\nProvider hooks (remind agent to record):\n\nmulch setup cursor   # or: claude, codex, gemini, windsurf, aider\n\n\nOnboarding snippet for AGENTS.md/CLAUDE.md:\n\nmulch onboard\n\nRecord Types (Mulch)\nType\tRequired\tUse Case\nfailure\tdescription, resolution\tWhat went wrong and how to avoid it\nconvention\tcontent\t\"Use pnpm not npm\"; \"Always WAL mode for SQLite\"\npattern\tname, description\tNamed patterns, optional --file\ndecision\ttitle, rationale\tArchitecture, tech choices, feature tracking\nreference\tname, description\tKey files, endpoints, resources\nguide\tname, description\tStep-by-step procedures\n\nOptional on any record: --classification (foundational | tactical | observational), --tags, --relates-to, --supersedes, --evidence-commit, --evidence-file, --outcome-status (success | failure).\n\nWorkflow\nSession start: If .mulch/ exists, run mulch prime (or mulch prime <domain> for focus).\nDuring work: When something fails or you learn something, run mulch record <domain> --type <type> ....\nBefore finishing: Review; record any remaining insights with mulch record.\nPromote: When a pattern is proven and broadly applicable, add to CLAUDE.md / AGENTS.md / SOUL.md / TOOLS.md; use mulch onboard to generate snippets.\nFinding Domain\nUse existing domains from mulch status or mulch query --all.\nRun mulch learn to get domain suggestions from changed files.\nCommon domains: api, database, testing, frontend, backend, infra, docs, config.\nRecurring Patterns and Linking\nSearch first: mulch search \"keyword\" or mulch query <domain>.\nLink records: mulch record ... --relates-to <domain>:<id> or --supersedes <domain>:<id>.\nRecurring issues → promote to CLAUDE.md/AGENTS.md or add to TOOLS.md/SOUL.md so all agents see them.\nSimplify & Harden Feed\n\nFor candidates from the simplify-and-harden skill:\n\nUse pattern_key as a stable tag: mulch record <domain> --type pattern --name \"<pattern_key>\" --description \"...\" --tags \"simplify-and-harden\".\nSearch first: mulch search \"<pattern_key>\"; if found, use --relates-to or add to existing via mulch edit if needed.\nWhen recurrence is high, promote to CLAUDE.md/AGENTS.md/SOUL.md/TOOLS.md as short prevention rules.\nPeriodic Review\nWhen: Before major tasks, after features, weekly.\nCommands: mulch status, mulch ready --since 7d, mulch query --all.\nActions: Promote high-value records to project memory; run mulch prune for stale tactical/observational entries if desired; mulch doctor --fix for health.\nPromotion Targets\nLearning Type\tPromote To\nBehavioral patterns\tSOUL.md (OpenClaw workspace)\nWorkflow improvements\tAGENTS.md\nTool gotchas\tTOOLS.md (OpenClaw workspace)\nProject facts, conventions\tCLAUDE.md\nCopilot context\t.github/copilot-instructions.md\n\nUse mulch onboard to generate AGENTS.md/CLAUDE.md snippets.\n\nDetection Triggers\n\nRecord when you notice:\n\nUser corrects you (\"No, that's not right...\", \"Actually...\") → convention or pattern\nCommand/API/tool fails → failure (description + resolution)\nUser wants missing capability → decision (title + rationale)\nYour knowledge was wrong or outdated → convention\nYou found a better approach → convention or guide\nOpenClaw Setup\n\nOpenClaw injects workspace files; use Mulch for learnings.\n\nInstallation\nclawdhub install self-improving-agent\n# or: git clone ... ~/.openclaw/skills/self-improving-agent\n\nWorkspace and Mulch\nSession start: Run mulch prime when the project (or workspace) has .mulch/. Optionally add mulch prime output to workspace context if your setup supports it.\nRecording: Use mulch record from the project or workspace directory that contains .mulch/.\nPromotion: SOUL.md, AGENTS.md, TOOLS.md live in ~/.openclaw/workspace/; add promoted rules there.\nEnable Hook (reminder at bootstrap)\ncp -r hooks/openclaw ~/.openclaw/hooks/self-improvement\nopenclaw hooks enable self-improvement\n\n\nSee references/openclaw-integration.md.\n\nGeneric Setup (Other Agents)\nIn project: mulch init and mulch add <domain> as needed.\nUse mulch setup <provider> (cursor, claude, codex, etc.) for hooks.\nAdd to CLAUDE.md/AGENTS.md: \"Run mulch prime at session start. Record learnings with mulch record <domain> --type failure|convention|decision|pattern|guide|reference.\"\nRun mulch onboard and paste the snippet into your agent docs.\nMulti-Agent Safety\n\nMulch is safe for concurrent use: advisory file locking, atomic writes, and merge=union in .gitattributes for JSONL. Multiple agents can run mulch prime and mulch record in parallel; locks serialize writes per domain.\n\nSkill Extraction\n\nWhen a Mulch record is valuable as a reusable skill:\n\nGet content from mulch query <domain> or mulch search \"...\".\nCreate skills/<skill-name>/SKILL.md (template in assets/SKILL-TEMPLATE.md).\nOptionally note in the record (e.g. via mulch edit) that it was promoted to a skill.\nBest Practices\nRecord immediately — context is freshest after the issue.\nPick the right type — failure (description+resolution), convention (short rule), decision (title+rationale), etc.\nUse domains consistently — e.g. same api domain for all API-related learnings.\nLink related records — --relates-to, --supersedes.\nRun mulch prime at session start — so the agent is grounded in existing expertise.\nPromote when proven — move broadly applicable rules to CLAUDE.md, AGENTS.md, SOUL.md, TOOLS.md.\nNo .learnings/\n\nThis skill does not use .learnings/ or markdown log files. All learnings live in .mulch/ and are recorded via the Mulch CLI. If you see references to .learnings/ in older docs, treat them as superseded by Mulch."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/RuneweaverStudios/mulch",
    "publisherUrl": "https://clawhub.ai/RuneweaverStudios/mulch",
    "owner": "RuneweaverStudios",
    "version": "1.0.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mulch",
    "downloadUrl": "https://openagent3.xyz/downloads/mulch",
    "agentUrl": "https://openagent3.xyz/skills/mulch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mulch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mulch/agent.md"
  }
}