Repository navigation
v1.0.2
Eight claims in the skills contradicted the API. Each was verified against the live tools/list schema or publora-api-docs, not against prose. Two came from #6; six predate it.
Parameters that do not exist
linkedin_create_reshare required parent, while the skill said postedId:
required: ['platformId', 'parent']
props: ['platformId', 'parent', 'commentary', 'visibility']
Every reshare an agent attempted from these instructions failed validation. The name really is inconsistent with its neighbours, which do take postedId, so the skill now says so rather than leaving the next reader to trip on it. Optional visibility is documented for the first time.
linkedin_list_mentionables takes q and limit and requires neither. The skill named platformId and query; there is no platformId, because it searches the account rather than one connection.
Capabilities the skills denied
platformSettings works through MCP. Five skills stated it was REST-only, so an agent following them abandoned MCP for nothing. It is supported on create_post and update_post, with a strict schema that rejects a mistyped key rather than silently dropping it.
TikTok is not video-only. It accepts image carousels of up to 35 JPEG, PNG or WebP images at 20 MB each. The skill carried a section headed "Video Only Platform" that listed photo carousels as unsupported, so agents refused valid requests and demanded a video.
Instagram is not JPEG-only. JPEG, PNG and WebP all work, WebP converted before publishing; animated GIF, BMP and TIFF are what get rejected. Four separate places said PNG "will fail", so agents either refused valid uploads or converted them for no reason.
Limits that were wrong
| Claim | Reality |
|---|---|
| YouTube video 512 MB | 256 GB |
| Facebook video 512 MB | 2 GB |
| LinkedIn image 5 MB | 36,152,320 pixels, 50 MB ceiling |
The 512 MB belongs to the dashboard's /media/process-video multipart endpoint and has nothing to do with API or MCP uploads, which are presigned. A note now says so, because that number is otherwise likely to come back.
A setting that is rejected
showCaptionAboveMedia was listed as a Telegram option. It is a latent read in the internal publisher with no reachable flow, and sending it returns 400 PLATFORM_SETTING_UNKNOWN. Removed, with a line recording why.
What this says about the drift check
check_mcp_drift.py confirms that documented tools exist, and it passes clean on every item above: a correctly named tool with invented parameters, a capability denied, a limit off by three orders of magnitude. Extending it to compare parameter names against each tool's inputSchema would catch the first two mechanically. The rest want GET /api/v1/platform-limits as a source of truth, which is the obvious follow-up.