{
  "schemaVersion": "1.0",
  "item": {
    "slug": "surrealism",
    "name": "surrealism",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/24601/surrealism",
    "canonicalUrl": "https://clawhub.ai/24601/surrealism",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/surrealism",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=surrealism",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "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. 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",
      "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/surrealism"
    },
    "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/surrealism",
    "agentPageUrl": "https://openagent3.xyz/skills/surrealism/agent",
    "manifestUrl": "https://openagent3.xyz/skills/surrealism/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/surrealism/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": "Surrealism -- WASM Extensions for SurrealDB",
        "body": "New in SurrealDB 3. Write custom functions in Rust, compile them to WebAssembly\n(WASM), and deploy them as native database modules callable from SurrealQL."
      },
      {
        "title": "Prerequisites",
        "body": "Rust toolchain (stable) with wasm32-unknown-unknown target\nSurrealDB CLI v3.0.0+ (surreal binary with surreal module subcommand)\nFamiliarity with SurrealQL DEFINE MODULE and DEFINE BUCKET"
      },
      {
        "title": "Development Workflow",
        "body": "1. Annotate   -- surrealism.toml + #[surrealism] on Rust functions\n2. Compile    -- surreal module compile  (produces .wasm binary)\n3. Register   -- DEFINE BUCKET + DEFINE MODULE in SurrealQL"
      },
      {
        "title": "Quick Start",
        "body": "# Create a new Surrealism project\ncargo new --lib my_extension\ncd my_extension\n\n# Add the WASM target\nrustup target add wasm32-unknown-unknown\n\n# Create surrealism.toml (required manifest)\ncat > surrealism.toml << 'TOML'\n[package]\nname = \"my_extension\"\nversion = \"0.1.0\"\nTOML\n\n# Write your extension (annotate with #[surrealism])\ncat > src/lib.rs << 'RUST'\nuse surrealism::surrealism;\n\n#[surrealism]\nfn greet(name: String) -> String {\n    format!(\"Hello, {}!\", name)\n}\nRUST\n\n# Compile to WASM using SurrealDB CLI\nsurreal module compile\n\n# Register in SurrealDB\nsurreal sql --endpoint http://localhost:8000 --user root --pass root --ns test --db test\n\n-- Grant access to the WASM file\nDEFINE BUCKET my_bucket;\n\n-- Register the module functions\nDEFINE MODULE my_extension FROM 'my_bucket:my_extension.wasm';\n\n-- Use the function in queries\nSELECT my_extension::greet('World');"
      },
      {
        "title": "Use Cases",
        "body": "Custom scalar functions callable from SurrealQL\nFake/mock data generation for testing\nDomain-specific logic (language processing, quantitative finance, custom encoding)\nAccess to niche Rust crate functionality too specific for core SurrealDB\nCustom analyzers for full-text search"
      },
      {
        "title": "Status",
        "body": "Surrealism is actively in development and not yet stable. The API may change\nbetween SurrealDB 3.x releases. File feedback via GitHub issues/PRs on the\nsurrealdb/surrealdb repository."
      },
      {
        "title": "Full Documentation",
        "body": "See the main skill's rule file for complete guidance:\n\nrules/surrealism.md -- project setup, Rust function signatures, WASM compilation, DEFINE MODULE/BUCKET syntax, deployment, testing, and best practices\nSurrealDB Extensions Docs -- official documentation\nCLI module command -- surreal module reference"
      }
    ],
    "body": "Surrealism -- WASM Extensions for SurrealDB\n\nNew in SurrealDB 3. Write custom functions in Rust, compile them to WebAssembly (WASM), and deploy them as native database modules callable from SurrealQL.\n\nPrerequisites\nRust toolchain (stable) with wasm32-unknown-unknown target\nSurrealDB CLI v3.0.0+ (surreal binary with surreal module subcommand)\nFamiliarity with SurrealQL DEFINE MODULE and DEFINE BUCKET\nDevelopment Workflow\n1. Annotate   -- surrealism.toml + #[surrealism] on Rust functions\n2. Compile    -- surreal module compile  (produces .wasm binary)\n3. Register   -- DEFINE BUCKET + DEFINE MODULE in SurrealQL\n\nQuick Start\n# Create a new Surrealism project\ncargo new --lib my_extension\ncd my_extension\n\n# Add the WASM target\nrustup target add wasm32-unknown-unknown\n\n# Create surrealism.toml (required manifest)\ncat > surrealism.toml << 'TOML'\n[package]\nname = \"my_extension\"\nversion = \"0.1.0\"\nTOML\n\n# Write your extension (annotate with #[surrealism])\ncat > src/lib.rs << 'RUST'\nuse surrealism::surrealism;\n\n#[surrealism]\nfn greet(name: String) -> String {\n    format!(\"Hello, {}!\", name)\n}\nRUST\n\n# Compile to WASM using SurrealDB CLI\nsurreal module compile\n\n# Register in SurrealDB\nsurreal sql --endpoint http://localhost:8000 --user root --pass root --ns test --db test\n\n-- Grant access to the WASM file\nDEFINE BUCKET my_bucket;\n\n-- Register the module functions\nDEFINE MODULE my_extension FROM 'my_bucket:my_extension.wasm';\n\n-- Use the function in queries\nSELECT my_extension::greet('World');\n\nUse Cases\nCustom scalar functions callable from SurrealQL\nFake/mock data generation for testing\nDomain-specific logic (language processing, quantitative finance, custom encoding)\nAccess to niche Rust crate functionality too specific for core SurrealDB\nCustom analyzers for full-text search\nStatus\n\nSurrealism is actively in development and not yet stable. The API may change between SurrealDB 3.x releases. File feedback via GitHub issues/PRs on the surrealdb/surrealdb repository.\n\nFull Documentation\n\nSee the main skill's rule file for complete guidance:\n\nrules/surrealism.md -- project setup, Rust function signatures, WASM compilation, DEFINE MODULE/BUCKET syntax, deployment, testing, and best practices\nSurrealDB Extensions Docs -- official documentation\nCLI module command -- surreal module reference"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/24601/surrealism",
    "publisherUrl": "https://clawhub.ai/24601/surrealism",
    "owner": "24601",
    "version": "1.2.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/surrealism",
    "downloadUrl": "https://openagent3.xyz/downloads/surrealism",
    "agentUrl": "https://openagent3.xyz/skills/surrealism/agent",
    "manifestUrl": "https://openagent3.xyz/skills/surrealism/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/surrealism/agent.md"
  }
}