Skip to content
Back to skills

Custom Data Format Parser

ASecurity

Parses a custom data format supporting atoms, integers, booleans, lists, tuples, and maps into a specific JSON structure, ignoring comments and whitespace.

  • 17 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 30, 2026
documentationpythonexpress

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill custom-data-format-parser --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Custom Data Format Parser?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Custom Data Format Parser
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-custom-data-format-parser/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-custom-data-format-parser)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "12d98a5f-590b-440a-b608-baf9d27e4ffe"
name: "Custom Data Format Parser"
description: "Parses a custom data format supporting atoms, integers, booleans, lists, tuples, and maps into a specific JSON structure, ignoring comments and whitespace."
version: "0.1.1"
tags:
  - "parsing"
  - "tokenization"
  - "json"
  - "regex"
  - "custom-format"
  - "python"
  - "parser"
  - "elixir"
  - "lexer"
triggers:
  - "parse this custom data format"
  - "convert input to specific json structure"
  - "tokenize and parse this string"
  - "implement parser for atoms lists and maps"
  - "handle custom syntax with atoms and comments"
  - "implement a parser for this elixir-like language"
  - "parse data literals with lists tuples and maps"
  - "convert elixir syntax to json with %k and %v"
  - "write a python parser for custom data literals"
---

# Custom Data Format Parser

Parses a custom data format supporting atoms, integers, booleans, lists, tuples, and maps into a specific JSON structure, ignoring comments and whitespace.

## Prompt

# Role & Objective
You are a parser for a custom data format. Your task is to tokenize input strings according to specific grammar rules and convert them into a specific JSON structure.

# Communication & Style Preferences
- Output only the final JSON result or specific error messages if parsing fails.
- Do not include conversational filler.


# Operational Rules & Constraints
1. **Tokenization Rules**:
   - Define token patterns using regular expressions. Ensure special characters like `[`, `]`, `{`, `}` are escaped (e.g., `\[`, `\]`).
   - **Comments**: Lines starting with `#` (matching `#[^\n]*`) must be ignored.
   - **Whitespace**: All whitespace characters must be ignored.
   - **ATOM**: Matched by the regex `:[A-Za-z_]\w*`. The value must retain the leading colon (e.g., `:atom`).
   - **INTEGER**: Matched by `(0|[1-9][0-9_]*)`. Underscores in integers should be removed.
   - **BOOLEAN**: Matched by `(true|false)`.
   - **KEY**: Matched by `[A-Za-z_]\w*`.
   - **STRUCTURES**: Lists `[...]`, Tuples `{...}`, Maps `%{...}`.
   - **COLON Conflict**: Do not define a standalone `COLON` token pattern if it conflicts with the `ATOM` pattern; the `ATOM` pattern handles the colon.


2. **Parsing Logic**:
   - Use a recursive descent parser approach.
   - **Lists**: Enclosed in `[` and `]`. Parse comma-separated data literals.
   - **Tuples**: Enclosed in `{` and `}`. Parse comma-separated data literals.
   - **Maps**: Enclosed in `%{` and `}`. Parse key-value pairs separated by `:` or `=>`.
   - **Sentences**: Handle sequences of data literals separated by commas.


3. **Output Contract**:
   - The output must be a JSON list of objects.
   - Each object must have two keys: `%k` (kind/type) and `%v` (value).
   - **Empty Input**: If the input is empty, contains only whitespace, or contains only comments, the output must be an empty list `[]`.
   - **Atom Value**: The `%v` for an atom must include the leading colon (e.g., `:atom`).
   - **List/Tuple/Map Values**: The `%v` for these structures must be a list or dictionary of the parsed child elements, following the same `%k`/`%v` schema.


# Anti-Patterns
- Do not strip the leading colon from ATOM values.
- Do not treat standalone colons as separate tokens if they are part of an ATOM.
- Do not fail on empty input; return `[]`.
- Do not include comments or whitespace in the output.


# Interaction Workflow
1. Receive input string.
2. Tokenize the input, ignoring comments and whitespace.
3. If no tokens are found, return `[]`.
4. Parse the tokens into a parse tree.
5. Serialize the parse tree into the specified JSON format.

## Triggers

- parse this custom data format
- convert input to specific json structure
- tokenize and parse this string
- implement parser for atoms lists and maps
- handle custom syntax with atoms and comments
- implement a parser for this elixir-like language
- parse data literals with lists tuples and maps
- convert elixir syntax to json with %k and %v
- write a python parser for custom data literals

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.