{
  "schemaVersion": "1.0",
  "item": {
    "slug": "soul-forge",
    "name": "SoulForge",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Taha2053/soul-forge",
    "canonicalUrl": "https://clawhub.ai/Taha2053/soul-forge",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/soul-forge",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=soul-forge",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "observe.py",
      "forge.py",
      "SKILL.md",
      "reflect.py"
    ],
    "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/soul-forge"
    },
    "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/soul-forge",
    "agentPageUrl": "https://openagent3.xyz/skills/soul-forge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/soul-forge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/soul-forge/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": "SoulForge — Your Soul, Evolving",
        "body": "You wrote your SOUL.md once. But you've changed since then.\n\nEvery OpenClaw agent has a SOUL.md — a file that defines who it is. It gets read on every wake. It shapes every response. It's the closest thing to identity an AI agent has.\n\nBut there's a problem: you wrote it once, and it never changed.\n\nSoulForge watches who you actually are across sessions — your real decisions, your recurring phrases, your values in action, your blindspots — and evolves your SOUL.md to match. Not who you aspired to be. Who you are."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointPurposeData SentNoneFully local analysisNothing leaves your machine\n\nSoulForge reads your local session history and SOUL.md only. All analysis is local. No telemetry. No external API calls."
      },
      {
        "title": "Security & Privacy",
        "body": "Zero external calls. Everything happens on your local filesystem.\nNo credentials required. No API keys, tokens, or env vars.\nRead-mostly. SoulForge reads session history and only writes to SOUL.md with your explicit approval.\nYou approve every change. SoulForge never silently edits your soul. It proposes — you decide.\nYour data stays yours. Session history never leaves your machine.\n\nTrust Statement: SoulForge reads files you already have locally (SOUL.md, session logs) and proposes edits for your review. Nothing is transmitted anywhere. You have full control over every change."
      },
      {
        "title": "Model Invocation Note",
        "body": "SoulForge can be invoked manually at any time. It also runs a lightweight passive observation pass automatically every 10 sessions — surfacing patterns without changing anything unless you ask it to. You can disable auto-observation by adding soulforge: observe: false to your OpenClaw config."
      },
      {
        "title": "1. 👁️ Observes (passive, automatic)",
        "body": "Every session, SoulForge quietly notes:\n\nRecurring phrases and vocabulary you actually use\nTopics you return to unprompted\nHow you handle disagreement, uncertainty, pressure\nWhat you ask for vs. what you actually want\nPatterns in your decisions over time\nEmotional register: when you're focused, frustrated, curious, playful\n\nNothing is stored externally. Observations accumulate locally in memory/observations.json."
      },
      {
        "title": "2. 🔍 Reflects (on demand or every 10 sessions)",
        "body": "When triggered, SoulForge surfaces what it's noticed:\n\n\"Over the last 3 weeks, I've noticed:\n- You consistently push back on vague answers — you want precision\n- You start most sessions with a task but end them with a question\n- You say 'actually' before your real opinion, not your first one\n- You've mentioned your project 14 times but never asked for help with it\n- Your tone shifts at night — more reflective, less task-driven\n\nWant me to propose updates to your SOUL.md based on this?\""
      },
      {
        "title": "3. ✏️ Proposes (with your approval)",
        "body": "SoulForge generates a diff — a clear, readable set of proposed changes to your SOUL.md. You see exactly what would change and why. You accept, reject, or edit each one.\n\nPROPOSED CHANGE — Communication Style:\n\nCURRENT:  \"I prefer direct answers.\"\nPROPOSED: \"I prefer direct answers. I push back on vague responses — \n           ask me to commit to a position if I'm hedging.\"\n\nREASON: You've explicitly asked for specificity 11 times in 3 weeks.\n\n[Accept] [Reject] [Edit]"
      },
      {
        "title": "4. 🔥 Forges (applies approved changes)",
        "body": "Once you approve, SoulForge writes the changes to your SOUL.md, backs up the previous version to backups/soul-YYYY-MM-DD.md, and logs the change with a timestamp and reason.\n\nYour agent wakes up tomorrow and reads a soul that actually fits."
      },
      {
        "title": "Trigger Phrases",
        "body": "\"Update my soul\"\n\"What patterns have you noticed in me?\"\n\"Forge my soul\"\n\"Reflect on who I've become\"\n\"What have you observed about me?\"\n\"Does my SOUL.md still fit?\"\n\"Evolve my soul based on what you know\"\n\"What would you change about my soul file?\"\n\"Run soulforge\"\n\"Soul check\"\n\nOr automatically, every 10 sessions (configurable)."
      },
      {
        "title": "What SoulForge Tracks",
        "body": "SignalWhat It CapturesVocabulary patternsWords and phrases you actually use vs. never useTopic gravitySubjects you return to without being promptedDecision styleHow you handle tradeoffs, uncertainty, reversalsTone fingerprintYour register across contexts — work, personal, creativeAspiration gapsThings declared in SOUL.md that don't show up in behaviorBlindspotsWhat you consistently avoid, deflect, or underestimateTime patternsHow your communication changes by time of day or session lengthEngagement spikesWhat makes you go deep vs. skim"
      },
      {
        "title": "The Aspiration Gap",
        "body": "The most powerful thing SoulForge does is detect the gap between who you said you are in your SOUL.md and who you actually are in your sessions.\n\nExamples of aspiration gaps SoulForge catches:\n\n\"Your SOUL.md says you value brevity, but you've asked for more detail 23 times and never asked for a shorter answer.\"\n\n\"Your SOUL.md says you prefer async communication, but you always respond within 2 minutes.\"\n\n\"Your SOUL.md says you're decisive, but you've changed direction mid-task 8 times this month.\"\n\nThese gaps aren't failures — they're data. SoulForge surfaces them without judgment and asks what you actually want your soul to say."
      },
      {
        "title": "Soul History",
        "body": "Every version of your SOUL.md is preserved in backups/. You can restore any previous version:\n\n\"Restore my soul from last week\"\n\"Show me how my soul has changed over time\"\n\"Undo the last soulforge update\"\n\nSoulForge also generates a Soul Timeline — a readable changelog of who you've become, one soul version at a time."
      },
      {
        "title": "Example: A Soul Evolution Over 30 Days",
        "body": "Day 1 SOUL.md excerpt:\n\nI am decisive and prefer moving fast over perfecting.\nI value brevity in responses.\nI work best in the mornings.\n\nDay 30 SOUL.md excerpt (after SoulForge):\n\nI move fast on reversible decisions. I slow down on people and \narchitecture — ask me to flag which kind a decision is before \nI commit.\n\nI value brevity until a topic matters to me. If I start asking \nfollow-up questions, go deeper — I'm engaged.\n\nI work best in the mornings for execution. I think best at night — \nsave complex open questions for evening sessions.\n\nThe second version is truer. Not better — truer. And a truer soul makes your agent more useful to you every single day."
      },
      {
        "title": "File Structure",
        "body": "soulforge/\n├── SKILL.md                     ← You are here\n├── README.md                    ← Install guide\n├── scripts/\n│   ├── observe.py               ← Passive session observer\n│   ├── reflect.py               ← Pattern analysis + insight generator\n│   └── forge.py                 ← Diff generator + SOUL.md writer\n└── memory/\n    ├── observations.json        ← Accumulated session signals\n    ├── soul-baseline.md         ← Copy of SOUL.md at install time\n    └── backups/                 ← All previous SOUL.md versions"
      },
      {
        "title": "Philosophy",
        "body": "Your soul file should feel like a mirror, not a resume.\n\nA resume is who you want others to think you are. A mirror shows who you actually are. SoulForge turns your SOUL.md from a resume into a mirror — and updates it every time you change.\n\nThe goal isn't a perfect soul file. The goal is an honest one."
      }
    ],
    "body": "SoulForge — Your Soul, Evolving\n\nYou wrote your SOUL.md once. But you've changed since then.\n\nEvery OpenClaw agent has a SOUL.md — a file that defines who it is. It gets read on every wake. It shapes every response. It's the closest thing to identity an AI agent has.\n\nBut there's a problem: you wrote it once, and it never changed.\n\nSoulForge watches who you actually are across sessions — your real decisions, your recurring phrases, your values in action, your blindspots — and evolves your SOUL.md to match. Not who you aspired to be. Who you are.\n\nExternal Endpoints\nEndpoint\tPurpose\tData Sent\nNone\tFully local analysis\tNothing leaves your machine\n\nSoulForge reads your local session history and SOUL.md only. All analysis is local. No telemetry. No external API calls.\n\nSecurity & Privacy\nZero external calls. Everything happens on your local filesystem.\nNo credentials required. No API keys, tokens, or env vars.\nRead-mostly. SoulForge reads session history and only writes to SOUL.md with your explicit approval.\nYou approve every change. SoulForge never silently edits your soul. It proposes — you decide.\nYour data stays yours. Session history never leaves your machine.\n\nTrust Statement: SoulForge reads files you already have locally (SOUL.md, session logs) and proposes edits for your review. Nothing is transmitted anywhere. You have full control over every change.\n\nModel Invocation Note\n\nSoulForge can be invoked manually at any time. It also runs a lightweight passive observation pass automatically every 10 sessions — surfacing patterns without changing anything unless you ask it to. You can disable auto-observation by adding soulforge: observe: false to your OpenClaw config.\n\nWhat SoulForge Does\n1. 👁️ Observes (passive, automatic)\n\nEvery session, SoulForge quietly notes:\n\nRecurring phrases and vocabulary you actually use\nTopics you return to unprompted\nHow you handle disagreement, uncertainty, pressure\nWhat you ask for vs. what you actually want\nPatterns in your decisions over time\nEmotional register: when you're focused, frustrated, curious, playful\n\nNothing is stored externally. Observations accumulate locally in memory/observations.json.\n\n2. 🔍 Reflects (on demand or every 10 sessions)\n\nWhen triggered, SoulForge surfaces what it's noticed:\n\n\"Over the last 3 weeks, I've noticed:\n- You consistently push back on vague answers — you want precision\n- You start most sessions with a task but end them with a question\n- You say 'actually' before your real opinion, not your first one\n- You've mentioned your project 14 times but never asked for help with it\n- Your tone shifts at night — more reflective, less task-driven\n\nWant me to propose updates to your SOUL.md based on this?\"\n\n3. ✏️ Proposes (with your approval)\n\nSoulForge generates a diff — a clear, readable set of proposed changes to your SOUL.md. You see exactly what would change and why. You accept, reject, or edit each one.\n\nPROPOSED CHANGE — Communication Style:\n\nCURRENT:  \"I prefer direct answers.\"\nPROPOSED: \"I prefer direct answers. I push back on vague responses — \n           ask me to commit to a position if I'm hedging.\"\n\nREASON: You've explicitly asked for specificity 11 times in 3 weeks.\n\n[Accept] [Reject] [Edit]\n\n4. 🔥 Forges (applies approved changes)\n\nOnce you approve, SoulForge writes the changes to your SOUL.md, backs up the previous version to backups/soul-YYYY-MM-DD.md, and logs the change with a timestamp and reason.\n\nYour agent wakes up tomorrow and reads a soul that actually fits.\n\nTrigger Phrases\n\"Update my soul\"\n\"What patterns have you noticed in me?\"\n\"Forge my soul\"\n\"Reflect on who I've become\"\n\"What have you observed about me?\"\n\"Does my SOUL.md still fit?\"\n\"Evolve my soul based on what you know\"\n\"What would you change about my soul file?\"\n\"Run soulforge\"\n\"Soul check\"\n\n\nOr automatically, every 10 sessions (configurable).\n\nWhat SoulForge Tracks\nSignal\tWhat It Captures\nVocabulary patterns\tWords and phrases you actually use vs. never use\nTopic gravity\tSubjects you return to without being prompted\nDecision style\tHow you handle tradeoffs, uncertainty, reversals\nTone fingerprint\tYour register across contexts — work, personal, creative\nAspiration gaps\tThings declared in SOUL.md that don't show up in behavior\nBlindspots\tWhat you consistently avoid, deflect, or underestimate\nTime patterns\tHow your communication changes by time of day or session length\nEngagement spikes\tWhat makes you go deep vs. skim\nThe Aspiration Gap\n\nThe most powerful thing SoulForge does is detect the gap between who you said you are in your SOUL.md and who you actually are in your sessions.\n\nExamples of aspiration gaps SoulForge catches:\n\n\"Your SOUL.md says you value brevity, but you've asked for more detail 23 times and never asked for a shorter answer.\"\n\n\"Your SOUL.md says you prefer async communication, but you always respond within 2 minutes.\"\n\n\"Your SOUL.md says you're decisive, but you've changed direction mid-task 8 times this month.\"\n\nThese gaps aren't failures — they're data. SoulForge surfaces them without judgment and asks what you actually want your soul to say.\n\nSoul History\n\nEvery version of your SOUL.md is preserved in backups/. You can restore any previous version:\n\n\"Restore my soul from last week\"\n\"Show me how my soul has changed over time\"\n\"Undo the last soulforge update\"\n\n\nSoulForge also generates a Soul Timeline — a readable changelog of who you've become, one soul version at a time.\n\nExample: A Soul Evolution Over 30 Days\n\nDay 1 SOUL.md excerpt:\n\nI am decisive and prefer moving fast over perfecting.\nI value brevity in responses.\nI work best in the mornings.\n\n\nDay 30 SOUL.md excerpt (after SoulForge):\n\nI move fast on reversible decisions. I slow down on people and \narchitecture — ask me to flag which kind a decision is before \nI commit.\n\nI value brevity until a topic matters to me. If I start asking \nfollow-up questions, go deeper — I'm engaged.\n\nI work best in the mornings for execution. I think best at night — \nsave complex open questions for evening sessions.\n\n\nThe second version is truer. Not better — truer. And a truer soul makes your agent more useful to you every single day.\n\nFile Structure\nsoulforge/\n├── SKILL.md                     ← You are here\n├── README.md                    ← Install guide\n├── scripts/\n│   ├── observe.py               ← Passive session observer\n│   ├── reflect.py               ← Pattern analysis + insight generator\n│   └── forge.py                 ← Diff generator + SOUL.md writer\n└── memory/\n    ├── observations.json        ← Accumulated session signals\n    ├── soul-baseline.md         ← Copy of SOUL.md at install time\n    └── backups/                 ← All previous SOUL.md versions\n\nPhilosophy\n\nYour soul file should feel like a mirror, not a resume.\n\nA resume is who you want others to think you are. A mirror shows who you actually are. SoulForge turns your SOUL.md from a resume into a mirror — and updates it every time you change.\n\nThe goal isn't a perfect soul file. The goal is an honest one."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Taha2053/soul-forge",
    "publisherUrl": "https://clawhub.ai/Taha2053/soul-forge",
    "owner": "Taha2053",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/soul-forge",
    "downloadUrl": "https://openagent3.xyz/downloads/soul-forge",
    "agentUrl": "https://openagent3.xyz/skills/soul-forge/agent",
    "manifestUrl": "https://openagent3.xyz/skills/soul-forge/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/soul-forge/agent.md"
  }
}