Skip to content

Guide · Agent skill

How to use the GraphQL & RPC Drift Analysis agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The competition-graphql-rpc-drift skill is an add-on for AI agents that helps with capture-the-flag (CTF) style sandbox work on GraphQL and RPC targets. It compares declared API contracts, such as schemas, persisted query maps, RPC manifests, generated clients and OpenAPI specs, against how the live handlers actually behave. This guide explains what the skill does, how to install it, how to ask for it in plain language, and the limits you need to respect before using it.

GraphQL & RPC Drift Analysiszhaoxuya520/reverse-skill · MIT

Quick start

  1. 1Download the ZIP. Download the skill ZIP from this page. The folder should include SKILL.md, agents/openai.yaml and references/graphql-rpc-drift.md.
  2. 2Unzip into a skills folder. Unzip the folder into ~/.claude/skills/ for personal use, or into the project's .claude/skills/ folder for one project.
  3. 3Or upload it in the Claude apps. In the Claude apps, open Settings → Capabilities → Skills and upload the skill there instead.
  4. 4Activate the parent skill. Make sure ctf-sandbox-orchestrator is active first, since this skill must not be used standalone.
  5. 5Ask in plain language. Describe the contract-versus-handler question you want answered, and keep the work inside your authorized sandbox target.

What does the GraphQL & RPC drift skill make the agent do?

The skill gives the agent a checklist for finding places where the documented API surface and the real server disagree. The agent is told to collect the declared contract first, then record real request and response pairs, then compare the contract, the generated client and the live handler side by side. The goal is to find hidden, stale or privileged operations.

The skill also asks the agent to reduce its findings to one accepted request, one drifted or hidden request, and the smallest sequence that reproduces the difference. The agent is told to record evidence before changing anything.

  • Map the declared surface: GraphQL schema, introspection output, persisted query ids, RPC manifests, generated clients or OpenAPI documents.
  • Capture real request shapes, including operation name, variables, method, path, headers, cookies and status.
  • Compare declared contract, client behavior and handler behavior.
  • Reduce the mismatch to a minimal, reproducible contract-to-handler sequence.

Install the skill: ZIP download, personal or project folder

Download the skill ZIP from this page and unzip it. The skill folder should contain SKILL.md, agents/openai.yaml and references/graphql-rpc-drift.md. For a personal install, place the folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.

If you use the Claude apps instead, you can upload the skill under Settings → Capabilities → Skills.

  • Personal install: put the unzipped folder in ~/.claude/skills/.
  • Project install: put the unzipped folder in the project's .claude/skills/ folder.
  • Claude apps: upload the skill under Settings → Capabilities → Skills.
competition-graphql-rpc-drift/ SKILL.md agents/openai.yaml references/graphql-rpc-drift.md

Set up the parent skill before you trigger it

This skill is a downstream specialization. It requires the ctf-sandbox-orchestrator skill to be active first. That parent skill is expected to establish sandbox assumptions, node ownership and evidence priorities. The SKILL.md file says not to use this skill standalone. If the parent has not run, the agent is instructed to return to ctf-sandbox-orchestrator first.

The skill also needs its references/graphql-rpc-drift.md checklist file, which is included in the skill folder. Keep it in place, because the agent is told to load it for the contract checklist, live-handler checklist and evidence packaging.

  • Install and activate ctf-sandbox-orchestrator first.
  • Confirm the references/graphql-rpc-drift.md file is still in the folder.
  • Use the skill only inside an environment you are authorized to test.

How to trigger the skill with natural requests

You do not need special syntax. Describe the task in plain language, and make sure the parent sandbox context is already established in the conversation. The skill is meant for cases where the hard part is matching declared contracts with live handlers.

The skill's own description lists the kinds of requests it matches. These include inspecting GraphQL or RPC requests, comparing client contracts to live handlers, recovering hidden operations, tracing generated clients, and explaining how schema or contract drift produces a given behavior.

  • Inspect the GraphQL requests this sandbox target sends and list the operation names and variables.
  • Compare the generated client's operations with what the live handler accepts.
  • Trace which generated client function produces this request and whether the handler has an extra branch for it.
  • Explain how the mismatch between the OpenAPI spec and the running endpoint leads to the behavior we see.
  • Find any persisted query ids or RPC methods that the manifest does not list but the server still runs.

Example workflow in a CTF sandbox

A typical session starts with the parent skill setting the sandbox scope. Then you ask the agent to gather the declared contract, such as a schema, manifest or generated client. Next you ask it to capture a normal request and a drifted one, and to show where the handler takes a different branch.

The output is meant to be a short evidence chain. Expect the agent to package the contract side, the request side and the effect side together, so each claim can be checked. The skill also warns against treating generated clients as proof of the only supported operations, and against reading schema or OpenAPI documents without capturing real traffic.

  • Contract side: schema, manifest, generated client, version marker or persisted query id.
  • Request side: operation name, variables, method, path, headers and cookies.
  • Effect side: hidden data, accepted action, privilege or backend state change.

Safety notes: scripts, network and authorization

According to the item's documentation, this skill does not run scripts and does not use the network by itself. The agent works with the material you provide and the checklist in the reference file. Any live requests come from the environment and tools you have set up, so the scope of testing is your responsibility.

The skill is built to probe hidden operations and privileged paths. It should only be used against sandbox or competition targets you are authorized to test. Do not use it on production or third-party systems without written permission.

  • Do not use it on production or third-party systems without authorization.
  • Do not use it without the ctf-sandbox-orchestrator parent skill active.
  • It is not meant for general API development; its purpose is finding hidden or privileged behavior.
  • The agent replies in Simplified Chinese unless you explicitly ask for English.

What people use it for

  • Explaining why a generated GraphQL client sends a query that the published schema does not list.
  • Listing persisted query ids and checking which ones the live server still accepts.
  • Comparing an RPC manifest with the methods a handler actually runs.
  • Tracing how a stale OpenAPI field leads to a different server response in a sandbox challenge.
  • Packaging one accepted request and one drifted request as evidence for a write-up.

Frequently asked questions

Is the GraphQL & RPC drift skill free to use?

The item's source does not state a price or licence terms beyond the listed licence, which is MIT. Check the licence file in the repository for the full terms before reusing or redistributing it.

What do I need before installing this skill?

You need the ctf-sandbox-orchestrator parent skill, which must be active first. The skill folder also needs its references/graphql-rpc-drift.md checklist file. The skill runs no scripts and uses no network by itself.

Where do I put the skill folder?

Place the unzipped folder in ~/.claude/skills/ for a personal install, or in a project's .claude/skills/ folder for a single project. In the Claude apps, you can instead upload it under Settings → Capabilities → Skills.

Why does the skill not trigger on its own?

The skill is a downstream specialization and says it should only be used after ctf-sandbox-orchestrator has established sandbox assumptions and routed the task here. If the parent has not run, the agent is told to return to it first.

Can I use this skill on a production or third-party API?

No. The skill is built to probe hidden operations and privileged paths, so it is intended only for authorized sandbox and competition targets. Testing production or third-party systems without permission is outside its intended use.

How does this compare with general OpenAPI or GraphQL tools?

This skill is aimed at finding hidden, stale or privileged operations by comparing contracts with live behavior. It is not described as a general development tool, so it is a poor fit for ordinary API building or documentation work.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits CTF participants, security students and internal teams already using ctf-sandbox-orchestrator who work on GraphQL or RPC targets in authorized sandboxes. It is not suited to production or third-party testing, to users without the parent skill, or to ordinary API development. For general API work, pick a tool designed for building and documenting APIs.

Download the skill