ProPost
Empezar
Todos los skills

Oficio y operaciones

Posting schedule optimizer

propost-posting-schedule-optimizer

Cuándo ayuda

Chooses and sets the weekly posting times for each ProPost channel using get_posting_schedule, suggest_posting_times, the audience's time zones and sensible cadence per network, then applies them with set_posting_schedule and pauses or resumes a queue for holidays. Use whenever someone asks "when should I post", "what are my best posting times", "set my posting schedule", "post on LinkedIn Tuesday and Thursday mornings", "I'm on holiday, pause my queue", "my queue is empty", "change my slots", or "how often should I post".

Los skills funcionan con el conector de ProPost, disponible en Pro y Premium. Configurar el conector

Turns evidence and the person's real life into a weekly set of slots per channel, applies it (at schedule level), and handles pauses without losing the setup.

Before you start

  1. get_account: time zone (all slot times are HH:mm in it), weekly scheduling cap, autonomy. set_posting_schedule needs schedule or publish; on drafts only recommend and show the exact schedule to apply in ProPost.
  2. list_channels: channels, queue_paused, needs_reconnect.
  3. get_posting_schedule per channel: current weekly times, paused state, next free slot. This is the baseline; show it before changing it.
  4. suggest_posting_times per channel: best weekday and hour with next occurrence, plus the source (the account's own history, or general patterns for the audience). Treat general patterns as a starting hypothesis, own history as stronger evidence.
  5. Ask only what you need: where the audience is (their city, or "mostly UK and US"), working hours, how many posts per week they can sustain.

Workflow

  1. Pick cadence from what they can really produce, within the weekly cap. A lower steady rate beats a bursty high one. Starting points:
    LinkedIn: 3 to 5 a week, weekdays.
    X: 1 to 3 a day if short posts are easy; otherwise 4 to 7 a week.
    Bluesky, Threads, Mastodon: 3 to 7 a week.
    Instagram: 3 to 5 a week; TikTok 3 to 5; Pinterest 3 to 7 pins.
    Facebook: 3 to 5 a week. Telegram: 1 to 3 a week.
    Google Business: 1 to 2 a week. YouTube: as videos exist.
  2. Pick times. Combine suggest_posting_times with the audience's time zone: convert so the post lands in the audience's morning, lunch or early evening, then express it in the person's time zone. Example: audience in New York, person in Paris (UTC+1): 08:30 New York is 14:30 in Paris. Spread slots so no two posts on one channel are within 3 hours; avoid midnight and long gaps. Offset a few minutes from the hour (09:12 not 09:00) only if the person wants; otherwise round numbers are fine.
  3. Show the proposal as a table per channel: day, times, why (source of the suggestion), and the posts per week against the cap. Get a yes.
  4. Apply with set_posting_schedule: channel_id, schedule as an array of { day, times, paused } with day in mon..sun, times like ["09:00","17:30"] (max 12 a day). It replaces the whole week: days left out have no slots, so include every day you want to keep. Then re-read with get_posting_schedule and report the next free slot.
  5. Pausing for holidays: set_posting_schedule with queue_paused: true (nothing new is added to the queue; times are kept) and resume later with queue_paused: false. Already scheduled posts are not affected by pausing the queue; list them with list_posts (status: "scheduled", from, to covering the holiday) and unschedule_post those that should not go out, with the person's yes. To skip single days instead, set paused: true on that day in the schedule.
  6. Review in 3 to 4 weeks with propost-performance-review and adjust; change one thing at a time so the effect is readable.

Writing guidance

  • Say plainly where a time comes from: "your own history" vs "general patterns, not yet proven for your audience".
  • Fewer, better slots are easier to keep full. Do not set 12 slots a day for a person who writes 3 posts a week: empty slots produce no_slots frustration and a stale feed.
  • Match slots to the content: how-to and thought posts in working-hour mornings, lighter or visual posts at lunch or evening.
  • Example proposal row: LinkedIn | Tue, Thu | 08:30 | own history, best two hours | 2 posts/week of a cap of 5.

Guardrails

  • Never change a schedule without showing the before and after and getting a yes; set_posting_schedule overwrites.
  • Do not exceed the plan's weekly cap; mention it if the schedule could.
  • Do not schedule across needs_reconnect channels.
  • Keep all times in the person's time zone with the offset when you use ISO strings (2026-12-24T09:30:00+01:00). Account for daylight saving when a holiday spans a clock change.
  • Pausing a queue is reversible; deleting posts is not. Prefer pausing.
  • Never publish_now to "fill a gap".

If something fails

  • autonomy_limit: you are on drafts only; give the schedule for the person to apply under the channel's posting schedule in ProPost.
  • invalid_day / invalid_time / too_many_slots: use mon..sun, 24-hour HH:mm, at most 12 a day.
  • queue_paused: resume with queue_paused: false or use schedule_post.
  • no_slots: there is no free slot in 60 days; add slots or use schedule_post with an exact time.
  • weekly_limit: lower the cadence or leave extras as drafts.
  • channel_not_found, channel_needs_reconnect: re-read channels; ask for a reconnect.
  • Others: see ../CONVENTIONS.md.

Cómo añadir un skill

  1. Claude (web y escritorio): descarga el skill en .zip y añádelo en Ajustes, Capacidades, Skills.
  2. Claude Code: descomprímelo en ~/.claude/skills/ (o en .claude/skills/ de tu proyecto).
  3. Otros asistentes: abre el SKILL.md y pégalo en las instrucciones personalizadas o el conocimiento del proyecto.

Los skills están escritos en inglés. Tu asistente te responderá y escribirá los posts en tu idioma.