Agent skill

Goofish Publish Item

by fancyboi999 in fancyboi999/goofish-cli

闲鱼发商品 skill。何时激活:用户说"帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新";或说"这个怎么写标题 / 类目该选啥 / 图片够了吗"。

Apache-2.0Auto-check passed

Install Goofish Publish Item

skills CLI
$ npx skills add fancyboi999/goofish-cli --skill goofish-publish-item -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fancyboi999/goofish-cli goofish-publish-item --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fancyboi999/goofish-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/goofish-publish-item .claude/skills/goofish-publish-item && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
goofish-publish-item
GitHub stars
309
Token cost
~928 tokens
SKILL.md length
230 words
Files
5 (incl. references)
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

闲鱼发商品 skill。何时激活:用户说"帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新";或说"这个怎么写标题 / 类目该选啥 / 图片够了吗"。

  • Works in 7 steps: 登录态自检(必做) → 信息收集 → 类目识别 → …
  • SKILL.md covers 工具命名, 触发姿势, 标准流程(7 步) and 反模式(不要做), plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Goofish Publish Item is an agent skill from fancyboi999/goofish-cli. 闲鱼发商品 skill。何时激活:用户说"帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新";或说"这个怎么写标题 / 类目该选啥 / 图片够了吗"。 功能:从 raw 描述 / 图片 → 确认类目 → 生成标题候选 → 风控预检 → 批量传图 → 拿默认地址 → 调用 itempublish 一键发布。核心约束:发送前必须让用户确认文案, 不自动提交;调用 goofish-risk-guard 做发布前扫描。

