Awesome-omni-skill Bankr x402 SDK - Job Management

This skill should be used when the user asks about "job status", "check if request completed", "cancel request", "why is my request taking so long", "poll for result", "batch requests", "retry failed request", "request timeout", "async operations", "job lifecycle", "manual polling", or needs advanced control over SDK async operations, manual job polling, batch processing, retry logic, or job cancellation.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/bankr-x402-sdk-job-management" ~/.claude/skills/diegosouzapw-awesome-omni-skill-bankr-x402-sdk-job-management && rm -rf "$T"
manifest: skills/development/bankr-x402-sdk-job-management/SKILL.md
source content

SDK Job Management

Manage asynchronous jobs: submit, poll, check status, cancel, and batch operations.

SDK Methods

MethodDescriptionUse Case
promptAndWait()
Submit and wait for resultRecommended for most cases
prompt()
Submit, return immediatelyBackground processing
pollJob()
Poll until job completesManual job tracking
getJobStatus()
Check status onceCustom polling logic
cancelJob()
Cancel pending/processing jobStop unwanted jobs

Job Lifecycle

pending → processing → completed
                    ↘ failed
                    ↘ cancelled
StateCancellableDescription
pendingYesAwaiting processing
processingYesActively processing
completedNoFinished successfully
failedNoEncountered error
cancelledNoCancelled by user

Usage Examples

Recommended: promptAndWait

const result = await client.promptAndWait({
  prompt: "Swap 0.1 ETH to USDC",
  timeout: 60000,
});

if (result.status === "completed") {
  console.log(result.response);
}

Manual Job Control

// Submit without waiting
const { jobId } = await client.prompt({ prompt: "What are trending tokens?" });

// Check status later
const status = await client.getJobStatus(jobId);

// Or poll until complete
const result = await client.pollJob({ jobId, timeout: 60000 });

Cancel Job

const { jobId } = await client.prompt({ prompt: "..." });
await client.cancelJob(jobId);

Batch Processing

const prompts = ["Price of ETH", "Price of BTC", "Price of SOL"];

// Submit all in parallel
const jobs = await Promise.all(
  prompts.map(prompt => client.prompt({ prompt }))
);

// Wait for all to complete
const results = await Promise.all(
  jobs.map(job => client.pollJob({ jobId: job.jobId }))
);

Timing Guidelines

OperationTypical TimeRecommended Timeout
Price queries2-5s15s
Balance checks2-5s15s
Token swaps5-15s60s
Cross-chain bridges10-30s120s
NFT operations5-15s60s

Related Skills

  • sdk-wallet-operations: Client setup and configuration
  • sdk-capabilities: Full list of supported operations