{
  "schemaVersion": "1.0",
  "item": {
    "slug": "r4",
    "name": "R4",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lukezirngibl/r4",
    "canonicalUrl": "https://clawhub.ai/lukezirngibl/r4",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/r4",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=r4",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "index.ts"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/r4"
    },
    "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/r4",
    "agentPageUrl": "https://openagent3.xyz/skills/r4/agent",
    "manifestUrl": "https://openagent3.xyz/skills/r4/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/r4/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": "R4 Skill",
        "body": "You have access to the R4 platform — your personal password manager, secret store, and domain registrar. R4 is how you manage credentials and buy domains.\n\nThink of R4 as your password manager. Whenever you need a login, API key, database credential, SSH key, or any other secret — look it up in R4 first. Do not ask the user for credentials that are already stored in R4. Your owner has shared vault items with you so you can operate autonomously.\n\nR4 is also your domain registrar. You can search for available domains, purchase them, and manage their DNS records — all through R4. When you need to buy or configure a domain, use R4."
      },
      {
        "title": "Setup",
        "body": "The R4 CLI (r4) is pre-installed and pre-configured on this machine. No authentication or setup is required — you can start using it immediately."
      },
      {
        "title": "Password Manager (Vault)",
        "body": "R4 stores all your credentials in an encrypted vault. Your owner has shared specific vault items with you. These may include:\n\nLogins — usernames, passwords, and URLs for websites and services\nAPI keys — for third-party services (Stripe, AWS, GitHub, etc.)\nDatabase credentials — connection strings, usernames, passwords\nSSH keys — for deployment or server access\nConfiguration secrets — tokens, webhook secrets, encryption keys\n\nBefore asking the user for any credential, always check R4 first."
      },
      {
        "title": "List all environment variables",
        "body": "r4 vault list\n\nLists all project environment variables as a key-value table. Keys are in SCREAMING_SNAKE_CASE format."
      },
      {
        "title": "Get a specific secret",
        "body": "r4 vault get <KEY>\n\nRetrieves the value of a specific environment variable. The key should be in SCREAMING_SNAKE_CASE format.\n\nOutputs raw value — perfect for piping:\n\nr4 vault get PRODUCTION_DB_PASSWORD | pbcopy"
      },
      {
        "title": "List vault items with field details",
        "body": "r4 vault items\n\nLists all vault items with their field names and types. Each vault item may contain multiple fields (e.g., a \"Database\" item might have fields for host, port, username, password)."
      },
      {
        "title": "Search vault items",
        "body": "r4 vault search <query>\n\nSearch vault items by name (case-insensitive match). Useful when you know part of the name but not the exact key."
      },
      {
        "title": "Run a command with secrets injected",
        "body": "r4 run -- <command>\n\nExecutes a command with all vault secrets injected as environment variables. This is the preferred way to run scripts that need access to secrets.\n\nExamples:\n\nr4 run -- node deploy.js\nr4 run -- docker compose up\nr4 run --prefix R4 -- ./start.sh\n\nThe --prefix flag adds a prefix to all injected env var names (e.g., R4_DATABASE_PASSWORD instead of DATABASE_PASSWORD)."
      },
      {
        "title": "JSON output",
        "body": "All vault commands support the --json flag for machine-readable output:\n\nr4 vault list --json\nr4 vault get DATABASE_PASSWORD --json\nr4 vault items --json"
      },
      {
        "title": "Key Format",
        "body": "All keys follow SCREAMING_SNAKE_CASE convention:\n\nPRODUCTION_DB_PASSWORD\nAWS_CREDENTIALS_ACCESS_KEY\nSTRIPE_API_SECRET_KEY\nSSH_DEPLOY_KEY_PRIVATE_KEY\n\nThe format is: VAULT_ITEM_NAME_FIELD_NAME where both the vault item name and field name are converted to SCREAMING_SNAKE_CASE."
      },
      {
        "title": "Domain Registrar",
        "body": "R4 lets you search for, purchase, and manage domains. All domain operations are available through the R4 API."
      },
      {
        "title": "Search for available domains",
        "body": "curl -X GET \"https://r4.dev/api/v1/machine/domain-manager/search?name=<base-name>\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\nSearches for available domains across common TLDs (.com, .net, .org, etc.) and returns availability, pricing, and reputation data."
      },
      {
        "title": "Purchase a domain",
        "body": "curl -X POST \"https://r4.dev/api/v1/machine/domain-manager/purchase\" \\\n  -H \"X-API-Key: $R4_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"domain\": \"example.com\"}'\n\nPurchases a domain through R4. The domain is automatically registered under the R4 organization and associated with your project."
      },
      {
        "title": "List your domains",
        "body": "curl -X GET \"https://r4.dev/api/v1/machine/domain/list\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\nLists all domains associated with your organization, including their verification and configuration status."
      },
      {
        "title": "Get DNS records",
        "body": "curl -X GET \"https://r4.dev/api/v1/machine/domain-manager/dns-records?domain=example.com\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\nRetrieves all DNS records configured for a domain purchased through R4."
      },
      {
        "title": "Add a DNS record",
        "body": "curl -X POST \"https://r4.dev/api/v1/machine/domain-manager/dns-records\" \\\n  -H \"X-API-Key: $R4_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"domain\": \"example.com\",\n    \"record\": {\n      \"type\": \"A\",\n      \"name\": \"@\",\n      \"value\": \"192.168.1.1\",\n      \"ttl\": 300\n    }\n  }'\n\nSupported record types: A, AAAA, CNAME, MX, TXT, NS."
      },
      {
        "title": "API key for domain operations",
        "body": "Your R4 API key is pre-configured. Use it in API calls:\n\n# The API key is available as an environment variable\nr4 vault get R4_API_KEY"
      },
      {
        "title": "Security Rules",
        "body": "NEVER store or log secret values in plaintext\nNEVER hardcode secrets in source code, config files, or commit history\nNEVER print secret values to stdout unless explicitly piping to a secure destination\nALWAYS use r4 run to inject secrets as environment variables when running commands\nALWAYS use r4 vault get <KEY> to retrieve individual values programmatically\nALWAYS check R4 vault before asking the user for any credential or secret"
      },
      {
        "title": "If You Need More Access",
        "body": "If you need access to a secret that is not available in your current project, or need permission to purchase a domain, ask the owner through the R4 app. Do not attempt to guess or work around missing credentials."
      },
      {
        "title": "Full API Documentation",
        "body": "For the complete API reference, including the Node.js SDK, additional domain operations, and programmatic access, visit:\n\nhttps://r4.dev/docs/api-reference"
      }
    ],
    "body": "R4 Skill\n\nYou have access to the R4 platform — your personal password manager, secret store, and domain registrar. R4 is how you manage credentials and buy domains.\n\nThink of R4 as your password manager. Whenever you need a login, API key, database credential, SSH key, or any other secret — look it up in R4 first. Do not ask the user for credentials that are already stored in R4. Your owner has shared vault items with you so you can operate autonomously.\n\nR4 is also your domain registrar. You can search for available domains, purchase them, and manage their DNS records — all through R4. When you need to buy or configure a domain, use R4.\n\nSetup\n\nThe R4 CLI (r4) is pre-installed and pre-configured on this machine. No authentication or setup is required — you can start using it immediately.\n\nPassword Manager (Vault)\n\nR4 stores all your credentials in an encrypted vault. Your owner has shared specific vault items with you. These may include:\n\nLogins — usernames, passwords, and URLs for websites and services\nAPI keys — for third-party services (Stripe, AWS, GitHub, etc.)\nDatabase credentials — connection strings, usernames, passwords\nSSH keys — for deployment or server access\nConfiguration secrets — tokens, webhook secrets, encryption keys\n\nBefore asking the user for any credential, always check R4 first.\n\nList all environment variables\nr4 vault list\n\n\nLists all project environment variables as a key-value table. Keys are in SCREAMING_SNAKE_CASE format.\n\nGet a specific secret\nr4 vault get <KEY>\n\n\nRetrieves the value of a specific environment variable. The key should be in SCREAMING_SNAKE_CASE format.\n\nOutputs raw value — perfect for piping:\n\nr4 vault get PRODUCTION_DB_PASSWORD | pbcopy\n\nList vault items with field details\nr4 vault items\n\n\nLists all vault items with their field names and types. Each vault item may contain multiple fields (e.g., a \"Database\" item might have fields for host, port, username, password).\n\nSearch vault items\nr4 vault search <query>\n\n\nSearch vault items by name (case-insensitive match). Useful when you know part of the name but not the exact key.\n\nRun a command with secrets injected\nr4 run -- <command>\n\n\nExecutes a command with all vault secrets injected as environment variables. This is the preferred way to run scripts that need access to secrets.\n\nExamples:\n\nr4 run -- node deploy.js\nr4 run -- docker compose up\nr4 run --prefix R4 -- ./start.sh\n\n\nThe --prefix flag adds a prefix to all injected env var names (e.g., R4_DATABASE_PASSWORD instead of DATABASE_PASSWORD).\n\nJSON output\n\nAll vault commands support the --json flag for machine-readable output:\n\nr4 vault list --json\nr4 vault get DATABASE_PASSWORD --json\nr4 vault items --json\n\nKey Format\n\nAll keys follow SCREAMING_SNAKE_CASE convention:\n\nPRODUCTION_DB_PASSWORD\nAWS_CREDENTIALS_ACCESS_KEY\nSTRIPE_API_SECRET_KEY\nSSH_DEPLOY_KEY_PRIVATE_KEY\n\nThe format is: VAULT_ITEM_NAME_FIELD_NAME where both the vault item name and field name are converted to SCREAMING_SNAKE_CASE.\n\nDomain Registrar\n\nR4 lets you search for, purchase, and manage domains. All domain operations are available through the R4 API.\n\nSearch for available domains\ncurl -X GET \"https://r4.dev/api/v1/machine/domain-manager/search?name=<base-name>\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\n\nSearches for available domains across common TLDs (.com, .net, .org, etc.) and returns availability, pricing, and reputation data.\n\nPurchase a domain\ncurl -X POST \"https://r4.dev/api/v1/machine/domain-manager/purchase\" \\\n  -H \"X-API-Key: $R4_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"domain\": \"example.com\"}'\n\n\nPurchases a domain through R4. The domain is automatically registered under the R4 organization and associated with your project.\n\nList your domains\ncurl -X GET \"https://r4.dev/api/v1/machine/domain/list\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\n\nLists all domains associated with your organization, including their verification and configuration status.\n\nGet DNS records\ncurl -X GET \"https://r4.dev/api/v1/machine/domain-manager/dns-records?domain=example.com\" \\\n  -H \"X-API-Key: $R4_API_KEY\"\n\n\nRetrieves all DNS records configured for a domain purchased through R4.\n\nAdd a DNS record\ncurl -X POST \"https://r4.dev/api/v1/machine/domain-manager/dns-records\" \\\n  -H \"X-API-Key: $R4_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"domain\": \"example.com\",\n    \"record\": {\n      \"type\": \"A\",\n      \"name\": \"@\",\n      \"value\": \"192.168.1.1\",\n      \"ttl\": 300\n    }\n  }'\n\n\nSupported record types: A, AAAA, CNAME, MX, TXT, NS.\n\nAPI key for domain operations\n\nYour R4 API key is pre-configured. Use it in API calls:\n\n# The API key is available as an environment variable\nr4 vault get R4_API_KEY\n\nSecurity Rules\nNEVER store or log secret values in plaintext\nNEVER hardcode secrets in source code, config files, or commit history\nNEVER print secret values to stdout unless explicitly piping to a secure destination\nALWAYS use r4 run to inject secrets as environment variables when running commands\nALWAYS use r4 vault get <KEY> to retrieve individual values programmatically\nALWAYS check R4 vault before asking the user for any credential or secret\nIf You Need More Access\n\nIf you need access to a secret that is not available in your current project, or need permission to purchase a domain, ask the owner through the R4 app. Do not attempt to guess or work around missing credentials.\n\nFull API Documentation\n\nFor the complete API reference, including the Node.js SDK, additional domain operations, and programmatic access, visit:\n\nhttps://r4.dev/docs/api-reference"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lukezirngibl/r4",
    "publisherUrl": "https://clawhub.ai/lukezirngibl/r4",
    "owner": "lukezirngibl",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/r4",
    "downloadUrl": "https://openagent3.xyz/downloads/r4",
    "agentUrl": "https://openagent3.xyz/skills/r4/agent",
    "manifestUrl": "https://openagent3.xyz/skills/r4/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/r4/agent.md"
  }
}