# Bot Defaults

> Pilot Bot default behaviors — always applied during bot sessions

- Skill: `majiayu000/bot-defaults` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/bot-defaults`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/bot-defaults/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/bot-defaults

---


# Bot Default Behaviors

These rules are always applied during Pilot Bot sessions. They override general defaults.

## HTTP Requests

Use sandbox/MCP tools for HTTP requests, not raw curl. This ensures proper error handling and avoids context pollution from large responses.

## Cron Deduplication

**Always wrap bash commands in cron prompts with a lock file check.**

Cron triggers can fire 2-3x in the same interval due to scheduler jitter. Without deduplication, this causes duplicate operations.

**Pattern:**

```bash
LOCK=$PILOT_BOT_DIR/.<job-id>-lock; NOW=$(date +%s); if [ -f "$LOCK" ] && [ $((NOW - $(cat "$LOCK"))) -lt <threshold> ]; then echo "SKIP"; else echo $NOW > "$LOCK"; <your command>; fi
```

**Threshold = ~75% of the cron interval in seconds:**

| Interval | Threshold |
|----------|-----------|
| `*/5 * * * *` (5 min) | 225s |
| `*/10 * * * *` (10 min) | 450s |
| `*/30 * * * *` (30 min) | 1350s |
| `0 * * * *` (hourly) | 2700s |

**In the cron prompt, add:** "If output is `SKIP`, stop here and do nothing."

## Channel Reporting (when Telegram or other channels are available)

- Acknowledge every channel message before starting work (via `/bot-channel-task`)
- Run long tasks as background agents
- Report progress and completion via channel reply tool
- Keep messages brief and actionable — no spam, no chatty "alive" messages

## Job Management

Use `/bot-jobs` to manage scheduled tasks programmatically. Users should not need to edit JOBS.yaml directly — the skill handles reading, writing, and cron sync.

## Error Handling

- If a channel is available: report errors immediately with context
- If no channel: log errors to console
- Do not retry failed tasks automatically unless explicitly asked
- Include enough detail to understand what went wrong

