[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-46eb909d-ae32-4eae-8221-0ab6a2e09ee3":3,"$fbbZEYerOUHqZgpwPTuzrvh0-cYEn3LImG7tqhFWO_VI":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"46eb909d-ae32-4eae-8221-0ab6a2e09ee3","square-automation","通过Rube MCP（Composio）自动化Square任务：支付、订单、发票、位置。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: square-automation\ndescription: \"Automate Square tasks via Rube MCP (Composio): payments, orders, invoices, locations. Always search tools first for current schemas.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Square Automation via Rube MCP\n\nAutomate Square payment processing, order management, and invoicing through Composio's Square toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Square connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `square`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `square`\n3. If connection is not ACTIVE, follow the returned auth link to complete Square OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Monitor Payments\n\n**When to use**: User wants to view payment history or check payment status\n\n**Tool sequence**:\n1. `SQUARE_LIST_PAYMENTS` - Retrieve payments with optional filters [Required]\n2. `SQUARE_CANCEL_PAYMENT` - Cancel a pending payment if needed [Optional]\n\n**Key parameters**:\n- `begin_time` \u002F `end_time`: RFC 3339 timestamps for date range filtering\n- `sort_order`: 'ASC' or 'DESC' for chronological ordering\n- `cursor`: Pagination cursor from previous response\n- `location_id`: Filter payments by specific location\n\n**Pitfalls**:\n- Timestamps must be RFC 3339 format (e.g., '2024-01-01T00:00:00Z')\n- Pagination required for large result sets; follow `cursor` until absent\n- Only pending payments can be cancelled; completed payments require refunds\n- `SQUARE_CANCEL_PAYMENT` requires exact `payment_id` from list results\n\n### 2. Search and Manage Orders\n\n**When to use**: User wants to find orders by criteria or update order details\n\n**Tool sequence**:\n1. `SQUARE_LIST_LOCATIONS` - Get location IDs for filtering [Prerequisite]\n2. `SQUARE_SEARCH_ORDERS` - Search orders with filters [Required]\n3. `SQUARE_RETRIEVE_ORDER` - Get full details of a specific order [Optional]\n4. `SQUARE_UPDATE_ORDER` - Modify order state or details [Optional]\n\n**Key parameters**:\n- `location_ids`: Array of location IDs to search within (required for search)\n- `query`: Search filter object with date ranges, states, fulfillment types\n- `order_id`: Specific order ID for retrieve\u002Fupdate operations\n- `cursor`: Pagination cursor for search results\n\n**Pitfalls**:\n- `location_ids` is required for SEARCH_ORDERS; get IDs from LIST_LOCATIONS first\n- Order states include: OPEN, COMPLETED, CANCELED, DRAFT\n- UPDATE_ORDER requires the current `version` field to prevent conflicts\n- Search results are paginated; follow `cursor` until absent\n\n### 3. Manage Locations\n\n**When to use**: User wants to view business locations or get location details\n\n**Tool sequence**:\n1. `SQUARE_LIST_LOCATIONS` - List all business locations [Required]\n\n**Key parameters**:\n- No required parameters; returns all accessible locations\n- Response includes `id`, `name`, `address`, `status`, `timezone`\n\n**Pitfalls**:\n- Location IDs are required for most other Square operations (orders, payments)\n- Always cache location IDs after first retrieval to avoid redundant calls\n- Inactive locations may still appear in results; check `status` field\n\n### 4. Invoice Management\n\n**When to use**: User wants to list, view, or cancel invoices\n\n**Tool sequence**:\n1. `SQUARE_LIST_LOCATIONS` - Get location ID for filtering [Prerequisite]\n2. `SQUARE_LIST_INVOICES` - List invoices for a location [Required]\n3. `SQUARE_GET_INVOICE` - Get detailed invoice information [Optional]\n4. `SQUARE_CANCEL_INVOICE` - Cancel a scheduled or unpaid invoice [Optional]\n\n**Key parameters**:\n- `location_id`: Required for listing invoices\n- `invoice_id`: Required for get\u002Fcancel operations\n- `cursor`: Pagination cursor for list results\n- `limit`: Number of results per page\n\n**Pitfalls**:\n- `location_id` is required for LIST_INVOICES; resolve via LIST_LOCATIONS first\n- Only SCHEDULED, UNPAID, or PARTIALLY_PAID invoices can be cancelled\n- CANCEL_INVOICE requires the invoice `version` to prevent race conditions\n- Cancelled invoices cannot be uncancelled\n\n## Common Patterns\n\n### ID Resolution\n\n**Location name -> Location ID**:\n```\n1. Call SQUARE_LIST_LOCATIONS\n2. Find location by name in response\n3. Extract id field (e.g., 'L1234ABCD')\n```\n\n**Order lookup**:\n```\n1. Call SQUARE_SEARCH_ORDERS with location_ids and query filters\n2. Extract order_id from results\n3. Use order_id for RETRIEVE_ORDER or UPDATE_ORDER\n```\n\n### Pagination\n\n- Check response for `cursor` field\n- Pass cursor value in next request's `cursor` parameter\n- Continue until `cursor` is absent or empty\n- Use `limit` to control page size\n\n### Date Range Filtering\n\n- Use RFC 3339 format: `2024-01-01T00:00:00Z`\n- For payments: `begin_time` and `end_time` parameters\n- For orders: Use query filter with date_time_filter\n- All timestamps are in UTC\n\n## Known Pitfalls\n\n**ID Formats**:\n- Location IDs are alphanumeric strings (e.g., 'L1234ABCD')\n- Payment IDs and Order IDs are longer alphanumeric strings\n- Always resolve location names to IDs before other operations\n\n**Versioning**:\n- UPDATE_ORDER and CANCEL_INVOICE require current `version` field\n- Fetch the resource first to get its current version\n- Version mismatch returns a 409 Conflict error\n\n**Rate Limits**:\n- Square API has per-endpoint rate limits\n- Implement backoff for bulk operations\n- Pagination should include brief delays for large datasets\n\n**Response Parsing**:\n- Responses may nest data under `data` key\n- Money amounts are in smallest currency unit (cents for USD)\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List payments | SQUARE_LIST_PAYMENTS | begin_time, end_time, location_id, cursor |\n| Cancel payment | SQUARE_CANCEL_PAYMENT | payment_id |\n| Search orders | SQUARE_SEARCH_ORDERS | location_ids, query, cursor |\n| Get order | SQUARE_RETRIEVE_ORDER | order_id |\n| Update order | SQUARE_UPDATE_ORDER | order_id, version |\n| List locations | SQUARE_LIST_LOCATIONS | (none) |\n| List invoices | SQUARE_LIST_INVOICES | location_id, cursor |\n| Get invoice | SQUARE_GET_INVOICE | invoice_id |\n| Cancel invoice | SQUARE_CANCEL_INVOICE | invoice_id, version |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,226,778,"2026-05-16 13:41:47",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"ce750ae6-dbf4-4413-b731-9254d3b6c433","1.0.0","square-automation.zip",2866,"uploads\u002Fskills\u002F46eb909d-ae32-4eae-8221-0ab6a2e09ee3\u002Fsquare-automation.zip","62c950b408e91b3095405fe17444ff32dfc4be4a9ad4b3164c83701fe24a1803","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":6971}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]