More screenshots

    Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIGitHub CopilotGitHub CopilotGemini CLIGemini CLI+20 more

    Repair Data Serialization & Parsing Bugs

    1

    Diagnose and repair serialization, parsing, encoding, numeric/date conversion, optional fields, and representation drift across boundaries.

    $8.99

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    0 installsSecurity scanned
    Repair Data Serialization & Parsing Bugs

    Repair Data Serialization & Parsing Bugs

    Example session with this skill installed

    The TypeScript frontend is sending ISO-8601 dates, but the Go backend fails to parse them into the struct. It seems to happen only with UTC 'Z' suffixes. Here is the Go struct and a log snippet.

    • Read your context and instructions
    • Compiled the repair data serialization

    I have analyzed the Go struct and the provided log snippet. The issue stems from using time.Time with a custom JSON unmarshaler that expects a specific space-separated format, which fails when it encounters the ISO-8601 'Z' suffix favored by the TypeScript toISOString() method.

    Data Serialization Repair

    Diagnosis

    The Go backend is using a legacy parsing pattern that does not support the RFC3339/ISO-8601 'Z' literal. While TypeScript correctly serializes the date, the Go json.Unmarshal process fails because the underlying field or custom UnmarshalJSON method lacks the flexible parsing needed for multiple ISO-8601 variants.

    Proposed Patch (Go)

    package models
    
    import (
    	"encoding/json"
    	"time"
    	"strings"
    )
    
    type Event struct {
    	ID        string    `json:"id"`
    	Timestamp DateTime  `json:"timestamp"`
    }
    
    // DateTime wraps time.Time to handle multiple ISO-8601 formats
    type DateTime struct {
    	time.Time
    }
    
    func (dt *DateTime) UnmarshalJSON(b []byte) error {
    	s := strings.Trim(string(b), "\"")
    	if s == "null" {
    		return nil
    	}
    	// Try RFC3339 (standard ISO-8601) first
    	t, err := time.Parse(time.RFC3339, s)
    	if err != nil {
    		// Fallback for legacy space-separated format if necessary
    		t, err = time.Parse("2006-01-02 15:04:05", s)
    	}
    	if err != nil {
    		return err
    	}
    	dt.Time = t
    	return nil
    }
    

    Focused Deterministic Test

    func TestDateTime_UnmarshalJSON(t *testing.T) {
    	tests := []struct {
    		input    string
    		expected string
    	}{
    		{`"2023-10-27T10:00:00Z"`, "2023-10-27 10:00:00 +0000 UTC"},
    		{`"2023-10-27 10:00:00"`, "2023-10-27 10:00:00 +0000 UTC"},
    	}
    
    	for _, tc := range tests {
    		var dt DateTime
    		if err := json.Unmarshal([]byte(tc.input), &dt); err != nil {
    			t.Errorf("Failed to unmarshal %s: %v", tc.input, err)
    		}
    		if dt.String() != tc.expected {
    			t.Errorf("Expected %s, got %s", tc.expected, dt.String())
    		}
    	}
    }
    

    Next steps

    1. Replace the time.Time fields in your Go structs with the DateTime wrapper.
    2. Run the provided unit test to confirm support for both 'Z' and space-separated formats.
    3. Verify if the frontend needs to handle specific precision (milliseconds/nanoseconds) when receiving data back from the Go API.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Identify schema drift between microservices by analyzing request logs.Repair broken date and numeric serialization in API payloads.Fix encoding and escaping bugs that corrupt text data in transit.Generate deterministic tests for boundary parsing logic.

    About this skill

    Repair Data Serialization & Parsing Bugs is a bounded ToolForge Labs workflow. Diagnose and repair serialization, parsing, encoding, numeric/date conversion, optional fields, and representation drift across boundaries. Works from full repositories or partial context such as snippets, logs, configuration, traces, and architecture notes. Produces concrete repairs or evidence-backed review outputs while preserving existing product/security policy.

    It works from a full repository or partial evidence such as snippets, logs, configuration, traces, tickets, and architecture notes. The skill preserves existing product and security policy, separates verified facts from assumptions, avoids invented execution claims, and produces concrete repair or review steps with focused deterministic validation or traceable evidence.

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 19 days ago

    • Passed all security checks, Safe to install

    Listed19 days ago

    What's inside

    Frequently Asked Questions