ddg

Use ddgr (DuckDuckGo from the terminal) to perform privacy-focused web searches from the command line. Use when the user wants to (1) Search the web from the terminal, (2) Perform DuckDuckGo searches without opening a browser, (3) Get quick search results in text format, (4) Search privately without tracking, (5) Use DuckDuckGo bangs (!) from terminal.

7 stars

Best use case

ddg is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use ddgr (DuckDuckGo from the terminal) to perform privacy-focused web searches from the command line. Use when the user wants to (1) Search the web from the terminal, (2) Perform DuckDuckGo searches without opening a browser, (3) Get quick search results in text format, (4) Search privately without tracking, (5) Use DuckDuckGo bangs (!) from terminal.

Teams using ddg should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/ddg/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/instant-picture/ddg/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ddg/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ddg Compares

Feature / AgentddgStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use ddgr (DuckDuckGo from the terminal) to perform privacy-focused web searches from the command line. Use when the user wants to (1) Search the web from the terminal, (2) Perform DuckDuckGo searches without opening a browser, (3) Get quick search results in text format, (4) Search privately without tracking, (5) Use DuckDuckGo bangs (!) from terminal.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# ddgr - DuckDuckGo from the Terminal

**ddgr** is a command-line utility to search DuckDuckGo from the terminal. It provides fast, privacy-focused web searches without opening a browser.

## Installation

### Via Snap (recommended for Ubuntu):
```bash
sudo snap install ddgr
```

### Via PPA:
```bash
sudo add-apt-repository ppa:twodopeshaggy/jarun
sudo apt-get update
sudo apt-get install ddgr
```

### From source:
```bash
git clone https://github.com/jarun/ddgr.git
cd ddgr
sudo make install
```

**Dependencies:** Python 3.8 or later

## Basic Usage

### Simple search (non-interactive):
```bash
snap run ddgr "search query" --np
```

### Search with specific number of results:
```bash
snap run ddgr "search query" --num 5 --np
```

### Search with time limit:
```bash
snap run ddgr "query" --time w --np    # past week
snap run ddgr "query" --time m --np    # past month
snap run ddgr "query" --time y --np    # past year
```

### Site-specific search:
```bash
snap run ddgr "query" --site github.com --np
```

### JSON output:
```bash
snap run ddgr "query" --json --np
```

### Open first result in browser:
```bash
snap run ddgr "query" --ducky
```

## Interactive Mode

Run without `--np` to enter interactive mode:
```bash
snap run ddgr "search query"
```

**Interactive commands:**
- `1`, `2`, `3`... → open result in browser
- `n` → next page of results
- `p` → previous page of results
- `q` or `Ctrl+D` → quit
- `?` → show help

## Advanced Options

| Option | Description |
|--------|-------------|
| `-n N`, `--num N` | Show N results per page (0-25, default 10) |
| `-r REG`, `--reg REG` | Region-specific search (e.g., 'us-en', 'uk-en') |
| `-t SPAN`, `--time SPAN` | Time limit: d (day), w (week), m (month), y (year) |
| `-w SITE`, `--site SITE` | Search specific site |
| `-x`, `--expand` | Show complete URLs |
| `--json` | Output in JSON format |
| `--ducky` | Open first result in browser |
| `--np`, `--noprompt` | Non-interactive mode |
| `--unsafe` | Disable safe search |

## DuckDuckGo Bangs

Use DuckDuckGo bangs to search specific sites:
```bash
snap run ddgr "!w Linux" --np        # Wikipedia search
snap run ddgr "!yt music" --np       # YouTube search
snap run ddgr "!gh python" --np      # GitHub search
snap run ddgr "!a books" --np        # Amazon search
```

## Make it Easier with an Alias

Add to `~/.bashrc` or `~/.zshrc`:
```bash
alias ddg='snap run ddgr'
```

Then use:
```bash
ddg "search query" --np
```

## Privacy Features

- No user tracking or profiling
- Do Not Track enabled by default
- Works over Tor network (with proxy)
- HTTPS proxy support
- No stored search history

## Examples

### Search for tech news:
```bash
snap run ddgr "latest AI news 2025" --num 5 --np
```

### Find Ubuntu tutorials:
```bash
snap run ddgr "Ubuntu tutorial" --site askubuntu.com --np
```

### Search recent Python documentation:
```bash
snap run ddgr "Python 3.12 features" --time m --np
```

### Use bang to search Wikipedia:
```bash
snap run ddgr "!w OpenClaw" --np
```

## Troubleshooting

**Command not found:**
- Ensure ddgr is installed via snap: `sudo snap install ddgr`
- Use full command: `snap run ddgr` instead of just `ddgr`

**No results:**
- Check internet connection
- Try without `--np` to see if interactive mode works
- Verify DuckDuckGo is accessible in your region

**Slow response:**
- DuckDuckGo HTML interface can be slower than main site
- Use `--time` to limit results by time for faster queries

## More Information

- GitHub: https://github.com/jarun/ddgr
- DuckDuckGo: https://duckduckgo.com
- Bangs: https://duckduckgo.com/bang

Related Skills

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.

surf-check

7
from Demerzels-lab/elsamultiskillagent

Surf forecast decision engine.

jinko-flight-search

7
from Demerzels-lab/elsamultiskillagent

Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.

mlx-whisper

7
from Demerzels-lab/elsamultiskillagent

Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).