In short:
ak-socialdrafts posts for X, LinkedIn, Threads and other platforms, plans a posting calendar by week or month, and when you ask, publishes or schedules for real through a provider such as Typefully. When it publishes, it posts only the content, channels and time you allowed, then checks the receipt. Drafting never posts anything online, and it does not cross-post to channels you did not list.
Disclosure: I maintain AgentKit and have an affiliate relationship with it: the AgentKit link in this post is an affiliate link; buying through it gets you 30% off.
Summary
Use it when you need a post in the right format for a platform, a posting calendar for a week or a campaign, or when you want to schedule an approved post on the right channels. You do not need it just to read a status without posting: when you ask for status, it only reads the receipt or reads from the provider.
flowchart LR
A["Topic or existing draft"] --> B["ak-social"]
B --> C["Draft file per platform"]
B --> D["Calendar file"]
B --> E["Post published or scheduled, with a receipt"]
C --> F["You review, then call publish"]
F --> BFour things to know to use it well:
| Concept | Question | Example |
|---|---|---|
| Draft or publish | This time, do you want a draft, a calendar, a real post, or just a status check? | /ak-social linkedin post only creates a draft file. /ak-social publish is what calls a provider. Asking "did yesterday's post go out?" only reads the receipt or reads from the provider, with no posting. |
| Allowed scope | Exactly which content, which media, which account and channels, what time, and which time zone? | "The post in the draft file, text unchanged, only X and LinkedIn, 9:00 AM Tuesday Vietnam time." It keeps to those two channels and does not cross-post to Threads on its own. |
| Provider per channel | Which posting service does this channel go through? | The config has channels: { x: typefully, linkedin: typefully }. A provider named in your request wins over any config. If a channel has no provider, it stops with an error that names which providers support that channel. |
| Receipt and reconciliation | How do you know the post went out, and what if it times out midway? | After scheduling, it records status: scheduled and the provider's post ID. If the command times out, the request may have been received: it reads back from the provider first, and if it cannot, it reports "not sure" instead of sending again. |
Your request is the permission: the skill does not ask for a separate confirmation before posting, so write "draft only" when you want a draft, and "run a dry-run first" when you want to check. Real posting through the command currently works end to end only with Typefully.
Sample prompt for drafting a post:
/ak-social linkedin post
Write a post introducing the <feature name> feature of <product name>.
Audience: <customer group>. Writing style: <style name>.
End with a question that invites comments. Draft only, do not post.This skill has no flags. After the command name you write a platform and then a post type to draft, or a subcommand: publish, schedule or list-providers; say dry-run, provider and schedule time plainly in your request.
Below is the detailed version: the run flow, 6 situations with prompts (drafting, previewing the posting plan, scheduling a real post, a timeout midway, planning a whole week, listing available providers), how to call the subcommands, the change history by ak release, and common pitfalls. The detailed version and the interactive page are for subscribers. Your agent can also search them through the portal's MCP.
Opens when your account has subscriber access
This guide is for subscribers
Once your account has access, the full piece, the interactive visual and the agent call all open.
- Sign in or create a modernEngineer accountReading access belongs to your account email.
- Choose a plan on the pricing page1, 3 or 12 months, paid by VietQR bank transfer. Access opens about a minute after the money arrives.
- Or redeem a Facebook subscriber codePeople supporting the page on Facebook get an activation code by message each month.
Already a subscriber? Sign in to read.
Use this piece in your agent
Get an API keyCopy the text below and paste it into Claude Code, Codex or whichever agent you use. The agent reads the piece and checks it against the repo you have open.
Read "ak-social: draft social posts and publish when you allow it" on modernEngineer and apply it to this repo.
1. Call the content_get tool of the modernengineer MCP server with locale "en", slug "ak-social". If the modernengineer MCP server is not connected, stop and walk me through connecting it from https://modernengineer.dev/en/mcp.
2. Summarize the main steps of the piece and point out which apply to this repo.
3. Propose concrete changes and ask me before editing any file.Connect MCP in Claude Code (once)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Reading the full piece over MCP needs an API key from a subscriber account or one that bought this guide. Without access, the agent only gets the opening.
- Version
- v1.0.0
- Updated
- 22/10/2026
- Licence
- All rights reserved
- Slug
- ak-social


