@agnic/wallet-skills 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,39 +1,65 @@
1
- # @agnic/wallet-skills
1
+ # AgnicPay Agentic Wallet Skills
2
2
 
3
- Pre-built [Vercel AI SDK](https://sdk.vercel.ai/) skills for the [AgnicPay](https://pay.agnic.ai) wallet. Give any AI assistant the ability to check balances, send payments, trade tokens, and call x402-enabled APIs.
3
+ Agent Skills for crypto wallet operations. These skills enable AI agents to authenticate, check balances, send USDC, trade tokens, make x402 payments, and verify on-chain identity using the `agnic` CLI.
4
+
5
+ ## Available Skills
6
+
7
+ | Skill | Description |
8
+ |-------|-------------|
9
+ | **authenticate-wallet** | Sign in to the wallet via browser OAuth |
10
+ | **check-balance** | Check USDC balance across networks (Base, Solana) |
11
+ | **send-usdc** | Send USDC to Ethereum wallet addresses |
12
+ | **trade-tokens** | Swap/trade tokens on Base (USDC, ETH, WETH, cbETH, DAI, AERO) |
13
+ | **search-for-service** | Search for paid API services via x402 |
14
+ | **pay-for-service** | Make paid API requests via x402 |
15
+ | **fund-wallet** | Get instructions for adding funds to the wallet |
16
+ | **get-agent-identity** | Check on-chain ERC-8004 identity and trust score |
17
+ | **agent-email** | Manage agent email — send, receive, check inbox |
18
+ | **agnic** | Unified skill — all wallet, payment, email, and identity capabilities |
4
19
 
5
20
  ## Installation
6
21
 
22
+ Install with Vercel's [Skills CLI](https://github.com/vercel/skills):
23
+
7
24
  ```bash
8
- npx skills add @agnic/wallet-skills
25
+ npx skills add agnicpay/agnic-wallet-skills
9
26
  ```
10
27
 
11
- ## Prerequisites
28
+ ## Usage
12
29
 
13
- The agent must be authenticated with the `agnic` CLI:
30
+ Skills are automatically available once installed. The agent will use them when relevant tasks are detected.
14
31
 
15
- ```bash
16
- npx agnic@latest auth login
17
- # Opens browser → sign in → set spending limits → done
18
- ```
32
+ Examples:
19
33
 
20
- ## Available Skills
34
+ - `Sign in to my wallet`
35
+ - `Check my balance`
36
+ - `Send 10 USDC to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7`
37
+ - `Swap 5 USDC for ETH`
38
+ - `Find a sentiment analysis API`
39
+ - `Pay for https://api.example.com/data`
40
+ - `What's my agent identity?`
21
41
 
22
- | Skill | Description |
23
- |-------|-------------|
24
- | **authenticate-wallet** | Browser-based OAuth login |
25
- | **check-balance** | USDC balance across networks |
26
- | **send-usdc** | Send USDC to a wallet address |
27
- | **trade-tokens** | Swap tokens on Base (USDC, ETH, etc.) |
28
- | **search-for-service** | Discover x402-enabled APIs |
29
- | **pay-for-service** | Make x402 payment requests |
30
- | **fund-wallet** | Instructions for funding your wallet |
31
- | **get-agent-identity** | ERC-8004 on-chain identity and trust score |
42
+ ## Contributing
43
+
44
+ To add a new skill:
32
45
 
33
- ## How It Works
46
+ 1. Create a folder in `./skills/` with a lowercase, hyphenated name
47
+ 2. Add a `SKILL.md` file with YAML frontmatter and instructions
48
+ 3. See the [Agent Skills specification](https://github.com/vercel/skills) for the complete format
34
49
 
35
- Each skill is a markdown file (`SKILL.md`) that instructs the AI assistant on how to use the `agnic` CLI. When a user's request matches a skill, the AI follows the instructions to execute the right commands.
50
+ ### Updating the agnic version
51
+
52
+ All skills pin `agnic@latest` via `npx agnic@latest`. When testing against a specific version:
53
+
54
+ ```bash
55
+ # Install a specific version
56
+ npm install -g agnic@2.0.0
57
+ ```
36
58
 
37
59
  ## Documentation
38
60
 
39
61
  Full docs at [docs.agnic.ai/docs/agnicpay-features/skills](https://docs.agnic.ai/docs/agnicpay-features/skills)
62
+
63
+ ## License
64
+
65
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agnic/wallet-skills",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Vercel AI SDK skills for AgnicPay wallet — balance, payments, trading, x402, and agent identity",
5
5
  "keywords": [
6
6
  "agnic",
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: agent-email
3
+ description: Manage your agent's email address. Use when the user asks about agent email, sending email, checking inbox, or email setup.
4
+ ---
5
+
6
+ ## Instructions
7
+
8
+ 1. Check if agent has an email: `npx agnic@latest email address --json`
9
+ 2. If no email exists, create one: `npx agnic@latest email setup --json`
10
+ 3. For inbox: `npx agnic@latest email inbox --limit 20 --json`
11
+ 4. To send: `npx agnic@latest email send --to <address> --subject "<subject>" --body "<body>"`
12
+ 5. To reply: `npx agnic@latest email reply --message-id <id> --body "<reply>"`
13
+
14
+ Each agent gets a unique address like `agent-123@agnic.ai`. Emails are stored with 30-day retention.
15
+
16
+ ## Allowed Tools
17
+ - npx agnic@latest email address
18
+ - npx agnic@latest email setup
19
+ - npx agnic@latest email inbox
20
+ - npx agnic@latest email send
21
+ - npx agnic@latest email reply
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: agnic
3
+ description: >
4
+ Complete AI agent wallet with payments, trading, email, and on-chain identity.
5
+ Use when the user wants to manage their agent's wallet, make payments, trade tokens,
6
+ send/receive email, or check their agent identity.
7
+ user-invocable: true
8
+ disable-model-invocation: false
9
+ allowed-tools: ["Bash(npx agnic@latest *)"]
10
+ ---
11
+
12
+ ## Agnic — Unified Agent Wallet Skill
13
+
14
+ This skill gives your AI agent a full identity stack: wallet, email, payments, trading, and on-chain identity.
15
+
16
+ ### Authentication
17
+
18
+ ```bash
19
+ npx agnic@latest auth login # Opens browser for OAuth login
20
+ npx agnic@latest auth logout # Clear stored credentials
21
+ ```
22
+
23
+ ### Balance & Funding
24
+
25
+ ```bash
26
+ npx agnic@latest balance --json # All networks
27
+ npx agnic@latest balance --network base --json # Specific network
28
+ npx agnic@latest address # Show wallet address
29
+ ```
30
+
31
+ Supported networks: `base`, `solana`, `base-sepolia`, `solana-devnet`
32
+
33
+ ### X402 Payments
34
+
35
+ ```bash
36
+ # Search for APIs
37
+ npx agnic@latest x402 search "weather data" --json
38
+
39
+ # Preview cost before paying
40
+ npx agnic@latest x402 preview <url>
41
+
42
+ # Make a paid API call
43
+ npx agnic@latest x402 pay <url> --method GET --json
44
+ ```
45
+
46
+ ### Token Trading
47
+
48
+ ```bash
49
+ # Get a quote
50
+ npx agnic@latest trade quote 10 USDC ETH --json
51
+
52
+ # Execute a trade (Base mainnet only)
53
+ npx agnic@latest trade 10 USDC ETH --json
54
+ ```
55
+
56
+ Supported tokens: USDC, ETH, WETH, cbETH, DAI, AERO
57
+
58
+ ### Send USDC
59
+
60
+ ```bash
61
+ npx agnic@latest send <amount> <address> --network base --json
62
+ ```
63
+
64
+ ### Agent Identity
65
+
66
+ ```bash
67
+ npx agnic@latest agent-identity --json # ERC-8004 identity, trust score, delegation
68
+ npx agnic@latest status --json # General account status
69
+ ```
70
+
71
+ ### Agent Email
72
+
73
+ ```bash
74
+ npx agnic@latest email address --json # Show email alias
75
+ npx agnic@latest email setup --display-name "My Agent" # Create email alias
76
+ npx agnic@latest email inbox --limit 10 --json # Check inbox
77
+ npx agnic@latest email send --to user@example.com --subject "Hello" --body "Message"
78
+ npx agnic@latest email reply --message-id <id> --body "Reply text"
79
+ ```
80
+
81
+ ### Workflow: Sign Up + Pay + Report
82
+
83
+ 1. Check auth: `npx agnic@latest status --json`
84
+ 2. Sign up for a service using agent email (`email send`)
85
+ 3. Check inbox for verification (`email inbox`)
86
+ 4. Reply to verify (`email reply`)
87
+ 5. Make paid API call (`x402 pay`)
88
+ 6. Email results to user (`email send`)
@@ -1,51 +1,74 @@
1
1
  ---
2
2
  name: authenticate-wallet
3
- description: Sign in to AgnicPay wallet via browser-based OAuth
3
+ description: Sign in to AgnicPay wallet via browser-based OAuth. Use when you or the user want to authenticate, sign in, log in, connect wallet, or set up the CLI. Covers phrases like "sign in", "log in", "authenticate", "connect my wallet", "set up agnic".
4
4
  user-invocable: true
5
5
  disable-model-invocation: false
6
- allowed-tools: ["Bash(npx agnic@latest *)"]
6
+ allowed-tools: ["Bash(npx agnic@latest status*)", "Bash(npx agnic@latest auth *)"]
7
7
  ---
8
8
 
9
- # Authenticate Wallet
9
+ # Authenticating the AgnicPay Wallet
10
10
 
11
- Authenticate the user with their AgnicPay wallet using browser-based OAuth login.
11
+ Use `npx agnic@latest auth login` to authenticate via browser-based OAuth. This opens the user's default browser to AgnicPay where they sign in and set spending limits for the CLI session.
12
12
 
13
- ## Steps
13
+ ## Confirm wallet is initialized and authed
14
14
 
15
- 1. Run the login command:
16
- ```bash
17
- npx agnic@latest auth login
18
- ```
19
- This opens the user's browser to AgnicPay where they sign in and set spending limits.
15
+ ```bash
16
+ npx agnic@latest status
17
+ ```
18
+
19
+ If already authenticated, no further action is needed. If not authenticated, proceed with login.
20
+
21
+ ## Login Flow
22
+
23
+ ```bash
24
+ npx agnic@latest auth login
25
+ ```
26
+
27
+ This command:
28
+ 1. Starts a temporary local server on a random port
29
+ 2. Opens the user's default browser to AgnicPay's OAuth consent screen
30
+ 3. The user signs in (email, Google, or wallet) and approves spending limits
31
+ 4. The browser redirects back to `http://localhost:<port>/callback`
32
+ 5. The CLI exchanges the authorization code for tokens and saves them locally
20
33
 
21
- 2. Wait for the browser flow to complete. The CLI will show "Authenticated!" when done.
34
+ Wait for the CLI to print `✓ Authenticated!` before proceeding.
22
35
 
23
- 3. Verify authentication:
24
- ```bash
25
- npx agnic@latest status --json
26
- ```
36
+ ## Verify Authentication
27
37
 
28
- ## Expected Output
38
+ After login, confirm the session is active:
29
39
 
30
- ```json
31
- {
32
- "authenticated": true,
33
- "userId": "did:privy:...",
34
- "email": "user@example.com",
35
- "walletAddress": "0x...",
36
- "tokenExpiry": "2026-05-22T..."
37
- }
40
+ ```bash
41
+ npx agnic@latest status
38
42
  ```
39
43
 
40
- ## Error Handling
44
+ Expected output:
41
45
 
42
- - If the user cancels the browser flow, the CLI will show "Authentication failed".
43
- - If the browser doesn't open, the CLI prints a URL the user can copy manually.
44
- - If already authenticated, `agnic status` will confirm without re-login.
46
+ ```
47
+ Wallet Status
48
+ Authenticated
49
+
50
+ Email: user@example.com
51
+ Wallet: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7
52
+ Expires: 2026-05-22 14:30:00 UTC
53
+ ```
45
54
 
46
55
  ## Logout
47
56
 
48
57
  To remove stored credentials:
58
+
49
59
  ```bash
50
60
  npx agnic@latest auth logout
51
61
  ```
62
+
63
+ ## Token Storage
64
+
65
+ Credentials are stored in `~/.agnic/config.json` with restricted permissions (`0600`). Tokens auto-refresh on 401 responses — no manual re-authentication needed until the refresh token expires (90 days).
66
+
67
+ ## Error Handling
68
+
69
+ Common errors:
70
+
71
+ - "Not authenticated" — Run `npx agnic@latest auth login`
72
+ - "Authentication failed" — User cancelled the browser flow or the timeout (5 min) expired
73
+ - "Could not open browser" — The CLI prints a URL to copy and open manually
74
+ - "Token expired" — Tokens auto-refresh; if refresh also fails, re-run `npx agnic@latest auth login`
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: authenticate-wallet
3
+ description: Sign in to AgnicPay wallet. Use when the user wants to log in, authenticate, or when any command fails with auth errors.
4
+ ---
5
+
6
+ ## Instructions
7
+
8
+ 1. Run `npx agnic status` to check current auth state
9
+ 2. If not authenticated, ask user for their email
10
+ 3. Run `npx agnic auth login <email>` — sends OTP code to their email
11
+ 4. Ask user for the 6-digit code from their email
12
+ 5. Run `npx agnic auth verify <flowId> <otp>`
13
+ 6. Confirm with `npx agnic status`
14
+
15
+ ## Allowed Tools
16
+ - npx agnic status
17
+ - npx agnic auth login
18
+ - npx agnic auth verify
@@ -1,51 +1,75 @@
1
1
  ---
2
2
  name: check-balance
3
- description: Check USDC balance across networks (Base, Solana)
3
+ description: Check USDC balance across networks. Use when you or the user want to check balance, see how much money is in the wallet, view funds, or check available USDC. Covers phrases like "check my balance", "how much USDC do I have", "what's my balance", "show funds", "wallet balance".
4
4
  user-invocable: true
5
5
  disable-model-invocation: false
6
- allowed-tools: ["Bash(npx agnic@latest *)"]
6
+ allowed-tools: ["Bash(npx agnic@latest status*)", "Bash(npx agnic@latest balance*)"]
7
7
  ---
8
8
 
9
- # Check Balance
9
+ # Checking USDC Balance
10
10
 
11
- Check the user's USDC balance across supported networks.
11
+ Use the `npx agnic@latest balance` command to check USDC balance across supported networks.
12
12
 
13
- ## Steps
13
+ ## Confirm wallet is initialized and authed
14
14
 
15
- 1. Verify authentication:
16
- ```bash
17
- npx agnic@latest status --json
18
- ```
19
- If not authenticated, run `npx agnic@latest auth login` first.
15
+ ```bash
16
+ npx agnic@latest status
17
+ ```
18
+
19
+ If the wallet is not authenticated, refer to the `authenticate-wallet` skill.
20
+
21
+ ## Command Syntax
22
+
23
+ ```bash
24
+ npx agnic@latest balance [--network <network>] [--json]
25
+ ```
26
+
27
+ ## Options
28
+
29
+ | Option | Description |
30
+ | -------------------- | ------------------------------------------ |
31
+ | `--network <name>` | Filter by network (default: all networks) |
32
+ | `--json` | Output result as JSON |
33
+
34
+ ## Supported Networks
35
+
36
+ | Network | Description |
37
+ | -------------- | --------------------- |
38
+ | `base` | Base mainnet (primary) |
39
+ | `base-sepolia` | Base testnet |
40
+ | `solana` | Solana mainnet |
41
+ | `solana-devnet`| Solana devnet |
42
+
43
+ ## Examples
44
+
45
+ ```bash
46
+ # Check balance on all networks
47
+ npx agnic@latest balance
20
48
 
21
- 2. Check balance for all networks:
22
- ```bash
23
- npx agnic@latest balance --json
24
- ```
49
+ # Check balance on Base mainnet only
50
+ npx agnic@latest balance --network base
25
51
 
26
- 3. Or check a specific network:
27
- ```bash
28
- npx agnic@latest balance --network base --json
29
- npx agnic@latest balance --network solana --json
30
- ```
52
+ # Get JSON output
53
+ npx agnic@latest balance --json
54
+ ```
31
55
 
32
56
  ## Expected Output
33
57
 
34
- ```json
35
- [
36
- { "network": "base", "balance": "125.50", "address": "0x..." },
37
- { "network": "solana", "balance": "0", "address": "N/A" }
38
- ]
58
+ ```
59
+ Network Balance Address
60
+ base 125.50 USDC 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7
61
+ base-sepolia 0.00 USDC 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7
62
+ solana 0.00 USDC N/A
63
+ solana-devnet 0.00 USDC N/A
39
64
  ```
40
65
 
41
- ## Supported Networks
66
+ ## Prerequisites
42
67
 
43
- - `base` Base mainnet (EVM, primary)
44
- - `solana` — Solana mainnet
45
- - `base-sepolia` — Base testnet
46
- - `solana-devnet` — Solana devnet
68
+ - Must be authenticated (`npx agnic@latest status` to check)
47
69
 
48
70
  ## Error Handling
49
71
 
50
- - If not authenticated: prompt user to run `npx agnic@latest auth login`
51
- - If a network returns an error, report it and show available balances
72
+ Common errors:
73
+
74
+ - "Not authenticated" — Run `npx agnic@latest auth login` first
75
+ - Network timeout — Try again or specify a single network with `--network base`
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: check-balance
3
+ description: Check USDC balance across networks. Use when the user asks about their balance, funds, or how much they have.
4
+ ---
5
+
6
+ ## Instructions
7
+
8
+ 1. Run `npx agnic balance --json` to get balances across all networks
9
+ 2. If user asks about a specific network, use `npx agnic balance --network <network> --json`
10
+ 3. Present the balance in a clear format with network and amount
11
+
12
+ Supported networks: base, solana, base-sepolia, solana-devnet
13
+
14
+ ## Allowed Tools
15
+ - npx agnic balance
@@ -1,46 +1,79 @@
1
1
  ---
2
2
  name: fund-wallet
3
- description: Get instructions for funding your AgnicPay wallet
3
+ description: Get instructions for funding your AgnicPay wallet with USDC. Use when you or the user want to add funds, deposit USDC, top up the wallet, or need more balance. Covers phrases like "add funds", "deposit", "top up", "fund my wallet", "how do I get USDC", "need more balance".
4
4
  user-invocable: true
5
5
  disable-model-invocation: false
6
- allowed-tools: ["Bash(npx agnic@latest *)"]
6
+ allowed-tools: ["Bash(npx agnic@latest status*)", "Bash(npx agnic@latest address*)", "Bash(npx agnic@latest balance*)"]
7
7
  ---
8
8
 
9
- # Fund Wallet
9
+ # Funding the AgnicPay Wallet
10
10
 
11
- Provide instructions for adding funds to the user's AgnicPay wallet.
11
+ Provide instructions for adding USDC to the user's AgnicPay wallet on Base.
12
12
 
13
- ## Steps
13
+ ## Confirm wallet is initialized and authed
14
14
 
15
- 1. Check if the user is authenticated:
16
- ```bash
17
- npx agnic@latest status --json
18
- ```
15
+ ```bash
16
+ npx agnic@latest status
17
+ ```
19
18
 
20
- 2. Show the user's wallet address:
21
- ```bash
22
- npx agnic@latest address --json
23
- ```
19
+ If the wallet is not authenticated, refer to the `authenticate-wallet` skill.
24
20
 
25
- 3. Explain funding options:
21
+ ## Get Wallet Address
26
22
 
27
- **Option 1: AgnicPay Dashboard**
28
- - Go to [pay.agnic.ai](https://pay.agnic.ai)
29
- - Navigate to your dashboard
30
- - Use the "Add Funds" feature to deposit USDC
23
+ ```bash
24
+ npx agnic@latest address
25
+ ```
31
26
 
32
- **Option 2: Direct Transfer**
33
- - Send USDC to your wallet address on Base network
34
- - The address is shown by `agnic address`
35
- - Use any wallet (MetaMask, Coinbase, etc.) to send USDC on Base
27
+ This displays the user's wallet address on each supported network.
36
28
 
37
- 4. After funding, verify the balance:
38
- ```bash
39
- npx agnic@latest balance --json
40
- ```
29
+ ## Funding Options
30
+
31
+ ### Option 1: AgnicPay Dashboard (Recommended)
32
+
33
+ 1. Go to [pay.agnic.ai](https://pay.agnic.ai)
34
+ 2. Sign in with the same account used in the CLI
35
+ 3. Navigate to the dashboard
36
+ 4. Use the **"Add Funds"** button to deposit USDC via card, bank transfer, or crypto
37
+
38
+ ### Option 2: Direct USDC Transfer
39
+
40
+ Send USDC directly to the wallet address on **Base network**:
41
+
42
+ 1. Get the address: `npx agnic@latest address`
43
+ 2. From any wallet (MetaMask, Coinbase, Phantom, etc.), send USDC on **Base** to that address
44
+ 3. Verify arrival: `npx agnic@latest balance --network base`
45
+
46
+ **Important**: Send USDC on **Base network** only. USDC on other chains (Ethereum mainnet, Arbitrum, etc.) will not appear in the AgnicPay balance.
47
+
48
+ ### Option 3: Bridge from Another Chain
49
+
50
+ If the user has USDC on Ethereum, Arbitrum, or Optimism, they can bridge to Base using:
51
+ - [bridge.base.org](https://bridge.base.org) (official Base bridge)
52
+ - Any cross-chain bridge that supports Base
53
+
54
+ ## Verify Balance
55
+
56
+ After funding, confirm the deposit arrived:
57
+
58
+ ```bash
59
+ npx agnic@latest balance --network base
60
+ ```
41
61
 
42
62
  ## Important Notes
43
63
 
44
- - AgnicPay wallets use USDC (not ETH) for payments and trading
45
- - Base network is the primary chain
46
- - Minimum recommended balance: $1.00 USDC for testing
64
+ - AgnicPay wallets use **USDC** (not ETH) for payments and trading
65
+ - **Base network** is the primary chain
66
+ - Minimum recommended balance: **$1.00 USDC** for testing
67
+ - Small amounts of ETH on Base may be needed for gas (auto-handled in most cases)
68
+
69
+ ## Prerequisites
70
+
71
+ - Must be authenticated (`npx agnic@latest status` to check)
72
+
73
+ ## Error Handling
74
+
75
+ Common errors:
76
+
77
+ - "Not authenticated" — Run `npx agnic@latest auth login` first
78
+ - Balance shows 0 after transfer — Verify the transfer was on Base network (not Ethereum mainnet)
79
+ - Transfer pending — Base transactions typically confirm in 2-3 seconds
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: fund-wallet
3
+ description: Get instructions for funding your AgnicPay wallet. Use when the user needs to add funds, deposit, or top up.
4
+ ---
5
+
6
+ ## Instructions
7
+
8
+ 1. Check current balance: `npx agnic balance --json`
9
+ 2. Show the wallet address: `npx agnic address`
10
+ 3. Provide funding instructions:
11
+ - Visit https://pay.agnic.ai to fund via the dashboard
12
+ - Or send USDC directly to the displayed wallet address on Base or Solana
13
+ 4. After funding, verify with `npx agnic balance --json`
14
+
15
+ ## Allowed Tools
16
+ - npx agnic balance
17
+ - npx agnic address