Skip to content

Commit 05a9279

Browse files
committed
Release agent kit 0.2.3
1 parent 30fa682 commit 05a9279

8 files changed

Lines changed: 125 additions & 14 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "taisly-agent-kit",
33
"description": "Publish short-form videos to TikTok, Instagram Reels, YouTube Shorts, X, and Facebook from Claude Code through Taisly.",
4-
"version": "0.2.1",
4+
"version": "0.2.3",
55
"author": {
66
"name": "Taisly"
77
},

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,17 @@ taisly auth:status
111111
taisly platforms:list
112112
```
113113

114+
Connect a social account from an AI-agent flow:
115+
116+
```bash
117+
taisly platforms:connect:start --platform instagram
118+
# Open the returned connectUrl and finish authorization in the browser.
119+
taisly platforms:connect:check --platform instagram
120+
taisly platforms:list
121+
```
122+
123+
Supported connect slugs: `instagram`, `tiktok`, `youtube`, `x`, `facebook`.
124+
114125
Validate a local video before publishing:
115126

116127
```bash
@@ -194,6 +205,8 @@ Available MCP tools:
194205
- `taisly_auth_status`
195206
- `taisly_platforms_list`
196207
- `taisly_platform_schema`
208+
- `taisly_platform_connect_start`
209+
- `taisly_platform_connect_check`
197210
- `taisly_posts_validate`
198211
- `taisly_posts_create`
199212
- `taisly_posts_status`

SKILL.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ When the MCP server is connected, use these tools instead of shell commands:
7474
- `taisly_auth_status`
7575
- `taisly_platforms_list`
7676
- `taisly_platform_schema`
77+
- `taisly_platform_connect_start`
78+
- `taisly_platform_connect_check`
7779
- `taisly_posts_validate`
7880
- `taisly_posts_create`
7981
- `taisly_posts_status`
@@ -87,14 +89,15 @@ When the MCP server is connected, use these tools instead of shell commands:
8789
2. Wait for the user to finish browser login, then run `taisly_agent_checkin` or `taisly checkin --agent <agent-slug>`.
8890
3. Run `taisly auth:status`.
8991
4. Run `taisly platforms:list`.
90-
5. Match the user's requested platforms to connected platform IDs.
91-
6. Run `taisly platforms:schema --platform <name>` for constraints.
92-
7. Run `taisly posts:validate`.
93-
8. Confirm destination accounts and caption with the user.
94-
9. Run `taisly posts:create`.
95-
10. Report the returned `historyId`, scheduled date, and per-platform initial statuses.
96-
97-
For MCP, follow the same sequence with `taisly_auth_status`, `taisly_platforms_list`, `taisly_platform_schema`, `taisly_posts_validate`, `taisly_posts_create`, and `taisly_posts_status`.
92+
5. If a requested platform is missing and a connect tool is available, run `taisly platforms:connect:start --platform <name>`, give the user the returned `connectUrl`, wait for browser approval, then run `taisly platforms:connect:check --platform <name>`. Supported connect slugs are `instagram`, `tiktok`, `youtube`, `x`, and `facebook`.
93+
6. Match the user's requested platforms to connected platform IDs.
94+
7. Run `taisly platforms:schema --platform <name>` for constraints.
95+
8. Run `taisly posts:validate`.
96+
9. Confirm destination accounts and caption with the user.
97+
10. Run `taisly posts:create`.
98+
11. Report the returned `historyId`, scheduled date, and per-platform initial statuses.
99+
100+
For MCP, follow the same sequence with `taisly_auth_status`, `taisly_platforms_list`, `taisly_platform_connect_start`, `taisly_platform_connect_check`, `taisly_platform_schema`, `taisly_posts_validate`, `taisly_posts_create`, and `taisly_posts_status`.
98101

