agentsclimarketplace

Funurl

Skill HappyHackingSpace/skills/skills/funurl

Agent Skills for Happy Hacking Space's open-source security tools. Compatible with Claude Code, OpenAI Codex, Gemini CLI, and Cursor.

Install
npx -y skills add HappyHackingSpace/skills --skill funurl

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Parse, modify, encode, decode, and deduplicate URLs from the command line. Use when the user needs to extract URL components, manipulate URLs, encode/decode URL strings, or deduplicate URL lists for security testing or web automation.

SKILL.md

2.4 KB, as published. Nobody here has run it

funURL - A Functional URL Swiss Army Knife

funURL is a CLI tool for parsing, validating, modifying, encoding/decoding, and deduplicating URLs.

Installation

.NET Tool

dotnet tool install --global funurl

Binary Download

Download from Releases for Linux, macOS, or Windows (x64 and ARM64).

Commands

URL Parsing

Extract specific components from a URL:

# Parse all URL components
funurl parse https://subdomain.example.com/path?query=value#fragment

# Extract specific components
funurl parse -c https://example.com          # protocol/scheme
funurl parse -s https://sub.example.com      # subdomain
funurl parse -t https://example.com          # top-level domain
funurl parse -n https://example.com          # hostname
funurl parse -p https://example.com/path     # path
funurl parse -q https://example.com/?k=v     # query parameters
funurl parse -f https://example.com/#section # fragment

URL Modification

# Change protocol
funurl modify -c https http://example.com

# Update path
funurl modify -p /new/path https://example.com/old/path

# Change query string
funurl modify -q "key1=val1&key2=val2" https://example.com?old=param

# Update fragment
funurl modify -f "new-section" https://example.com#old-section

URL Encoding

# Path-encode
funurl encode "hello world"

# Query component encoding
funurl encode -c "param=value with spaces"

URL Decoding

# Path-decode
funurl decode "hello%20world"

# Query component decoding
funurl decode -c "param%3Dvalue%20with%20spaces"

URL Deduplication

# Deduplicate from arguments
funurl dedupe https://google.com https://google.com/home?qs=value https://google.com/home?qs=secondValue

# Deduplicate from stdin
cat urls.txt | funurl dedupe

Input Methods

  1. Via command-line argument: funurl parse https://example.com
  2. Via stdin (pipe): echo "https://example.com" | funurl parse
  3. Via interactive input: funurl parse then type URL and press Enter

References

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.