Its SKILL.md is about 930 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/category-selection.md`, `references/common-pitfalls.md` and `references/image-checklist.md`).

It works with Model Context Protocol. The repository describes itself as: 闲鱼 CLI · 原生支持 MCP · 为 AI Agent 而生 | Goofish (Xianyu) automation CLI · MCP-ready · Built for AI Agents. The licence is Apache-2.0.

Example prompts

  • “帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新”
  • “这个怎么写标题 / 类目该选啥 / 图片够了吗”
  • “/goofish-publish-item”

Requirements

  • Pre-approved tools (allowed-tools): mcp__goofish__auth_status, mcp__goofish__category_recommend, mcp__goofish__media_upload, mcp__goofish__location_default, mcp__goofish__item_publish, mcp__goofish__item_get

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. 登录态自检(必做)
  2. 信息收集
  3. 类目识别
  4. 标题生成
  5. 描述生成
  6. 图片处理
  7. 用户最终确认 + 发布

What it can do on your machine

Read from SKILL.md and the folder at commit c2b397f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • mcp__goofish__auth_status
    • mcp__goofish__category_recommend
    • mcp__goofish__media_upload
    • mcp__goofish__location_default
    • mcp__goofish__item_publish
    • mcp__goofish__item_get

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Goofish Publish Item loads about 928 tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 230 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~928
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fancyboi999/goofish-cli at commit c2b397f, republished under its Apache-2.0 licence (© fancyboi999). 230 words, ~928 tokens.

Download SKILL.mdSave it as .claude/skills/goofish-publish-item/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
goofish-publish-item
description
闲鱼发商品 skill。何时激活:用户说"帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新";或说"这个怎么写标题 / 类目该选啥 / 图片够了吗"。 功能:从 raw 描述 / 图片 → 确认类目 → 生成标题候选 → 风控预检 → 批量传图 → 拿默认地址 → 调用 `item_publish` 一键发布。核心约束:**发送前必须让用户确认文案**, 不自动提交;调用 `goofish-risk-guard` 做发布前扫描。
allowed-tools
mcp__goofish__auth_status, mcp__goofish__category_recommend, mcp__goofish__media_upload, mcp__goofish__location_default, mcp__goofish__item_publish, mcp__goofish__item_get
metadata.author
goofish-cli
metadata.version
0.3.0
metadata.tags
xianyu, publish, listing

闲鱼发商品

工具命名

正文使用 auth_status 这类逻辑名。OpenClaw 调 goofish__<逻辑名>; Claude Code / Cursor 调 mcp__goofish__<逻辑名>。frontmatter 的 allowed-tools 保留 Claude 权限预批准格式,OpenClaw 不读取该字段。

触发姿势

用户典型输入:

  • "帮我把这个耳机发到闲鱼,300,9 成新"
  • "我拍了几张图,给我写个标题和描述"
  • "上架这个手办,可以议价,底线 200"

当你从用户消息中能提取 (商品本体 + 至少一张图 或 对物品的文字描述) 就启动本流程。信息不足时问用户而不是瞎猜。

标准流程(7 步)

Step 1 · 登录态自检(必做)
调 auth_status
  valid=true → 继续
  valid=false → 不继续;告诉用户: "登录态失效了,请执行 goofish auth login(扫码走 --qr)",停。
Step 2 · 信息收集

从对话和用户提供的素材里提取:

字段必填来源
核心物品(是什么)✅用户描述 / 图片识别
品牌 + 型号✅用户描述
成色(X 成新)✅用户描述;没说就问
价格✅用户描述;没说就问
图片(URL 或本地路径)✅用户提供
瑕疵说明推荐问用户"有没有瑕疵要提一下的"
购买渠道推荐帮写描述更有信服力
是否可议价 / 底线可选为后续 reply-buyer 做准备
发货地⚪️不填就调 location_default 兜底

缺必填字段就停下来问,不要补默认值。

Step 3 · 类目识别
调 category_recommend(title=候选标题, images_json="[]")
  → 拿到完整类目 DTO;已有上传收据时用 images_json=JSON.stringify(收据数组)

结果校验:

  • 如果 catName 和用户描述明显不符(比如用户说手机壳,返回"手机"),告诉用户并让他确认
  • 如果置信度低(返回多个候选),展示前 3 个让用户选
Step 4 · 标题生成

按 "品牌 + 核心词 + 属性 + 场景 + 情感" 5 段式生成 3 个候选。详见 references/title-formula.md。

然后调用 goofish-risk-guard 扫描:

  • 绝对化词、外联词、侵权词命中 → 重新生成
  • 命中"降价改标"嫌疑(标题含促销词+历史价格变动)→ 重新生成

把扫描过的候选展示给用户选 / 改。

Step 5 · 描述生成

结构参考 references/title-formula.md 的"描述骨架"段。重点:

  • 有瑕疵就大方说(保护卖家对抗仅退款)
  • 说清为什么卖("升级新款"、"不常用",比"闲置"可信)
  • 说清发货地 + 快递 + 是否包邮
  • 议价政策写明("小刀友好 / 超过 XX 勿扰")
Step 6 · 图片处理
for image in 本地图片路径:
    调 media_upload(path=image)
    收集返回的 {url, width, height}

检查:
    总图数 ≤ 9 ?
    首图是 1:1 ?(如果不是,提示用户换首图)
    张数 ≥ 3 ?(少于 3 张警告但不拦)
Step 7 · 用户最终确认 + 发布

展示给用户(强制):

【标题】...(最终版)
【类目】catName (catId=XXXX)
【描述】
(全文)
【价格】XXX 元
【图片】9 张,首图 1:1 ✅
【发货地】XX 市 / 默认
【风控扫描】通过 ✅

是否确认发布?

等待用户明确回复 "发 / 发吧 / 确认 / OK / 是 / 嗯"。含糊的 "看看" / "嗯" 单字不算确认。

确认后:

调 item_publish(
    title=..., 
    desc=..., 
    price=..., 
    images_json=JSON.stringify([{url, width, height}, ...]),
    category_json=JSON.stringify(category_recommend 的完整 DTO),
    location_json=JSON.stringify(location_default 的完整 DTO)
)

发布也可用 images=[本地路径, ...] 自动上传,不能把 CDN URL 当本地路径。已提前上传时复用 images_json,避免重复上传。类目 DTO 必须包含 cat_id/cat_name/channel_cat_id/tb_cat_id,地址采用 selected 字段。缺少身份的类目不能猜补。模型分数不是校准概率,未知值为 null。

成功返回 accepted 与 item_id 后,用 item_get 回读确认。失败返回的 images/category/location 可复用;submission_unknown 必须先核对自己的商品列表,禁止盲目重试。发布和下架共用 item.write 默认 1 次/分钟,上传独立 media.write 默认 9 次/分钟。

反模式(不要做)

❌ 跳过 category_recommend,自己猜 catId ❌ 先发后改(建议用户"先发出去再慢慢改" → 发布后频繁编辑会丢流量池权重) ❌ 省略风控扫描(标题含绝对化词直发 → 100% 降权) ❌ 未确认就发(写操作不可逆,多花 5 秒等用户确认) ❌ 批量发十件不停手(令牌桶 1 件/分钟,连发会触发限流)

批量发布场景

用户说"我有 10 件都要发":

  1. 先让他确认"是 10 件完全不同的,还是 10 件同款?"
  2. 同款:合并为 1 件的多 SKU 描述,不是 10 次发布
  3. 不同款:逐件走完整流程,每件单独确认,不要"一次性确认 10 件"(用户看不过来)
  4. 告诉用户"受速率限制,大约 12-15 分钟"

发布后

  • 返回 item_id 展示给用户
  • 提示流量池窗口:"商品已发布,前 24 小时是初始推荐窗口,这段时间内不要改标题/降价改标"
  • 记录 item_id(如果用户后续要诊断或下架)

相关 skill

  • goofish-risk-guard — 发布前扫描(标题/描述/图片)
  • goofish-reply-buyer — 发布后回买家消息
  • goofish-shop-diagnosis — 如果发布后流量差

© fancyboi999, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in skills/goofish-publish-item of fancyboi999/goofish-cli.

  • SKILL.md
  • references/category-selection.md
  • references/common-pitfalls.md
  • references/image-checklist.md
  • references/title-formula.md

Open the folder on GitHubat commit c2b397f

Compare with similar skills

Goofish Publish Item next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Goofish Publish Item compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Goofish Publish Item this skillfancyboi999/goofish-cli309—~928Automated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.5k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.5k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from fancyboi999/goofish-cli

  • Goofish Reply Buyer

    fancyboi999/goofish-cli

    闲鱼买家消息回复 skill。何时激活:用户说"看看我有没有未读 / 回复下买家 / 有人问 XX 怎么办 / 他要砍价我怎么办 / 帮我回一下消息 / 处理下催付 / 议价策略"。

    309 GitHub stars~805 tokensUpdated yesterday
    Auto-check passed
  • Goofish Shop Diagnosis

    fancyboi999/goofish-cli

    闲鱼店铺 / 商品诊断 skill。何时激活:用户说"我店铺没流量 / 曝光掉了 / 怎么没人问 / 是不是被限流 / 帮我看看为啥没单 / 哪里出问题了"。功能: 用 searchitems 做"买家视角"查自家商品是否露出 → itemview 拉详情 对比排查 → 按归因清单给出"限流可能性 + 修复建议"。本 skill 纯读, 不做任何写操作——只诊断不修,修留给…

    309 GitHub stars~682 tokensUpdated yesterday
    Auto-check passed
  • Goofish Overview

    fancyboi999/goofish-cli

    闲鱼(goofish.com)自动化运营的总入口 skill。何时激活:用户首次提到 闲鱼 / 咸鱼 / goofish / 二手交易 / 挂闲置 / 回买家消息 / 发商品到闲鱼, 或用户询问本工具如何使用、有哪些能力、能做什么。本 skill 介绍 goofish-cli 的定位、账号模型、17 个 MCP 工具速查、风控底线,并指向其它专项 skill…

    309 GitHub stars~688 tokensUpdated yesterday
    Auto-check passed
  • Goofish Risk Guard

    fancyboi999/goofish-cli

    闲鱼风控/合规预检 skill。何时激活:用户要发商品、回消息、降价改标前让你 "看看这样行不行"、"会不会违规"、"会不会封号"、"会不会限流";或用户说 "被限流了/曝光掉了怎么办";或被 goofish-publish-item / goofish-reply-buyer 调用做预检。功能:发布前扫描(绝对化词、类目偏差、降价改标、9 图合规), 发送前扫描(外联词、误导承诺),触发…

    309 GitHub stars~727 tokensUpdated yesterday
    Auto-check passed

Questions about Goofish Publish Item

What does Goofish Publish Item do?

闲鱼发商品 skill。何时激活:用户说"帮我发到闲鱼 / 挂个闲置 / 把 XX 上架 / 发布一件 / 新增商品 / 上新";或说"这个怎么写标题 / 类目该选啥 / 图片够了吗"。. Goofish Publish Item is an agent skill from fancyboi999/goofish-cli.

How do I install Goofish Publish Item in Claude Code?

Run `npx skills add fancyboi999/goofish-cli --skill goofish-publish-item -a claude-code`. Or copy the skill folder (skills/goofish-publish-item in fancyboi999/goofish-cli) into .claude/skills/goofish-publish-item in your project. Claude Code loads it when a task matches its description.

How do I install Goofish Publish Item in Codex?

Run `npx skills add fancyboi999/goofish-cli --skill goofish-publish-item -a codex`. Or copy the skill folder (skills/goofish-publish-item in fancyboi999/goofish-cli) into .agents/skills/goofish-publish-item in your project. Codex loads it when a task matches its description.

Can I use Goofish Publish Item in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fancyboi999/goofish-cli --skill goofish-publish-item -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/goofish-publish-item, .gemini/skills/goofish-publish-item, .github/skills/goofish-publish-item and .opencode/skills/goofish-publish-item in your project.

What does Goofish Publish Item need to run?

SKILL.md names no scripts, command-line tools or credentials: Goofish Publish Item is instructions for the agent only. Its frontmatter pre-approves these tools: mcp__goofish__auth_status, mcp__goofish__category_recommend, mcp__goofish__media_upload, mcp__goofish__location_default, mcp__goofish__item_publish, mcp__goofish__item_get.

Does Goofish Publish Item access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Goofish Publish Item safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Goofish Publish Item use?

Goofish Publish Item is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Goofish Publish Item use?

About 928 tokens (SKILL.md is roughly 3.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.2k tokens, read only when the agent opens those files.

What are the alternatives to Goofish Publish Item?

Skills that share tags, products or a category with Goofish Publish Item: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Goofish Publish Item?

fancyboi999 (a GitHub user) maintains it in fancyboi999/goofish-cli, which has 309 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 10, 2026.

Source: fancyboi999/goofish-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.