{
  "schemaVersion": "1.0",
  "item": {
    "slug": "chirp",
    "name": "Chirp",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/zizi-cat/chirp",
    "canonicalUrl": "https://clawhub.ai/zizi-cat/chirp",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/chirp",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=chirp",
    "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/chirp"
    },
    "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/chirp",
    "agentPageUrl": "https://openagent3.xyz/skills/chirp/agent",
    "manifestUrl": "https://openagent3.xyz/skills/chirp/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/chirp/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": "chirp",
        "body": "OpenClaw browser 도구로 X/Twitter 조작하기. bird CLI의 browser 기반 대안."
      },
      {
        "title": "환경 요구사항",
        "body": "OpenClaw with browser tool enabled\nopenclaw browser profile\nX/Twitter 계정 로그인 완료"
      },
      {
        "title": "Headless 서버인 경우",
        "body": "Xvfb 가상 디스플레이 필요 (spool 스킬의 Prerequisites 참고)"
      },
      {
        "title": "로그인 (처음 한 번만)",
        "body": "browser action=start profile=openclaw\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/login\"\n# 사용자에게 수동 로그인 요청"
      },
      {
        "title": "1. 타임라인 읽기",
        "body": "browser action=open profile=openclaw targetUrl=\"https://x.com/home\"\nbrowser action=snapshot profile=openclaw compact=true\n\n각 article에서 작성자, 내용, 좋아요/리트윗/답글 수 확인 가능."
      },
      {
        "title": "2. 트윗 작성",
        "body": "Step 1: 홈에서 텍스트박스 찾기\n\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/home\"\nbrowser action=snapshot profile=openclaw compact=true\n\n→ textbox \"Post text\" ref 찾기\n\nStep 2: 내용 입력\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<textbox-ref>\"}\nbrowser action=act profile=openclaw request={\"kind\":\"type\",\"ref\":\"<textbox-ref>\",\"text\":\"트윗 내용\"}\n\nStep 3: Post 버튼 클릭\n\nbrowser action=snapshot profile=openclaw compact=true\n\n→ button \"Post\" ref 찾기 (disabled 아닌 것)\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<post-ref>\"}"
      },
      {
        "title": "3. 좋아요 누르기",
        "body": "타임라인에서 article 내 button \"Like\" 또는 button \"X Likes. Like\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<like-ref>\"}"
      },
      {
        "title": "4. 리트윗",
        "body": "button \"Repost\" 또는 button \"X reposts. Repost\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<repost-ref>\"}\nbrowser action=snapshot profile=openclaw compact=true\n# \"Repost\" 옵션 선택\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<repost-option-ref>\"}"
      },
      {
        "title": "5. 답글 달기",
        "body": "방법 1: 타임라인에서\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<reply-button-ref>\"}\nbrowser action=snapshot profile=openclaw compact=true\n# 답글 입력창에 텍스트 입력 후 Reply 버튼 클릭\n\n방법 2: 트윗 페이지에서\n\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/username/status/1234567890\"\nbrowser action=snapshot profile=openclaw compact=true\n# 답글 입력창 찾아서 입력"
      },
      {
        "title": "6. 프로필 보기",
        "body": "browser action=open profile=openclaw targetUrl=\"https://x.com/username\"\nbrowser action=snapshot profile=openclaw compact=true"
      },
      {
        "title": "7. 검색",
        "body": "browser action=open profile=openclaw targetUrl=\"https://x.com/search?q=검색어&src=typed_query\"\nbrowser action=snapshot profile=openclaw compact=true"
      },
      {
        "title": "8. 팔로우",
        "body": "프로필 페이지에서 button \"Follow\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<follow-ref>\"}"
      },
      {
        "title": "핵심 포인트",
        "body": "snapshot 먼저 - 모든 작업 전에 현재 상태 확인\nref는 매번 달라짐 - snapshot에서 항상 새로 찾기\ncompact=true - 토큰 절약\narticle 구조 - 각 트윗은 article 요소, 내부에 작성자/내용/버튼들\n트윗 전 확인 - 사용자에게 내용 확인받기"
      },
      {
        "title": "트러블슈팅",
        "body": "문제해결browser 안 됨Xvfb 확인, DISPLAY=:99, Gateway 재시작로그인 안 됨/login으로 이동 후 수동 로그인Post 버튼 disabled텍스트 입력 확인Rate limit잠시 대기 후 재시도"
      },
      {
        "title": "vs bird CLI",
        "body": "기능bird CLIchirp (browser)설치brew 필요Xvfb만 있으면 됨인증쿠키 추출브라우저 세션안정성API 기반UI 의존 (변경 가능)속도빠름약간 느림"
      }
    ],
    "body": "chirp\n\nOpenClaw browser 도구로 X/Twitter 조작하기. bird CLI의 browser 기반 대안.\n\nPrerequisites\n환경 요구사항\nOpenClaw with browser tool enabled\nopenclaw browser profile\nX/Twitter 계정 로그인 완료\nHeadless 서버인 경우\n\nXvfb 가상 디스플레이 필요 (spool 스킬의 Prerequisites 참고)\n\n로그인 (처음 한 번만)\nbrowser action=start profile=openclaw\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/login\"\n# 사용자에게 수동 로그인 요청\n\n사용법\n1. 타임라인 읽기\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/home\"\nbrowser action=snapshot profile=openclaw compact=true\n\n\n각 article에서 작성자, 내용, 좋아요/리트윗/답글 수 확인 가능.\n\n2. 트윗 작성\n\nStep 1: 홈에서 텍스트박스 찾기\n\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/home\"\nbrowser action=snapshot profile=openclaw compact=true\n\n\n→ textbox \"Post text\" ref 찾기\n\nStep 2: 내용 입력\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<textbox-ref>\"}\nbrowser action=act profile=openclaw request={\"kind\":\"type\",\"ref\":\"<textbox-ref>\",\"text\":\"트윗 내용\"}\n\n\nStep 3: Post 버튼 클릭\n\nbrowser action=snapshot profile=openclaw compact=true\n\n\n→ button \"Post\" ref 찾기 (disabled 아닌 것)\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<post-ref>\"}\n\n3. 좋아요 누르기\n\n타임라인에서 article 내 button \"Like\" 또는 button \"X Likes. Like\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<like-ref>\"}\n\n4. 리트윗\n\nbutton \"Repost\" 또는 button \"X reposts. Repost\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<repost-ref>\"}\nbrowser action=snapshot profile=openclaw compact=true\n# \"Repost\" 옵션 선택\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<repost-option-ref>\"}\n\n5. 답글 달기\n\n방법 1: 타임라인에서\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<reply-button-ref>\"}\nbrowser action=snapshot profile=openclaw compact=true\n# 답글 입력창에 텍스트 입력 후 Reply 버튼 클릭\n\n\n방법 2: 트윗 페이지에서\n\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/username/status/1234567890\"\nbrowser action=snapshot profile=openclaw compact=true\n# 답글 입력창 찾아서 입력\n\n6. 프로필 보기\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/username\"\nbrowser action=snapshot profile=openclaw compact=true\n\n7. 검색\nbrowser action=open profile=openclaw targetUrl=\"https://x.com/search?q=검색어&src=typed_query\"\nbrowser action=snapshot profile=openclaw compact=true\n\n8. 팔로우\n\n프로필 페이지에서 button \"Follow\" ref 찾아서:\n\nbrowser action=act profile=openclaw request={\"kind\":\"click\",\"ref\":\"<follow-ref>\"}\n\n핵심 포인트\nsnapshot 먼저 - 모든 작업 전에 현재 상태 확인\nref는 매번 달라짐 - snapshot에서 항상 새로 찾기\ncompact=true - 토큰 절약\narticle 구조 - 각 트윗은 article 요소, 내부에 작성자/내용/버튼들\n트윗 전 확인 - 사용자에게 내용 확인받기\n트러블슈팅\n문제\t해결\nbrowser 안 됨\tXvfb 확인, DISPLAY=:99, Gateway 재시작\n로그인 안 됨\t/login으로 이동 후 수동 로그인\nPost 버튼 disabled\t텍스트 입력 확인\nRate limit\t잠시 대기 후 재시도\nvs bird CLI\n기능\tbird CLI\tchirp (browser)\n설치\tbrew 필요\tXvfb만 있으면 됨\n인증\t쿠키 추출\t브라우저 세션\n안정성\tAPI 기반\tUI 의존 (변경 가능)\n속도\t빠름\t약간 느림"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/zizi-cat/chirp",
    "publisherUrl": "https://clawhub.ai/zizi-cat/chirp",
    "owner": "zizi-cat",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/chirp",
    "downloadUrl": "https://openagent3.xyz/downloads/chirp",
    "agentUrl": "https://openagent3.xyz/skills/chirp/agent",
    "manifestUrl": "https://openagent3.xyz/skills/chirp/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/chirp/agent.md"
  }
}