Skip to content
Skillpedia
Misc42k · #4717

competition-graphql-rpc-drift

Helps your agent analyze how systems communicate using GraphQL or RPC. It can find hidden operations and understand if the communication is working as expected.

What it does

This tool compares how a system says it works (contract) with how it actually works (handlers). It finds differences, like hidden or outdated operations, to better understand the system.

When to use it

  • ✓When you want to find GraphQL or RPC operations that shouldn't exist.
  • ✓To compare what the client expects with what the server actually does.
  • ✓When investigating if generated code for interacting with the system is outdated.

Example of what to ask your AI

“Compare the GraphQL contract with live handlers to find hidden operations.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/zhaoxuya520/reverse-skill/blob/main/CTF-Sandbox-Orchestrator/competition-graphql-rpc-drift/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/zhaoxuya520/reverse-skill/blob/main/CTF-Sandbox-Orchestrator/competition-graphql-rpc-drift/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

First, it gathers information about how the system is supposed to be (contract). Then, it observes how it actually responds to requests. Finally, it compares the two to find discrepancies.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add zhaoxuya520/reverse-skill --skill competition-graphql-rpc-drift

Or download just the file:

curl -L https://raw.githubusercontent.com/zhaoxuya520/reverse-skill/main/CTF-Sandbox-Orchestrator/competition-graphql-rpc-drift/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Competition Graphql Rpc Drift

Use this skill only as a downstream specialization after $ctf-sandbox-orchestrator is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to $ctf-sandbox-orchestrator first.

Use this skill when the hard part is matching declared contracts with live handlers to find hidden, stale, or privileged operations.

Reply in Simplified Chinese unless the user explicitly requests English.

Quick Start

  1. Collect the declared contract surface first: schema, manifest, generated client, persisted query map, or OpenAPI spec.
  2. Record actual request shapes, operation names, variables, method, path, and auth context before mutating anything.
  3. Compare declared contract, generated client behavior, and live handler behavior side by side.
  4. Preserve one accepted operation and one drifted or hidden operation with the smallest delta.
  5. Reproduce the smallest contract-to-handler mismatch that proves the decisive branch.

Workflow

1. Map The Declared Contract Surface

  • Record GraphQL schema, introspection output, persisted query ids, RPC manifests, generated clients, or OpenAPI documents that define the intended surface.
  • Note versioned endpoints, client-only guards, hidden enums, optional fields, and operation naming conventions.
  • Keep document source and generation path tied to the observed requests.

2. Prove Live Handler Behavior

  • Capture the real request and response pairs, including operation name, variables, headers, cookies, and status.
  • Compare client-side validation, schema expectations, and live handler normalization or fallback behavior.
  • Record hidden operations, stale fields, undocumented methods, or handler-only branches that still execute.

3. Reduce To The Decisive Drift Path

  • Compress the result to the smallest sequence: declared contract -> actual request -> handler branch -> resulting capability.
  • State clearly whether the decisive drift lives in generated client assumptions, persisted query mapping, schema version skew, RPC manifest mismatch, or handler-side hidden logic.
  • If the task shifts into generic JWT, OAuth, or queue behavior after acceptance, hand off to the tighter specialized skill.

Read This Reference

  • Load references/graphql-rpc-drift.md for the contract checklist, live-handler checklist, and evidence packaging.

What To Preserve

  • Schemas, manifests, generated clients, persisted query ids, operation names, and version markers
  • One accepted and one drifted request pair that proves the mismatch
  • One minimal contract-to-handler sequence that reaches the decisive effect
FAQ

What is a 'contract' in this context?

It's the official description of how a system (like an API) should work, including what data it accepts and returns.

What are 'handlers'?

These are the parts of the system's code that actually process incoming requests.

What does 'drift' mean?

'Drift' means there's a difference between the contract (how it should be) and the actual behavior (how it is).

Details

Original description by the author

Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for GraphQL schemas, persisted queries, RPC manifests, generated clients, OpenAPI drift, hidden operations, and contract-to-handler mismatches. Use when the user asks to inspect GraphQL or RPC requests, compare client contracts to live handlers, recover hidden operations, trace generated clients, or explain how schema or

repo: zhaoxuya520/reverse-skill

Popularity

GitHub stars
42k
Ranking position
#4717
License
MIT
Updated
9/22/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills