소스 정보
- 저장소
- RonShih/social-media-agent
- 최근 소스 활동
- 2026년 5월 8일 06:29
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 2
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/RonShih/social-media-agent --skill publish-instagram명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | publish-instagram |
| description | 用 Playwright 在 Instagram 發一篇 Feed 含圖貼文(非 Story)。 |
共通規則見
CLAUDE.md「共通行為規則」章節,本檔只描述 IG 特有的步驟。 每步結束都要呼叫scripts/log-click.sh(格式見 CLAUDE.md「Click recording」)。
caption:貼文文字hashtags:list of string(IG 上限 30 個)local_image_path:本地圖檔絕對路徑draft_id / run_id:caller(/publish-now)傳入{ "post_url": "https://..." }
--step 值必須一字不差用以下、不准自取)| step_id | 必要 | 用途 |
|---|---|---|
1_navigate_home | 必 | browser_navigate → https://www.instagram.com/ |
2_click_create_sidebar | 必 | 點左側 sidebar「Create / 建立」 |
3_click_post_option | 必 | 點「Post / 貼文」 |
4_file_upload | 必 | 上傳檔案 |
4b_dismiss_reels_info | 條件 | 直式影片時 IG 跳「Now you can share videos as reels」 dialog → 點「OK」(圖片無此 dialog) |
5_click_next_crop | 必 | 「Next」跳過裁切 |
6_click_next_filter | 必 | 「Next」跳過篩選器 |
7_type_caption | 必 | caption 輸入 |
8_click_share | 必 | 點「Share」 |
9_wait_home_return | 必 | 等「Your post/reel has been shared」確認文字 |
10_extract_post_url | 必 | 抓最新貼文 URL |
為什麼鎖定:跨平台規則見 OPERATING_RULES §9。簡言之,click-log 統計分析需要 step_id 穩定才看得出 pattern。 「條件」步驟若當下不適用,仍要 log 一筆
--ok true --ms 0 --args '{"reason":"skipped_no_dialog"}'占位,不要省略。
1_navigate_home — browser_navigate → https://www.instagram.com/2_click_create_sidebar — 點左側 sidebar「Create / 建立」3_click_post_option — 點「Post / 貼文」4_file_upload — browser_file_upload 傳 local_image_path4b_dismiss_reels_info — 直式影片會跳 reels 提示 dialog,點「OK」;圖片無此 dialog → log skip5_click_next_crop — 「Next / 下一步」(跳過裁切)6_click_next_filter — 「Next / 下一步」(跳過篩選器)7_type_caption — caption 框輸入 caption + "\n.\n.\n.\n" + hashtags.join(" ")(IG 慣例:tags 與正文用 3 行點隔開)8_click_share — 點「Share / 分享」9_wait_home_return — 等「Your post/reel has been shared」確認文字10_extract_post_url — 讀 config/brand.yaml.socials.instagram.url、browser_navigate 過去抓最新貼文 URL當 caller 傳入 mode: dry_run:
7_type_caption)正常完成8_click_share — 不真的發出去browser_press_key Escape 或點右上 X 關閉 New Post composerbrowser_close{"status": "dry_run_ok", "stages_passed": ["1_navigate_home", ..., "7_type_caption"], "abort_at_step": "8_click_share"}{"status": "dry_run_failed", "step_failed": "<step>", "error": "<原因>"}dry-run 不寫 click-log(跟真實 publish 區分、避免污染分析資料)。也不寫
reports/posts/報告。
以下是已知 case,非 exhaustive list。中間步驟遇到沒列出的 dialog / 元素 drift / 載入慢 → 自己 reasoning 解(OPERATING_RULES §4「過程雜訊 vs 終點驗收」),不要 surface 給使用者。只有終點驗收(post URL、登入態、2FA gate、素材)才老實回 error。
TG 上傳的影片(特別是 iPhone 來源的)檔名常以 .MOV 結尾,但容器其實已經是 MP4 v2(TG 上傳時自動轉碼)。IG web validator 依副檔名判斷格式、會在 file_upload 階段擋 .MOV、回「This file is not supported」。
.MOV(任何大小寫) → 在進 publish 流程前 cp foo.MOV foo.mp4、用 .mp4 路徑送進 file_upload--ok false --error "login or 2FA gate"、回 { "error": "login expired, run /first-time-login" }、不要重試docs/WARNINGS.md 有記)— 不要嘗試在 web 找音樂選項