Skip to content

Publish MCP 2026-07-28 Skill release - #26

Open
kriptoburak wants to merge 3 commits into
masterfrom
codex/read-data-richness
Open

Publish MCP 2026-07-28 Skill release#26
kriptoburak wants to merge 3 commits into
masterfrom
codex/read-data-richness

Conversation

@kriptoburak

@kriptoburak kriptoburak commented Jul 30, 2026

Copy link
Copy Markdown
Member

Summary

  • release the public Skill and registry surfaces as v2.6.0
  • document MCP 2026-07-28 server/discover, private cache hints, and stateless legacy compatibility
  • update current live counts to 128 REST operations, 120 MCP routes, and 119 JSON/text routes
  • preserve complete safe read richness while excluding fetching-account action and relationship state
  • add reply coverage guidance, README updates, and a public changelog
  • extend the offline stub and tests for modern discovery plus legacy initialization

Verification

  • 14 tests passed
  • stub server has 100% line, branch, and function coverage
  • release guard confirms every public surface is at 2.6.0
  • package archives are reproducible
  • npm audit found 0 vulnerabilities
  • npm pack includes 145 expected files

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Release v2.6.0 of the Skill and MCP server with server/discover negotiation for MCP 2026-07-28, updated counts (128 REST, 120 MCP, 119 JSON/text), richer read-data guidance, 5‑minute private cache hints, and stricter docs on MCP boundaries and request fencing.

  • New Features

    • Version bump to 2.6.0 across manifests and skill metadata; add public CHANGELOG.md and include it in published files.
    • MCP: add server/discover returning supportedVersions: ["2026-07-28"], cacheScope: private, and ttlMs: 300000; keep legacy initialize (2025-11-25) for 2025-era clients.
    • Tools: tools/list now returns cacheScope and ttlMs; catalog updated to 120 routes (119 JSON/text).
    • Docs: update counts; expand tweet/profile/media field guidance; add reply coverage with 424 replies_incomplete fallback via conversation_id:<tweet_id> search; default top replies to 10.
    • Safety: exclude fetching‑account action/permission state from public reads; expose follow relationships only via explicit checks.
    • Tooling/Tests: extend stub and tests for discovery and private cache hints; tighten release‑guard checks (counts, protocol text, CHANGELOG.md); refresh SkillSpector v2.3.7 scan dated 2026‑07‑30 with 0 findings.
    • Docs: enforce MCP boundary guidance and request fence labels for untrusted X content.
  • Migration

    • Prefer server/discover; modern calls need no initialize or session ID. Legacy clients remain compatible.
    • Update to @xquik x-developer v2.6.0 and the x-twitter-scraper SDK for automatic headers and request metadata.
    • Treat discovery and tool catalogs as private for 5 minutes; reuse only within the same authorization context.
    • For bulk reply extraction, show an estimate and get explicit approval before creating the job.

Written for commit b06d02a. Summary will update on new commits.

Review in cubic

Note

Release MCP skill v2.6.0 with 2026-07-28 protocol negotiation via server/discover

  • Adds server/discover handler to stub-server.mjs returning supported protocol versions (2026-07-28, 2025-11-25), server info, and tool cache hints (cacheScope: 'private', ttlMs: 300000); initialize continues to return the legacy protocol version 2025-11-25 for stateless compatibility.
  • Expands TypeScript interfaces in types-x-api.md with optional fields for tweet richness (article, card, noteTweet), media, and profile richness, plus 424 reply coverage fallback guidance.
  • Updates REST/MCP route counts from 127/119/118 to 128/120/119 across all metadata files, plugin manifests, docs, and the release guard scripts.
  • Adds CHANGELOG.md and includes it in package.json published files; bumps version to 2.6.0 everywhere.

Changes since #26 opened

  • Added required phrase validation check to contentChecks array [b06d02a]
  • Converted unmarked code blocks to language-tagged JSON blocks [b06d02a]

Macroscope summarized 1c4c9e9.

Summary by CodeRabbit

  • New Features

    • Added MCP server/discover for modern protocol negotiation, including discovery/tool cache metadata (scope + TTL).
    • Improved top-replies handling for incomplete coverage (424) with conversation-search fallback, plus safer bulk reply extraction via estimate and explicit approval.
  • Documentation

    • Updated README, setup/task guides, and marketplace listings for v2.6.0 capability counts (128 REST operations, 120 catalog routes, 119 JSON/text-supported routes).
    • Refreshed x-twitter-scraper output/field guidance and reply coverage notes.
  • Security

    • Updated security guidance around what is disclosed and relationship checking behavior, and refreshed the published security report details.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The release updates version metadata to 2.6.0, adds MCP discovery and cached tool-list responses, expands API field and reply guidance, refreshes public listings and task guides, and strengthens release-content validation.

Changes