99102
## Error Handling
100103

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@taisly/agent",
3-
"version": "0.2.2",
3+
"version": "0.2.3",
44
"description": "AI agent social media posting SDK, CLI, Skill, and MCP server for publishing videos to TikTok, Instagram Reels, YouTube Shorts, X, and Facebook through Taisly.",
55
"type": "module",
66
"main": "src/index.js",

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
"url": "https://github.com/taisly/agent",
77
"source": "github"
88
},
9-
"version": "0.2.1",
9+
"version": "0.2.3",
1010
"packages": [
1111
{
1212
"registryType": "npm",
1313
"identifier": "@taisly/agent",
14-
"version": "0.2.1",
14+
"version": "0.2.3",
1515
"transport": {
1616
"type": "stdio"
1717
},

src/cli.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ async function run(commandName, options) {
5757
case "integrations:settings":
5858
return client.platforms.schema(options.platform || options._[0]);
5959

60+
case "platforms:connect:start":
61+
case "integrations:connect:start":
62+
return client.platforms.connectStart({
63+
platform: options.platform || options._[0],
64+
});
65+
66+
case "platforms:connect:check":
67+
case "integrations:connect:check":
68+
return client.platforms.connectCheck({
69+
platform: options.platform || options._[0],
70+
});
71+
6072
case "posts:validate":
6173
return client.posts.validate({
6274
video: options.video,
@@ -115,6 +127,9 @@ function help() {
115127
"platforms:list",
116128
"integrations:list",
117129
"platforms:schema --platform TikTok",
130+
"platforms:connect:start --platform instagram",
131+
"platforms:connect:check --platform instagram",
132+
"Supported connect slugs: instagram, tiktok, youtube, x, facebook",
118133
"posts:validate --video ./launch.mp4 --platforms <id,id> --description 'Launch day'",
119134
"posts:create --video ./launch.mp4 --platforms <id,id> --description 'Launch day' --scheduled 2026-06-14T09:00:00+07:00",
120135
"posts:create --json campaign.json",

src/index.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,34 @@ export class Taisly {
8686
success: true,
8787
data: getPlatformSchema(platform),
8888
}),
89+
90+
connectStart: async ({ platform }) => {
91+
const platformKey = normalizeConnectPlatform(platform);
92+
const response = await this.request(
93+
`/agent/platform/connect/start?platform=${encodeURIComponent(
94+
platformKey,
95+
)}`,
96+
);
97+
98+
return {
99+
success: true,
100+
...(response.data || {}),
101+
};
102+
},
103+
104+
connectCheck: async ({ platform }) => {
105+
const platformKey = normalizeConnectPlatform(platform);
106+
const response = await this.request(
107+
`/agent/platform/connect/check?platform=${encodeURIComponent(
108+
platformKey,
109+
)}`,
110+
);
111+
112+
return {
113+
success: true,
114+
...(response.data || {}),
115+
};
116+
},
89117
};
90118

91119
posts = {
@@ -310,6 +338,18 @@ export function normalizePlatformIds(platforms) {
310338
.filter(Boolean);
311339
}
312340

341+
function normalizeConnectPlatform(platform) {
342+
const value = String(platform || "")
343+
.trim()
344+
.toLowerCase();
345+
346+
if (!value) {
347+
throw new TaislyError("PLATFORM_REQUIRED", "Pass --platform.");
348+
}
349+
350+
return value;
351+
}
352+
313353
export function normalizeScheduled(value) {
314354
if (!value) return "";
315355
if (/^\d+$/.test(String(value))) return String(value);

src/mcp.js

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const SUPPORTED_PROTOCOL_VERSIONS = new Set([
1010
]);
1111
const SERVER_NAME = "taisly-agent-kit";
1212
const SERVER_TITLE = "Taisly Agent Kit";
13-
const SERVER_VERSION = "0.2.1";
13+
const SERVER_VERSION = "0.2.3";
1414

1515
const JSON_OBJECT_SCHEMA = {
1616
type: "object",
@@ -96,6 +96,42 @@ const TOOLS = [
9696
additionalProperties: false,
9797
},
9898
},
99+
{
100+
name: "taisly_platform_connect_start",
101+
title: "Start Social Account Connection",
102+
description:
103+
"Start browser-based connection for a social account. Returns a connectUrl that the user must open and approve in the browser.",
104+
inputSchema: {
105+
type: "object",
106+
properties: {
107+
platform: {
108+
type: "string",
109+
description:
110+
"Platform to connect. Supported: instagram, tiktok, youtube, x, facebook.",
111+
},
112+
},
113+
required: ["platform"],
114+
additionalProperties: false,
115+
},
116+
},
117+
{
118+
name: "taisly_platform_connect_check",
119+
title: "Check Social Account Connection",
120+
description:
121+
"Check whether a social account connection started by taisly_platform_connect_start has appeared in Taisly.",
122+
inputSchema: {
123+
type: "object",
124+
properties: {
125+
platform: {
126+
type: "string",
127+
description:
128+
"Platform to check. Supported: instagram, tiktok, youtube, x, facebook.",
129+
},
130+
},
131+
required: ["platform"],
132+
additionalProperties: false,
133+
},
134+
},
99135
{
100136
name: "taisly_posts_validate",
101137
title: "Validate Taisly Post",
@@ -249,6 +285,10 @@ const TOOL_HANDLERS = {
249285
taisly_auth_status: (client) => client.auth.status(),
250286
taisly_platforms_list: (client) => client.platforms.list(),
251287
taisly_platform_schema: (client, args) => client.platforms.schema(args.platform),
288+
taisly_platform_connect_start: (client, args) =>
289+
client.platforms.connectStart({ platform: args.platform }),
290+
taisly_platform_connect_check: (client, args) =>
291+
client.platforms.connectCheck({ platform: args.platform }),
252292
taisly_posts_validate: (client, args) =>
253293
client.posts.validate({
254294
video: args.video,
@@ -392,7 +432,7 @@ class TaislyMcpServer {
392432
version: SERVER_VERSION,
393433
},
394434
instructions:
395-
"If Taisly is not connected yet, use taisly_agent_setup_start, send the user the returned loginUrl, wait for browser approval, then use taisly_agent_checkin. After setup, discover connected social accounts, validate posts, ask for explicit user confirmation, then create and monitor posts.",
435+
"If Taisly is not connected yet, use taisly_agent_setup_start, send the user the returned loginUrl, wait for browser approval, then use taisly_agent_checkin. If a requested social account is missing, use taisly_platform_connect_start, send the user the returned connectUrl, wait for browser approval, then use taisly_platform_connect_check. After setup, discover connected social accounts, validate posts, ask for explicit user confirmation, then create and monitor posts.",
396436
};
397437
}
398438

0 commit comments

Comments
 (0)