x-developer 2.6.5 → 2.6.7

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 (130) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/.claude-plugin/plugin.json +3 -3
  3. package/.codex-plugin/plugin.json +5 -5
  4. package/CHANGELOG.md +19 -3
  5. package/README.md +111 -70
  6. package/commands/post.md +5 -5
  7. package/commands/search.md +5 -8
  8. package/commands/trending.md +3 -5
  9. package/commands/user.md +4 -10
  10. package/context7.json +9 -9
  11. package/openclaw.plugin.json +4 -4
  12. package/package.json +10 -2
  13. package/scripts/check-versions.mjs +1 -1
  14. package/scripts/release-guard/content-policy.mjs +17 -17
  15. package/scripts/release-guard/policy.mjs +2 -2
  16. package/server.json +1 -1
  17. package/skills/x-twitter-scraper/SKILL.md +96 -90
  18. package/skills/x-twitter-scraper/metadata.json +2 -2
  19. package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +5 -5
  20. package/skills/x-twitter-scraper/references/api-endpoints-compose.md +16 -16
  21. package/skills/x-twitter-scraper/references/api-endpoints-credits.md +3 -3
  22. package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +21 -21
  23. package/skills/x-twitter-scraper/references/api-endpoints-draws.md +15 -15
  24. package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +4 -4
  25. package/skills/x-twitter-scraper/references/api-endpoints-events.md +8 -8
  26. package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +24 -23
  27. package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +21 -21
  28. package/skills/x-twitter-scraper/references/api-endpoints-radar.md +13 -13
  29. package/skills/x-twitter-scraper/references/api-endpoints-support.md +6 -6
  30. package/skills/x-twitter-scraper/references/api-endpoints-trends.md +20 -5
  31. package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +39 -39
  32. package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +24 -24
  33. package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +13 -13
  34. package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +41 -41
  35. package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +9 -9
  36. package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +73 -73
  37. package/skills/x-twitter-scraper/references/api-endpoints.md +11 -11
  38. package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +13 -13
  39. package/skills/x-twitter-scraper/references/best-x-api-alternative.md +38 -38
  40. package/skills/x-twitter-scraper/references/compare-twitter-apis.md +23 -24
  41. package/skills/x-twitter-scraper/references/draws.md +14 -14
  42. package/skills/x-twitter-scraper/references/export-twitter-followers.md +12 -12
  43. package/skills/x-twitter-scraper/references/extract-x-community-data.md +10 -10
  44. package/skills/x-twitter-scraper/references/extractions.md +54 -48
  45. package/skills/x-twitter-scraper/references/mcp-setup.md +30 -36
  46. package/skills/x-twitter-scraper/references/mcp-tools.md +59 -69
  47. package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +17 -18
  48. package/skills/x-twitter-scraper/references/python-examples.md +18 -26
  49. package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +58 -60
  50. package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +25 -27
  51. package/skills/x-twitter-scraper/references/security.md +9 -22
  52. package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +18 -18
  53. package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +17 -17
  54. package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +10 -11
  55. package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +23 -23
  56. package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +50 -50
  57. package/skills/x-twitter-scraper/references/types-account-identity.md +1 -1
  58. package/skills/x-twitter-scraper/references/types-account.md +1 -1
  59. package/skills/x-twitter-scraper/references/types-api-keys.md +1 -1
  60. package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +1 -1
  61. package/skills/x-twitter-scraper/references/types-credits.md +1 -1
  62. package/skills/x-twitter-scraper/references/types-download-media.md +4 -4
  63. package/skills/x-twitter-scraper/references/types-draws.md +1 -1
  64. package/skills/x-twitter-scraper/references/types-error.md +1 -1
  65. package/skills/x-twitter-scraper/references/types-events.md +1 -1
  66. package/skills/x-twitter-scraper/references/types-extractions.md +79 -96
  67. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +1 -1
  68. package/skills/x-twitter-scraper/references/types-monitors.md +1 -1
  69. package/skills/x-twitter-scraper/references/types-radar.md +1 -1
  70. package/skills/x-twitter-scraper/references/types-request-bodies.md +1 -1
  71. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +1 -1
  72. package/skills/x-twitter-scraper/references/types-support.md +1 -1
  73. package/skills/x-twitter-scraper/references/types-trends.md +1 -1
  74. package/skills/x-twitter-scraper/references/types-tweet-drafts.md +1 -1
  75. package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +1 -1
  76. package/skills/x-twitter-scraper/references/types-user-activity.md +1 -1
  77. package/skills/x-twitter-scraper/references/types-webhooks.md +1 -1
  78. package/skills/x-twitter-scraper/references/types-x-accounts.md +3 -3
  79. package/skills/x-twitter-scraper/references/types-x-api.md +25 -31
  80. package/skills/x-twitter-scraper/references/types-x-articles.md +1 -1
  81. package/skills/x-twitter-scraper/references/types-x-write.md +3 -3
  82. package/skills/x-twitter-scraper/references/types.md +15 -15
  83. package/skills/x-twitter-scraper/references/usage.md +6 -6
  84. package/skills/x-twitter-scraper/references/webhooks.md +27 -37
  85. package/skills/x-twitter-scraper/references/workflows.md +54 -63
  86. package/skills/x-twitter-scraper/skill-card.md +35 -27
  87. package/skills/x-twitter-scraper/skillspector-report.md +2 -2
  88. package/skills/xquik-social-research/SKILL.md +19 -16
  89. package/skills.sh.json +8 -8
  90. package/stub-server.mjs +42 -42
  91. package/task-guides/check-mutuals.md +9 -9
  92. package/task-guides/clean-followers.md +15 -15
  93. package/task-guides/export-tweets-csv.md +12 -12
  94. package/task-guides/extract-followers.md +16 -16
  95. package/task-guides/find-bangers.md +14 -14
  96. package/task-guides/find-influencers.md +10 -10
  97. package/task-guides/find-viral-tweets.md +15 -15
  98. package/task-guides/follow-unfollow.md +16 -15
  99. package/task-guides/for-you-feed.md +10 -10
  100. package/task-guides/going-viral.md +19 -18
  101. package/task-guides/grow-followers.md +13 -13
  102. package/task-guides/monitor-accounts.md +16 -16
  103. package/task-guides/optimize-tweets.md +16 -15
  104. package/task-guides/post-tweets.md +19 -18
  105. package/task-guides/run-giveaway.md +15 -15
  106. package/task-guides/search-tweets.md +13 -13
  107. package/task-guides/send-dms.md +13 -13
  108. package/task-guides/top-replies.md +10 -10
  109. package/task-guides/track-competitors.md +16 -16
  110. package/task-guides/track-hashtags.md +10 -10
  111. package/task-guides/track-mentions.md +12 -12
  112. package/task-guides/trending-news.md +11 -11
  113. package/task-guides/tweet-analytics.md +16 -16
  114. package/task-guides/tweet-ideas.md +10 -10
  115. package/task-guides/tweet-replies.md +15 -15
  116. package/task-guides/tweet-style.md +10 -10
  117. package/task-guides/tweet-webhooks.md +12 -12
  118. package/task-guides/update-x-profile.md +15 -15
  119. package/task-guides/user-tweets.md +21 -21
  120. package/task-guides/who-liked.md +10 -10
  121. package/task-guides/who-quoted.md +10 -10
  122. package/task-guides/who-retweeted.md +10 -10
  123. package/task-guides/write-threads.md +12 -16
  124. package/task-guides/write-tweets.md +15 -15
  125. package/task-guides/x-articles.md +9 -9
  126. package/task-guides/x-bookmarks.md +10 -10
  127. package/task-guides/x-communities.md +10 -10
  128. package/task-guides/x-lists.md +8 -8
  129. package/task-guides/x-spaces.md +9 -9
  130. package/task-guides/x-trends.md +11 -11