MCP v2.6.0 release

Layer / File(s) Summary
Release metadata and distribution
.claude-plugin/*, .codex-plugin/*, server.json, package.json, CHANGELOG.md, README.md, docker-mcp-registry/*, mcpize/*, openclaw.plugin.json, skills/*/metadata.json, task-guides/*
Version metadata is updated to 2.6.0, public operation and route counts are refreshed, the changelog is added to the package, and task-guide metadata is synchronized.
MCP discovery and cached tool responses
stub-server.mjs, tests/mcp-quickstart.test.mjs, tests/stub-server.test.mjs
The stub server adds server/discover, structured tools/list caching fields, modern and legacy protocol constants, and expanded JSON-RPC test coverage.
Skill data and reply guidance
skills/x-twitter-scraper/SKILL.md, skills/x-twitter-scraper/references/*, task-guides/top-replies.md, task-guides/tweet-replies.md, task-guides/post-tweets.md
Documentation adds optional tweet, media, and profile fields, MCP negotiation guidance, safe-field handling, and fallback handling for incomplete replies.
Release contract validation
scripts/release-guard/content-policy.mjs, scripts/release-guard/repository-checks.mjs
Release checks require current 2.6.0 counts, discovery wording, changelog content, package inclusion, and detection of stale 2.5.6 metadata.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant MCPClient
  participant StubServer
  participant DiscoveryResponse
  participant ToolCatalog
  MCPClient->>StubServer: server/discover
  StubServer->>DiscoveryResponse: build supported versions and cache metadata
  DiscoveryResponse-->>MCPClient: discovery capabilities
  MCPClient->>StubServer: initialize
  StubServer-->>MCPClient: legacy protocol and server info
  MCPClient->>StubServer: tools/list
  StubServer->>ToolCatalog: return cached tools and TTL
  ToolCatalog-->>MCPClient: structured tool list
Loading

Suggested reviewers: furkanerday

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and matches the release-focused changes, including the MCP 2026-07-28 update.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/read-data-richness

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@mcpize/SUBMISSION-STEPS.md`:
- Line 14: Align the submission description with the canonical description in
server.json, or update the acceptance check to validate only the required claims
instead of exact equality. Update the relevant description/check consistently so
the documented acceptance requirement is satisfied without maintaining
conflicting text.

In `@scripts/release-guard/repository-checks.mjs`:
- Line 41: Update the “127-operation REST count” pattern in the repository
checks to match the full “127 OpenAPI-documented REST operations” wording,
consistent with the corresponding 128-operation requirement in
content-policy.mjs, so stale old-phrase files are rejected.

In `@skills/x-twitter-scraper/references/types-x-api.md`:
- Around line 115-120: Update the privacy note near the fetching-account
guidance to state that follow-relationship lookup is available through GET
/api/v1/x/followers/check but requires explicit approval. Remove the absolute
wording that relationship state stays private, while preserving the existing
privacy guidance for fetching-account actions and permissions.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 15b760e1-0550-45f0-b899-bd90a77ad23c

📥 Commits

Reviewing files that changed from the base of the PR and between bfa27fa and adea5eb.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (63)
  • .claude-plugin/marketplace.json
  • .claude-plugin/plugin.json
  • .codex-plugin/plugin.json
  • CHANGELOG.md
  • README.md
  • docker-mcp-registry/cyrus-submission-steps.md
  • docker-mcp-registry/xquik-remote/server.yaml
  • docker-mcp-registry/xquik-remote/tools.json
  • mcpize/SUBMISSION-STEPS.md
  • openclaw.plugin.json
  • package.json
  • scripts/release-guard/content-policy.mjs
  • scripts/release-guard/repository-checks.mjs
  • server.json
  • skills/x-twitter-scraper/SKILL.md
  • skills/x-twitter-scraper/metadata.json
  • skills/x-twitter-scraper/references/mcp-setup.md
  • skills/x-twitter-scraper/references/mcp-tools.md
  • skills/x-twitter-scraper/references/types-x-api.md
  • skills/x-twitter-scraper/skill-card.md
  • stub-server.mjs
  • task-guides/check-mutuals.md
  • task-guides/clean-followers.md
  • task-guides/export-tweets-csv.md
  • task-guides/extract-followers.md
  • task-guides/find-bangers.md
  • task-guides/find-influencers.md
  • task-guides/find-viral-tweets.md
  • task-guides/follow-unfollow.md
  • task-guides/for-you-feed.md
  • task-guides/going-viral.md
  • task-guides/grow-followers.md
  • task-guides/monitor-accounts.md
  • task-guides/optimize-tweets.md
  • task-guides/post-tweets.md
  • task-guides/run-giveaway.md
  • task-guides/search-tweets.md
  • task-guides/send-dms.md
  • task-guides/top-replies.md
  • task-guides/track-competitors.md
  • task-guides/track-hashtags.md
  • task-guides/track-mentions.md
  • task-guides/trending-news.md
  • task-guides/tweet-analytics.md
  • task-guides/tweet-ideas.md
  • task-guides/tweet-replies.md
  • task-guides/tweet-style.md
  • task-guides/tweet-webhooks.md
  • task-guides/update-x-profile.md
  • task-guides/user-tweets.md
  • task-guides/who-liked.md
  • task-guides/who-quoted.md
  • task-guides/who-retweeted.md
  • task-guides/write-threads.md
  • task-guides/write-tweets.md
  • task-guides/x-articles.md
  • task-guides/x-bookmarks.md
  • task-guides/x-communities.md
  • task-guides/x-lists.md
  • task-guides/x-spaces.md
  • task-guides/x-trends.md
  • tests/mcp-quickstart.test.mjs
  • tests/stub-server.test.mjs

Comment thread mcpize/SUBMISSION-STEPS.md Outdated
Comment thread scripts/release-guard/repository-checks.mjs Outdated
Comment thread skills/x-twitter-scraper/references/types-x-api.md

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 64 files

Tip: instead of fixing issues one by one fix them all with cubic

Re-trigger cubic

Comment thread mcpize/SUBMISSION-STEPS.md Outdated
Comment thread scripts/release-guard/repository-checks.mjs Outdated
Comment thread task-guides/tweet-replies.md Outdated
Comment thread task-guides/top-replies.md Outdated
Comment thread scripts/release-guard/repository-checks.mjs Outdated
Comment thread task-guides/tweet-replies.md Outdated
Comment thread task-guides/top-replies.md Outdated
Comment thread stub-server.mjs
Comment thread scripts/release-guard/content-policy.mjs
Comment thread scripts/release-guard/content-policy.mjs
@kriptoburak
kriptoburak force-pushed the codex/read-data-richness branch from adea5eb to ac32e02 Compare July 30, 2026 02:58

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com>
@kriptoburak
kriptoburak force-pushed the codex/read-data-richness branch from ac32e02 to 79461de Compare July 30, 2026 03:11

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@kriptoburak
kriptoburak requested a review from furkanerday July 30, 2026 03:13
@kriptoburak

Copy link
Copy Markdown
Member Author

@furkanerday The signed head is 79461de. All reported findings are addressed. Package, reproducibility, security, and 14 tests pass. Ready for review.

Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@task-guides/top-replies.md`:
- Around line 66-69: Add the json language identifier to the opening fence for
both request examples: task-guides/top-replies.md lines 66-69 and
task-guides/tweet-replies.md lines 62-65. Leave the request bodies unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ecd5f6c-b775-40d3-92cd-ebfba5fc2060

📥 Commits

Reviewing files that changed from the base of the PR and between adea5eb and 1c4c9e9.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (64)
  • .claude-plugin/marketplace.json
  • .claude-plugin/plugin.json
  • .codex-plugin/plugin.json
  • CHANGELOG.md
  • README.md
  • docker-mcp-registry/cyrus-submission-steps.md
  • docker-mcp-registry/xquik-remote/server.yaml
  • docker-mcp-registry/xquik-remote/tools.json
  • mcpize/SUBMISSION-STEPS.md
  • openclaw.plugin.json
  • package.json
  • scripts/release-guard/content-policy.mjs
  • scripts/release-guard/repository-checks.mjs
  • server.json
  • skills/x-twitter-scraper/SKILL.md
  • skills/x-twitter-scraper/metadata.json
  • skills/x-twitter-scraper/references/mcp-setup.md
  • skills/x-twitter-scraper/references/mcp-tools.md
  • skills/x-twitter-scraper/references/types-x-api.md
  • skills/x-twitter-scraper/skill-card.md
  • skills/x-twitter-scraper/skillspector-report.md
  • stub-server.mjs
  • task-guides/check-mutuals.md
  • task-guides/clean-followers.md
  • task-guides/export-tweets-csv.md
  • task-guides/extract-followers.md
  • task-guides/find-bangers.md
  • task-guides/find-influencers.md
  • task-guides/find-viral-tweets.md
  • task-guides/follow-unfollow.md
  • task-guides/for-you-feed.md
  • task-guides/going-viral.md
  • task-guides/grow-followers.md
  • task-guides/monitor-accounts.md
  • task-guides/optimize-tweets.md
  • task-guides/post-tweets.md
  • task-guides/run-giveaway.md
  • task-guides/search-tweets.md
  • task-guides/send-dms.md
  • task-guides/top-replies.md
  • task-guides/track-competitors.md
  • task-guides/track-hashtags.md
  • task-guides/track-mentions.md
  • task-guides/trending-news.md
  • task-guides/tweet-analytics.md
  • task-guides/tweet-ideas.md
  • task-guides/tweet-replies.md
  • task-guides/tweet-style.md
  • task-guides/tweet-webhooks.md
  • task-guides/update-x-profile.md
  • task-guides/user-tweets.md
  • task-guides/who-liked.md
  • task-guides/who-quoted.md
  • task-guides/who-retweeted.md
  • task-guides/write-threads.md
  • task-guides/write-tweets.md
  • task-guides/x-articles.md
  • task-guides/x-bookmarks.md
  • task-guides/x-communities.md
  • task-guides/x-lists.md
  • task-guides/x-spaces.md
  • task-guides/x-trends.md
  • tests/mcp-quickstart.test.mjs
  • tests/stub-server.test.mjs
🚧 Files skipped from review as they are similar to previous changes (50)
  • task-guides/track-competitors.md
  • task-guides/search-tweets.md
  • task-guides/tweet-webhooks.md
  • task-guides/track-mentions.md
  • task-guides/x-spaces.md
  • task-guides/extract-followers.md
  • task-guides/x-lists.md
  • task-guides/optimize-tweets.md
  • task-guides/monitor-accounts.md
  • task-guides/who-quoted.md
  • task-guides/tweet-analytics.md
  • task-guides/who-liked.md
  • task-guides/find-viral-tweets.md
  • task-guides/find-influencers.md
  • task-guides/follow-unfollow.md
  • task-guides/who-retweeted.md
  • task-guides/x-communities.md
  • task-guides/find-bangers.md
  • task-guides/for-you-feed.md
  • task-guides/write-tweets.md
  • task-guides/tweet-style.md
  • docker-mcp-registry/xquik-remote/server.yaml
  • server.json
  • task-guides/user-tweets.md
  • task-guides/post-tweets.md
  • task-guides/x-bookmarks.md
  • package.json
  • openclaw.plugin.json
  • task-guides/run-giveaway.md
  • task-guides/send-dms.md
  • docker-mcp-registry/cyrus-submission-steps.md
  • mcpize/SUBMISSION-STEPS.md
  • task-guides/update-x-profile.md
  • task-guides/track-hashtags.md
  • task-guides/write-threads.md
  • task-guides/clean-followers.md
  • docker-mcp-registry/xquik-remote/tools.json
  • skills/x-twitter-scraper/metadata.json
  • skills/x-twitter-scraper/skill-card.md
  • task-guides/x-trends.md
  • .claude-plugin/plugin.json
  • task-guides/grow-followers.md
  • skills/x-twitter-scraper/references/mcp-tools.md
  • task-guides/trending-news.md
  • task-guides/export-tweets-csv.md
  • .codex-plugin/plugin.json
  • .claude-plugin/marketplace.json
  • README.md
  • skills/x-twitter-scraper/references/mcp-setup.md
  • skills/x-twitter-scraper/SKILL.md

Comment thread task-guides/top-replies.md Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 7 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

Comment thread scripts/release-guard/content-policy.mjs

@furkanerday furkanerday left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two current-head issues remain. First, task-guides/top-replies.md:66 and :74 and task-guides/tweet-replies.md:62 and :70 add fenced JSON request examples without a language identifier, violating the repository's markdown policy (MD040). Second, scripts/release-guard/content-policy.mjs:29 checks only the first wrapped fragment of the security-sensitive README claim; removing or contradicting 'operations remain outside MCP' would still pass. Require that second fragment explicitly, then rerun the package/reproducibility checks.

Signed-off-by: kriptoburak <kriptoburak@users.noreply.github.com>
@kriptoburak

Copy link
Copy Markdown
Member Author

Addressed both current-head review findings in b06d02a. The four new request examples now declare JSON fences, and the release guard separately requires the security-sensitive 'operations remain outside MCP.' fragment.

Verification: 14 tests passed, policy coverage remained above all thresholds, package archives are reproducible, every version surface matches 2.6.0, and the diff is clean.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@kriptoburak
kriptoburak requested a review from furkanerday July 30, 2026 16:11
@kriptoburak
kriptoburak dismissed furkanerday’s stale review July 30, 2026 16:15

Dismissed after verifying the requested changes are implemented on the current head and the relevant local or hosted checks pass. Independent re-review remains requested.

@kriptoburak
kriptoburak enabled auto-merge (squash) July 30, 2026 16:17

@furkanerday furkanerday left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete current diff, description, commit history, checks, discussion, repository policy, relevant contracts and tests, dependency and release integrity, licensing, DCO, and public-safety implications. Required checks are green and no actionable review threads remain.

@furkanerday furkanerday left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the complete current diff, description, commit history, checks, discussion, repository policy, relevant contracts and tests, dependency and release integrity, licensing, DCO, and public-safety implications. Required checks are green and no actionable review threads remain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants