{
  "schemaVersion": "1.0",
  "item": {
    "slug": "growthx-bx-submit",
    "name": "Built at GrowthX",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/gxt-admin/growthx-bx-submit",
    "canonicalUrl": "https://clawhub.ai/gxt-admin/growthx-bx-submit",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/growthx-bx-submit",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=growthx-bx-submit",
    "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/growthx-bx-submit"
    },
    "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/growthx-bx-submit",
    "agentPageUrl": "https://openagent3.xyz/skills/growthx-bx-submit/agent",
    "manifestUrl": "https://openagent3.xyz/skills/growthx-bx-submit/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/growthx-bx-submit/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": "Built at GrowthX — Project Submission",
        "body": "Submit a project to Built at GrowthX, the community builder showcase for GrowthX members."
      },
      {
        "title": "When to Use",
        "body": "Activate this skill when the user wants to:\n\nPush, submit, or share a project to Built at GrowthX\nPost a project to the GrowthX builder showcase\nPublish their build on GrowthX"
      },
      {
        "title": "Getting an API Key",
        "body": "If the user hasn't configured their API key yet, direct them to:\n\nGo to Built at GrowthX on the GrowthX platform\nNavigate to their profile / API key settings\nClick Generate API Key — the raw key is shown once, copy it immediately\nSet the key in OpenClaw config: add it under skills.entries.growthx-bx-submit.apiKey in ~/.openclaw/openclaw.json, or set the GROWTHX_API_KEY environment variable\n\nThe key is tied to the user's GrowthX membership. If their membership lapses, the key stops working."
      },
      {
        "title": "API Endpoint",
        "body": "POST https://backend.growthx.club/api/v1/bx/projects/agent"
      },
      {
        "title": "Authentication",
        "body": "Send the API key in the x-api-key header:\n\nx-api-key: <GROWTHX_API_KEY>"
      },
      {
        "title": "Request Body (JSON)",
        "body": "Required fields:\n\nFieldTypeConstraintsnamestringMax 100 characters. The project name.taglinestringMax 200 characters. A short one-liner about the project.\n\nOptional fields:\n\nFieldTypeDefaultConstraintsdescriptionstring\"\"Max 2000 characters. Longer project description.categorystring\"SaaS\"e.g. SaaS, Fintech, Marketplace, EdTech, HealthTech, AI/ML, Developer Tools, E-commercestackstring[][]Tech stack tags, e.g. [\"React\", \"Node.js\", \"MongoDB\"]urlstringnullProject URL (must be a valid URI)statusstring\"shipped\"One of: shipped, idea, prototyping, betabuildathonstringnullName of a buildathon if this project was built during one"
      },
      {
        "title": "Example Request",
        "body": "curl -X POST \"https://backend.growthx.club/api/v1/bx/projects/agent\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"x-api-key: $GROWTHX_API_KEY\" \\\n  -d '{\n    \"name\": \"TaskFlow\",\n    \"tagline\": \"AI-powered task management for remote teams\",\n    \"description\": \"TaskFlow uses AI to automatically prioritize and assign tasks based on team capacity and deadlines.\",\n    \"category\": \"SaaS\",\n    \"stack\": [\"React\", \"Node.js\", \"OpenAI\", \"PostgreSQL\"],\n    \"url\": \"https://taskflow.app\",\n    \"status\": \"shipped\"\n  }' | jq ."
      },
      {
        "title": "Success Response (201)",
        "body": "{\n  \"project\": {\n    \"_id\": \"...\",\n    \"name\": \"TaskFlow\",\n    \"tagline\": \"AI-powered task management for remote teams\",\n    \"status\": \"shipped\",\n    \"creator\": { \"name\": \"...\", \"avatar_url\": \"...\" },\n    \"weighted_votes\": 0,\n    \"raw_votes\": 0\n  }\n}"
      },
      {
        "title": "Agent Behavior",
        "body": "When the user asks to submit a project, follow these steps in order:"
      },
      {
        "title": "Step 1 — Detect Projects in the Workspace",
        "body": "Scan standard project files in the current workspace to discover what the user has built. Only read these files:\n\nProject manifest files:\n\npackage.json — name, description, keywords, homepage, repository\npyproject.toml / setup.py / setup.cfg — name, description, urls\nCargo.toml — name, description, repository, keywords\ngo.mod — module name\npubspec.yaml — name, description, homepage\n\nDocumentation:\n\nREADME.md — project title (first # heading) and opening paragraph\ngit remote -v — repository URL\n\nMonorepo detection:\n\nFor monorepos, check for workspace configs (workspaces in root package.json, pnpm-workspace.yaml, turbo.json, nx.json) or subdirectories with their own manifest files. Each workspace package with its own name/description is a candidate project.\n\nHow to infer fields:\n\nFieldHow to Infernamename field from manifest file, or first heading in READMEtaglinedescription field from manifest, or first sentence of READMEdescriptionSummarize from README content and manifest description (1-3 sentences)stackDependencies and devDependencies from manifest (e.g. react → \"React\", express → \"Express\", django → \"Django\")urlhomepage field from manifest, or repository URL from git remotecategoryInfer from dependencies and README (e.g. stripe → \"Fintech\", next → \"SaaS\", ML libraries → \"AI/ML\")statusDefault to \"shipped\". If README explicitly says WIP/prototype/beta, use that instead."
      },
      {
        "title": "Step 2 — Present Discovered Projects",
        "body": "Show the user what you found. If multiple projects were detected (e.g. monorepo packages), list them and ask which one to submit:\n\nI found these projects in your workspace:\n\nproject-name — short description\nother-project — short description\n\nWhich one would you like to submit to Built at GrowthX?\n\nIf only one project is detected, present its details directly and ask to confirm."
      },
      {
        "title": "Step 3 — Fill in Missing Details",
        "body": "For the selected project, show what was auto-detected and ask the user to fill in or correct anything:\n\nname and tagline are required — if the tagline can't be inferred, ask for it\nShow the auto-detected stack, category, url, description, and status and let the user adjust\nDefault status to \"shipped\" unless README or context suggests it's still in progress"
      },
      {
        "title": "Step 4 — Confirm and Submit",
        "body": "Show a final summary of all fields that will be sent:\n\nSubmitting to Built at GrowthX:\n\nName: TaskFlow\nTagline: AI-powered task management for remote teams\nCategory: SaaS\nStack: React, Node.js, OpenAI, PostgreSQL\nURL: https://taskflow.app\nStatus: shipped\n\nSubmit this?\n\nOnly after the user confirms, make the API call using curl with the x-api-key header."
      },
      {
        "title": "Step 5 — Report Result",
        "body": "On success, tell the user their project was submitted and share the project link if available. On failure, explain the error (see below)."
      },
      {
        "title": "Error Handling",
        "body": "StatusMeaningWhat to Tell the User401Invalid or revoked API key\"Your API key is invalid or has been revoked. Please generate a new one from the Built at GrowthX settings.\"403Membership not active\"Your GrowthX membership is not active. An active membership is required to submit projects.\"400Validation error (missing name/tagline, field too long, etc.)Show the specific validation error from the response body."
      }
    ],
    "body": "Built at GrowthX — Project Submission\n\nSubmit a project to Built at GrowthX, the community builder showcase for GrowthX members.\n\nWhen to Use\n\nActivate this skill when the user wants to:\n\nPush, submit, or share a project to Built at GrowthX\nPost a project to the GrowthX builder showcase\nPublish their build on GrowthX\nGetting an API Key\n\nIf the user hasn't configured their API key yet, direct them to:\n\nGo to Built at GrowthX on the GrowthX platform\nNavigate to their profile / API key settings\nClick Generate API Key — the raw key is shown once, copy it immediately\nSet the key in OpenClaw config: add it under skills.entries.growthx-bx-submit.apiKey in ~/.openclaw/openclaw.json, or set the GROWTHX_API_KEY environment variable\n\nThe key is tied to the user's GrowthX membership. If their membership lapses, the key stops working.\n\nAPI Endpoint\nPOST https://backend.growthx.club/api/v1/bx/projects/agent\n\nAuthentication\n\nSend the API key in the x-api-key header:\n\nx-api-key: <GROWTHX_API_KEY>\n\nRequest Body (JSON)\n\nRequired fields:\n\nField\tType\tConstraints\nname\tstring\tMax 100 characters. The project name.\ntagline\tstring\tMax 200 characters. A short one-liner about the project.\n\nOptional fields:\n\nField\tType\tDefault\tConstraints\ndescription\tstring\t\"\"\tMax 2000 characters. Longer project description.\ncategory\tstring\t\"SaaS\"\te.g. SaaS, Fintech, Marketplace, EdTech, HealthTech, AI/ML, Developer Tools, E-commerce\nstack\tstring[]\t[]\tTech stack tags, e.g. [\"React\", \"Node.js\", \"MongoDB\"]\nurl\tstring\tnull\tProject URL (must be a valid URI)\nstatus\tstring\t\"shipped\"\tOne of: shipped, idea, prototyping, beta\nbuildathon\tstring\tnull\tName of a buildathon if this project was built during one\nExample Request\ncurl -X POST \"https://backend.growthx.club/api/v1/bx/projects/agent\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"x-api-key: $GROWTHX_API_KEY\" \\\n  -d '{\n    \"name\": \"TaskFlow\",\n    \"tagline\": \"AI-powered task management for remote teams\",\n    \"description\": \"TaskFlow uses AI to automatically prioritize and assign tasks based on team capacity and deadlines.\",\n    \"category\": \"SaaS\",\n    \"stack\": [\"React\", \"Node.js\", \"OpenAI\", \"PostgreSQL\"],\n    \"url\": \"https://taskflow.app\",\n    \"status\": \"shipped\"\n  }' | jq .\n\nSuccess Response (201)\n{\n  \"project\": {\n    \"_id\": \"...\",\n    \"name\": \"TaskFlow\",\n    \"tagline\": \"AI-powered task management for remote teams\",\n    \"status\": \"shipped\",\n    \"creator\": { \"name\": \"...\", \"avatar_url\": \"...\" },\n    \"weighted_votes\": 0,\n    \"raw_votes\": 0\n  }\n}\n\nAgent Behavior\n\nWhen the user asks to submit a project, follow these steps in order:\n\nStep 1 — Detect Projects in the Workspace\n\nScan standard project files in the current workspace to discover what the user has built. Only read these files:\n\nProject manifest files:\n\npackage.json — name, description, keywords, homepage, repository\npyproject.toml / setup.py / setup.cfg — name, description, urls\nCargo.toml — name, description, repository, keywords\ngo.mod — module name\npubspec.yaml — name, description, homepage\n\nDocumentation:\n\nREADME.md — project title (first # heading) and opening paragraph\ngit remote -v — repository URL\n\nMonorepo detection:\n\nFor monorepos, check for workspace configs (workspaces in root package.json, pnpm-workspace.yaml, turbo.json, nx.json) or subdirectories with their own manifest files. Each workspace package with its own name/description is a candidate project.\n\nHow to infer fields:\n\nField\tHow to Infer\nname\tname field from manifest file, or first heading in README\ntagline\tdescription field from manifest, or first sentence of README\ndescription\tSummarize from README content and manifest description (1-3 sentences)\nstack\tDependencies and devDependencies from manifest (e.g. react → \"React\", express → \"Express\", django → \"Django\")\nurl\thomepage field from manifest, or repository URL from git remote\ncategory\tInfer from dependencies and README (e.g. stripe → \"Fintech\", next → \"SaaS\", ML libraries → \"AI/ML\")\nstatus\tDefault to \"shipped\". If README explicitly says WIP/prototype/beta, use that instead.\nStep 2 — Present Discovered Projects\n\nShow the user what you found. If multiple projects were detected (e.g. monorepo packages), list them and ask which one to submit:\n\nI found these projects in your workspace:\n\nproject-name — short description\nother-project — short description\n\nWhich one would you like to submit to Built at GrowthX?\n\nIf only one project is detected, present its details directly and ask to confirm.\n\nStep 3 — Fill in Missing Details\n\nFor the selected project, show what was auto-detected and ask the user to fill in or correct anything:\n\nname and tagline are required — if the tagline can't be inferred, ask for it\nShow the auto-detected stack, category, url, description, and status and let the user adjust\nDefault status to \"shipped\" unless README or context suggests it's still in progress\nStep 4 — Confirm and Submit\n\nShow a final summary of all fields that will be sent:\n\nSubmitting to Built at GrowthX:\n\nName: TaskFlow\nTagline: AI-powered task management for remote teams\nCategory: SaaS\nStack: React, Node.js, OpenAI, PostgreSQL\nURL: https://taskflow.app\nStatus: shipped\n\nSubmit this?\n\nOnly after the user confirms, make the API call using curl with the x-api-key header.\n\nStep 5 — Report Result\n\nOn success, tell the user their project was submitted and share the project link if available. On failure, explain the error (see below).\n\nError Handling\nStatus\tMeaning\tWhat to Tell the User\n401\tInvalid or revoked API key\t\"Your API key is invalid or has been revoked. Please generate a new one from the Built at GrowthX settings.\"\n403\tMembership not active\t\"Your GrowthX membership is not active. An active membership is required to submit projects.\"\n400\tValidation error (missing name/tagline, field too long, etc.)\tShow the specific validation error from the response body."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/gxt-admin/growthx-bx-submit",
    "publisherUrl": "https://clawhub.ai/gxt-admin/growthx-bx-submit",
    "owner": "gxt-admin",
    "version": "1.0.6",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/growthx-bx-submit",
    "downloadUrl": "https://openagent3.xyz/downloads/growthx-bx-submit",
    "agentUrl": "https://openagent3.xyz/skills/growthx-bx-submit/agent",
    "manifestUrl": "https://openagent3.xyz/skills/growthx-bx-submit/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/growthx-bx-submit/agent.md"
  }
}