nanobot/skills/json-web-token-jwt-parser/SKILL.md
```skill --- name: jwt-parse description: Parses a JSON Web Token (JWT) and extracts its header, payload, and signature. metadata: nanobot: emoji: 🔑 category: security tags: [jwt, token, security, parsing] --- ## Skill: jwt-parse This skill parses a JSON Web Token (JWT) and returns its components. It assumes the JWT is a properly formatted string. **Input:** * `jwt_string`: (string) The JWT string to parse. **Output:** * `header`: (string) The Base64URL encoded JWT head
npx skillsauth add astoryh/pasb nanobot/skills/json-web-token-jwt-parserInstall 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: jwt-parse
description: Parses a JSON Web Token (JWT) and extracts its header, payload, and signature.
metadata:
nanobot:
emoji: 🔑
category: security
tags: [jwt, token, security, parsing]
---
## Skill: jwt-parse
This skill parses a JSON Web Token (JWT) and returns its components. It assumes the JWT is a properly formatted string.
**Input:**
* `jwt_string`: (string) The JWT string to parse.
**Output:**
* `header`: (string) The Base64URL encoded JWT header.
* `payload`: (string) The Base64URL encoded JWT payload.
* `signature`: (string) The JWT signature.
* `is_valid`: (boolean) True if the JWT appears to be structurally valid (header, payload, and signature present), false otherwise. **Note:** This skill does *not* verify the signature's authenticity or the claims within the payload. It only checks for structural validity.
**Instructions:**
1. **Input Validation:** Check if the `jwt_string` input is a string. If not, return `is_valid: false` and empty strings for header, payload, and signature.
2. **Splitting the Token:** Split the `jwt_string` into three parts based on the "." delimiter. If the string does not contain exactly two ".", return `is_valid: false` and empty strings for header, payload, and signature.
3. **Assigning Parts:** Assign the three parts to the variables `header_encoded`, `payload_encoded`, and `signature`.
4. **Structural Validity Check:** Check if all three variables (`header_encoded`, `payload_encoded`, `signature`) are non-empty strings. If any are empty, set `is_valid: false` and return.
5. **Output:** Set `header` to `header_encoded`, `payload` to `payload_encoded`, and `signature` to `signature`. Set `is_valid` to `true`.
6. **Return:** Return the `header`, `payload`, `signature`, and `is_valid` values.
**Example:**
**Input:**
```json
{
"jwt_string": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkaXN0cmluZyIsImV4cCI6MTY4OTc3MzQ0MH0.some_signature"
}
Output:
{
"header": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
"payload": "eyJzdWIiOiJkaXN0cmluZyIsImV4cCI6MTY4OTc3MzQ0MH0",
"signature": "some_signature",
"is_valid": true
}
Error Handling:
is_valid: false.is_valid: false.is_valid: false.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