agentCLAWHUBUnverified

Python Automation

Full-stack Python automation toolkit for file processing, data extraction, PDF manipulation, Excel/workbook automation, web scraping, and system tasks. Use w... Skill: Python Automation Owner: ericlooi504 Summary: Full-stack Python automation toolkit for file processing, data extraction, PDF manipulation, Excel/workbook automation, web scraping, and system tasks. Use w... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-06T02:47:50.314Z | user Initial release: file processing, PDF/Excel automation, web scraping, CLI tools Archive index: Archive v1.0.0: 7 files, 6816 byte

OpenClaw

Rank

62

Safety

84

Downloads

1.2k

Updated

Oct 11, 2026

Version

1.0.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
1.2K downloadsadoption · observed Oct 11, 2026
Latest release
1.0.0release · observed May 6, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1728b3jrtnnagbdxjy2rmpndh84mk8e:python-automation
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-ericlooi504-python-automation/snapshot"

Documentation

CLAWHUB

8,803 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: python-automation
description: "Full-stack Python automation toolkit for file processing, data extraction, PDF manipulation, Excel/workbook automation, web scraping, and system tasks. Use when the user needs to: (1) Process/rename/organize files in bulk, (2) Extract data from PDFs, CSVs, or web pages, (3) Generate or modify Excel reports, (4) Automate repetitive system tasks (cron, file watching), (5) Build quick CLI tools for data processing."
---

# Python Automation

## Core Libraries Quick Reference

| Task | Library | Installation |
|------|---------|-------------|
| File system | `pathlib`, `shutil`, `os` | stdlib |
| CSV | `csv` | stdlib |
| Excel | `openpyxl` | `pip install openpyxl` |
| Excel (old) | `xlrd` / `xlwt` | `pip install xlrd xlwt` |
| PDF text | `PyMuPDF` (fitz) | `pip install PyMuPDF` |
| PDF tables | `camelot-py` / `tabula-py` | `pip install camelot-py` |
| Web scraping | `requests` + `BeautifulSoup4` | `pip install requests beautifulsoup4` |
| Browser automation | `playwright` or `selenium` | `pip install playwright` |
| CLI | `argparse` (stdlib) or `click` | stdlib / `pip install click` |
| Rich terminal | `rich` | `pip install rich` |
| File watching | `watchdog` | `pip install watchdog` |
| Scheduling | `schedule` or cron | `pip install schedule` |

## Common Patterns

### 1. Batch File Processing

```python
from pathlib import Path

for f in Path(".").glob("**/*.txt"):
    content = f.read_text()
    # transform content
    f.write_text(content)
```

### 2. CSV Read/Write

```python
import csv
with open("input.csv", newline="") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row["column_name"])

with open("output.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["col1", "col2"])
    writer.writerow(["val1", "val2"])
```

### 3. Excel Generation

```python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws["A1"] = "Hello"
ws["B1"] = 42
wb.save("output.xlsx")
```

### 4. Web Scraping

```python
import requests
from bs4 import BeautifulSoup

resp = requests.get("https://example.com", timeout=10)
soup = BeautifulSoup(resp.text, "html.parser")
for link in soup.select("a[href]"):
    print(link["href"], link.text.strip())
```

## Scripts

See [scripts/](scripts/) for ready-to-use automation scripts:
- `rename_batch.py` — Batch rename files with pattern matching
- `csv_to_excel.py` — Convert CSV files to Excel workbooks

## Reference Files

- [references/pandas.md](references/pandas.md) — Advanced data analysis with pandas
- [references/pdf.md](references/pdf.md) — PDF extraction patterns

_meta.json

{
  "ownerId": "kn7dgh3zgw7fda0c0dp8n1r3y984nn3e",
  "slug": "python-automation",
  "version": "1.0.0",
  "publishedAt": 1778035670314
}

references/pandas.md

# Pandas Data Analysis Quick Reference

## Setup
```bash
pip install pandas openpyxl matplotlib
```

## Common Patterns

### Reading data
```python
import pandas as pd

df = pd.read_csv("data.csv")
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")
df = pd.read_json("data.json")
df = pd.read_html("https://table-page.com")[0]  # parse HTML tables
```

### Data exploration
```python
df.head(10)
df.info()
df.describe()
df["column"].value_counts()
df.isnull().sum()
```

### Filtering
```python
df[df["age"] > 30]
df[(df["city"] == "KL") & (df["active"] == True)]
df.query("age > 30 and city == 'KL'")
```

### Grouping & aggregation
```python
df.groupby("category")["amount"].sum()
df.groupby(["year", "month"]).agg({"sales": "sum", "orders": "count"})
df.pivot_table(values="amount", index="city", columns="category", aggfunc="sum")
```

