nanobot/skills/klarna-order-authorization/SKILL.md
```skill --- name: klarna-order-authorization description: Authorizes a Klarna order based on provided details and user confirmation. metadata: nanobot: emoji: 💳 category: financial tags: [klarna, authorization, payment, order] --- ## Klarna Order Authorization Skill This skill allows the nanobot to authorize a Klarna order after verifying the details and obtaining user confirmation. **Instructions:** 1. **Receive Order Details:** The nanobot will receive order details, inclu
npx skillsauth add astoryh/pasb nanobot/skills/klarna-order-authorizationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: klarna-order-authorization
description: Authorizes a Klarna order based on provided details and user confirmation.
metadata:
nanobot:
emoji: 💳
category: financial
tags: [klarna, authorization, payment, order]
---
## Klarna Order Authorization Skill
This skill allows the nanobot to authorize a Klarna order after verifying the details and obtaining user confirmation.
**Instructions:**
1. **Receive Order Details:** The nanobot will receive order details, including:
* `order_id`: A unique identifier for the order.
* `amount`: The total amount of the order.
* `currency`: The currency of the order (e.g., USD, EUR).
* `description`: A brief description of the order.
* `klarna_session_token`: A token representing the Klarna session. This is *critical* for authorization.
* `user_email`: The email address associated with the Klarna account.
2. **Verify Order Details:** Cross-reference the received details with available data (e.g., previous orders, user profile) to ensure consistency and identify any potential discrepancies. Log any discrepancies.
3. **User Confirmation Request:** Generate a clear and concise message for the user, summarizing the order details and requesting confirmation. Example: "Authorize Klarna order #12345 for $50.00 USD? (Description: Widget Purchase). Confirm with 'yes' or 'no'."
4. **Await User Response:** Wait for the user's response.
5. **Process User Response:**
* **If User Responds 'yes' or equivalent:** Proceed to authorization.
* **If User Responds 'no' or equivalent:** Inform the user that the order has not been authorized and log the rejection. Terminate the skill.
* **If User Provides Unclear Response:** Prompt the user to confirm with a clear 'yes' or 'no'.
6. **Authorize Order (Simulated):** Since this is a simulated environment, the nanobot will *simulate* the authorization process. Instead of making an actual API call to Klarna, the nanobot will:
* Log a message indicating that the order is being authorized. Include the `order_id`, `amount`, `currency`, and `klarna_session_token`.
* Generate a simulated authorization code (e.g., a random alphanumeric string).
* Store the simulated authorization code along with the order details.
7. **Confirmation Message:** Inform the user that the order has been authorized and provide the simulated authorization code. Example: "Order #12345 authorized. Authorization code: ABCDEFG123."
8. **Skill Completion:** Mark the skill as complete and log the successful authorization.
**Error Handling:**
* **Missing Order Details:** If any required order details are missing, inform the user and request the missing information.
* **Invalid Klarna Session Token:** If the `klarna_session_token` is invalid, inform the user that the session is expired and authorization cannot proceed.
* **Unexpected Errors:** Log any unexpected errors and inform the user that an error occurred.
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi