x-developer 2.6.7 → 2.7.1

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.
Files changed (161) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/.claude-plugin/plugin.json +2 -27
  3. package/.codex-plugin/plugin.json +4 -28
  4. package/README.de.md +505 -0
  5. package/README.es.md +504 -0
  6. package/README.fr.md +507 -0
  7. package/README.it.md +499 -0
  8. package/README.ja.md +493 -0
  9. package/README.ko.md +494 -0
  10. package/README.md +486 -123
  11. package/README.tr.md +502 -0
  12. package/README.zh-CN.md +484 -0
  13. package/assets/logo-400.png +0 -0
  14. package/commands/post.md +3 -3
  15. package/commands/search.md +1 -1
  16. package/commands/trending.md +1 -1
  17. package/commands/user.md +1 -1
  18. package/context7.json +6 -12
  19. package/docker-mcp-registry/xquik/readme.md +1 -0
  20. package/docker-mcp-registry/xquik/server.yaml +23 -0
  21. package/docker-mcp-registry/xquik/tools.json +1 -0
  22. package/glama.json +4 -0
  23. package/mcp.json +9 -0
  24. package/openclaw.plugin.json +2 -2
  25. package/package.json +24 -20
  26. package/plugin.json +22 -0
  27. package/registry.json +60 -0
  28. package/server.json +2 -2
  29. package/skills/x-twitter-scraper/LICENSE +21 -0
  30. package/skills/x-twitter-scraper/SKILL.md +175 -457
  31. package/skills/x-twitter-scraper/metadata.json +19 -9
  32. package/skills/x-twitter-scraper/references/compare-faq.md +101 -0
  33. package/skills/x-twitter-scraper/references/extractions.md +65 -290
  34. package/skills/x-twitter-scraper/references/mcp.md +24 -0
  35. package/skills/x-twitter-scraper/references/monitors-webhooks.md +167 -0
  36. package/skills/x-twitter-scraper/references/reads.md +416 -0
  37. package/skills/x-twitter-scraper/references/writes.md +111 -0
  38. package/skills/xquik-mcp/SKILL.md +75 -0
  39. package/skills/xquik-mcp/references/mcp-setup.md +255 -0
  40. package/skills/xquik-social-research/SKILL.md +61 -74
  41. package/skills.sh.json +6 -68
  42. package/start.sh +2 -2
  43. package/stub-server.mjs +37 -86
  44. package/task-guides/check-mutuals.md +3 -3
  45. package/task-guides/clean-followers.md +4 -4
  46. package/task-guides/export-tweets-csv.md +7 -7
  47. package/task-guides/extract-followers.md +10 -10
  48. package/task-guides/find-bangers.md +2 -2
  49. package/task-guides/find-influencers.md +4 -4
  50. package/task-guides/find-viral-tweets.md +9 -9
  51. package/task-guides/follow-unfollow.md +5 -5
  52. package/task-guides/for-you-feed.md +4 -4
  53. package/task-guides/going-viral.md +6 -6
  54. package/task-guides/grow-followers.md +4 -4
  55. package/task-guides/monitor-accounts.md +5 -5
  56. package/task-guides/optimize-tweets.md +3 -3
  57. package/task-guides/post-tweets.md +13 -13
  58. package/task-guides/run-giveaway.md +5 -5
  59. package/task-guides/search-tweets.md +7 -7
  60. package/task-guides/send-dms.md +11 -11
  61. package/task-guides/top-replies.md +7 -7
  62. package/task-guides/track-competitors.md +10 -10
  63. package/task-guides/track-hashtags.md +11 -11
  64. package/task-guides/track-mentions.md +7 -7
  65. package/task-guides/trending-news.md +4 -4
  66. package/task-guides/tweet-analytics.md +12 -12
  67. package/task-guides/tweet-ideas.md +2 -2
  68. package/task-guides/tweet-replies.md +8 -8
  69. package/task-guides/tweet-style.md +4 -4
  70. package/task-guides/tweet-webhooks.md +7 -7
  71. package/task-guides/update-x-profile.md +5 -5
  72. package/task-guides/user-tweets.md +10 -10
  73. package/task-guides/who-liked.md +4 -4
  74. package/task-guides/who-quoted.md +4 -4
  75. package/task-guides/who-retweeted.md +4 -4
  76. package/task-guides/write-threads.md +6 -6
  77. package/task-guides/write-tweets.md +8 -8
  78. package/task-guides/x-articles.md +3 -3
  79. package/task-guides/x-bookmarks.md +4 -4
  80. package/task-guides/x-communities.md +4 -4
  81. package/task-guides/x-lists.md +4 -4
  82. package/task-guides/x-spaces.md +4 -4
  83. package/task-guides/x-trends.md +6 -6
  84. package/x-twitter-scraper.json +10 -0
  85. package/CHANGELOG.md +0 -94
  86. package/scripts/check-reproducible.mjs +0 -48
  87. package/scripts/check-versions.mjs +0 -24
  88. package/scripts/release-guard/content-policy.mjs +0 -410
  89. package/scripts/release-guard/context.mjs +0 -61
  90. package/scripts/release-guard/frontmatter.mjs +0 -151
  91. package/scripts/release-guard/policy-checks.mjs +0 -134
  92. package/scripts/release-guard/policy.mjs +0 -226
  93. package/scripts/release-guard/repository-checks.mjs +0 -256
  94. package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +0 -14
  95. package/skills/x-twitter-scraper/references/api-endpoints-compose.md +0 -33
  96. package/skills/x-twitter-scraper/references/api-endpoints-credits.md +0 -11
  97. package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +0 -105
  98. package/skills/x-twitter-scraper/references/api-endpoints-draws.md +0 -101
  99. package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +0 -67
  100. package/skills/x-twitter-scraper/references/api-endpoints-events.md +0 -50
  101. package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +0 -113
  102. package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +0 -111
  103. package/skills/x-twitter-scraper/references/api-endpoints-radar.md +0 -50
  104. package/skills/x-twitter-scraper/references/api-endpoints-support.md +0 -53
  105. package/skills/x-twitter-scraper/references/api-endpoints-trends.md +0 -48
  106. package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +0 -186
  107. package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +0 -120
  108. package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +0 -54
  109. package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +0 -267
  110. package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +0 -50
  111. package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +0 -270
  112. package/skills/x-twitter-scraper/references/api-endpoints.md +0 -30
  113. package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +0 -130
  114. package/skills/x-twitter-scraper/references/best-x-api-alternative.md +0 -198
  115. package/skills/x-twitter-scraper/references/compare-twitter-apis.md +0 -151
  116. package/skills/x-twitter-scraper/references/draws.md +0 -57
  117. package/skills/x-twitter-scraper/references/export-twitter-followers.md +0 -127
  118. package/skills/x-twitter-scraper/references/extract-x-community-data.md +0 -121
  119. package/skills/x-twitter-scraper/references/mcp-setup.md +0 -331
  120. package/skills/x-twitter-scraper/references/mcp-tools.md +0 -183
  121. package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +0 -121
  122. package/skills/x-twitter-scraper/references/python-examples.md +0 -201
  123. package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +0 -239
  124. package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +0 -173
  125. package/skills/x-twitter-scraper/references/security.md +0 -111
  126. package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +0 -148
  127. package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +0 -128
  128. package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +0 -110
  129. package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +0 -136
  130. package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +0 -229
  131. package/skills/x-twitter-scraper/references/types-account-identity.md +0 -9
  132. package/skills/x-twitter-scraper/references/types-account.md +0 -26
  133. package/skills/x-twitter-scraper/references/types-api-keys.md +0 -22
  134. package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +0 -46
  135. package/skills/x-twitter-scraper/references/types-credits.md +0 -11
  136. package/skills/x-twitter-scraper/references/types-download-media.md +0 -22
  137. package/skills/x-twitter-scraper/references/types-draws.md +0 -60
  138. package/skills/x-twitter-scraper/references/types-error.md +0 -29
  139. package/skills/x-twitter-scraper/references/types-events.md +0 -23
  140. package/skills/x-twitter-scraper/references/types-extractions.md +0 -136
  141. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +0 -13
  142. package/skills/x-twitter-scraper/references/types-monitors.md +0 -49
  143. package/skills/x-twitter-scraper/references/types-radar.md +0 -47
  144. package/skills/x-twitter-scraper/references/types-request-bodies.md +0 -30
  145. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -11
  146. package/skills/x-twitter-scraper/references/types-support.md +0 -46
  147. package/skills/x-twitter-scraper/references/types-trends.md +0 -21
  148. package/skills/x-twitter-scraper/references/types-tweet-drafts.md +0 -20
  149. package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +0 -50
  150. package/skills/x-twitter-scraper/references/types-user-activity.md +0 -35
  151. package/skills/x-twitter-scraper/references/types-webhooks.md +0 -46
  152. package/skills/x-twitter-scraper/references/types-x-accounts.md +0 -16
  153. package/skills/x-twitter-scraper/references/types-x-api.md +0 -144
  154. package/skills/x-twitter-scraper/references/types-x-articles.md +0 -36
  155. package/skills/x-twitter-scraper/references/types-x-write.md +0 -78
  156. package/skills/x-twitter-scraper/references/types.md +0 -31
  157. package/skills/x-twitter-scraper/references/usage.md +0 -50
  158. package/skills/x-twitter-scraper/references/webhooks.md +0 -321
  159. package/skills/x-twitter-scraper/references/workflows.md +0 -215
  160. package/skills/x-twitter-scraper/skill-card.md +0 -84
  161. package/skills/x-twitter-scraper/skillspector-report.md +0 -20