### Column operations
```python
df["total"] = df["price"] * df["quantity"]
df["date"] = pd.to_datetime(df["date_str"])
df.rename(columns={"old_name": "new_name"}, inplace=True)
df.drop(columns=["unused"], inplace=True)
```

### Export
```python
df.to_csv("output.csv", index=False)
df.to_excel("output.xlsx", sheet_name="Data", index=False)
df.to_json("output.json", orient="records")
```

### Merge / Join
```python
pd.merge(df1, df2, on="key", how="left")
pd.concat([df1, df2], axis=0)  # row bind
pd.concat([df1, df2], axis=1)  # column bind
```

### Date range filtering
```python
df[df["date"].between("2024-01-01", "2024-12-31")]
df.set_index("date").resample("M")["sales"].sum()
```

references/pdf.md

# PDF Processing Patterns

## Text Extraction

### Using PyMuPDF (fitz)
```bash
pip install PyMuPDF
```

```python
import fitz  # PyMuPDF

doc = fitz.open("document.pdf")
for page_num, page in enumerate(doc):
    text = page.get_text()
    print(f"--- Page {page_num + 1} ---")
    print(text)
```

### Using pdfplumber (better for tables)
```bash
pip install pdfplumber
```

```python
import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        tables = page.extract_tables()
```

## Table Extraction

### Using camelot-py (best for well-structured tables)
```bash
pip install camelot-py[cv]
```

```python
import camelot

tables = camelot.read_pdf("document.pdf", pages="1-3")
for table in tables:
    print(table.df)  # DataFrame
    # table.to_csv("table.csv")
```

## PDF Generation

### Using reportlab
```bash
pip install reportlab
```

```python
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvas

c = canvas.Canvas("output.pdf", pagesize=A4)
c.drawString(100, 700, "Hello, PDF!")
c.save()
```

### Using fpdf2 (simpler)
```bash
pip install fpdf2
```

```python
from fpdf import FPDF

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, text="Hello, PDF!", new_x="LMARGIN", new_y="NEXT")
pdf.output("output.pdf")
```

## PDF Merge / Split

```python
# Merge PDFs
from PyPDF2 import PdfWriter, PdfReader

writer = PdfWriter()
for pdf_file in ["file1.pdf", "file2.pdf"]:
    reader = PdfReader(pdf_file)
    for page in reader.pages:
        writer.add_page(page)

writer.write("merged.pdf")
```

skill-card.md

## Description:

Full-stack Python automation toolkit for file processing, data extraction, PDF manipulation, Excel/workbook automation, web scraping, and system tasks.

This skill is ready for commercial/non-commercial use.

## Publisher:

[ericlooi504](https://clawhub.ai/user/ericlooi504)

### License/Terms of Use:

MIT-0

## Use Case:

Developers and engineers use this skill to plan and generate Python automation for bulk file operations, data extraction, PDF and Excel workflows, web scraping, and small CLI utilities.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: File-renaming operations can move or overwrite local files when run on important or overly broad folders.

Mitigation: Run operations on test copies first, use dry-run preview before renaming, and avoid broad target directories.

Risk: Converting untrusted CSV data to Excel can create risky spreadsheet output.

Mitigation: Sanitize CSV values before conversion and process untrusted data in a controlled environment.

Risk: Unpinned Python dependencies can change behavior across environments.

Mitigation: Install dependencies in a virtual environment and pin package versions for repeatable automation runs.

## Reference(s):

- [Pandas Data Analysis Quick Reference](references/pandas.md)
- [PDF Processing Patterns](references/pdf.md)
- [ClawHub Skill Page](https://clawhub.ai/ericlooi504/skills/python-automation)

## Skill Output:

**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]

**Output Format:** [Markdown responses with inline code blocks and command examples]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [May include generated Python scripts, dependency installation commands, and file-processing guidance.]

## Skill Version(s):

1.0.0 (source: release evidence)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 1d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/ericlooi504/skills/python-automation",
      "sourceUrl": "https://clawhub.ai/ericlooi504/skills/python-automation",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:15:28.483Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-ericlooi504-python-automation/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ericlooi504-python-automation/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:15:28.483Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.2K downloads",
      "href": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceUrl": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:15:28.483Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.0",
      "href": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceUrl": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-06T02:47:50.314Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-ericlooi504-python-automation/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-ericlooi504-python-automation/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.0",
      "description": "Initial release: file processing, PDF/Excel automation, web scraping, CLI tools",
      "href": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceUrl": "https://clawhub.ai/ericlooi504/python-automation",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-06T02:47:50.314Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

Sponsored

Ads related to Python Automation and adjacent AI workflows.