@@ -1,30 +1,19 @@
1
- # Xquik TypeScript Types: Extractions
1
+ # Xquik TypeScript types: extractions
2
2
 
3
3
  ```typescript
4
4
 
5
5
  type ExtractionToolType =
6
- | "article_extractor"
7
- | "community_extractor"
8
- | "community_moderator_explorer"
9
- | "community_post_extractor"
10
- | "community_search"
11
- | "favoriters"
12
- | "follower_explorer"
13
- | "following_explorer"
14
- | "list_follower_explorer"
15
- | "list_member_extractor"
16
- | "list_post_extractor"
17
- | "mention_extractor"
18
- | "people_search"
19
- | "post_extractor"
20
- | "quote_extractor"
21
- | "reply_extractor"
22
- | "repost_extractor"
23
- | "space_explorer"
24
- | "thread_extractor"
25
- | "tweet_search_extractor"
26
- | "user_likes"
27
- | "user_media"
6
+ | "article_extractor" | "community_extractor"
7
+ | "community_moderator_explorer" | "community_post_extractor"
8
+ | "community_search" | "favoriters"
9
+ | "follower_explorer" | "following_explorer"
10
+ | "list_follower_explorer" | "list_member_extractor"
11
+ | "list_post_extractor" | "mention_extractor"
12
+ | "people_search" | "post_extractor"
13
+ | "quote_extractor" | "reply_extractor"
14
+ | "repost_extractor" | "space_explorer"
15
+ | "thread_extractor" | "tweet_search_extractor"
16
+ | "user_likes" | "user_media"
28
17
  | "verified_follower_explorer";
29
18
 
30
19
  interface ExtractionJob {
@@ -32,13 +21,10 @@ interface ExtractionJob {
32
21
  toolType: ExtractionToolType;
33
22
  status: "pending" | "running" | "completed" | "failed";
34
23
  totalResults: number;
35
- targetTweetId?: string;
36
- targetUsername?: string;
37
- targetCommunityId?: string;
38
- targetListId?: string;
39
- targetSpaceId?: string;
40
- searchQuery?: string;
41
- resultsLimit?: number; // Max results to extract. Stops early instead of fetching all. Omit for all.
24
+ targetTweetId?: string; targetUsername?: string;
25
+ targetCommunityId?: string; targetListId?: string;
26
+ targetSpaceId?: string; searchQuery?: string;
27
+ resultsLimit?: number; // Maximum results. Omit to request all available results.
42
28
  errorMessage?: string;
43
29
  createdAt: string;
44
30
  completedAt?: string;
@@ -46,15 +32,10 @@ interface ExtractionJob {
46
32
 
47
33
  interface ExtractionResult {
48
34
  id: string;
49
- xUserId: string;
50
- xUsername?: string;
51
- xDisplayName?: string;
52
- xFollowersCount?: number;
53
- xVerified?: boolean;
35
+ xUserId: string; xUsername?: string; xDisplayName?: string;
36
+ xFollowersCount?: number; xVerified?: boolean;
54
37
  xProfileImageUrl?: string;
55
- tweetId?: string;
56
- tweetText?: string;
57
- tweetCreatedAt?: string;
38
+ tweetId?: string; tweetText?: string; tweetCreatedAt?: string;
58
39
  createdAt: string;
59
40
  }
60
41
 
@@ -65,52 +46,66 @@ interface ExtractionList {
65
46
  }
66
47
 
67
48
  interface ExtractionEstimate {
68
- allowed: boolean;
69
- creditsAvailable: string;
70
- creditsRequired: string;
49
+ allowed: boolean; estimatedResults: number;
50
+ creditsAvailable: string; creditsRequired: string;
71
51
  source: "replyCount" | "retweetCount" | "quoteCount" | "followers" | "unknown";
72
- estimatedResults: number;
73
- resolvedXUserId?: string;
74
- error?: string;
52
+ resolvedXUserId?: string; error?: string;
53
+ }
54
+
55
+ type ExtractionMixedTarget = string | {
56
+ kind: "favoriters" | "list" | "profile" | "profile_likes" | "profile_media" |
57
+ "profile_replies" | "quotes" | "replies" | "retweeters" | "search" |
58
+ "thread" | "tweet";
59
+ value: string;
60
+ };
61
+
62
+ interface ExtractionRelationTarget {
63
+ relation: "community_members" | "followers" | "following" |
64
+ "list_followers" | "list_members" | "verified_followers";
65
+ value: string;
75
66
  }
76
67
 
77
68
  interface CreateExtractionRequest {
78
69
  toolType: ExtractionToolType;
79
- targetTweetId?: string;
80
- targetUsername?: string;
81
- targetCommunityId?: string;
82
- targetListId?: string;
70
+ targetTweetId?: string; targetTweetIds?: string[];
71
+ targetUsername?: string; targetUsernames?: string[];
72
+ targetCommunityId?: string; targetCommunityIds?: string[];
73
+ targetListId?: string; targetListIds?: string[];
83
74
  targetSpaceId?: string;
84
- searchQuery?: string;
85
- resultsLimit?: number; // Max results to extract. Stops early instead of fetching all. Omit for all.
86
- // Tweet search filters (tweet_search_extractor only)
87
- fromUser?: string;
88
- toUser?: string;
89
- mentioning?: string;
75
+ searchQuery?: string; searchQueries?: string[];
76
+ targets?: ExtractionMixedTarget[];
77
+ relationTargets?: ExtractionRelationTarget[];
78
+ resultsLimit?: number; // Maximum results. Omit to request all available results.
79
+ queryType?: "Latest" | "Top" | "Both";
80
+ maxItemsPerTarget?: number; maxPagesPerTarget?: number;
81
+ startCursor?: string;
82
+ dedupeAcrossTargets?: boolean;
83
+ dedupeMode?: "none" | "first" | "merge";
84
+ overlapMode?: boolean;
85
+ includeSearchTerms?: boolean; includeTargetMetadata?: boolean;
86
+ collectionStrategy?: "auto" | "complete" | "direct" | "search" | "thread";
87
+ scope?: "all" | "direct" | "nested";
88
+ maxDepth?: number;
89
+ sort?: "relevance" | "latest" | "oldest" | "likes";
90
+ excludeOriginalAuthor?: boolean; includeOriginalPost?: boolean;
91
+ hasMediaOnly?: boolean;
92
+ sinceTime?: string | number; untilTime?: string | number;
93
+ // Used only by tweet_search_extractor.
94
+ fromUser?: string; toUser?: string; mentioning?: string;
90
95
  language?: string;
91
- sinceDate?: string; // YYYY-MM-DD
92
- untilDate?: string; // YYYY-MM-DD
96
+ sinceDate?: string; untilDate?: string; // YYYY-MM-DD
93
97
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
94
- minFaves?: number;
95
- minRetweets?: number;
96
- minReplies?: number;
97
- minQuotes?: number;
98
- minViews?: number;
99
- minBookmarks?: number;
100
- maxLikes?: number;
101
- maxRetweets?: number;
102
- maxReplies?: number;
103
- maxQuotes?: number;
98
+ minFaves?: number; minRetweets?: number;
99
+ minReplies?: number; minQuotes?: number;
100
+ minViews?: number; minBookmarks?: number;
101
+ maxLikes?: number; maxRetweets?: number;
102
+ maxReplies?: number; maxQuotes?: number;
104
103
  blueVerifiedOnly?: boolean;
105
104
  cardName?: string;
106
- source?: string;
107
- excludeSource?: string;
105
+ source?: string; excludeSource?: string;
108
106
  geocode?: string;
109
- sinceId?: string;
110
- maxId?: string;
111
- near?: string;
112
- within?: string;
113
- withinTime?: string;
107
+ sinceId?: string; maxId?: string;
108
+ near?: string; within?: string; withinTime?: string;
114
109
  nativeRetweets?: boolean;
115
110
  safe?: boolean;
116
111
  news?: boolean;
@@ -118,36 +113,24 @@ interface CreateExtractionRequest {
118
113
  replies?: 'include' | 'exclude' | 'only';
119
114
  retweets?: 'include' | 'exclude' | 'only';
120
115
  quotes?: 'include' | 'exclude' | 'only';
121
- exactPhrase?: string;
122
- excludeWords?: string;
123
- anyWords?: string;
124
- hashtags?: string;
125
- cashtags?: string;
116
+ exactPhrase?: string; excludeWords?: string; anyWords?: string;
117
+ hashtags?: string; cashtags?: string;
126
118
  url?: string;
127
- conversationId?: string;
128
- inReplyToTweetId?: string;
129
- quotesOfTweetId?: string;
130
- retweetsOfTweetId?: string;
119
+ conversationId?: string; inReplyToTweetId?: string;
120
+ quotesOfTweetId?: string; retweetsOfTweetId?: string;
131
121
  listId?: string;
132
- place?: string;
133
- placeCountry?: string;
134
- pointRadius?: string;
135
- boundingBox?: string;
122
+ place?: string; placeCountry?: string;
123
+ pointRadius?: string; boundingBox?: string;
136
124
  advancedQuery?: string;
137
- // Profile filters for profile-producing extractions
138
- minFollowers?: number;
139
- maxFollowers?: number;
140
- minFollowing?: number;
141
- maxFollowing?: number;
142
- minPosts?: number;
143
- maxPosts?: number;
125
+ // Filters for extractions that return profiles.
126
+ minFollowers?: number; maxFollowers?: number;
127
+ minFollowing?: number; maxFollowing?: number;
128
+ minPosts?: number; maxPosts?: number;
144
129
  minAccountAgeDays?: number;
145
130
  verifiedType?: string;
146
131
  hasWebsite?: boolean;
147
132
  hasLocation?: boolean;
148
- bioContains?: string;
149
- locationContains?: string;
150
- usernameContains?: string;
133
+ bioContains?: string; locationContains?: string; usernameContains?: string;
151
134
  }
152
135
 
153
136
  ```
