Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Square tasks via Rube MCP (Composio): payments, orders, invoices, locations. Always search tools first for current schemas.
.claude/skills/davepoon-square-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-09 | ✓→✗ | ▼ Worse | 167% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 36% | 0% |
| case-16 | ✓→✗ | ▼ Worse | 56% | 0% |
| case-24 | ✓→✗ | ▼ Worse | 57% | 0% |
Automate Square payment processing, order management, and invoicing through Composio's Square toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/square
RUBE_MANAGE_CONNECTIONS with toolkit squareRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit squareWhen to use: User wants to view payment history or check payment status
Tool sequence:
SQUARE_LIST_PAYMENTS - Retrieve payments with optional filters Required]SQUARE_CANCEL_PAYMENT - Cancel a pending payment if needed Optional]Key parameters:
begin_time / end_time: RFC 3339 timestamps for date range filteringsort_order: 'ASC' or 'DESC' for chronological orderingcursor: Pagination cursor from previous responselocation_id: Filter payments by specific locationPitfalls:
cursor until absentSQUARE_CANCEL_PAYMENT requires exact payment_id from list resultsWhen to use: User wants to find orders by criteria or update order details
Tool sequence:
SQUARE_LIST_LOCATIONS - Get location IDs for filtering Prerequisite]SQUARE_SEARCH_ORDERS - Search orders with filters Required]SQUARE_RETRIEVE_ORDER - Get full details of a specific order Optional]SQUARE_UPDATE_ORDER - Modify order state or details Optional]Key parameters:
location_ids: Array of location IDs to search within (required for search)query: Search filter object with date ranges, states, fulfillment typesorder_id: Specific order ID for retrieve/update operationscursor: Pagination cursor for search resultsPitfalls:
location_ids is required for SEARCH_ORDERS; get IDs from LIST_LOCATIONS firstversion field to prevent conflictscursor until absentWhen to use: User wants to view business locations or get location details
Tool sequence:
SQUARE_LIST_LOCATIONS - List all business locations Required]Key parameters:
id, name, address, status, timezonePitfalls:
status fieldWhen to use: User wants to list, view, or cancel invoices
Tool sequence:
SQUARE_LIST_LOCATIONS - Get location ID for filtering Prerequisite]SQUARE_LIST_INVOICES - List invoices for a location Required]SQUARE_GET_INVOICE - Get detailed invoice information Optional]SQUARE_CANCEL_INVOICE - Cancel a scheduled or unpaid invoice Optional]Key parameters:
location_id: Required for listing invoicesinvoice_id: Required for get/cancel operationscursor: Pagination cursor for list resultslimit: Number of results per pagePitfalls:
location_id is required for LIST_INVOICES; resolve via LIST_LOCATIONS firstversion to prevent race conditionsLocation name -> Location ID:
1. Call SQUARE_LIST_LOCATIONS
2. Find location by name in response
3. Extract id field (e.g., 'L1234ABCD')Order lookup:
1. Call SQUARE_SEARCH_ORDERS with location_ids and query filters
2. Extract order_id from results
3. Use order_id for RETRIEVE_ORDER or UPDATE_ORDERcursor fieldcursor parametercursor is absent or emptylimit to control page size2024-01-01T00:00:00Zbegin_time and end_time parametersID Formats:
Versioning:
version fieldRate Limits:
Response Parsing:
data key| Task | Tool Slug | Key Params | |------|-----------|------------| | List payments | SQUARE_LIST_PAYMENTS | begin_time, end_time, location_id, cursor | | Cancel payment | SQUARE_CANCEL_PAYMENT | payment_id | | Search orders | SQUARE_SEARCH_ORDERS | location_ids, query, cursor | | Get order | SQUARE_RETRIEVE_ORDER | order_id | | Update order | SQUARE_UPDATE_ORDER | order_id, version | | List locations | SQUARE_LIST_LOCATIONS | (none) | | List invoices | SQUARE_LIST_INVOICES | location_id, cursor | | Get invoice | SQUARE_GET_INVOICE | invoice_id | | Cancel invoice | SQUARE_CANCEL_INVOICE | invoice_id, version |
Powered by Composio
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,922 | 5,590 | +14% | 1 | 1 | 0% | 393 | 2,006 | +410% | 0 | 0 | — |
case-02 | fail→fail | 18,110 | 3,788 | -79% | 1 | 1 | 0% | 2,781 | 2,184 | -21% | 0 | 0 | — |
case-03 | fail→fail | 11,639 | 4,362 | -63% | 1 | 1 | 0% | 800 | 1,912 | +139% | 0 | 0 | — |
case-04 | fail→fail | 4,044 | 3,989 | -1% | 1 | 1 | 0% | 645 | 1,848 | +187% | 0 | 0 | — |
case-05 | fail→fail | 10,289 | 4,240 | -59% | 1 | 1 | 0% | 1,401 | 1,926 | +37% | 0 | 0 | — |
case-06 | fail→fail | 6,393 | 4,705 | -26% | 1 | 1 | 0% | 873 | 1,984 | +127% | 0 | 0 | — |
case-07 | fail→pass | 13,847 | 3,994 | -71% | 1 | 1 | 0% | 2,232 | 2,475 | +11% | 0 | 0 | — |
case-08 | pass→pass | 3,870 | 2,917 | -25% | 1 | 1 | 0% | 682 | 2,178 | +219% | 0 | 0 | — |
case-09 | pass→fail | 5,130 | 4,928 | -4% | 1 | 1 | 0% | 737 | 1,967 | +167% | 0 | 0 | — |
case-10 | pass→fail | 7,623 | 4,767 | -37% | 1 | 1 | 0% | 1,423 | 1,940 | +36% | 0 | 0 | — |
case-11 | pass→pass | 3,787 | 2,842 | -25% | 1 | 1 | 0% | 677 | 2,185 | +223% | 0 | 0 | — |
case-12 | pass→pass | 3,990 | 2,949 | -26% | 1 | 1 | 0% | 663 | 2,208 | +233% | 0 | 0 | — |
case-13 | fail→fail | 5,060 | 1,661 | -67% | 1 | 1 | 0% | 767 | 1,955 | +155% | 0 | 0 | — |
case-14 | fail→fail | 7,579 | 3,215 | -58% | 1 | 1 | 0% | 1,336 | 2,246 | +68% | 0 | 0 | — |
case-15 | fail→fail | 3,539 | 2,414 | -32% | 1 | 1 | 0% | 609 | 2,070 | +240% | 0 | 0 | — |
case-16 | pass→fail | 6,172 | 4,706 | -24% | 1 | 1 | 0% | 1,251 | 1,947 | +56% | 0 | 0 | — |
case-17 | pass→pass | 2,707 | 2,041 | -25% | 1 | 1 | 0% | 397 | 2,029 | +411% | 0 | 0 | — |
case-18 | pass→pass | 9,442 | 2,508 | -73% | 1 | 1 | 0% | 1,870 | 2,146 | +15% | 0 | 0 | — |
case-19 | pass→pass | 3,539 | 1,586 | -55% | 1 | 1 | 0% | 631 | 1,923 | +205% | 0 | 0 | — |
case-20 | pass→pass | 3,221 | 3,640 | +13% | 1 | 1 | 0% | 473 | 2,258 | +377% | 0 | 0 | — |
case-21 | pass→pass | 3,466 | 2,751 | -21% | 1 | 1 | 0% | 622 | 2,096 | +237% | 0 | 0 | — |
case-22 | pass→pass | 4,245 | 2,497 | -41% | 1 | 1 | 0% | 669 | 2,108 | +215% | 0 | 0 | — |
case-23 | pass→pass | 3,540 | 2,359 | -33% | 1 | 1 | 0% | 621 | 2,079 | +235% | 0 | 0 | — |
case-24 | pass→fail | 27,463 | 4,356 | -84% | 1 | 1 | 0% | 1,448 | 2,271 | +57% | 0 | 0 | — |
case-25 | pass→pass | 4,636 | 2,088 | -55% | 1 | 1 | 0% | 742 | 2,018 | +172% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 17 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -12 percentage points is the difference between those two pass rates over the 17 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.