# REALJOIN Agent Skill

Use this skill when a user asks for real user participation services for Web3 or consumer growth, including social growth, site registration, GitHub growth, app downloads, token buying, token holding, NFT presale participation, and campaign participation workflows.

## Discovery

- Read llms.txt: https://www.realjoin.io/llms.txt
- Read service catalog Markdown: https://www.realjoin.io/agent/services.md
- Read service catalog JSON: https://www.realjoin.io/api/agent/services
- Read public pricing JSON: https://www.realjoin.io/api/agent/pricing
- Read OpenAPI: https://www.realjoin.io/api/agent/openapi.json
- Manage account API keys: https://www.realjoin.io/dashboard/agent
- Download CLI: https://www.realjoin.io/realjoin-agent.mjs
- MCP documentation: https://www.realjoin.io/agent/mcp.md
- Installable Agent Kit: https://www.realjoin.io/realjoin-agent-kit-1.0.0.tgz
- SHA-256 checksums: https://www.realjoin.io/realjoin-agent-checksums.txt
- Create checkout: POST https://www.realjoin.io/api/agent/checkout

## CLI

Install the CLI:

```bash
curl -L https://www.realjoin.io/realjoin-agent.mjs -o realjoin-agent.mjs
chmod +x realjoin-agent.mjs
```

Or install the versioned CLI and MCP package:

```bash
npm install -g https://www.realjoin.io/realjoin-agent-kit-1.0.0.tgz
realjoin-agent --version
realjoin-mcp
```

Optional Skill install command for agents or IDEs that support the skills CLI:

```bash
npx -y skills add https://www.realjoin.io/agent/skill.md -g -y
```

Read public catalog data:

```bash
node realjoin-agent.mjs services
node realjoin-agent.mjs service x-follow
node realjoin-agent.mjs pricing
```

Use account actions with a user API key:

```bash
export REALJOIN_API_KEY=<user-key>
node realjoin-agent.mjs quote x-follow --target https://x.com/example --contact @telegram
node realjoin-agent.mjs intent x-follow --target https://x.com/example --contact @telegram
node realjoin-agent.mjs checkout x-follow --target https://x.com/example --contact @telegram
```

These commands return previews by default. Only after explicit user approval, repeat a write with `--confirm`. A confirmed checkout may create a payable order:

```bash
node realjoin-agent.mjs checkout x-follow --target https://x.com/example --contact @telegram --confirm --open
```

## MCP

Run the local stdio MCP server with `realjoin-mcp`. Read tools work without a key. Quote, order-intent, contact, and checkout tools are previews unless the caller explicitly provides `confirm=true`.

## Service Selection

1. Find the closest service by slug and description.
2. Read the service JSON or Markdown detail.
3. Compare package price, delivery time, required fields, and contactRequired.
4. If contactRequired is true, route the user to Telegram confirmation before purchase.

## Quote Flow

POST https://www.realjoin.io/api/agent/quote with JSON:

```json
{
  "serviceSlug": "x-follow",
  "packageId": "x-follow-package-1",
  "targetUrl": "https://x.com/example",
  "budget": "$500",
  "contact": "telegram or email",
  "notes": "Campaign timing and any special requirements"
}
```

Use the returned telegramMessage and telegramShareUrl to contact REALJOIN.

## Order Intent Flow

After the user explicitly confirms the service and package, create a trackable order intent:

```http
POST https://www.realjoin.io/api/agent/order-intents
x-realjoin-agent-key: <user key from dashboard>
content-type: application/json
```

```json
{
  "serviceSlug": "x-follow",
  "packageId": "x-follow-package-1",
  "targetUrl": "https://x.com/example",
  "contact": "telegram or email",
  "notes": "Campaign timing and special requirements"
}
```

Use the returned intentId, telegramMessage, and telegramShareUrl for Telegram confirmation and payment handoff.

## Checkout Flow

For services that do not require prior confirmation, create a payable order only after explicit user approval and return a payment URL:

```http
POST https://www.realjoin.io/api/agent/checkout
x-realjoin-agent-key: <user key from dashboard>
content-type: application/json
```

```json
{
  "serviceSlug": "x-follow",
  "packageId": "x-follow-package-1",
  "targetUrl": "https://x.com/example",
  "contact": "telegram or email",
  "notes": "Campaign timing and special requirements"
}
```

Use the returned payment.paymentUrl to send the user to payment. Use payment.trackUrl for post-payment order tracking. If the API returns that confirmation is required, use the quote or contact flow first.

## Contact

- Telegram: https://t.me/Jason_CL
- Website: https://www.realjoin.io