@@ -1,4 +1,4 @@
1
- # Xquik MCP Output Schemas
1
+ # Xquik MCP output schemas
2
2
 
3
3
  Hosted MCP exposes 2 tools: `explore` and `xquik`. It does not expose legacy
4
4
  operation-named tools such as `search-tweets` or `get-events`.
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Monitors
1
+ # Xquik TypeScript types: monitors
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Radar
1
+ # Xquik TypeScript types: radar
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Request Bodies
1
+ # Xquik TypeScript types: request bodies
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik REST API and MCP Field Naming
1
+ # Xquik REST API and MCP field naming
2
2
 
3
3
  Hosted MCP exposes `explore` and `xquik`. It no longer exposes
4
4
  operation-named tools with separate legacy response models.
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Support
1
+ # Xquik TypeScript types: support
2
2
 
3
3
  ```typescript
4
4
  type SupportTicketStatus = "open" | "in_progress" | "resolved" | "closed";
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Trends
1
+ # Xquik TypeScript types: trends
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Tweet Drafts
1
+ # Xquik TypeScript types: tweet drafts
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Tweet Style Cache
1
+ # Xquik TypeScript types: tweet style cache
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: User Activity
1
+ # Xquik TypeScript types: user activity
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: Webhooks
1
+ # Xquik TypeScript types: webhooks
2
2
 
3
3
  ```typescript
