xreply
Generate, schedule, and publish posts to X and LinkedIn in your voice using AI. Browse viral content, manage preferences, and track billing.
What this skill does
# XReply — AI Post Generator Generate, schedule, and publish posts to X and LinkedIn in your voice using AI. Browse viral content for inspiration, manage your post queue, and track billing and quota. ## Authentication All tools require an `XREPLY_TOKEN` environment variable — a JWT token from XreplyAI Settings. This is automatically injected by OpenClaw when set in your skill config. ## MCP Server The XReply MCP server is published as `@xreplyai/mcp` on npm. You invoke tools via `mcporter`: ``` mcporter call 'npx @xreplyai/[email protected]' <tool_name> [param:value ...] ``` To discover all available tools and their parameters: ``` mcporter list 'npx @xreplyai/[email protected]' --all-parameters ``` ## Tools ### Discovery #### xreply_viral_library Browse high-performing tweets (100+ likes) for inspiration. Filter by niche, keyword, and time range. Requires Pro or BYOK subscription. ``` mcporter call 'npx @xreplyai/[email protected]' xreply_viral_library mcporter call 'npx @xreplyai/[email protected]' xreply_viral_library niche:ai sort:top_engaged mcporter call 'npx @xreplyai/[email protected]' xreply_viral_library niche:saas query:pricing time_range:7d mcporter call 'npx @xreplyai/[email protected]' xreply_viral_library niche:startups sort:recent page:2 ``` Parameters: - `niche` (optional): `ai` | `saas` | `marketing` | `productivity` | `startups` | `growth` - `sort` (optional): `top_engaged` (default) | `recent` - `query` (optional): keyword search within tweet text - `time_range` (optional): `7d` | `30d` - `page` (optional): page number, 20 results per page (default: 1) --- ### Generation #### xreply_posts_generate Generate a single AI post in the user's voice and auto-save it as a draft. Specify `platform` to control output length and style — X posts are capped at 280 chars, LinkedIn posts up to 3000 chars. Returns the generated body and saved post ID. Counts as 1 against the daily quota (5/day free, 100/day pro). ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate topic:"my SaaS hit 1000 users" mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate topic:"lessons from year 1" angle:story_arc mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate platform:linkedin topic:"leadership lessons" mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate angle:one_liner ``` Parameters: - `topic` (optional): topic or prompt for the post (max 280 chars) - `angle` (optional): `one_liner` | `list` | `question` | `story_arc` | `paragraph` | `my_voice` - `platform` (optional): `x` (default) | `linkedin` — controls output length and style #### xreply_posts_generate_batch Generate multiple AI posts at once. Each post counts as 1 against the daily quota — check billing first if quota is a concern. A batch of 9 will exhaust a free account. ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate_batch category:personalized count:5 mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate_batch category:trending count:3 mcporter call 'npx @xreplyai/[email protected]' xreply_posts_generate_batch category:viral count:9 ``` Parameters: - `category` (required): `personalized` | `trending` | `viral` - `count` (required): number of posts to generate (1–9, must not exceed remaining daily quota) --- ### Post Management #### xreply_posts_list List all posts in the queue — drafts, scheduled, and recent posts. Returns post IDs, body text, status, scheduled times, and per-platform content. ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_list ``` No parameters. #### xreply_posts_create Save a post draft. Use `body` for a simple X-only post. Use `post_contents` for LinkedIn posts or when posting different content to multiple platforms. The post is not published until you call `xreply_posts_publish`. **X-only post (simple):** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create body:"Your tweet text here" ``` **X post with auto-retweet:** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create post_contents:'[{"platform":"twitter","body":"Tweet text","metadata":{"auto_rt_hours":24}}]' ``` **LinkedIn post:** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create post_contents:'[{"platform":"linkedin","body":"Your long LinkedIn post here..."}]' ``` **Cross-post to X and LinkedIn with different text:** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create post_contents:'[{"platform":"twitter","body":"Short tweet"},{"platform":"linkedin","body":"Expanded LinkedIn version..."}]' ``` **X post with image (upload first with xreply_media_upload):** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create post_contents:'[{"platform":"twitter","body":"Check this out","content_type":"single_image","metadata":{"media_id":"1234567890"}}]' ``` **LinkedIn post with image (upload first with xreply_media_upload):** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_create post_contents:'[{"platform":"linkedin","body":"Caption here","content_type":"single_image","metadata":{"asset_urn":"urn:li:digitalmediaAsset:..."}}]' ``` Parameters: - `body` (optional): X post body text (max 280 chars). Use `post_contents` for LinkedIn or cross-posting. - `post_contents` (optional): array of per-platform content objects. Takes precedence over `body`. - `platform` (required): `twitter` | `linkedin` - `body` (required, except for LinkedIn video): post body (max 280 for X, max 3000 for LinkedIn). Optional when `content_type` is `video`. - `content_type` (optional): `text` (default) | `single_image` | `multi_image` | `video` - `metadata` (optional): For X images: `{ media_id: "..." }` or `{ media_ids: ["..."] }`. For LinkedIn images: `{ asset_urn: "..." }` or `{ asset_urns: ["..."] }`. For LinkedIn video: `{ asset_urn: "..." }` (from `xreply_video_upload`). For auto-retweet: `{ auto_rt_hours: 24 }`. For X communities: `{ community_id: "12345" }` (use `xreply_list_twitter_communities` to get IDs). - `account_id` / `account_ids` (optional): social account(s) to post from #### xreply_posts_edit Edit a post's content, scheduled time, or auto-retweet setting. Use `body` to update X-only text, or `post_contents` to update per-platform content. Cannot edit posts that are processing or already published. ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_edit id:123 body:"Updated tweet text" mcporter call 'npx @xreplyai/[email protected]' xreply_posts_edit id:123 'scheduled_at:2026-03-15T09:00:00Z' mcporter call 'npx @xreplyai/[email protected]' xreply_posts_edit id:123 post_contents:'[{"platform":"linkedin","body":"Updated LinkedIn text"}]' ``` Parameters: - `id` (required): post ID (integer) - `body` (optional): new X body text (max 280 chars) - `post_contents` (optional): per-platform content to update — replaces content for submitted platforms only. `metadata.auto_rt_hours` sets X auto-retweet hours; pass `null` to disable. `metadata.community_id` sets the X community to post into (use `xreply_list_twitter_communities` to get IDs). - `scheduled_at` (optional): ISO 8601 datetime string — omit to leave unchanged; pass `null` to unschedule #### xreply_posts_delete Delete a post. Cannot delete posts that are processing or already published. ``` mcporter call 'npx @xreplyai/[email protected]' xreply_posts_delete id:123 ``` Parameters: - `id` (required): post ID (integer) --- ### Media Upload #### xreply_media_upload Upload an image file from disk and get back a media identifier to attach to a post. Call this before `xreply_posts_create` or `xreply_posts_edit` to attach images. Supports JPEG, PNG, GIF, and WebP up to 5 MB. **Note:** Requires filesystem access — works in Claude Code, Cursor, and mcporter CLI. Not available in Claude.ai (no filesystem); in that case use the Posts dashboard at app.xreplyai.com/dashboard/posts to attach images directly. **Upload an image for X:** ``` mcporter call 'npx @xreplyai/[email protected]' xreply_media_upload image_p
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.