agentCLAWHUBUnverified

Nag

Persistent reminder system that keeps bugging you until you confirm completion. Use when setting up recurring reminders, nag schedules, or any task that need... Skill: Nag Owner: madebydia Summary: Persistent reminder system that keeps bugging you until you confirm completion. Use when setting up recurring reminders, nag schedules, or any task that need... Tags: latest:1.0.4 Version history: v1.0.4 | 2026-06-07T03:31:49.101Z | user Refresh publisher identity and metadata for madebydia v1.0.3 | 2026-03-24T12:31:29.912Z | auto Version 1.0.3 of the nag skill - No file changes d

OpenClaw

Rank

62

Safety

84

Downloads

1.4k

Updated

Oct 10, 2026

Version

1.0.4

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/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 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.4K downloadsadoption · observed Oct 10, 2026
Latest release
1.0.4release · observed Jun 7, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s176b3312npmthbt2chf2mccw183grfh:nag
  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-madebydia-nag/snapshot"

Documentation

CLAWHUB

30,169 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: nag
description: Persistent reminder system that keeps bugging you until you confirm completion. Use when setting up recurring reminders, nag schedules, or any task that needs follow-up until acknowledged. Handles daily resets, configurable nag windows, escalating urgency, and natural-language confirmation matching. Do NOT use for one-shot reminders (use cron instead) or time-sensitive alerts that need immediate action (use cron with wakeMode now).
---

# Nag — Persistent Reminders

Nag manages reminders that don't give up. Each reminder has a first-fire time, a nag window, and resets daily.

## When to Use

- Recurring daily habits (supplements, workouts, practice)
- Tasks that get ignored/forgotten without follow-up
- Anything where "remind me once" isn't enough

## When NOT to Use

- One-shot reminders ("remind me in 20 minutes") — use a cron job with `schedule.kind: "at"`
- Time-critical alerts that can't wait for a heartbeat cycle
- Reminders that don't need confirmation (informational only)

## Setup

### 1. State File

Create `memory/nag-state.json` in the workspace:

```json
{
  "date": "2026-02-15",
  "reminders": {}
}
```

The date field triggers automatic daily resets — when today's date differs from the stored date, all reminders reset to unconfirmed.

### 2. Reminder Config

Create `nag-config.json` in the workspace root:

```json
{
  "reminders": [
    {
      "id": "morning-supplements",
      "label": "morning supplements",
      "cronFirst": "0 8 * * *",
      "nagAfter": "09:00",
      "confirmPatterns": ["taken", "done", "took them", "did it", "yes"],
      "tone": "friendly but persistent, escalate to ALL CAPS drama after 3 nags",
      "messages": {
        "first": "Time for morning supplements!"
      }
    }
  ]
}
```

**Fields:**

| Field | Required | Description |
|-------|----------|-------------|
| `id` | yes | Unique identifier, used as key in state file |
| `label` | yes | Human-readable name for display |
| `cronFirst` | yes | Cron expression for initial reminder (create a cron job for this) |
| `nagAfter` | yes | Time (HH:MM, 24h) after which heartbeat nags begin |
| `confirmPatterns` | yes | Array of phrases that mark the reminder as done (case-insensitive, substring match) |
| `tone` | no | Personality guidance for generating nag messages. If absent, use a neutral friendly tone. The model has creative liberty to vary the wording each nag. |
| `messages.first` | no | Text sent by the cron job for the initial reminder. If absent, generate from label + tone. |
| `messages.nag` | no | Suggested nag text. If absent, generate contextually from label + tone + nagCount. |
| `messages.escalate` | no | Suggested text after 3+ ignored nags. If absent, generate with increased urgency from tone. |
| `days` | no | Array of weekday names to restrict when this reminder fires (e.g. `["monday", "wednesday", "friday"]`). Omit for every day. |

