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`...
Scanned 8/31/2026
Install to Claude Code
npx -y skills add ayrshare/ayrshare-social-media-api-claude-plugin --skill generate --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Generate?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ayrshare-generate)More formats (shields.io, HTML) on the badges page.
---
name: generate
description: |
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`.
---
# 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
| Tool | Purpose | Method + Endpoint | Required inputs | Optional inputs |
|------|---------|-------------------|-----------------|-----------------|
| `mcp__ayrshare__generate_post` | AI-draft post copy from a topic/prompt and/or media URLs; returns text only, does NOT publish | `POST /generate/post` | At 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_hashtags` | Recommend hashtags for a keyword (sourced from a linked TikTok account) | `GET /hashtags/recommend` | `keyword` (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.)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!