4
4
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: X Accounts (Connected)
1
+ # Xquik TypeScript types: connected X accounts
2
2
 
3
3
  ```typescript
4
4
 
@@ -10,7 +10,7 @@ interface ConnectedXAccount {
10
10
  createdAt: string; // ISO 8601 timestamp
11
11
  }
12
12
 
13
- // Connecting an X account is done by the user in the Xquik dashboard,
14
- // not through this skill. The skill never handles X login material.
13
+ // Users connect X accounts in the Xquik dashboard.
14
+ // This Skill never handles X login material.
15
15
 
16
16
  ```
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: X API
1
+ # Xquik TypeScript types: X API
2
2
 
3
3
  ```typescript
4
4
 
@@ -6,22 +6,22 @@ interface TweetMediaItem {
6
6
  mediaUrl: string;
7
7
  type: string; // "photo" | "video" | "animated_gif"
8
8
  url: string;
9
- allowDownload?: boolean;
10
- altText?: string;
11
- aspectRatio?: number[];
12
- availabilityStatus?: string;
13
- displayUrl?: string;
14
- durationMillis?: number;
15
- expandedUrl?: string;
16
- faceRects?: Record<string, unknown>;
17
- focusRects?: Array<Record<string, number>>;
18
- height?: number;
19
- id?: string;
9
+ adultContent?: boolean; allowDownload?: boolean;
10
+ altText?: string; availabilityReason?: string;
11
+ aspectRatio?: number[]; availabilityStatus?: string;
12
+ description?: string; displayUrl?: string;
13
+ durationMillis?: number; expandedUrl?: string;
14
+ embeddable?: boolean;
15
+ faceRects?: Record<string, unknown>; focusRects?: Array<Record<string, number>>;
16
+ grokPostId?: string; height?: number; id?: string;
20
17
  indices?: number[];
21
- mediaKey?: string;
22
- monetizable?: boolean;
18
+ mediaKey?: string; monetizable?: boolean;
23
19
  sizes?: Record<string, unknown>;
20
+ sourceStatusId?: string; sourceUserId?: string;
21
+ tags?: Array<Record<string, string>>;
22
+ title?: string;
24
23
  videoVariants?: Array<Record<string, unknown>>;
24
+ watchNowUrl?: string; visitSiteUrl?: string;
25
25
  width?: number;
26
26
  }
27
27
 
@@ -51,20 +51,20 @@ interface Tweet {
51
51
 
52
52
  interface ProfileRichness {
53
53
  affiliatesHighlightedLabel?: Record<string, unknown>;
54
- businessAccountAffiliatesCount?: number;
55
- creatorSubscriptionsCount?: number;
54
+ businessAccountAffiliatesCount?: number; creatorSubscriptionsCount?: number;
56
55
  hasGraduatedAccess?: boolean;
57
56
  hasHiddenSubscriptionsOnProfile?: boolean;
58
- highlightsInfo?: Record<string, unknown>;
59
- identityVerification?: Record<string, unknown>;
57
+ highlightsInfo?: Record<string, unknown>; identityVerification?: Record<string, unknown>;
60
58
  isProfileTranslatable?: boolean;
61
59
  parodyCommentaryFanLabel?: string;
62
- profileDescriptionLanguage?: string;
63
- profileImageShape?: string;
64
- profileInterstitialType?: string;
65
- profileSortEnabled?: boolean;
60
+ profileDescriptionLanguage?: string; profileImageShape?: string;
61
+ profileInterstitialType?: string; profileSortEnabled?: boolean;
66
62
  profileTranslatorType?: string;
67
63
  superFollowEligible?: boolean;
64
+ withheldScope?: string; professional?: Record<string, unknown>;
65
+ grokTranslatedBio?: Record<string, unknown>;
66
+ superFollowsUserProfileActive?: boolean;
67
+ tipJar?: Record<string, unknown>;
68
68
  }
69
69
 
70
70
  interface TweetAuthor extends ProfileRichness {
@@ -88,16 +88,10 @@ interface TweetSearchResult {
88
88
  }
89
89
 
90
90
  interface UserProfile extends ProfileRichness {
91
- id: string;
92
- username: string;
93
- name: string;
91
+ id: string; username: string; name: string;
94
92
  description?: string;
95
- followers?: number;
96
- following?: number;
97
- verified?: boolean;
98
- profilePicture?: string;
99
- location?: string;
100
- createdAt?: string;
93
+ followers?: number; following?: number; verified?: boolean;
94
+ profilePicture?: string; location?: string; createdAt?: string;
101
95
  statusesCount?: number;
102
96
  }
103
97
 
@@ -1,4 +1,4 @@
1
- # Xquik TypeScript Types: X Articles
1
+ # Xquik TypeScript types: X Articles
2
2
 
3
3
  ```typescript
