agentsclimarketplace

Generate

Skill ayrshare/ayrshare-social-media-api-claude-plugin/skills/generate

AI content generation for the Ayrshare MCP server — draft post copy and suggest hashtags. Use whenever someone wants help WRITING social content rather than publishing it: "write me a post about our product launch", "draft a tweet announcing the sale", "generate a caption for this image", "give me a LinkedIn post about X", "what should I caption these photos", "suggest hashtags for sustainable fashion", "recommend trending hashtags for ...". Trigger when calling `mcp__ayrshare__generate_post` or `mcp__ayrshare__recommend_hashtags`, and even without the word "Ayrshare" — if the user wants AI-written social copy or hashtag ideas through an assistant, this is the skill. These tools produce DRAFTS ONLY; they never publish. The natural next step is `mcp__ayrshare__validate_post` then `mcp__ayrshare__create_post` (see `../post/SKILL.md`). For the shared auth model and retry rules, see `../getting-started/SKILL.md`.From its SKILL.md

Install
npx -y skills add ayrshare/ayrshare-social-media-api-claude-plugin --skill generate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.1 KB, as published. Nobody here has run it

Ayrshare MCP — Generate (AI)

Two tools that produce content for you to review and publish — neither one posts anything:

  • mcp__ayrshare__generate_post — AI-drafts post copy from a topic/brief and/or media. Draft only.
  • mcp__ayrshare__recommend_hashtags — returns recommended hashtags for a keyword, sourced from a linked TikTok account.

Unlike most Ayrshare MCP tools, neither of these takes a per-call profileKey argument (see Auth). recommend_hashtags is still scoped by the connection's Profile-Key header; it draws on that profile's linked TikTok account.

Functions

ToolPurposeMethod + EndpointRequired inputsOptional inputs
mcp__ayrshare__generate_postAI-draft post copy from a topic/prompt and/or media URLs; returns text only, does NOT publishPOST /generate/postAt least one of text (topic/brief/prompt string) or mediaUrls (array of public URLs to caption)hashtags (bool, default true), emojis (bool, default false), twitter (bool, default false — constrain to X/Twitter length)
mcp__ayrshare__recommend_hashtagsRecommend hashtags for a keyword (sourced from a linked TikTok account)GET /hashtags/recommendkeyword (single keyword string; spaces are stripped before lookup, so pass one word, not a phrase/topic)source (free-form attribution tag)

Auth

These two tools are exceptions to the per-call profileKey argument that the profile-scoped tools accept: generate_post and recommend_hashtags do NOT take a profileKey argument. recommend_hashtags is still scoped by the connection's Profile-Key header (set in .mcp.json headers): it uses that profile's linked TikTok account; omit the header to use the account's primary/Business profile. generate_post is account-level AI drafting. See Which tools accept profileKey in ../getting-started/SKILL.md.

Usage guidance

  • generate_post produces a DRAFT, not a published post. It returns suggested copy. To actually publish, hand the result to the posting pipeline: mcp__ayrshare__validate_post (dry-run platform-rule check) → mcp__ayrshare__create_post. See ../post/SKILL.md. Never treat a generate_post response as "posted."
  • Provide text, mediaUrls, or both — at least one is required. Pass text to brief the model with a topic, angle, or prompt ("announce our Series B, upbeat tone"). Pass mediaUrls (an array of public image/video URLs) to have it caption that media. Provide both to caption media on-topic. With neither, there is nothing to generate from.
  • Tune the draft with the optional flags. hashtags defaults to true (set false to suppress them); emojis adds emoji; twitter: true constrains the draft to X/Twitter length when the copy is destined for X. These shape the draft text only.
  • recommend_hashtags needs a linked TikTok account. Recommendations are sourced from TikTok, so the API errors if the profile (per the connection's Profile-Key) has no TikTok account linked. If you get an error, confirm a TikTok account is connected for that profile before retrying. Pass keyword as a single keyword: spaces are stripped before lookup, so use one word (e.g. fitness), not a multi-word phrase or full topic, or you'll get poor or empty results. source is just a free-form attribution tag.
  • Pair the two. A natural flow is recommend_hashtags for a keyword, then generate_post (with hashtags: false if you want to append the recommended set yourself), then validate + create.

Gotchas

  • Neither tool publishes anything. generate_post and recommend_hashtags only return text/suggestions. Publishing is a separate, explicit step via create_post. Don't tell the user a post went out off the back of these tools.
  • generate_post requires text OR mediaUrls. Calling it with neither has nothing to work from. If captioning media, the URLs must be publicly reachable (consider mcp__ayrshare__validate_media first).
  • recommend_hashtags is TikTok-sourced. No TikTok account linked on the active profile → the call errors. This is expected, not a bug; link TikTok or scope the connection to a profile that has one.
  • recommend_hashtags takes a single keyword, not a phrase. Spaces in keyword are removed before lookup (sustainable fashion becomes sustainablefashion), which produces poor or empty results. Pass one representative keyword instead of a multi-word topic.
  • recommend_hashtags uses the connection's Profile-Key, and takes no profileKey argument. Which profile's linked TikTok account it draws on is set by the Profile-Key header. Unlike the profile-scoped tools, neither generate tool accepts the per-call profileKey argument. (See Which tools accept profileKey in getting-started.)
  • On failure, call mcp__ayrshare__explain_error, then surface it — don't loop. A 4xx (missing text/mediaUrls, no linked TikTok, unreachable media) won't fix itself on retry. Translate the error via mcp__ayrshare__explain_error and present it; 429 gets at most one retry. (Mirrors the global retry-safety rule.)

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.