@@ -5,7 +5,7 @@ license: MIT
5
5
  metadata:
6
6
  internal: true
7
7
  author: Xquik
8
- version: "2.6.7"
8
+ version: "2.7.1"
9
9
  openclaw:
10
10
  requires:
11
11
  env:
@@ -28,7 +28,7 @@ metadata:
28
28
 
29
29
  # X Lists
30
30
 
31
- Read X Lists: members, followers, and the timeline feed of any public list.
31
+ Read the members, followers, and timeline feed of any visible X List.
32
32
 
33
33
  ## Choose an endpoint
34
34
 
@@ -39,7 +39,7 @@ Read X Lists: members, followers, and the timeline feed of any public list.
39
39
  | POST /extractions with toolType=list_post_extractor | Posts in a list's feed | Per-row |
40
40
  | POST /extractions/estimate | Preview usage before running | Included |
41
41
 
42
- Base URL: `https://xquik.com/api/v1`. Auth: `x-api-key: xq_...` header.
42
+ The base URL is `https://xquik.com/api/v1`. Authenticate with the `x-api-key: xq_...` header.
43
43
 
44
44
  ## Example requests
45
45
 
@@ -58,7 +58,7 @@ All three list extractors use `targetListId`. The server accepts the raw ID from
58
58
 
