← SimplifiedCONTENT HISTORY

Update to Simplified

Snapshot Sep 30, 2026 · 22:54 UTC · version 2.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "campaign-review",
  "description": "Prepare Simplified social drafts for client, stakeholder, or team review and manage approval-ready revisions. Use when the user asks to package selected or all drafts for approval, create and present a social review link or review bundle, collect a campaign for client review, inspect draft status, revise selected drafts, or prepare approved content for a later publishing step.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 599
    },
    {
      "relative_path": "assets/simplified-icon-256.png",
      "size_in_bytes": 8191
    },
    {
      "relative_path": "assets/simplified-logo.png",
      "size_in_bytes": 6726
    }
  ],
  "skill_md_contents": "---\nname: campaign-review\ndescription: Prepare Simplified social drafts for client, stakeholder, or team review and manage approval-ready revisions. Use when the user asks to package selected or all drafts for approval, create and present a social review link or review bundle, collect a campaign for client review, inspect draft status, revise selected drafts, or prepare approved content for a later publishing step.\n---\n\n# Campaign Review\n\nTurn a group of social drafts into a clear approval package without publishing them.\n\n## Guardrails\n\n- A review bundle is not publishing authorization. Never schedule or queue posts from approval language alone.\n- Create a shareable review bundle when the user explicitly asks to package or send drafts for review. Otherwise preview the proposed bundle first.\n- For agencies or multi-client work, create one review bundle per client and\n  campaign. Never combine drafts from different clients, workspaces, or teamspaces\n  in the same bundle.\n- Modify only drafts the user selected or changes they approved.\n- Do not expose internal IDs as the primary presentation; use names, channels, dates, and short copy previews.\n- Present returned review URLs as clickable links, never embedded content.\n- Stop on `401` or when Simplified is not connected.\n\n## Workflow\n\n1. Establish the client, campaign or review scope, reviewer, desired deadline, and\n   which drafts should be included. Infer scope from the active campaign only when\n   unambiguous.\n2. For a named client workspace or teamspace, hand off first to\n   `$simplified-workspace`: call `api_getWorkspaceInfo`, resolve the exact numeric\n   teamspace ID with `api_listTeamspaces` when needed, state the selected client\n   context, and pass the same `space_id` on every downstream account, draft,\n   update, and review-bundle call. Re-resolve context when switching clients.\n3. If exact draft IDs are already known, reuse them only after verifying they belong\n   to the selected client scope. Otherwise call `social_getSocialMediaAccounts`,\n   select the relevant account IDs, then call `social_getSocialMediaDrafts` with\n   those IDs as the required comma-separated `account_ids` string. If that\n   multi-account lookup returns no rows when drafts are expected, use the read-only\n   per-account fallback: query each selected account separately, merge the results,\n   and deduplicate by exact draft ID. Never create replacement drafts, invent draft\n   IDs, assume that every draft belongs in the bundle, or reuse IDs from another\n   client scope.\n   - If the user explicitly asks for **all drafts**, select every connected account\n     in the resolved client scope. Retrieve every draft page for those accounts,\n     using `per_page: 100` and incrementing `page` until the response is exhausted.\n     Apply the per-account fallback when needed, merge the results, and deduplicate\n     by exact draft ID. “All” means all drafts in the resolved client scope, never\n     all drafts across other client teamspaces.\n4. Present a review manifest with client/teamspace, draft, channel/account, copy\n   preview, media status, planned timing, and issues requiring attention. If the\n   user did not identify the drafts, let them choose from this manifest before\n   creating the bundle.\n5. Apply requested copy, media, account, or settings changes with\n   `social_updateSocialMediaDraft`, following the connector's current tool schema\n   and carrying the selected `space_id`.\n6. When authorized, call `social_createSocialMediaReviewBundle` once with `title`,\n   optional `description`, all selected draft IDs in `draft_ids`, and the same\n   `space_id`. Use a client-identifying title such as\n   `Client — Campaign — Review round`.\n7. Verify which drafts were included and return the response's `linkToReview` URL\n   plus a concise manifest. For an “all drafts” request, state the total discovered,\n   included, excluded, and failed counts so the user can verify completeness. Keep\n   a separate bundle/link record for each client.\n8. The hosted connector currently does not expose a separate append-to-existing-bundle tool. If the user asks to append drafts, explain the limitation; do not silently recreate or replace the bundle.\n9. If the user later approves publication, hand off to `$simplified-social`: show the final account/date/media matrix and obtain explicit publishing confirmation before `schedule` or `add_to_queue`.\n\n## Review Checklist\n\n- Copy: factual accuracy, brand voice, CTA, spelling, and platform length.\n- Targeting: correct connected account and audience setting.\n- Media: present, accessible, and valid for the selected post type.\n- Timing: intended date, account timezone, campaign order, and no past dates.\n- Platform requirements: all required `additional` fields are present.\n- Campaign consistency: offer, link, naming, visual identity, and legal terms agree across drafts.\n- Client isolation: every draft, account, and bundle belongs to the same resolved\n  workspace/teamspace; no cross-client IDs or assets are present.\n\n## Output\n\nReport the client/teamspace, bundle name, included and excluded drafts, unresolved\nissues, and the review URL. State clearly that the content remains in review and\nhas not been published or scheduled.\n\nFor an explicit “create a review bundle of all drafts and present it” request,\ncreating the bundle is authorized: do not stop at a hypothetical preview. Complete\nthe scoped draft collection, create the bundle once, and present its clickable\nreview link and manifest.\n"
}

SHA-256: 9edc121f90e2bdca68f5d9569bf0f3892a232ccc1e87b31adbf13d5bf00c7bc7