Daily website grammar proofreader. Crawls all pages of configured websites, checks for grammatical errors using AI, and emails a detailed report. Runs automatically at 6 AM IST via cron. Use 'run proofreader' to check manually or 'add website proofreader' to add new sites.
Automated daily grammar checker for Apni Pathshala websites.
Stored in ~/clawd/website-proofreader/sites.txt:
https://apnipathshala.org
https://chaloseekhe.org
https://apnapc.com
For each site in the list:
For each page's text:
Create structured report:
# Grammar Report - [Date]
## Summary
- Total Pages Checked: X
- Total Issues Found: Y
- By Website:
- apnipathshala.org: A issues
- chaloseekhe.org: B issues
- apnapc.com: C issues
## Issues by Page
### [Page Title]
**URL:** https://...
**Issues Found:** N
| # | Error Type | Original Text | Suggested Fix | Context |
|---|------------|---------------|---------------|---------|
| 1 | Spelling | "teh" | "the" | "...went to teh store..." |
| 2 | Grammar | "He go to school" | "He goes to school" | "...everyday He go to..." |
---
Send to configured recipients with:
Website Grammar Report - [Date]#!/bin/bash
# crawl-site.sh - Extract all text from website pages
SITE=$1
OUTPUT_DIR=$2
# Create output directory
mkdir -p "$OUTPUT_DIR"
# Get sitemap URLs if available
SITEMAP_URLS=$(curl -s "${SITE}/sitemap.xml" | grep -oP '(?<=<loc>)[^<]+' | head -100)
if [ -n "$SITEMAP_URLS" ]; then
echo "$SITEMAP_URLS" > "${OUTPUT_DIR}/urls.txt"
else
# If no sitemap, crawl from homepage
wget --spider -r -l 3 -nd -H -A html,htm "${SITE}" 2>&1 | grep -oP 'https?://[^ ]+' | sort -u > "${OUTPUT_DIR}/urls.txt"
fi
# Extract text from each URL
while read -r url; do
# Get page content and extract text
curl -s "$url" | \
sed 's/<script[^>]*>.*<\/script>//gi' | \
sed 's/<style[^>]*>.*<\/style>//gi' | \
sed 's/<[^>]*>//g' | \
sed 's/ / /g' | \
sed 's/&/\&/g' | \
tr -s ' \n' ' ' > "${OUTPUT_DIR}/$(echo $url | md5sum | cut -d' ' -f1).txt"
# Store URL mapping
echo "${url},$(echo $url | md5sum | cut -d' ' -f1).txt" >> "${OUTPUT_DIR}/url_map.csv"
done < "${OUTPUT_DIR}/urls.txt"
For each extracted text file:
AI Prompt for Grammar Checking:
You are a grammar checker. Analyze the following text and identify ALL grammatical errors, spelling mistakes, and awkward phrasing.
For each issue found, provide:
1. Error type (Spelling/Grammar/Punctuation/Style)
2. The original text with error
3. The corrected version
4. Brief explanation
Text to check:
[PAGE CONTENT]
Output format (JSON):
{
"issues": [
{
"type": "Spelling",
"original": "teh",
"corrected": "the",
"context": "...went to teh store...",
"explanation": "Common typo"
}
]
}
# Add to OpenClaw cron
openclaw cron add --name "website-proofreader" --schedule "0 0:30 * * *" --command "run proofreader"
Or manually via crontab:
30 0 * * * /home/aptest/.openclaw/workspace/skills/website-proofreader/run-proofreader.sh
~/clawd/website-proofreader/
├── sites.txt # List of websites to check
├── recipients.txt # Email recipients
├── cache/ # Cached page content
├── reports/ # Historical reports
│ └── YYYY-MM-DD/
│ ├── report.md
│ └── issues.csv
└── last_report.json # Summary of last run
echo "https://newsite.com" >> ~/clawd/website-proofreader/sites.txt
sed -i '/newsite.com/d' ~/clawd/website-proofreader/sites.txt
cat ~/clawd/website-proofreader/sites.txt
~/clawd/website-proofreader/run-proofreader.sh
# Website Grammar Report - 2026-02-23
## Summary
- Total Pages Checked: 47
- Total Issues Found: 12
- Critical: 2 | Major: 5 | Minor: 5
## By Website
- apnipathshala.org: 5 issues (23 pages)
- chaloseekhe.org: 4 issues (15 pages)
- apnapc.com: 3 issues (9 pages)
## Top Issues
### 1. apnipathshala.org/about
**Issue:** Missing article
❌ "He is student at Apni Pathshala"
✅ "He is a student at Apni Pathshala"
### 2. chaloseekhe.org/contact
**Issue:** Subject-verb agreement
❌ "Students learns digital skills"
✅ "Students learn digital skills"
---
Report generated by Anukar 🐆
npx skills add tarasinghrajput/website-proofreader下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Manage Trello boards, lists, and cards via the Trello REST API.
Category:productivity