{
  "schemaVersion": "1.0",
  "item": {
    "slug": "plane-so-cli",
    "name": "Plane.so CLI",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/luiseduardoaugusto/plane-so-cli",
    "canonicalUrl": "https://clawhub.ai/luiseduardoaugusto/plane-so-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/plane-so-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=plane-so-cli",
    "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/plane-so-cli"
    },
    "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/plane-so-cli",
    "agentPageUrl": "https://openagent3.xyz/skills/plane-so-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/plane-so-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/plane-so-cli/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": "Plane.so CLI Skill",
        "body": "Interact with Plane.so project management via a clean, auditable Python CLI.\n\nZero dependencies — uses only Python 3.8+ stdlib. The plane-so-cli executable is bundled in scripts/plane-so-cli and available on PATH after installation."
      },
      {
        "title": "Setup",
        "body": "Set these environment variables:\n\nexport PLANE_API_KEY=\"your-api-key\"\nexport PLANE_WORKSPACE=\"your-workspace-slug\"\n\nGet your API key: Plane > Profile Settings > Personal Access Tokens"
      },
      {
        "title": "User & Workspace",
        "body": "plane-so-cli me                        # Show current user\nplane-so-cli projects list             # List all active projects\nplane-so-cli members                   # List workspace members"
      },
      {
        "title": "Issues (Work Items)",
        "body": "plane-so-cli issues list -p PROJECT_ID\nplane-so-cli issues list -p PROJECT_ID --state STATE_ID\nplane-so-cli issues list -p PROJECT_ID --priority high\nplane-so-cli issues list -p PROJECT_ID --assignee USER_ID\nplane-so-cli issues get -p PROJECT_ID ISSUE_ID\nplane-so-cli issues create -p PROJECT_ID --name \"Fix bug\" --priority high\nplane-so-cli issues create -p PROJECT_ID --name \"Task\" --assignee USER_ID\nplane-so-cli issues update -p PROJECT_ID ISSUE_ID --state STATE_ID\nplane-so-cli issues update -p PROJECT_ID ISSUE_ID --priority medium\nplane-so-cli issues assign -p PROJECT_ID ISSUE_ID USER_ID_1 USER_ID_2\nplane-so-cli issues delete -p PROJECT_ID ISSUE_ID\nplane-so-cli issues search \"login bug\"\nplane-so-cli issues my"
      },
      {
        "title": "Comments, States & Labels",
        "body": "plane-so-cli comments list -p PROJECT_ID -i ISSUE_ID\nplane-so-cli comments add -p PROJECT_ID -i ISSUE_ID \"Comment text\"\nplane-so-cli states -p PROJECT_ID\nplane-so-cli labels -p PROJECT_ID"
      },
      {
        "title": "Cycles & Modules",
        "body": "plane-so-cli cycles list -p PROJECT_ID\nplane-so-cli cycles get -p PROJECT_ID CYCLE_ID\nplane-so-cli modules list -p PROJECT_ID\nplane-so-cli modules get -p PROJECT_ID MODULE_ID"
      },
      {
        "title": "Output Formats",
        "body": "Default is human-readable table. Use -f json for raw JSON:\n\nplane-so-cli projects list -f json"
      },
      {
        "title": "Typical Workflow",
        "body": "plane-so-cli projects list — find project ID\nplane-so-cli members — find member IDs for assignment\nplane-so-cli states -p PROJECT_ID — see available states\nplane-so-cli issues create -p PROJECT_ID --name \"Task\" --assignee USER_ID\nplane-so-cli comments add -p PROJECT_ID -i ISSUE_ID \"Started working\""
      },
      {
        "title": "Security & Privacy",
        "body": "This skill communicates only with the Plane.so API. The API host is hardcoded to api.plane.so and cannot be overridden.\n\nEndpointData sentPurposehttps://api.plane.so/api/v1/*API key (header), project/issue data (body)All Plane.so operations\n\nYour PLANE_API_KEY is sent as an X-API-Key header exclusively to https://api.plane.so\nThe API host is hardcoded — no environment variable can redirect requests to another domain\nNo data is cached, logged, or stored locally\nNo telemetry or analytics are collected\nThe full source code is auditable at github.com/luiseduardoaugusto/plane-so-cli and bundled in scripts/plane-so-cli"
      }
    ],
    "body": "Plane.so CLI Skill\n\nInteract with Plane.so project management via a clean, auditable Python CLI.\n\nZero dependencies — uses only Python 3.8+ stdlib. The plane-so-cli executable is bundled in scripts/plane-so-cli and available on PATH after installation.\n\nSetup\n\nSet these environment variables:\n\nexport PLANE_API_KEY=\"your-api-key\"\nexport PLANE_WORKSPACE=\"your-workspace-slug\"\n\n\nGet your API key: Plane > Profile Settings > Personal Access Tokens\n\nCommands\nUser & Workspace\nplane-so-cli me                        # Show current user\nplane-so-cli projects list             # List all active projects\nplane-so-cli members                   # List workspace members\n\nIssues (Work Items)\nplane-so-cli issues list -p PROJECT_ID\nplane-so-cli issues list -p PROJECT_ID --state STATE_ID\nplane-so-cli issues list -p PROJECT_ID --priority high\nplane-so-cli issues list -p PROJECT_ID --assignee USER_ID\nplane-so-cli issues get -p PROJECT_ID ISSUE_ID\nplane-so-cli issues create -p PROJECT_ID --name \"Fix bug\" --priority high\nplane-so-cli issues create -p PROJECT_ID --name \"Task\" --assignee USER_ID\nplane-so-cli issues update -p PROJECT_ID ISSUE_ID --state STATE_ID\nplane-so-cli issues update -p PROJECT_ID ISSUE_ID --priority medium\nplane-so-cli issues assign -p PROJECT_ID ISSUE_ID USER_ID_1 USER_ID_2\nplane-so-cli issues delete -p PROJECT_ID ISSUE_ID\nplane-so-cli issues search \"login bug\"\nplane-so-cli issues my\n\nComments, States & Labels\nplane-so-cli comments list -p PROJECT_ID -i ISSUE_ID\nplane-so-cli comments add -p PROJECT_ID -i ISSUE_ID \"Comment text\"\nplane-so-cli states -p PROJECT_ID\nplane-so-cli labels -p PROJECT_ID\n\nCycles & Modules\nplane-so-cli cycles list -p PROJECT_ID\nplane-so-cli cycles get -p PROJECT_ID CYCLE_ID\nplane-so-cli modules list -p PROJECT_ID\nplane-so-cli modules get -p PROJECT_ID MODULE_ID\n\nOutput Formats\n\nDefault is human-readable table. Use -f json for raw JSON:\n\nplane-so-cli projects list -f json\n\nTypical Workflow\nplane-so-cli projects list — find project ID\nplane-so-cli members — find member IDs for assignment\nplane-so-cli states -p PROJECT_ID — see available states\nplane-so-cli issues create -p PROJECT_ID --name \"Task\" --assignee USER_ID\nplane-so-cli comments add -p PROJECT_ID -i ISSUE_ID \"Started working\"\nSecurity & Privacy\n\nThis skill communicates only with the Plane.so API. The API host is hardcoded to api.plane.so and cannot be overridden.\n\nEndpoint\tData sent\tPurpose\nhttps://api.plane.so/api/v1/*\tAPI key (header), project/issue data (body)\tAll Plane.so operations\nYour PLANE_API_KEY is sent as an X-API-Key header exclusively to https://api.plane.so\nThe API host is hardcoded — no environment variable can redirect requests to another domain\nNo data is cached, logged, or stored locally\nNo telemetry or analytics are collected\nThe full source code is auditable at github.com/luiseduardoaugusto/plane-so-cli and bundled in scripts/plane-so-cli"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/luiseduardoaugusto/plane-so-cli",
    "publisherUrl": "https://clawhub.ai/luiseduardoaugusto/plane-so-cli",
    "owner": "luiseduardoaugusto",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/plane-so-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/plane-so-cli",
    "agentUrl": "https://openagent3.xyz/skills/plane-so-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/plane-so-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/plane-so-cli/agent.md"
  }
}