4
4
  interface ArticleResponse {
@@ -1,13 +1,13 @@
1
- # Xquik TypeScript Types: X Write
1
+ # Xquik TypeScript types: X write
2
2
 
3
3
  ```typescript
4
4
 
5
5
  interface CreateTweetRequest {
6
6
  account: string; // Connected X username or account ID
7
- text?: string; // Tweet text (required unless media is provided)
7
+ text?: string; // Required tweet text unless media is provided.
8
8
  reply_to_tweet_id?: string; // Tweet ID to reply to
9
9
  community_id?: string; // Community ID to post into
10
- is_note_tweet?: boolean; // Long-form note tweet (up to 25,000 chars)
10
+ is_note_tweet?: boolean; // Long-form note tweet up to 25,000 characters.
11
11
  media?: string[]; // Up to 4 images or exactly 1 MP4 URL
12
12
  }
13
13
 
@@ -1,31 +1,31 @@
1
- # Xquik TypeScript Type Definitions
1
+ # Xquik TypeScript type definitions
2
2
 
3
- Routing index for TypeScript response and request shapes. Load only the type section needed for the user task.
3
+ Use this index to load only the TypeScript types needed for the task.
4
4
 
5
5
  | Need | Reference |
6
6
  |---|---|
7
7
  | Account | [account.md](types-account.md) |
8
8
  | Credits | [credits.md](types-credits.md) |
9
- | API Keys | [api-keys.md](types-api-keys.md) |
9
+ | API keys | [api-keys.md](types-api-keys.md) |
10
10
  | Monitors | [monitors.md](types-monitors.md) |
11
11
  | Events | [events.md](types-events.md) |
12
12
  | Webhooks | [webhooks.md](types-webhooks.md) |
13
13
  | Draws | [draws.md](types-draws.md) |
14
14
  | Extractions | [extractions.md](types-extractions.md) |
15
15
  | X API | [x-api.md](types-x-api.md) |
16
- | User Activity | [user-activity.md](types-user-activity.md) |
17
- | Bookmarks & Timeline | [bookmarks-and-timeline.md](types-bookmarks-and-timeline.md) |
18
- | X Articles | [x-articles.md](types-x-articles.md) |
16
+ | User activity | [user-activity.md](types-user-activity.md) |
17
+ | Bookmarks and timeline | [bookmarks-and-timeline.md](types-bookmarks-and-timeline.md) |
18
+ | X articles | [x-articles.md](types-x-articles.md) |
19
19
  | Radar | [radar.md](types-radar.md) |
20
- | Download Media | [download-media.md](types-download-media.md) |
20
+ | Download media | [download-media.md](types-download-media.md) |
21
21
  | Trends | [trends.md](types-trends.md) |
22
22
  | Support | [support.md](types-support.md) |
23
23
  | Error | [error.md](types-error.md) |
24
- | Request Bodies | [request-bodies.md](types-request-bodies.md) |
25
- | Tweet Style Cache | [tweet-style-cache.md](types-tweet-style-cache.md) |
26
- | Tweet Drafts | [tweet-drafts.md](types-tweet-drafts.md) |
27
- | Account Identity | [account-identity.md](types-account-identity.md) |
28
- | REST API vs MCP Field Naming | [rest-api-vs-mcp-field-naming.md](types-rest-api-vs-mcp-field-naming.md) |
29
- | MCP Output Schemas | [mcp-output-schemas.md](types-mcp-output-schemas.md) |
30
- | X Accounts (Connected) | [x-accounts.md](types-x-accounts.md) |
31
- | X Write | [x-write.md](types-x-write.md) |
24
+ | Request bodies | [request-bodies.md](types-request-bodies.md) |
25
+ | Tweet style cache | [tweet-style-cache.md](types-tweet-style-cache.md) |
26
+ | Tweet drafts | [tweet-drafts.md](types-tweet-drafts.md) |
27
+ | Account identity | [account-identity.md](types-account-identity.md) |
28
+ | REST API and MCP field naming | [rest-api-vs-mcp-field-naming.md](types-rest-api-vs-mcp-field-naming.md) |
29
+ | MCP output schemas | [mcp-output-schemas.md](types-mcp-output-schemas.md) |
30
+ | Connected X accounts | [x-accounts.md](types-x-accounts.md) |
31
+ | X writes | [x-write.md](types-x-write.md) |
@@ -1,8 +1,8 @@
1
- # Xquik Usage Guardrails
1
+ # Xquik usage and approval rules
2
2
 
3
- Use this reference to keep Xquik calls bounded, consent-based, and account-safe. Agents can read the current balance and request estimates so users can decide what to run.
3
+ Use this reference to bound Xquik calls and require approval. Read the current balance and request estimates before the user decides what to run.
4
4
 
5
- ## Agent Scope
5
+ ## Agent scope
6
6
 
7
7
  The skill may:
8
8
 
@@ -21,7 +21,7 @@ The skill must not:
21
21
 
22
22
  Plan and credit changes are dashboard-only.
23
23
 
24
- ## Before Metered Work
24
+ ## Before metered work
25
25
 
26
26
  Before creating extraction jobs, draws, monitors, signed event delivery, or write actions:
27
27
 
@@ -31,13 +31,13 @@ Before creating extraction jobs, draws, monitors, signed event delivery, or writ
31
31
  4. Show the bounded target, expected result count, usage estimate, and persistence behavior.
32
32
  5. Wait for explicit user approval before sending the request.
33
33
 
34
- ## Balance Reads
34
+ ## Balance reads
35
35
 
36
36
  Use `GET /credits` to read the current balance and account state. Treat returned plan and credit-change fields as read-only status from the dashboard.
37
37
 
38
38
  Do not use balance data to decide whether to run work automatically. Ask the user when a request may consume credits, create persistent resources, or act on an account.
39
39
 
40
- ## Persistent Usage
40
+ ## Persistent usage
41
41
 
42
42
  Monitors and signed event delivery can continue after the current chat. Before creating one, show:
43
43