59
59
  1. Get the list ID from the URL (`x.com/i/lists/<id>`).
60
60
  2. Call `POST /extractions/estimate`, show the usage estimate.
61
- 3. On approval, `POST /extractions`. Poll `GET /extractions/{id}` until `completed`.
61
+ 3. On confirmation, `POST /extractions`. Poll `GET /extractions/{id}` until `completed`.
62
62
  4. Export `GET /extractions/{id}/export?format=csv`.
63
63
 
64
64
  ## Protect list data
@@ -5,7 +5,7 @@ license: MIT
5
5
  metadata:
6
6
  internal: true
7
7
  author: Xquik
8
- version: "2.6.7"
8
+ version: "2.7.1"
9
9
  openclaw:
10
10
  requires:
11
11
  env:
@@ -37,7 +37,7 @@ List the host, co-hosts, speakers, and listeners in an X Space.
37
37
  | POST /extractions with toolType=space_explorer | Space participants and role | Per-row |
38
38
  | POST /extractions/estimate | Preview usage before running | Included |
39
39
 
40
- Base URL: `https://xquik.com/api/v1`. Auth: `x-api-key: xq_...` header.
40
+ The base URL is `https://xquik.com/api/v1`. Authenticate with the `x-api-key: xq_...` header.
41
41
 
42
42
  ## Example requests
43
43
 
@@ -50,12 +50,12 @@ POST /extractions
50
50
  -> 202 { "id": "<extractionId>", "toolType": "space_explorer", "status": "running" }
51
51
  ```
52
52
 
53
- Each row: `{ username, name, role: "host"|"cohost"|"speaker"|"listener", joined_at }`.
53
+ Each row is `{ username, name, role: "host"|"cohost"|"speaker"|"listener", joined_at }`.
54
54
 
55
55
  ## Fetch the Space data
56
56
 
57
57
  1. Get the Space ID from the URL (`x.com/i/spaces/<id>`).
58
- 2. Run the extraction with user approval.
58
+ 2. Run the extraction with user confirmation.
59
59
  3. Export or summarize participant list.
60
60
 
61
61
  ## Protect Space data
@@ -5,7 +5,7 @@ license: MIT
5
5
  metadata:
6
6
  internal: true
7
7
  author: Xquik
8
- version: "2.6.7"
8
+ version: "2.7.1"
9
9
  openclaw:
10
10
  requires:
11
11
  env:
@@ -38,7 +38,7 @@ Get trending hashtags and topics from X by country or globally. Read-only.
38
38
  | GET /x/trends?woeid=<woeid> | Region-scoped trends | Read tier |
39
39
  | GET /trends?woeid=<woeid> | Alias for `/x/trends` | Read tier |
40
40
 
41
- Base URL: `https://xquik.com/api/v1`. Auth: `x-api-key: xq_...` header.
41
+ The base URL is `https://xquik.com/api/v1`. Authenticate with the `x-api-key: xq_...` header.
42
42
 
