x-developer 2.5.3 → 2.5.5
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/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +3 -3
- package/README.md +37 -25
- package/context7.json +2 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +3 -2
- package/scripts/check-versions.mjs +48 -0
- package/scripts/release-guard/content-policy.mjs +30 -17
- package/server.json +21 -2
- package/skills/x-twitter-scraper/SKILL.md +8 -6
- package/skills/x-twitter-scraper/metadata.json +1 -1
- package/skills/x-twitter-scraper/references/mcp-setup.md +116 -63
- package/skills/x-twitter-scraper/references/mcp-tools.md +1 -1
- package/skills/x-twitter-scraper/skill-card.md +2 -2
- package/skills/x-twitter-scraper/skillspector-report.md +1 -1
- package/skills/xquik-social-research/SKILL.md +2 -0
- package/stub-server.mjs +13 -15
- package/task-guides/check-mutuals.md +1 -1
- package/task-guides/clean-followers.md +1 -1
- package/task-guides/export-tweets-csv.md +1 -1
- package/task-guides/extract-followers.md +1 -1
- package/task-guides/find-bangers.md +1 -1
- package/task-guides/find-influencers.md +1 -1
- package/task-guides/find-viral-tweets.md +1 -1
- package/task-guides/follow-unfollow.md +1 -1
- package/task-guides/for-you-feed.md +1 -1
- package/task-guides/going-viral.md +1 -1
- package/task-guides/grow-followers.md +1 -1
- package/task-guides/monitor-accounts.md +1 -1
- package/task-guides/optimize-tweets.md +1 -1
- package/task-guides/post-tweets.md +2 -2
- package/task-guides/run-giveaway.md +1 -1
- package/task-guides/search-tweets.md +2 -2
- package/task-guides/send-dms.md +1 -1
- package/task-guides/top-replies.md +1 -1
- package/task-guides/track-competitors.md +1 -1
- package/task-guides/track-hashtags.md +1 -1
- package/task-guides/track-mentions.md +1 -1
- package/task-guides/trending-news.md +1 -1
- package/task-guides/tweet-analytics.md +2 -2
- package/task-guides/tweet-ideas.md +1 -1
- package/task-guides/tweet-replies.md +1 -1
- package/task-guides/tweet-style.md +1 -1
- package/task-guides/tweet-webhooks.md +1 -1
- package/task-guides/update-x-profile.md +1 -1
- package/task-guides/user-tweets.md +2 -2
- package/task-guides/who-liked.md +1 -1
- package/task-guides/who-quoted.md +1 -1
- package/task-guides/who-retweeted.md +1 -1
- package/task-guides/write-threads.md +1 -1
- package/task-guides/write-tweets.md +1 -1
- package/task-guides/x-articles.md +1 -1
- package/task-guides/x-bookmarks.md +1 -1
- package/task-guides/x-communities.md +1 -1
- package/task-guides/x-lists.md +1 -1
- package/task-guides/x-spaces.md +1 -1
- package/task-guides/x-trends.md +1 -1
|
@@ -1,26 +1,32 @@
|
|
|
1
1
|
# Xquik MCP Server Setup
|
|
2
2
|
|
|
3
3
|
Connect AI agents and IDEs to Xquik through Model Context Protocol. Add the
|
|
4
|
-
remote URL and complete OAuth 2.1 in the browser. API
|
|
5
|
-
|
|
4
|
+
remote URL and complete OAuth 2.1 in the browser. API-key fallback is
|
|
5
|
+
client-specific. ChatGPT custom apps require OAuth and cannot present custom
|
|
6
|
+
API keys.
|
|
6
7
|
|
|
7
8
|
| Setting | Value |
|
|
8
9
|
|---------|-------|
|
|
9
10
|
| Protocol | Streamable HTTP |
|
|
10
11
|
| Endpoint | `https://xquik.com/mcp` |
|
|
11
12
|
| Authentication | OAuth 2.1 discovery; API key fallback |
|
|
12
|
-
| Version | `2.5.
|
|
13
|
+
| Version | `2.5.5` |
|
|
13
14
|
|
|
14
15
|
Xquik publishes these discovery documents:
|
|
15
16
|
|
|
16
17
|
- Protected resource metadata: `https://xquik.com/.well-known/oauth-protected-resource/mcp`
|
|
17
18
|
- Authorization server metadata: `https://xquik.com/.well-known/oauth-authorization-server`
|
|
18
|
-
- MCP registry card: `https://xquik.com/.well-known/mcp.json`
|
|
19
|
+
- MCP registry card: `https://xquik.com/.well-known/mcp/server-card.json`
|
|
19
20
|
- Agent-readable auth guide: `https://xquik.com/auth.md`
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
Registration (DCR)
|
|
23
|
-
Authorization Code with S256 PKCE and the `mcp:tools` scope.
|
|
22
|
+
Xquik supports Client ID Metadata Documents (CIMD) and Dynamic Client
|
|
23
|
+
Registration (DCR). Let each client use its documented registration flow. Both
|
|
24
|
+
use Authorization Code with S256 PKCE and the `mcp:tools` scope.
|
|
25
|
+
|
|
26
|
+
Use the [canonical client compatibility matrix](https://docs.xquik.com/mcp/overview#client-compatibility)
|
|
27
|
+
for current per-client support. Cline and Qwen Code support OAuth.
|
|
28
|
+
Affected Goose releases need an environment-backed API key. Roo Code's archived final
|
|
29
|
+
release is API-key-only. Pi has no native MCP client.
|
|
24
30
|
|
|
25
31
|
> **Security:** Start OAuth from the MCP client. Do not open Xquik login routes
|
|
26
32
|
> directly. Do not proxy Xquik credentials through local bridge packages or
|
|
@@ -31,13 +37,16 @@ Authorization Code with S256 PKCE and the `mcp:tools` scope.
|
|
|
31
37
|
|
|
32
38
|
### Claude.ai
|
|
33
39
|
|
|
34
|
-
1. Open **Customize > Connectors**.
|
|
40
|
+
1. Open [Claude Connectors](https://claude.ai/settings/connectors) or **Customize > Connectors**.
|
|
35
41
|
2. Select **+**, then **Add custom connector**.
|
|
36
42
|
3. Enter `https://xquik.com/mcp`.
|
|
37
|
-
4. Select **
|
|
43
|
+
4. Select **Add**.
|
|
44
|
+
5. In a chat, select **+ > Connectors**, enable Xquik, then select **Connect** and approve access.
|
|
38
45
|
|
|
39
|
-
Leave advanced client ID and client secret fields empty.
|
|
40
|
-
|
|
46
|
+
Leave advanced client ID and client secret fields empty. Free accounts can add
|
|
47
|
+
1 custom connector. On Team and Enterprise plans, an Owner or Primary Owner
|
|
48
|
+
must first add the Web connector under **Organization settings > Connectors >
|
|
49
|
+
Add > Custom**. The feature is currently beta.
|
|
41
50
|
|
|
42
51
|
### Claude Desktop
|
|
43
52
|
|
|
@@ -56,61 +65,91 @@ Run `/mcp`, select `xquik`, then authenticate.
|
|
|
56
65
|
|
|
57
66
|
### ChatGPT
|
|
58
67
|
|
|
59
|
-
1.
|
|
60
|
-
2.
|
|
61
|
-
3.
|
|
62
|
-
4.
|
|
63
|
-
5. Enter `https://xquik.com/mcp` as the server URL.
|
|
64
|
-
6. Complete Xquik authorization.
|
|
68
|
+
1. In ChatGPT on the web, open **Settings > Apps > Advanced settings** and enable **Developer mode**.
|
|
69
|
+
2. Open **Settings > Apps > Create**. Workspace administrators may instead use **Workspace settings > Apps > Create**.
|
|
70
|
+
3. Enter `https://xquik.com/mcp`, choose OAuth, then select **Scan tools**.
|
|
71
|
+
4. Complete Xquik authorization and select **Create**.
|
|
65
72
|
|
|
66
|
-
|
|
73
|
+
ChatGPT cannot present a custom API key. Business and Enterprise/Edu
|
|
74
|
+
workspaces support full MCP, including write tools. Pro supports read and fetch
|
|
75
|
+
tools only. Custom MCP apps are web-only.
|
|
67
76
|
|
|
68
77
|
### Codex CLI
|
|
69
78
|
|
|
79
|
+
Current Codex releases affected by
|
|
80
|
+
[openai/codex#31573](https://github.com/openai/codex/issues/31573) must use the
|
|
81
|
+
environment-backed API-key configuration in **Codex Config** below. Do not run
|
|
82
|
+
`codex mcp login xquik` while that configuration is active.
|
|
83
|
+
|
|
84
|
+
After your Codex release includes the upstream issuer fix, remove
|
|
85
|
+
`bearer_token_env_var`, then run:
|
|
86
|
+
|
|
70
87
|
```bash
|
|
71
88
|
codex mcp add xquik --url https://xquik.com/mcp
|
|
72
89
|
codex mcp login xquik
|
|
73
90
|
codex mcp list
|
|
74
91
|
```
|
|
75
92
|
|
|
93
|
+
Affected releases discard the RFC 9207 `iss` callback value and fail before
|
|
94
|
+
token exchange. If login reports
|
|
95
|
+
`Authorization server response missing required issuer: expected https://xquik.com`,
|
|
96
|
+
Xquik already returns the required issuer. Follow the [Xquik troubleshooting guide](https://docs.xquik.com/guides/troubleshooting#codex-oauth-issuer-validation-error).
|
|
97
|
+
|
|
76
98
|
### Codex Desktop
|
|
77
99
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
100
|
+
Current affected releases use the environment-backed API-key configuration
|
|
101
|
+
below through the shared `config.toml`, then restart Codex Desktop. After your
|
|
102
|
+
release includes the upstream fix, open **Settings > MCP servers**, add
|
|
103
|
+
`https://xquik.com/mcp` as Streamable HTTP, select **Authenticate**, then
|
|
104
|
+
restart.
|
|
83
105
|
|
|
84
106
|
### Codex Config
|
|
85
107
|
|
|
86
|
-
|
|
108
|
+
Current affected releases need an environment-backed API key instead of OAuth.
|
|
109
|
+
Load `XQUIK_API_KEY` from your password manager or operating-system secret
|
|
110
|
+
store. Do not type the key into a shell command, save it in shell history, or
|
|
111
|
+
put it in `config.toml`.
|
|
112
|
+
|
|
113
|
+
Use this `~/.codex/config.toml` entry:
|
|
87
114
|
|
|
88
115
|
```toml
|
|
89
116
|
[mcp_servers.xquik]
|
|
90
117
|
url = "https://xquik.com/mcp"
|
|
118
|
+
bearer_token_env_var = "XQUIK_API_KEY"
|
|
91
119
|
```
|
|
92
120
|
|
|
93
|
-
|
|
121
|
+
Restart Codex, then run `codex mcp list`. Do not run `codex mcp login xquik`
|
|
122
|
+
while using the API-key configuration.
|
|
123
|
+
|
|
124
|
+
After your Codex release includes the upstream fix, remove
|
|
125
|
+
`bearer_token_env_var` so the entry contains only the MCP URL, then run
|
|
126
|
+
`codex mcp login xquik`.
|
|
94
127
|
|
|
95
128
|
### OpenAI Agents SDK
|
|
96
129
|
|
|
97
130
|
Use the OpenAI Agents SDK for programmatic access. When the runtime cannot open
|
|
98
|
-
OAuth,
|
|
131
|
+
OAuth, pass an API key into the connection function from its secret store:
|
|
99
132
|
|
|
100
133
|
```python
|
|
134
|
+
from agents import Agent, Runner
|
|
101
135
|
from agents.mcp import MCPServerStreamableHttp
|
|
102
136
|
|
|
103
|
-
def load_secret(name: str) -> str:
|
|
104
|
-
raise RuntimeError(f"Configure {name} in your secret store.")
|
|
105
|
-
|
|
106
|
-
api_key = load_secret("XQUIK_API_KEY")
|
|
107
137
|
|
|
108
|
-
async
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
138
|
+
async def run_xquik(api_key: str) -> str:
|
|
139
|
+
async with MCPServerStreamableHttp(
|
|
140
|
+
name="Xquik",
|
|
141
|
+
params={
|
|
142
|
+
"url": "https://xquik.com/mcp",
|
|
143
|
+
"headers": {"Authorization": f"Bearer {api_key}"},
|
|
144
|
+
},
|
|
145
|
+
) as server:
|
|
146
|
+
agent = Agent(
|
|
147
|
+
name="Xquik agent",
|
|
148
|
+
instructions="Use Xquik to inspect the API catalog.",
|
|
149
|
+
mcp_servers=[server],
|
|
150
|
+
)
|
|
151
|
+
result = await Runner.run(agent, "List the endpoint categories.")
|
|
152
|
+
return str(result.final_output)
|
|
114
153
|
```
|
|
115
154
|
|
|
116
155
|
## Editors and Terminals
|
|
@@ -164,7 +203,8 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
|
164
203
|
```
|
|
165
204
|
|
|
166
205
|
Enable the server in **Windsurf Settings > Cascade > MCP Servers**, then
|
|
167
|
-
complete OAuth.
|
|
206
|
+
complete OAuth. Enterprise users must enable MCP manually. Team policies may
|
|
207
|
+
disable MCP or restrict servers to an allowlist.
|
|
168
208
|
|
|
169
209
|
### OpenCode
|
|
170
210
|
|
|
@@ -190,44 +230,57 @@ opencode mcp list
|
|
|
190
230
|
|
|
191
231
|
### Gemini CLI
|
|
192
232
|
|
|
193
|
-
Add
|
|
233
|
+
Add the remote server:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
gemini mcp add --transport http xquik https://xquik.com/mcp
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Or add it to `~/.gemini/settings.json` for user scope or
|
|
240
|
+
`.gemini/settings.json` for project scope:
|
|
194
241
|
|
|
195
242
|
```json
|
|
196
243
|
{
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
244
|
+
"mcpServers": {
|
|
245
|
+
"xquik": {
|
|
246
|
+
"type": "http",
|
|
247
|
+
"url": "https://xquik.com/mcp"
|
|
248
|
+
}
|
|
249
|
+
}
|
|
202
250
|
}
|
|
203
251
|
```
|
|
204
252
|
|
|
205
|
-
|
|
253
|
+
Older Gemini CLI builds also accept the legacy `httpUrl` field.
|
|
206
254
|
|
|
207
|
-
|
|
255
|
+
Run `/mcp auth xquik` to complete OAuth.
|
|
208
256
|
|
|
209
|
-
|
|
210
|
-
securely:
|
|
257
|
+
### GitHub Copilot CLI
|
|
211
258
|
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
"mcpServers": {
|
|
215
|
-
"xquik": {
|
|
216
|
-
"url": "https://xquik.com/mcp",
|
|
217
|
-
"headers": {
|
|
218
|
-
"Authorization": "Bearer ${XQUIK_API_KEY}"
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
259
|
+
```bash
|
|
260
|
+
copilot mcp add --transport http xquik https://xquik.com/mcp
|
|
223
261
|
```
|
|
224
262
|
|
|
225
|
-
|
|
226
|
-
|
|
263
|
+
If your installed CLI does not recognize those flags, start `copilot`, run
|
|
264
|
+
`/mcp add`, choose HTTP, name the server `xquik`, enter the endpoint above, and
|
|
265
|
+
save. This interactive path works across Copilot CLI command variants.
|
|
266
|
+
|
|
267
|
+
In an interactive Copilot CLI session, run `/mcp auth xquik`. Enterprise policy
|
|
268
|
+
may block servers that are not on the organization allowlist.
|
|
269
|
+
|
|
270
|
+
## API-Key Fallback
|
|
271
|
+
|
|
272
|
+
Use this only when the client cannot complete OAuth and documents a secure
|
|
273
|
+
secret-input or environment-variable mechanism. ChatGPT custom apps cannot use
|
|
274
|
+
this fallback. Codex uses the `bearer_token_env_var` configuration above.
|
|
275
|
+
Client schemas and environment syntax differ, so do not copy a generic header
|
|
276
|
+
object between clients or place a literal key in a configuration file.
|
|
277
|
+
|
|
278
|
+
Full account keys expose 119 catalog routes. Of these, 118 support JSON or text.
|
|
279
|
+
Active guest `paid_reads` keys expose 33 eligible GET routes.
|
|
227
280
|
|
|
228
281
|
## MCP Server Architecture
|
|
229
282
|
|
|
230
|
-
The MCP server (v2.5.
|
|
283
|
+
The MCP server (v2.5.5) exposes 119 catalog routes through 2 structured API tools. Of these, 118 support JSON or text. Binary support downloads use REST.
|
|
231
284
|
|
|
232
285
|
| Tool | Description | Usage |
|
|
233
286
|
|------|-------------|------|
|
|
@@ -238,8 +291,8 @@ The MCP server (v2.5.3) at `https://xquik.com/mcp` exposes 118 operations throug
|
|
|
238
291
|
operations with normalized snake_case responses. Authentication is injected, so
|
|
239
292
|
tool code must never include credentials.
|
|
240
293
|
|
|
241
|
-
MCP v2.5.
|
|
242
|
-
session
|
|
294
|
+
MCP v2.5.5 catalogs 119 of 127 documented REST operations. These 8 credential
|
|
295
|
+
or session operations remain direct REST or dashboard workflows:
|
|
243
296
|
|
|
244
297
|
- API key creation, listing, and revocation
|
|
245
298
|
- Saved-payment top-up
|
|
@@ -157,7 +157,7 @@ Use `POST /api/v1/extractions` ONLY for bulk data that simpler endpoints cannot
|
|
|
157
157
|
|
|
158
158
|
## REST-only operations
|
|
159
159
|
|
|
160
|
-
MCP v2.5.
|
|
160
|
+
MCP v2.5.5 catalogs 119 of 127 REST operations. Of these, 118 support JSON or text. Binary support downloads use REST. These 8 credential or session operations remain outside MCP:
|
|
161
161
|
|
|
162
162
|
- API key creation
|
|
163
163
|
- API key listing
|
|
@@ -53,7 +53,7 @@ Mitigation: Verify unfamiliar endpoint details against `https://docs.xquik.com`
|
|
|
53
53
|
- NVIDIA signing guidance: `https://docs.nvidia.com/skills/signing-agent-skills`
|
|
54
54
|
- NVIDIA skill card guidance: `https://docs.nvidia.com/skills/skill-cards`
|
|
55
55
|
- NVIDIA release checklist: `https://docs.nvidia.com/skills/release-checklist`
|
|
56
|
-
- Scan evidence: `skillspector-report.md` records a static SkillSpector v2.3.7 scan from 2026-07-
|
|
56
|
+
- Scan evidence: `skillspector-report.md` records a static SkillSpector v2.3.7 scan from 2026-07-16 with 0 findings. Refresh it after each skill directory change.
|
|
57
57
|
- Signing evidence: pending `skill.oms.sig` for signed release artifacts.
|
|
58
58
|
- Evaluation evidence: pending Tier-3 evaluation data and `BENCHMARK.md` for NVIDIA-Verified release.
|
|
59
59
|
|
|
@@ -69,7 +69,7 @@ Other properties: The skill performs no shell execution, no local file access, n
|
|
|
69
69
|
|
|
70
70
|
## Skill Version
|
|
71
71
|
|
|
72
|
-
2.5.
|
|
72
|
+
2.5.5
|
|
73
73
|
|
|
74
74
|
## Ethical Considerations
|
|
75
75
|
|
|
@@ -57,6 +57,8 @@ Use Xquik MCP when an agent should inspect live endpoint metadata first.
|
|
|
57
57
|
|
|
58
58
|
Connect through `https://xquik.com/mcp` using the documented remote setup.
|
|
59
59
|
|
|
60
|
+
If Codex reports `Authorization server response missing required issuer: expected https://xquik.com`, do not repeat OAuth. Affected Codex releases discard the RFC 9207 `iss` value even though Xquik returns it. Use `XQUIK_API_KEY` through the Codex `bearer_token_env_var` setting, then follow the [Codex OAuth troubleshooting guide](https://docs.xquik.com/guides/troubleshooting#codex-oauth-issuer-validation-error). Track the client fix in [openai/codex#31573](https://github.com/openai/codex/issues/31573).
|
|
61
|
+
|
|
60
62
|
Prefer REST when writing application code, backend jobs, or data pipelines.
|
|
61
63
|
|
|
62
64
|
## Safety Gates
|
package/stub-server.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { createInterface } from "node:readline";
|
|
|
8
8
|
|
|
9
9
|
const SERVER_INFO = {
|
|
10
10
|
name: "xquik",
|
|
11
|
-
version: "2.5.
|
|
11
|
+
version: "2.5.5",
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
const CAPABILITIES = {
|
|
@@ -42,7 +42,7 @@ const TOOLS = [
|
|
|
42
42
|
{
|
|
43
43
|
name: "explore",
|
|
44
44
|
description: description([
|
|
45
|
-
"
|
|
45
|
+
"Live Xquik tool: search the 119-route API catalog before calling 'xquik'. This package stub returns setup guidance only.",
|
|
46
46
|
"",
|
|
47
47
|
"## When to use",
|
|
48
48
|
"- Use 'explore' FIRST to find the right endpoint path, parameters, and response shape before calling 'xquik'.",
|
|
@@ -54,11 +54,9 @@ const TOOLS = [
|
|
|
54
54
|
"- Do NOT use if you already know the endpoint path and parameters.",
|
|
55
55
|
"",
|
|
56
56
|
"## Behavior",
|
|
57
|
-
"-
|
|
58
|
-
"-
|
|
59
|
-
"-
|
|
60
|
-
"- Returns a validation error if the request function is invalid.",
|
|
61
|
-
"- Timeout: 60 seconds.",
|
|
57
|
+
"- Live server: read-only, idempotent catalog search with no API request.",
|
|
58
|
+
"- Package stub: makes no network call and returns live setup guidance.",
|
|
59
|
+
"- The live catalog has 119 routes. Of these, 118 support JSON or text.",
|
|
62
60
|
"- Each EndpointInfo contains method, path, summary, category, free, parameters, and responseShape fields.",
|
|
63
61
|
"",
|
|
64
62
|
"## Input format",
|
|
@@ -83,7 +81,7 @@ const TOOLS = [
|
|
|
83
81
|
{
|
|
84
82
|
name: "xquik",
|
|
85
83
|
description: description([
|
|
86
|
-
"
|
|
84
|
+
"Live Xquik tool: send confirmed requests across 119 catalog routes. This package stub returns setup guidance only.",
|
|
87
85
|
"",
|
|
88
86
|
"## When to use",
|
|
89
87
|
"- Use after calling 'explore' to discover the endpoint path and parameters.",
|
|
@@ -95,19 +93,19 @@ const TOOLS = [
|
|
|
95
93
|
"- Do NOT pass API keys or auth headers - authentication is injected automatically.",
|
|
96
94
|
"",
|
|
97
95
|
"## Behavior",
|
|
98
|
-
"-
|
|
99
|
-
"-
|
|
100
|
-
"-
|
|
101
|
-
"-
|
|
102
|
-
"- Mutating operations require prior user confirmation and return
|
|
103
|
-
"- Pagination responses include `
|
|
96
|
+
"- Live server: processes `xquik.request(path, options?)` inside a bounded sandbox.",
|
|
97
|
+
"- Package stub: makes no API request and returns live setup guidance.",
|
|
98
|
+
"- The live tool has no filesystem or arbitrary network access.",
|
|
99
|
+
"- 118 catalog routes support JSON or text. Binary support downloads use REST.",
|
|
100
|
+
"- Mutating operations require prior user confirmation and can return durable actions.",
|
|
101
|
+
"- Pagination responses include `has_more` and `next_cursor`. Pass `cursor` for the next page.",
|
|
104
102
|
"- Some operations modify X or Xquik resources. Show the exact payload, target, and usage estimate before calling them.",
|
|
105
103
|
"",
|
|
106
104
|
"## Error handling",
|
|
107
105
|
"- 402: Account access or usage balance requires dashboard attention. Explain the account state and direct the user to the dashboard before retrying.",
|
|
108
106
|
"- 429: Rate limited. Retry after backoff.",
|
|
109
107
|
"- 404: Resource not found, such as a missing user, tweet, or monitor.",
|
|
110
|
-
"-
|
|
108
|
+
"- Durable writes: follow `safe_to_retry` and `next_action` before retrying.",
|
|
111
109
|
"",
|
|
112
110
|
"## Input format",
|
|
113
111
|
"Provide a bounded request function using `xquik.request(path, { method?, body?, query? })`. Auth is automatic.",
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
metadata:
|
|
6
6
|
internal: true
|
|
7
7
|
author: Xquik
|
|
8
|
-
version: "2.5.
|
|
8
|
+
version: "2.5.5"
|
|
9
9
|
openclaw:
|
|
10
10
|
requires:
|
|
11
11
|
env:
|
|
@@ -105,4 +105,4 @@ This skill assumes an account is already connected. New connections are performe
|
|
|
105
105
|
|
|
106
106
|
## Related
|
|
107
107
|
|
|
108
|
-
For
|
|
108
|
+
For all 127 REST operations, see [x-twitter-scraper](../skills/x-twitter-scraper/SKILL.md) in this repository.
|
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
metadata:
|
|
6
6
|
internal: true
|
|
7
7
|
author: Xquik
|
|
8
|
-
version: "2.5.
|
|
8
|
+
version: "2.5.5"
|
|
9
9
|
openclaw:
|
|
10
10
|
requires:
|
|
11
11
|
env:
|
|
@@ -107,7 +107,7 @@ To export: `GET /extractions/{id}/export?format=csv` (or `xlsx`, `md`). Cap 50,0
|
|
|
107
107
|
| 402 | `insufficient_credits` | Explain the account state and direct the user to the dashboard |
|
|
108
108
|
| 429 | `x_api_rate_limited` | Exponential backoff, respect `Retry-After` |
|
|
109
109
|
|
|
110
|
-
Read tier rate limit:
|
|
110
|
+
Read tier rate limit: 300 requests per 1s.
|
|
111
111
|
|
|
112
112
|
## Tweet IDs are strings
|
|
113
113
|
|
package/task-guides/send-dms.md
CHANGED