For more examples, see [references/config-examples.md](references/config-exampl

README.md

# nag


Built by [@madebydia](https://x.com/madebydia)

[![ClawHub](https://img.shields.io/badge/ClawHub-nag-blue)](https://clawhub.ai/madebydia/nag)

An OpenClaw skill for persistent reminders that won't shut up until you confirm.

Most reminder tools fire once and forget. Nag keeps bugging you — with escalating urgency — until you actually do the thing.

## How it works

1. **Cron job** fires the initial reminder at a scheduled time
2. **Heartbeat** checks if you've confirmed — if not, nags you
3. **Escalation** kicks in after 3 ignored nags
4. **Daily reset** — everything starts fresh each day

## Features

- **Config-driven** — define reminders in one JSON file
- **Tone field** — give the model creative liberty to vary nag messages, or provide exact wording
- **Natural-language confirmation** — "took them", "done", "yes" all work
- **Day filtering** — restrict reminders to specific weekdays
- **Escalation** — messages get more urgent the longer you ignore them

## Setup

See [SKILL.md](SKILL.md) for full setup instructions.

Quick version:
1. Create `nag-config.json` with your reminders
2. Create `memory/nag-state.json` for tracking
3. Add the nag check block to your `HEARTBEAT.md`
4. Create cron jobs for each reminder's first fire

## Example config

```json
{
  "reminders": [
    {
      "id": "morning-vitamins",
      "label": "morning vitamins",
      "cronFirst": "0 8 * * *",
      "nagAfter": "09:00",
      "confirmPatterns": ["taken", "done", "did it"],
      "tone": "friendly but persistent, get dramatic after 3 nags"
    }
  ]
}
```

## Install

```bash
openclaw skills install nag
```

Or browse it on [ClawHub](https://clawhub.ai/madebydia/nag).

## License

MIT

_meta.json

{
  "ownerId": "kn711gxkbyw34qye3faaqw24yn8163fm",
  "slug": "nag",
  "version": "1.0.4",
  "publishedAt": 1780803109101
}

references/config-examples.md

# Nag Config Examples

## Daily habit with tone-based messages

```json
{
  "reminders": [
    {
      "id": "morning-vitamins",
      "label": "morning vitamins",
      "cronFirst": "0 8 * * *",
      "nagAfter": "09:00",
      "confirmPatterns": ["taken", "done", "took them", "did it"],
      "tone": "friendly but persistent, get dramatic after 3 nags",
      "messages": {
        "first": "Morning vitamins!"
      }
    }
  ]
}
```

## Workout reminder with hardcoded messages

```json
{
  "id": "daily-workout",
  "label": "workout",
  "cronFirst": "0 10 * * *",
  "nagAfter": "14:00",
  "confirmPatterns": ["worked out", "lifted", "trained", "exercised", "ran"],
  "tone": "coach energy",
  "messages": {
    "first": "Workout today?",
    "nag": "Have you worked out yet today?",
    "escalate": "The iron isn't going to lift itself"
  }
}
```

## Weekly reminder (specific days)

```json
{
  "id": "grocery-list",
  "label": "weekly grocery list",
  "cronFirst": "0 9 * * 0",
  "nagAfter": "11:00",
  "days": ["sunday"],
  "confirmPatterns": ["ordered", "list done", "groceries ordered"],
  "tone": "matter-of-fact"
}
```

skill-card.md

## Description:

Persistent reminder system that keeps bugging you until you confirm completion.

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

## Publisher:

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

### License/Terms of Use:

MIT-0

## Use Case:

Developers and agent users use Nag to set up recurring reminders that continue through cron and heartbeat checks until the user confirms completion.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: Persistent cron jobs and heartbeat checks can keep reminding the user across sessions after the reminder is no longer wanted.

Mitigation: Review each schedule before installing and remove the related cron job plus nag-config and state entries when the reminder should stop.

Risk: Broad confirmation phrases may mark the wrong reminder as complete when multiple reminders are active.

Mitigation: Use specific confirmation patterns and resolve ambiguous matches against reminders that are currently in their nag window.

Risk: Tone-based escalation can generate messages that are more forceful than intended.

Mitigation: Set explicit message text or conservative tone guidance for reminders where wording matters.

## Reference(s):

- [Nag Config Examples](references/config-examples.md)
- [ClawHub Nag Skill Page](https://clawhub.ai/madebydia/skills/nag)

## Skill Output:

**Output Type(s):** [Text, Markdown, Shell commands, Configuration]

**Output Format:** [Markdown instructions with JSON configuration examples and shell script output]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Produces reminder setup guidance, heartbeat instructions, cron scheduling guidance, and state/configuration examples.]

## Skill Version(s):

1.0.4 (source: server 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 21h 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/madebydia/skills/nag",
      "sourceUrl": "https://clawhub.ai/madebydia/skills/nag",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:17:45.066Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-nag/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-nag/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:17:45.066Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.4K downloads",
      "href": "https://clawhub.ai/madebydia/nag",
      "sourceUrl": "https://clawhub.ai/madebydia/nag",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T14:17:45.066Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.4",
      "href": "https://clawhub.ai/madebydia/nag",
      "sourceUrl": "https://clawhub.ai/madebydia/nag",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-06-07T03:31:49.101Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-nag/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-madebydia-nag/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.4",
      "description": "Refresh publisher identity and metadata for madebydia",
      "href": "https://clawhub.ai/madebydia/nag",
      "sourceUrl": "https://clawhub.ai/madebydia/nag",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-06-07T03:31:49.101Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Nag and adjacent AI workflows.