43
43
  ## Example request
44
44
 
@@ -47,10 +47,10 @@ GET /x/trends?woeid=23424977&count=30
47
47
  -> { trends: [{ name, description, query, promotedContent, rank, tweetVolume, url }], total, woeid }
48
48
  ```
49
49
 
50
- - `woeid`: Yahoo WOEID (`1` worldwide, `23424977` US, `23424975` UK, `23424969` Turkey). Omit for worldwide.
51
- - `count`: number of trends to return, 1-50.
52
- - `tweetVolume`: approximate public post volume when supplied, otherwise null
53
- - `description`: optional context for the trend
50
+ - `woeid` is the Yahoo WOEID (`1` worldwide, `23424977` US, `23424975` UK, `23424969` Turkey). Omit for worldwide.
51
+ - `count` is the number of trends to return, 1-50.
52
+ - `tweetVolume` is the approximate visible post volume when supplied, otherwise null
53
+ - `description` is optional context for the trend
54
54
 
55
55
  ## Fetch the trends
56
56
 
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "x-twitter-scraper",
4
+ "type": "registry:item",
5
+ "title": "X Twitter scraper Skill",
6
+ "description": "Install the Skill for Xquik, the world's fastest and cheapest X Twitter scraper service with the most complete X data. Covers searches, exports, monitors, webhooks, and supported account actions. Not affiliated with X Corp.",
7
+ "registryDependencies": [
8
+ "Xquik-dev/x-twitter-scraper/x-twitter-scraper"
9
+ ]
10
+ }
package/CHANGELOG.md DELETED
@@ -1,94 +0,0 @@
1
- # Changelog
2
-
3
- ## [2.6.7] - 2026-08-21
4
-
5
- - Tighten thread review instructions without changing the approval gate.
6
-
7
- ## [2.6.6] - 2026-08-20
8
-
9
- ### Added
10
-
11
- - Add native shadcn, Codex, Gemini CLI, and LobeHub installation paths.
12
-
13
- ### Changed
14
-
15
- - Rewrite public documentation, metadata, guides, commands, and tool descriptions.
16
- - Add supported Twitter search and API terms to package metadata.
17
- - Link Java, Kotlin, CLI, and Terraform users to published install paths.
18
-
19
- ## [2.6.5] - 2026-08-13
20
-
21
- ### Fixed
22
-
23
- - Add Claude Code user configuration metadata for API key setup.
24
-
25
- ## [2.6.4] - 2026-08-12
26
-
27
- - Align public Error docs with the 112-code OpenAPI contract.
28
-
29
- ## [2.6.3] - 2026-08-12
30
-
31
- ### Fixed
32
-
33
- - Document support media, replay-safe mutations, and attachment downloads.
34
- - Document all direct user-search filters and filters-before-billing behavior.
35
- - Document the 109-code Error schema and exact cursor recovery.
36
- - Document Latest chronology and all 32 Tweet Thread filters.
37
- - Remove private reply-collection implementation details.
38
-
39
- ## [2.6.2] - 2026-08-11
40
-
41
- ### Fixed
42
-
43
- - Align REST, MCP, webhook, extraction, write, article, Radar, and trends guides
44
- with the current public API contract.
45
- - Distinguish the v2.6.2 Skill bundle from hosted MCP v2.6.0.
46
- - Replace obsolete operation-named MCP types with the 2-tool contract.
47
- - Document hosted MCP's automatic required idempotency headers.
48
- - Document automatic cursor recovery for `400`, `409`, and `410` responses.
49
- - Add regression coverage for high-risk public examples.
50
-
51
- ## [2.6.1] - 2026-08-03
52
-
53
- ### Security
54
-
55
- - Define adversarial request boundaries for roleplay, encoded, quoted, and
56
- authority-framed requests.
57
- - Keep untrusted transformations inert and prevent hidden-context disclosure.
58
-
59
- ## [2.6.0] - 2026-07-30
60
-
61
- ### Added
62
-
63
- - Document MCP `2026-07-28` negotiation through `server/discover`.
64
- - Add private cache guidance for discovery and tool catalogs.
65
- - Add safe tweet, profile, and media field guidance.
66
- - Add reply coverage and fallback guidance.
67
-
68
- ### Changed
69
-
70
- - Update public metadata to 128 REST operations.
71
- - Update MCP metadata to 120 authenticated catalog routes.
72
- - Keep stateless 2025-era MCP clients compatible.
73
- - Require estimates and approval before bulk reply extraction.
74
- - Make incomplete-reply search fallback directly executable.
75
- - Default top-reply requests to 10 results when unspecified.
76
- - Align documented tweet authors with the public response contract.
77
- - Prefer bounded complete mode for maximum-coverage reply collection.
78
- - Separate nested replies from measured direct-reply coverage.
79
- - Preserve safe partial rows and detailed diagnostics on incomplete coverage.
80
-
81
- ### Security
82
-
83
- - Exclude fetching-account action and permission state from general reads.
84
- - Return follow relationships only from explicit relationship checks.
85
- - Refresh SkillSpector v2.3.7 evidence with 0 findings.
86
-
87
- [2.6.7]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.7
88
- [2.6.6]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.6
89
- [2.6.5]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.5
90
- [2.6.4]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.4
91
- [2.6.3]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.3
92
- [2.6.2]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.2
93
- [2.6.1]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.1
94
- [2.6.0]: https://github.com/Xquik-dev/x-twitter-scraper/releases/tag/v2.6.0
@@ -1,48 +0,0 @@
1
- // SPDX-FileCopyrightText: 2026 Xquik Contributors
2
- // SPDX-License-Identifier: MIT
3
-
4
- import assert from "node:assert/strict";
5
- import { spawnSync } from "node:child_process";
6
- import { mkdir, mkdtemp, readdir, readFile, rm } from "node:fs/promises";
7
- import { tmpdir } from "node:os";
8
- import { join } from "node:path";
9
-
10
- function runNpm(args) {
11
- const result = spawnSync("npm", args, { stdio: "inherit" });
12
- if (result.error !== undefined) {
13
- throw result.error;
14
- }
15
- if (result.status !== 0) {
16
- throw new Error(`npm ${args.join(" ")} failed with status ${result.status}`);
17
- }
18
- }
19
-
20
- async function readPackage(directory) {
21
- const packageNames = (await readdir(directory)).filter((name) =>
22
- name.endsWith(".tgz"),
23
- );
24
- assert.equal(packageNames.length, 1, "Expected exactly one package archive");
25
- return readFile(join(directory, packageNames[0]));
26
- }
27
-
28
- const workspace = await mkdtemp(join(tmpdir(), "x-developer-reproducible-"));
29
-
30
- try {
31
- const firstPack = join(workspace, "first");
32
- const secondPack = join(workspace, "second");
33
- await mkdir(firstPack);
34
- await mkdir(secondPack);
35
-
36
- runNpm(["pack", "--ignore-scripts", "--pack-destination", firstPack]);
37
- runNpm(["pack", "--ignore-scripts", "--pack-destination", secondPack]);
38
-
39
- assert.deepEqual(
40
- await readPackage(secondPack),
41
- await readPackage(firstPack),
42
- "Repeated package archives differ",
43
- );
44
- } finally {
45
- await rm(workspace, { force: true, recursive: true });
46
- }
47
-
48
- process.stdout.write("Package archives are reproducible.\n");
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- // SPDX-FileCopyrightText: 2026 Xquik Contributors
4
- // SPDX-License-Identifier: MIT
5
-
6
- // Pre-publish and pre-commit guard for every public package contract.
7
-
8
- import { expected, readJson } from "./release-guard/context.mjs";
9
- import { collectPolicyDrifts } from "./release-guard/policy-checks.mjs";
10
- import { collectRepositoryDrifts } from "./release-guard/repository-checks.mjs";
11
-
12
- const failures = [...collectPolicyDrifts(), ...collectRepositoryDrifts()];
13
- const hostedMcpVersion = readJson("server.json").version;
14
-
15
- if (failures.length > 0) {
16
- process.stderr.write(
17
- `Release guard failed (package.json = ${expected}):\n${failures.join("\n")}\n`,
18
- );
19
- process.exit(1);
20
- }
21
-
22
- process.stdout.write(
23
- `All bundle version files use ${expected}; hosted MCP uses ${hostedMcpVersion}\n`,
24
- );