Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    Cli Craft Pro

    1

    Build production-grade CLI tools with robust argument parsing, animated spinners, color palettes, clean exit codes, and stdout/stderr hygiene.

    $10

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    Security scanned
    cli-craft-pro

    cli-craft-pro

    Example session with this skill installed

    Build a Python CLI tool using Typer and Rich to fetch user data from an API. I need a search command, JSON output support, and a clean progress spinner on stderr.

    • Read your context and instructions
    • Compiled the cli-craft-pro

    I have scaffolded a production-ready Python CLI using Typer and Rich. The architecture ensures that API data is sent to stdout while the spinner and logs are directed to stderr, keeping the tool pipe-friendly.

    User Data CLI

    
    # user_cli.py
    import sys
    import json
    import time
    from typing import Optional
    import typer
    from rich.console import Console
    from rich.progress import Progress, SpinnerColumn, TextColumn
    
    app = typer.Typer(help="Industrial User Management CLI")
    err_console = Console(stderr=True)
    out_console = Console()
    
    @app.command()
    def search(
        query: str = typer.Argument(..., help="Username or ID to search for"),
        json_output: bool = typer.Option(False, "--json", help="Output results in JSON format"),
        verbose: bool = typer.Option(False, "--verbose", "-v", help="Enable verbose logging")
    ):
        """Search for users with a live progress indicator."""
        
        with Progress(
            SpinnerColumn(),
            TextColumn("[progress.description]{task.description}"),
            console=err_console,
            transient=True
        ) as progress:
            progress.add_task(description=f"Fetching user: {query}...", total=None)
            # Simulate API Latency
            time.sleep(1.5)
            
            # Mock Data
            user_data = {"id": 101, "username": query, "role": "admin", "status": "active"}
    
        if json_output:
            # Direct data to stdout only
            print(json.dumps(user_data, indent=2))
        else:
            out_console.print(f"[bold green]✓[/bold green] Found user: [cyan]{user_data['username']}[/cyan] (ID: {user_data['id']})")
    
    if __name__ == "__main__":
        try:
            app()
        except Exception as e:
            err_console.print(f"[bold red]Error:[/bold red] {e}")
            sys.exit(1)
    
    
    # pyproject.toml
    [project]
    name = "user-cli"
    version = "0.1.0"
    dependencies = [
        "typer[all]>=0.9.0",
        "rich>=13.0.0"
    ]
    
    [project.scripts]
    user-tool = "user_cli:app"
    

    Next steps

    1. Install dependencies: pip install typer[all] rich
    2. Run the tool: python user_cli.py search "jdoe"
    3. Test pipe hygiene: python user_cli.py search "jdoe" --json | jq .id

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

    What you get

    Implement strict stdout/stderr separation for pipe-compatible tools.Generate POSIX-compliant flag parsing for Node.js, Python, or Go.Handle SIGINT and SIGTERM for graceful terminal exits.Create interactive TUIs with spinners that auto-disable in CI/CD.

    About this skill

    The Problem: Clunky, Broken AI-Generated CLI Tools

    AI coding agents frequently generate brittle command-line tools. They dump messy console.log outputs that break Unix pipes, mix error traces directly into standard output, neglect proper exit codes (exiting with 0 on failures), and fail to implement graceful Ctrl+C cancellation or formatted help screens.

    What CLI Craft Pro Delivers

    • Flawless Stdout / Stderr Hygiene: Separates programmatic output from diagnostic errors so your CLI tools seamlessly integrate into Unix pipelines and shell scripts.
    • Modern Interactive UI Components: Scaffolds animated terminal spinners, responsive progress bars, and accessible ANSI color palettes using industry-standard libraries.
    • Strict Argument & Flag Parsing: Builds comprehensive sub-commands, required flags, type-checked options, and automated --help documentation.
    • Zero-Crash Signal Handling: Enforces proper Unix exit codes (0 for success, 1+ for errors) and graceful SIGINT / SIGTERM handling without ugly stack traces.
    • Cross-Language Support: Optimized for Node.js (Commander, Clack, Chalk), Python (Typer, Click, Rich), and Go (Cobra).

    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 today

    • Passed all security checks, Safe to install

    Listedtoday

    What's inside

    Frequently Asked Questions