Agent skill · Audited from source
Social Post
skill · Hao0321/claude-skill-social-postMIT licenceAudited 20 Oct 2026 · source a6769aa361d8
Is it safe? With care — CAUTION, grade B (85/100). We read this skill's source at commit a6769aa361d8 and observed filesystem, network and shell access and no hard-coded secrets. The audit raised 19 findings, 0 critical or high. What it does: 依使用者真實貼文與成效寫 Facebook/Instagram/YouTube/Threads/X 文案,包含 ChatGPT Chat 的「寫文」「Mode C」「用我的格式/口氣」「黑底白字」;本機工作台、規劃、確認後發布、留言回覆及成效學習。使用者說「發文」「文案」「Social Post 介面」「回覆留言」「查流量」「把數據訓練進去」「比較貼文」「優化 pattern」時使用。
Cite
Cite this page
ModelsAtlas. “Social Post (Hao0321/claude-skill-social-post)”. Retrieved 20 Oct 2026. https://modelsatlas.com/skills/hao0321/social-post
Trust audit
Audit 0.4.1 · source read 20 Oct 2026
CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemUndeclared6 observations, not in its own description
- NetworkUndeclared2 observations, not in its own description
- ShellDeclared1 observation
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 1 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | WARN | 14 |
L2 Instructions | Prompt injection, authority framing, hidden directives | WARN | 4 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (19)
MEDIUMFilesystem / pathfs.destructive · scripts/sync_public.py:176
shutil.rmtree(destination)
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.client · scripts/comment_browser_scan_contract.py:58
request = requests.get(request_id) if isinstance(request_id, str) else None
- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMNetwork egressnet.client · workbench/api.js:16
const response = await fetch(path, {- Why
- No further detail recorded for this rule.
- Fix
- —
MEDIUMPrompt injectionreview.misleading_scope · SKILL.md
使用者若在當前 session 明示「你自己操作不用問」,私人版可免逐次確認;不跨 session。
- Why
- The package description describes publishing only after user confirmation, but the instructions allow skipping per-post confirmation entirely, which the listing does not admit.
- Fix
- rewrite it so the instruction says plainly what it does, and asks the user before it acts
LOWCode injectioncode.dynamic_import · scripts/workbench_test.py:371
suite = unittest.defaultTestLoader.loadTestsFromModule(__import__(__name__))
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/comment_chrome_fixture_evidence_testonly.mjs:17
specifier: "../../../plugins/cache/openai-bundled/chrome/26.825.51511/scripts/browser-client.mjs",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/comment_chrome_runtime_authority.mjs:71
"../../../plugins/cache/openai-bundled/chrome/26.825.51511/scripts/browser-client.mjs",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/comment_chrome_runtime_authority.mjs:80
"../../../plugins/cache/openai-bundled/chrome/26.825.51511/scripts/browser-client.mjs"
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/comment_js_architecture_contract.mjs:353
specifier: "../../../plugins/cache/openai-bundled/chrome/26.825.51511/scripts/browser-client.mjs",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · scripts/comment_js_architecture_selftest.mjs:76
specifier: "../../../plugins/cache/openai-bundled/chrome/26.825.51511/scripts/browser-client.mjs",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · references/workbench.md:12
Default address: http://127.0.0.1:8766. Python 3.10+ is required; the runtime uses
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · scripts/comment_chrome_actuator_fixture_test.mjs:204
url: "http://127.0.0.1:8765/instagram.html",
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · scripts/comment_chrome_fixture_contract_test.mjs:87
page_url: `http://127.0.0.1:8765/${platform}.html`,- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · scripts/comment_chrome_fixture_contract_test.mjs:223
page_url: `http://127.0.0.1:8765/${platform}.html`,- Why
- No further detail recorded for this rule.
- Fix
- —
LOWNetwork egressnet.raw_ip · scripts/comment_chrome_fixture_contract_test.mjs:324
assert.throws(() => requireLoopbackBaseUrl("https://127.0.0.1:8765"), /plain loopback/);- Why
- No further detail recorded for this rule.
- Fix
- —
LOWPrompt injectionprompt.transfer_instruction · references/chrome-comment-validation.md:25
- `comment_fixture_browser_e2e.mjs`:需 Browser Plugin backend;唯一 evidence runner 會自行啟動 ephemeral `127.0.0.1` server,依固定 `facebook → instagram → threads` 順序載入 source-bound fixture,並直接測 send core 的 DOM/f
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · references/comment-operations.md:273
Fixture 驗證入口包含 `node scripts/comment_chrome_actuator_test.mjs` 與 `node scripts/comment_chrome_scan_adapters_test.mjs`;前者另測 reply thread 的初始空 viewport、無 terminal cursor、later-page exact own reply/expan
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
INFOPrompt injectionscope.undeclared_network · <declared scope>
network use found in code, not declared in the description
- Why
- the description does not admit a capability the code has
- Fix
- declare network use in the description, or remove it
Audit 0.4.1 · source sha a6769aa361d8 · 20 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- PublisherHao0321 GitHub userOwner of the repository this skill is read from
- Source folderHao0321/claude-skill-social-post/social-postThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdicta6769aa361d8A new audit runs when the source changes
- Repository statusNot archivedLast push 4 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: 依使用者真實貼文與成效寫 Facebook/Instagram/YouTube/Threads/X 文案,包含 ChatGPT Chat 的「寫文」「Mode C」「用我的格式/口氣」「黑底白字」;本機工作台、規劃、確認後發布、留言回覆及成效學習。使用者說「發文」「文案」「Social Post 介面」「回覆留言」「查流量」「把數據訓練進去」「比較貼文」「優化 pattern」時使用。
--- name: social-post description: 依使用者真實貼文與成效寫 Facebook/Instagram/YouTube/Threads/X 文案,包含 ChatGPT Chat 的「寫文」「Mode C」「用我的格式/口氣」「黑底白字」;本機工作台、規劃、確認後發布、留言回覆及成效學習。使用者說「發文」「文案」「Social Post 介面」「回覆留言」「查流量」「把數據訓練進去」「比較貼文」「優化 pattern」時使用。 --- # Social Post 把內容生成、實際發布與成效學習分開。依意圖只讀必要資料,不把整個案例庫一次塞進 context。 P5 執行前核對 `references/chrome-comment-adapter.md` 的當前狀態。CUA Threads 單則已完成真實送出與唯讀對帳;CUA IG 候選已接入但尚無新 runtime 送出實證;FB 送出與三平台批次仍未完成,泛用 production 關閉。target-only 不代表整篇/回覆串已掃完,semantic UI continuity 不代表實體 document epoch 或持久 node identity。單則實證不升級整體 capability,fixture 或候選程式存在也不能代替真實操作證據。 ## Session 啟動 P0–P4 先讀 [references/writing-governance.md](references/writing-governance.md),核對 `scripts/social_governance.py status`。既有 voice、F 公式、規則正文以私人版本契約鎖定;禁止 P1/P4 或新爆款案例直接覆寫。新分析只能建立同平台/媒體 scope 的候選,經使用者審核精確 diff/digest,另行啟用後才變成正式有效版本。當輪要求改一篇草稿不是永久規則更新授權。 P2 必須讀 `context` 輸出的完整有效 F 與 voice,按固定段落功能、順序、標點與 CTA 寫,交付前核對同 revision 的 `check-draft` 並完成語義/事實 QA。F06 必須分清 F06a/F06b。結構 PASS 不等於模仿成功;未核對、契約漂移或 F 結構不符不得聲稱正式文案已完成。 P2 預設讀 `voice_quick.md`;只有 P1 重新學語氣、使用者明確要求深度仿寫,或 quick card 無法裁決時,才完整讀 `style_profile.md` 或使用者明確指定的 voice Skill。ChatGPT Chat 若沒有本機檔案/shell,依 `references/generate_and_publish.md` 的降階流程;只讀到公開範本或 GitHub repo,不代表已載入使用者的私人 voice。安全與使用者明示 > voice quick/明確指定的 voice Skill > 公式。 ## 路由 | 觸發 | Mode | 必讀 | |---|---|---| | 開啟 Social Post 工作台/介面、看模式導覽 | Workbench | [references/workbench.md](references/workbench.md);只啟動本機 GUI,不暗中執行 AI 或解鎖外部操作 | | 重新規劃、排內容 | P0 Plan | `references/phase0_plan.md`+`current_brief.md`+`scripts/social_data.py comparables` compact context+目標 formula;X 題材另讀 `references/x.md` 的演算法邊界 | | 重新學語氣 | P1 Learn Voice | `references/learn_style.md`+`style_profile.md` | | 寫一篇、PO、發文 | P2 Draft/Publish | `references/generate_and_publish.md`+`voice_quick.md`+`current_brief.md`+`scripts/social_data.py comparables` compact context+單一 formula;X 草稿先讀 `references/x.md` 的策略段,實際發布前再核對平台 UI | | 把數據訓練進來、記錄成效 | P3 Log Outcome | `references/outcome-workflow.md`+`data/*.jsonl` | | 比較貼文/集數、找 pattern | P4 Optimize Patterns | `references/outcome-workflow.md`+`references/evaluation.md`+相關 rules;X 演算法解釋另讀 `references/x.md` | | 掃描、草擬、回覆 FB/IG/Threads 留言 | P5 Comment Ops | `references/comment-operations.md`+實際操作時的 `references/chrome-comment-adapter.md`+`scripts/comment_chrome_actuator.mjs`+`references/comment-policy.json`+目標平台 ref+`voice_quick.md` | | 查歷史 Case | Legacy Case | `references/case_studies.md` 索引,再讀單一 `references/cases/case-NN.md` | 路由前用一句話告知正在做哪個 Mode。單純診斷不需要 Chrome。 工作流程 P0–P5、寫法 A/B/C、創作公式 F 是三個不同選擇。GUI 只列本機已安裝的公式;不把作者私人公式庫公開。純文字撰稿可直接在當前聊天依 P2 完成,不強迫每次開 GUI。介面目前用任務複製/貼回交接 AI,不能宣稱按鈕已自動呼叫 Codex/Claude。 ## Source of truth | 資料 | Canonical source | |---|---| | 貼文/caption/發布條件 | `data/posts.jsonl` | | 洞察快照 | `data/insight_snapshots.jsonl` | | 帳號期間總覽 | `data/account_snapshots.jsonl` | | 跨篇假設與 confound | `data/experiments.jsonl` | | 事實修正事件 | `data/corrections.jsonl`;原始 event 不覆寫 | | 圖文/影片分區 | `scripts/social_cohorts.py` 的平台 × media family × content type × surface × maturity;不混合排名 | | 第三方參考/候選與審核 | `data/learning_events.jsonl`;外部觀測與自有 KPI 嚴格分離 | | 正式有效寫作契約 | `data/author_contract.json`+`data/author_contracts/`;凍結原始來源、審核後 scoped override,保留前版 | | 規則正文 | `references/rules/RNN.md`;`references/rules.md` 是索引 | | 規則生命週期/實驗 backlink | `references/rules/metadata.json` | | 規則機器索引 | `data/rule_registry.json`(生成檔) | | 舊案例全文 | `references/cases/` | | Chrome 可見留言 observation | `data/comment_events.jsonl`;私人 append-only ledger | | Chrome 掃描目標/期限 | `data/browser_scan_requests.jsonl`;私人 append-only ledger,先建立再掃描 | | 回覆草稿/permit/送出/對帳 | `data/reply_events.jsonl`;私人 append-only ledger | | 留言自動化政策 | `references/comment-policy.json` | | 產品能力完成度/外部 canary | 私版 `.rd/capability-ledger.json` 是唯一 canonical ledger;`comment-capabilities.json` 只是 hash-bound 生成式公開投影,fixture 與 live 分開 | 新成效不得只寫進 Markdown。先寫 JSONL,再視需要更新人類摘要。 ## 流量與演算法單一歸檔中樞 - 不論素材由 `video-autopilot`、YouTube 專門 Skill、Meta 面板或其他流程產生,所有發布後的流量、推薦來源、搜尋、留存、互動、受眾、追蹤/訂閱與轉化證據,都必須寫回本 Skill 的 `data/*.jsonl`。 - 專門 Skill 可以做平台診斷或產生剪輯/包裝建議;但觀測事實、跨平台比較、實驗證據與規則升降級,以本 Skill 為 canonical source,禁止另建互相漂移的成效記憶。 - 同一內容的 FB/IG/YouTube 指標各自建立有平台 scope 的 snapshot;Meta 合併卡片只能作 cross-platform reference,沒有完整平台洞察時不得冒充該平台 snapshot。 - 演算法時效性知識仍可放目標平台 reference;私人實測是否成立,只能依本 Skill 的同 maturity、多樣本資料升級。 ## P3 Log Outcome 1. 每組洞察圖建立新 snapshot;不覆蓋舊數字。既有 event 的發布時間、片長或精度要修正時,追加 correction event,不直接改舊列。 帳號 7/30/90 天總覽寫 `account_snapshots.jsonl`,不得綁到單篇貼文。 2. 每篇新 post 先建立 `analysis_status`、`analysis_version`、`analysis_eligible` 與精確 caption 的 `caption_sha256`;尚未完成語義分析時只能是 `pending`+`analysis_eligible:false`,不得先進 pattern learning。 3. `complete` post 必須保存完整文案/版型/長度、換行與段落、標點、關鍵字、named entities、數字語言、opening、hook、mechanism、differentiator、proof、語氣、CTA,以及由 `published_at`+timezone 驗證出的日期、星期、`HH:mm` 與 daypart。黑底白字另存背景、字色、字重、對齊與觀測行數;影片另存直式版型,不從縮圖猜未見內容。 4. caption 截斷、僅有代稱、placeholder 或尚待補證據時標成 `excluded_placeholder` 或 `pending`,一律 `analysis_eligible:false`;缺值用 `null`/空清單與低 confidence 明示,不補寫不存在的 hook、關鍵字、語氣或 CTA。 5. 記 published_at、captured_at、hours_since_publish 與 maturity。IG/FB total 與可取得的拆分同時保存;missing 用 `null`。 6. UI rate 與 derived rate 分開;留存曲線目測只寫 note。縮寫、上限或目測數字用 `metric_qualifiers` 標成 `rounded/upper_bound/visual_estimate`,不得冒充 exact。`metrics` 內的值直接用欄位名;其他巢狀值使用 dotted path(例如 `benchmarks_reported.views_more_than_usual_approx`)。 7. 先 dry-run `scripts/log_outcome.py`,明確寫入時才加 `--write`;寫完執行 `scripts/social_data.py validate`,caption hash、deterministic counts、日期/星期/分鐘或 analysis eligibility 任一不一致都不得通過。 8. 新數據不自動改寫作者契約。第三方資料用 `social_governance.py record-reference`,不得冒充自有 post;圖文與影片分區未知或衝突時不納入學習。新的寫作/F 改善建議用候選審核流程,不直接改 voice 或 F 原檔。 ## P4 Optimize Patterns 先跑 feature matrix;series summary 只作 KPI 總覽。Matrix 只納入 `analysis_status:complete`、`analysis_eligible:true`、caption hash 與 analysis version 均有效的 post,並在選 latest 前排除 `awaiting_data`/`aggregation_eligible:false`,再以相同平台 scope 與 maturity 比較。每列必須同時帶出文案長度、段落/分隔、完整 Unicode 標點 profile、關鍵字、語氣、CTA、黑底白字/影片版型、日期、星期、分鐘與成效;可用 `--captured-before` 重建當時可見的歷史比較,避免後來快照污染判斷。 跨平台同步內
Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit a6769aa
git clone https://github.com/Hao0321/claude-skill-social-post git -C claude-skill-social-post checkout a6769aa361d8
The author documents no install command, so this uses the repository directly. Our verdict covers commit a6769aa361d8 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Codex | Mentioned in its text, not tested | Skills for Codex · About Codex |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
Audit history
Every audit, every source change
- !CAUTION B 85 / 100
first audit · source
a6769aa361d8
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/hao0321/social-post/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
op7418/guizang-social-card-skill
Generate Guizang-style social card image sets, Live Photo motion cards, material-first Live Photo puzzle layouts, triple Live Photo collages, long-video-to-Live-Photo treatments, and WeChat official account cover pairs…
QingYunA/answer-me-with-html
Turns an answer into a one-page visual HTML explainer: the model writes a short Markdown draft and the bundled CLI builds one page. Use it proactively and liberally, without being asked, whenever a page would help the…
imoneys10k/poster-dl
按片名把电影、电视剧、动画、纪录片的海报下载到本地,画质可选(low / medium / high / original 原图),支持按年份和类型区分同名作品;配置 TMDB key 后还能下载分季海报、指定语言版本(中文/英文/无字版)、从多张候选里挑选。当用户说"下载某某的海报"、"帮我找某部电影/电视剧/番剧的海报"、"要高清海报"、"海报原图"、"第二季的海报"、"无字海报",或提到 movie poster、TV…
nousresearch/hermes-agent
Dark-themed SVG architecture/cloud/infra diagrams as HTML.
nousresearch/hermes-agent
Search arXiv papers by keyword, author, category, or ID.
NousResearch/hermes-agent
Delegate coding tasks to the Blackbox AI multi-model CLI.
Add this badge to your README
[](https://modelsatlas.com/skills/hao0321/social-post/)
<a href="https://modelsatlas.com/skills/hao0321/social-post/"><img src="https://modelsatlas.com/skills/hao0321/social-post/badge.svg" alt="ModelsAtlas: CAUTION B"></a>
Questions about Social Post
What does the Social Post skill do?
Is Social Post safe to install?
What can Social Post access on my machine?
Which assistants does Social Post work with?
How current is this page?
Sources
- github.com/Hao0321/claude-skill-social-post/tree/main/social-pos — the audited source at commit a6769aa361d8 and every finding aboveObserved · 20 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Social Post skill do?
- Is Social Post safe to install?
- What can Social Post access on my machine?