@postsider/mcp 0.0.0-bootstrap.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +29 -0
- package/.mcp.json +11 -0
- package/CHANGELOG.md +62 -0
- package/LICENSE +673 -0
- package/README.md +190 -0
- package/dist/client.js +268 -0
- package/dist/index.js +39 -0
- package/dist/post-body.js +29 -0
- package/dist/server.js +550 -0
- package/package.json +73 -0
- package/server.json +45 -0
- package/skills/postsider-workflow/SKILL.md +76 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: postsider-workflow
|
|
3
|
+
description: Use when the user asks to plan, draft, schedule, review or check social media work in PostSider, or to inspect the PostSider calendar, channels, approvals, publishing state or analytics. Enforces a read first and draft first workflow, requires read back verification of anything created, and forbids publishing on the agent's own initiative.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PostSider workflow
|
|
7
|
+
|
|
8
|
+
PostSider is a shared operational calendar. The human reviews and decides what
|
|
9
|
+
goes live; the agent prepares. Every rule below exists to keep that split intact.
|
|
10
|
+
|
|
11
|
+
## Order of operations
|
|
12
|
+
|
|
13
|
+
1. **Read before writing.** Establish the current state first with
|
|
14
|
+
`postsider_list_channels` and `postsider_list_posts`. Never guess a channel id
|
|
15
|
+
or a post id; take them from a read result.
|
|
16
|
+
2. **Check the kill switch.** Before scheduling anything, call
|
|
17
|
+
`postsider_get_publishing_state`. If publishing is paused, stop and tell the
|
|
18
|
+
user: a paused organization rejects new posts.
|
|
19
|
+
3. **Propose before creating.** Show the exact content, the target channel and the
|
|
20
|
+
publish date to the user, and get agreement on the text.
|
|
21
|
+
4. **Create a draft, not a schedule and never a publish.** Use
|
|
22
|
+
`postsider_create_post` with `type: "draft"`.
|
|
23
|
+
5. **Read it back.** Call `postsider_get_post` with the returned id and report the
|
|
24
|
+
stored content, channel and date. An id from the create response is not proof
|
|
25
|
+
that the post was stored correctly.
|
|
26
|
+
6. **Hand over for review.** Use `postsider_request_approval` when the user wants
|
|
27
|
+
the draft in the human approval queue, then `postsider_get_approval_status`.
|
|
28
|
+
|
|
29
|
+
## Hard rules
|
|
30
|
+
|
|
31
|
+
- **Never publish on your own initiative.** Do not use `type: "now"` and do not
|
|
32
|
+
schedule a future publish unless the user explicitly asked for that specific
|
|
33
|
+
post to be published or scheduled. "Prepare some posts" is not such a request.
|
|
34
|
+
- **Never claim a post is live** without reading it back and checking its state.
|
|
35
|
+
- **Never invent** channel ids, customer ids, media paths, dates or analytics
|
|
36
|
+
numbers. Read them, or say that you could not.
|
|
37
|
+
- **`postsider_pause_publishing` is an emergency stop.** Use it only when the user
|
|
38
|
+
asks for it or when they describe an ongoing incident. Resuming is human only,
|
|
39
|
+
so say so before using it.
|
|
40
|
+
- **`postsider_delete_post` is destructive and wider than it looks.** One id
|
|
41
|
+
deletes the post **and every other channel version in its group**, so read the
|
|
42
|
+
post first with `postsider_get_post`, list the channel versions to the user, and
|
|
43
|
+
confirm the specific post before deleting. Deleting cannot be undone.
|
|
44
|
+
- **Report API errors verbatim.** If a call fails, surface the message and do not
|
|
45
|
+
retry blindly. A `423` means publishing is paused for the organization.
|
|
46
|
+
- **Validate before requesting approval.** Call
|
|
47
|
+
`postsider_get_post_missing_fields` and fix what it reports.
|
|
48
|
+
- **Never print the API key**, and never write it into a file, command or message.
|
|
49
|
+
|
|
50
|
+
## Read first prompts to use verbatim
|
|
51
|
+
|
|
52
|
+
To prove the connection works, start with a read only request:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
List my connected PostSider channels. Do not create or modify anything.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then, before any write:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Show my PostSider calendar for the next 14 days. Do not create or modify anything.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Draft first prompt
|
|
65
|
+
|
|
66
|
+
When you are ready to prepare content:
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
Create one draft only for the selected channel. Show me the exact content first. Do not publish it.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## What to report back
|
|
73
|
+
|
|
74
|
+
- The draft id, its channel, its publish date and the stored text.
|
|
75
|
+
- Whether a human approval is pending.
|
|
76
|
+
- Anything you could not verify, stated plainly as not verified.
|