home / skills / knoopx / pi / jc

jc skill

/agent/skills/jc

npx playbooks add skill knoopx/pi --skill jc

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.9 KB
---
name: jc
description: Convert CLI output to JSON for structured processing and analysis. Use when parsing ps, dig, netstat, ls, or other command output into machine-readable format for piping to jq or scripts.
---

# JC Cheatsheet

JSONifies the output of many CLI tools and file-types for easier parsing in scripts.

## Basic Usage

```bash
command | jc --parser          # Pipe output
jc command                    # Magic syntax
jc --help                     # List all parsers
jc --help --parser            # Parser docs
```

## Examples

```bash
dig example.com | jc --dig | jq '.answer[].data'
ps aux | jc --ps
ifconfig | jc --ifconfig
```

## Parsers

| Category | Parsers |
|----------|---------|
| System | `ps`, `top`, `free`, `df`, `du`, `ls`, `stat`, `uptime` |
| Network | `dig`, `ping`, `traceroute`, `netstat`, `ss`, `ifconfig` |
| Files | `ls`, `find`, `stat`, `file`, `mount`, `fstab` |
| Packages | `dpkg -l`, `rpm -qi`, `pacman`, `brew` |
| Logs | `syslog`, `clf` (Common Log Format) |
| Dev | `git log`, `docker ps`, `kubectl` |

## Options

| Flag | Description |
|------|-------------|
| `-p` | Pretty format JSON |
| `-r` | Raw output (less processed) |
| `-u` | Unbuffered output |
| `-q` | Quiet (suppress warnings) |
| `-d` | Debug mode |
| `-y` | YAML output |
| `-M` | Add metadata |
| `-s` | Slurp multi-line input |

## Slicing

Skip lines: `START:STOP` syntax

```bash
cat file.txt | jc 1:-1 --parser  # Skip first/last lines
```

## Slurp Mode

For multi-line parsers: `--slurp` outputs array

```bash
cat ips.txt | jc --slurp --ip-address
```

## Python Library

```python
import jc

# Parse command output
data = jc.parse('dig', output_string)

# Or parse directly
data = jc.parsers.dig.parse(output_string)
```

## Tips

- Magic syntax: `jc command` auto-detects parser
- Use `jq` for processing: `jc cmd | jq '.field'`
- `--slurp` for multiple items per file
- Streaming parsers for large outputs
- Python lib returns dict/list, not JSON