{
  "schemaVersion": "1.0",
  "item": {
    "slug": "skill-from-memory",
    "name": "Skill From Memory",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/zfanmy/skill-from-memory",
    "canonicalUrl": "https://clawhub.ai/zfanmy/skill-from-memory",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/skill-from-memory",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-from-memory",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/create-and-publish.sh",
      "scripts/create-skill.sh",
      "scripts/extract-from-history.sh",
      "scripts/extract-from-memory.sh",
      "scripts/publish.sh"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "skill-from-memory",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-09T00:04:26.257Z",
      "expiresAt": "2026-05-16T00:04:26.257Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-from-memory",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skill-from-memory",
        "contentDisposition": "attachment; filename=\"skill-from-memory-0.1.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "skill-from-memory"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/skill-from-memory"
    },
    "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/skill-from-memory",
    "agentPageUrl": "https://openagent3.xyz/skills/skill-from-memory/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-from-memory/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-from-memory/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Skill from Memory",
        "body": "Transform your work into reusable skills. Extract workflows, solutions, and patterns from conversation history or memory files, package them as skills, and publish to GitHub and ClawHub."
      },
      {
        "title": "Overview",
        "body": "This skill automates the complete workflow:\n\nExtract - Parse conversation history or memory for reusable patterns\nDesign - Structure as a proper skill with SKILL.md and resources\nCreate - Generate skill files and scripts\nPublish - Push to GitHub and publish to ClawHub"
      },
      {
        "title": "Create Skill from Recent Conversation",
        "body": "# Analyze last conversation and create skill draft\n./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill\n\n# Or specify a time range\n./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill --since \"2026-02-03\" --pattern \"backup\""
      },
      {
        "title": "Create Skill from Memory File",
        "body": "# Extract from memory markdown\n./scripts/extract-from-memory.sh /path/to/memory/2026-02-04.md ./my-new-skill"
      },
      {
        "title": "Full Auto-Create and Publish",
        "body": "# One command: extract, create, and publish\n./scripts/create-and-publish.sh \\\n  --source /path/to/session.jsonl \\\n  --skill-name \"my-automation\" \\\n  --github-repo \"user/my-skills\" \\\n  --clawhub-slug \"my-automation\""
      },
      {
        "title": "Step 1: Extract Requirements",
        "body": "Identify from conversation/memory:\n\nTask Pattern: What workflow was solved?\nInputs/Outputs: What goes in, what comes out?\nScripts/Tools: What code was written?\nKey Decisions: What choices were made?"
      },
      {
        "title": "Step 2: Design Skill Structure",
        "body": "Decide resource types:\n\nscripts/ - For reusable code\nreferences/ - For documentation\nassets/ - For templates/files"
      },
      {
        "title": "Step 3: Create Skill Files",
        "body": "Generate:\n\nSKILL.md with frontmatter and instructions\nScripts in scripts/\nAny reference files"
      },
      {
        "title": "Step 4: Publish",
        "body": "Push to GitHub and publish to ClawHub:\n\n./scripts/publish.sh ./my-skill \\\n  --github \"user/repo\" \\\n  --clawhub-slug \"my-skill\" \\\n  --version \"1.0.0\""
      },
      {
        "title": "extract-from-history.sh",
        "body": "Parse conversation JSONL for skill content.\n\n./scripts/extract-from-history.sh <session.jsonl> <output-dir> [options]\n\nOptions:\n  --since DATE     Only extract from DATE onwards\n  --pattern REGEX  Filter messages matching pattern\n  --tools-only     Only extract tool usage patterns"
      },
      {
        "title": "extract-from-memory.sh",
        "body": "Parse memory markdown files.\n\n./scripts/extract-from-memory.sh <memory.md> <output-dir>"
      },
      {
        "title": "create-skill.sh",
        "body": "Generate skill structure from extracted content.\n\n./scripts/create-skill.sh <extracted-content-dir> <skill-name>\n\nOptions:\n  --description \"...\"  Skill description\n  --type workflow    Skill type (workflow|tool|reference)"
      },
      {
        "title": "publish.sh",
        "body": "Complete publish workflow.\n\n./scripts/publish.sh <skill-path> [options]\n\nOptions:\n  --github REPO      GitHub repo (owner/repo)\n  --clawhub-slug     ClawHub slug\n  --version VER      Version tag\n  --skip-github      Skip GitHub push\n  --skip-clawhub     Skip ClawHub publish"
      },
      {
        "title": "Original Task (from conversation)",
        "body": "User: \"帮我设置每天自动备份OpenClaw配置\"\n→ Agent creates backup scripts + cron setup"
      },
      {
        "title": "Skill Creation Process",
        "body": "Extract:\n./scripts/extract-from-history.sh \\\n  ~/.openclaw/agents/main/sessions/latest.jsonl \\\n  ./extracted-backup\n\n\n\nDesign:\n\nType: Workflow skill\nScripts: backup.sh, setup-cron.sh, cleanup.sh\nNo assets needed\n\n\n\nCreate:\n./scripts/create-skill.sh ./extracted-backup cron-backup \\\n  --description \"Automated backup scheduling with cron\" \\\n  --type workflow\n\n\n\nPublish:\n./scripts/publish.sh ./cron-backup \\\n  --github \"zfanmy/openclaw-skills\" \\\n  --clawhub-slug \"cron-backup\" \\\n  --version \"1.0.0\""
      },
      {
        "title": "What Makes a Good Skill",
        "body": "✅ Do:\n\nSingle, well-defined purpose\nReusable across contexts\nIncludes working scripts\nClear usage examples\nProgressive disclosure design\n\n❌ Don't:\n\nToo broad or vague\nHardcoded personal paths\nMissing error handling\nUndocumented assumptions"
      },
      {
        "title": "Extracting from Memory",
        "body": "Look for these patterns:\n\n\"帮我写一个脚本...\"\n\"设置定时任务...\"\n\"以后每次都要...\"\n\"这个流程可以复用...\""
      },
      {
        "title": "GitHub Integration",
        "body": "Required setup:\n\n# Configure git\ngit config --global user.name \"Your Name\"\ngit config --global user.email \"your@email.com\"\n\n# Setup SSH key for GitHub\nssh-keygen -t ed25519 -C \"your@email.com\"\n# Add ~/.ssh/id_ed25519.pub to GitHub Settings → SSH Keys\n\n# Login to ClawHub\nclawhub login"
      },
      {
        "title": "Versioning",
        "body": "Follow semantic versioning:\n\n1.0.0 - Initial release\n1.0.1 - Bug fix\n1.1.0 - New feature\n2.0.0 - Breaking change"
      },
      {
        "title": "Extraction finds nothing",
        "body": "Check session file path\nVerify date range with --since\nTry broader pattern matching"
      },
      {
        "title": "GitHub push fails",
        "body": "Verify SSH key is added to GitHub\nCheck repo exists and you have access\nEnsure git config user.name/email set"
      },
      {
        "title": "ClawHub publish fails",
        "body": "Run clawhub login first\nCheck skill validation passes\nVerify slug is unique"
      },
      {
        "title": "Skill doesn't work when used",
        "body": "Test scripts manually first\nCheck for hardcoded paths\nVerify all dependencies listed\nRun with --examples flag when creating"
      },
      {
        "title": "Related Skills",
        "body": "skill-creator - Low-level skill creation utilities\ncron-backup - Example output skill (backup automation)\nclawhub - ClawHub CLI operations"
      }
    ],
    "body": "Skill from Memory\n\nTransform your work into reusable skills. Extract workflows, solutions, and patterns from conversation history or memory files, package them as skills, and publish to GitHub and ClawHub.\n\nOverview\n\nThis skill automates the complete workflow:\n\nExtract - Parse conversation history or memory for reusable patterns\nDesign - Structure as a proper skill with SKILL.md and resources\nCreate - Generate skill files and scripts\nPublish - Push to GitHub and publish to ClawHub\nQuick Start\nCreate Skill from Recent Conversation\n# Analyze last conversation and create skill draft\n./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill\n\n# Or specify a time range\n./scripts/extract-from-history.sh /path/to/session.jsonl ./my-new-skill --since \"2026-02-03\" --pattern \"backup\"\n\nCreate Skill from Memory File\n# Extract from memory markdown\n./scripts/extract-from-memory.sh /path/to/memory/2026-02-04.md ./my-new-skill\n\nFull Auto-Create and Publish\n# One command: extract, create, and publish\n./scripts/create-and-publish.sh \\\n  --source /path/to/session.jsonl \\\n  --skill-name \"my-automation\" \\\n  --github-repo \"user/my-skills\" \\\n  --clawhub-slug \"my-automation\"\n\nWorkflow Steps\nStep 1: Extract Requirements\n\nIdentify from conversation/memory:\n\nTask Pattern: What workflow was solved?\nInputs/Outputs: What goes in, what comes out?\nScripts/Tools: What code was written?\nKey Decisions: What choices were made?\nStep 2: Design Skill Structure\n\nDecide resource types:\n\nscripts/ - For reusable code\nreferences/ - For documentation\nassets/ - For templates/files\nStep 3: Create Skill Files\n\nGenerate:\n\nSKILL.md with frontmatter and instructions\nScripts in scripts/\nAny reference files\nStep 4: Publish\n\nPush to GitHub and publish to ClawHub:\n\n./scripts/publish.sh ./my-skill \\\n  --github \"user/repo\" \\\n  --clawhub-slug \"my-skill\" \\\n  --version \"1.0.0\"\n\nScripts Reference\nextract-from-history.sh\n\nParse conversation JSONL for skill content.\n\n./scripts/extract-from-history.sh <session.jsonl> <output-dir> [options]\n\nOptions:\n  --since DATE     Only extract from DATE onwards\n  --pattern REGEX  Filter messages matching pattern\n  --tools-only     Only extract tool usage patterns\n\nextract-from-memory.sh\n\nParse memory markdown files.\n\n./scripts/extract-from-memory.sh <memory.md> <output-dir>\n\ncreate-skill.sh\n\nGenerate skill structure from extracted content.\n\n./scripts/create-skill.sh <extracted-content-dir> <skill-name>\n\nOptions:\n  --description \"...\"  Skill description\n  --type workflow    Skill type (workflow|tool|reference)\n\npublish.sh\n\nComplete publish workflow.\n\n./scripts/publish.sh <skill-path> [options]\n\nOptions:\n  --github REPO      GitHub repo (owner/repo)\n  --clawhub-slug     ClawHub slug\n  --version VER      Version tag\n  --skip-github      Skip GitHub push\n  --skip-clawhub     Skip ClawHub publish\n\nExample: Converting a Task to Skill\nOriginal Task (from conversation)\n\nUser: \"帮我设置每天自动备份OpenClaw配置\" → Agent creates backup scripts + cron setup\n\nSkill Creation Process\n\nExtract:\n\n./scripts/extract-from-history.sh \\\n  ~/.openclaw/agents/main/sessions/latest.jsonl \\\n  ./extracted-backup\n\n\nDesign:\n\nType: Workflow skill\nScripts: backup.sh, setup-cron.sh, cleanup.sh\nNo assets needed\n\nCreate:\n\n./scripts/create-skill.sh ./extracted-backup cron-backup \\\n  --description \"Automated backup scheduling with cron\" \\\n  --type workflow\n\n\nPublish:\n\n./scripts/publish.sh ./cron-backup \\\n  --github \"zfanmy/openclaw-skills\" \\\n  --clawhub-slug \"cron-backup\" \\\n  --version \"1.0.0\"\n\nBest Practices\nWhat Makes a Good Skill\n\n✅ Do:\n\nSingle, well-defined purpose\nReusable across contexts\nIncludes working scripts\nClear usage examples\nProgressive disclosure design\n\n❌ Don't:\n\nToo broad or vague\nHardcoded personal paths\nMissing error handling\nUndocumented assumptions\nExtracting from Memory\n\nLook for these patterns:\n\n\"帮我写一个脚本...\"\n\"设置定时任务...\"\n\"以后每次都要...\"\n\"这个流程可以复用...\"\nGitHub Integration\n\nRequired setup:\n\n# Configure git\ngit config --global user.name \"Your Name\"\ngit config --global user.email \"your@email.com\"\n\n# Setup SSH key for GitHub\nssh-keygen -t ed25519 -C \"your@email.com\"\n# Add ~/.ssh/id_ed25519.pub to GitHub Settings → SSH Keys\n\n# Login to ClawHub\nclawhub login\n\nVersioning\n\nFollow semantic versioning:\n\n1.0.0 - Initial release\n1.0.1 - Bug fix\n1.1.0 - New feature\n2.0.0 - Breaking change\nTroubleshooting\nExtraction finds nothing\nCheck session file path\nVerify date range with --since\nTry broader pattern matching\nGitHub push fails\nVerify SSH key is added to GitHub\nCheck repo exists and you have access\nEnsure git config user.name/email set\nClawHub publish fails\nRun clawhub login first\nCheck skill validation passes\nVerify slug is unique\nSkill doesn't work when used\nTest scripts manually first\nCheck for hardcoded paths\nVerify all dependencies listed\nRun with --examples flag when creating\nRelated Skills\nskill-creator - Low-level skill creation utilities\ncron-backup - Example output skill (backup automation)\nclawhub - ClawHub CLI operations"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/zfanmy/skill-from-memory",
    "publisherUrl": "https://clawhub.ai/zfanmy/skill-from-memory",
    "owner": "zfanmy",
    "version": "0.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/skill-from-memory",
    "downloadUrl": "https://openagent3.xyz/downloads/skill-from-memory",
    "agentUrl": "https://openagent3.xyz/skills/skill-from-memory/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skill-from-memory/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skill-from-memory/agent.md"
  }
}