Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Loop

ASecurity

PRIMARY skill for clock-based session wakes via scheduleCallback. Use when the user asks for reminders, delays, or recurring checks inside the active conversation — "remind me in 5 minutes", "tomorrow at 9", "매일 아침 확인해줘", timers, and wall-clock recurrence bound to this chat. NEVER for process exit, build/test completion, kanban/ticket done, webhooks, or file-watcher completion — use call-me-back. Prefer this over global schedule for in-session time requests; escalate to schedule only for perm...

10 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentsexpressrails

Works with

mcp

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add fritzprix/libr-agent --skill loop --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Loop?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Loop
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fritzprix-loop/badge)](https://www.skillsdirectory.com/skills/fritzprix-loop)

More formats (shields.io, HTML) on the badges page.

Files
SKILL.md
---
name: loop
description: >-
  PRIMARY skill for clock-based session wakes via scheduleCallback. Use when the
  user asks for reminders, delays, or recurring checks inside the active
  conversation — "remind me in 5 minutes", "tomorrow at 9", "매일 아침 확인해줘",
  timers, and wall-clock recurrence bound to this chat. NEVER for process exit,
  build/test completion, kanban/ticket done, webhooks, or file-watcher
  completion — use call-me-back. Prefer this over global schedule for in-session
  time requests; escalate to schedule only for permanent app-wide cron.
---

# Loop (PRIMARY for clock-based session wakes)

Session loops inject a message into **the current session** at a **future clock
time** (delay or cron). They preserve conversation context, history, and
workspace, surviving tab switches and app restarts while staying bound to this
session's lifecycle.

The MCP tool is `scheduleCallback` (or `scheduled_task__scheduleCallback`).
The skill name is `loop`.

## vs `call-me-back` (hard split)

| Signal | Skill |
| --- | --- |
| Wall clock / relative delay / cron | **`loop`** (this skill) |
| Process exit, kanban/ticket status, webhook, watcher | **`call-me-back`** |

"끝나면 알려줘" / "작업 끝나고 깨워줘" that means **a job or external event finished**
→ `call-me-back`, not a guessed `delaySeconds`.

## Core Policy: Session-First by Default

When a user asks for a **time-based** reminder or recurring check inside an
active conversation, they almost always expect it **in this conversation**.
Wrong skill choice is usually selecting global `schedule` /
`createScheduledTask`, which drops session context.

**Always default to `loop`** for:
- "Remind me in X minutes / hours / days" ("X분 뒤에 알려줘")
- "Tomorrow at 9" / "내일 9시에 알려줘" when continuing this chat
- "Follow up on this later" ("나중에 확인해줘") when later means a **clock** time
- In-session recurring checks ("매일 아침 9시에 이 작업 현황 알려줘")
- Any relative delay or wall-clock reminder that should reuse this chat's history

### When to escalate to global `schedule`

Escalate to `schedule` (`createScheduledTask`) **ONLY** when:
- The user explicitly asks for independent, permanent, or app-wide automation
  ("even if I close this chat", "전역 백그라운드 작업으로 등록해줘").
- The run must be a standalone assistant task with no session context.
- It is multi-agent coordination driven by global scheduled tasks.

### Handling Ambiguous Requests

If intent is ambiguous (e.g., "매일 9시에 주가 체크해서 알려줘" with no
global/permanent wording):
1. **Proceed with `loop` immediately** — do not ask first by default.
2. **Ask only when** the request looks like always-on automation that should
   survive this chat. Then explain once:
   - **Loop (default)**: injects into this chat; invalidated if the session is deleted.
   - **Global Scheduled Task**: app-wide cron; survives closing/deleting this session.

If ambiguous between **time** and **completion event**, ask one clarifying
question, or prefer `call-me-back` when a concrete process/ticket/system was named.

## Routing decision

```text
Is the wake driven by a completion event (process / kanban / webhook / watcher)?
  Yes -> call-me-back
  No  -> Should the run stay bound to the current session?
           Yes / Unclear -> loop (scheduleCallback) [DEFAULT]
           Explicit global -> schedule (createScheduledTask)
```

Both one-shot (`delaySeconds`) and recurring (`cronExpression`) are supported.
Pick the timing mode, not a different skill — unless the signal is event-based.

## Workflow

### 1. Choose timing mode

Provide **exactly one** of:

- **`delaySeconds`** — one-shot delay (1–86400). Example: 300 for "check back in 5 minutes".
- **`cronExpression`** — recurring. Example: `0 9 * * *` for daily 09:00 local.

Do not pass both. Do not pass neither.

### 2. Create the schedule

```text
scheduleCallback(
  message="...",           // required instruction injected when it fires
  name="...",              // optional Planning panel label
  delaySeconds=300         // OR cronExpression="0 9 * * *"
)
```

Requirements:

- Must run from an **active session** (tool binds automatically).
- `message` must be self-contained for when the agent wakes.
- `assistantId` is NOT required.

### 3. Manage existing session schedules

- `getScheduledTask(taskId)`
- `toggleScheduledTask(taskId, enabled=false)`
- `deleteScheduledTask(taskId)`

Users can also manage these from the session Planning panel.

### 4. Set expectations honestly

- One-shot schedules are deleted after they fire.
- Deleting the session removes its loops; they do not recreate a session.
- Recurring loops keep firing until paused, deleted, or the session is removed.

## Guardrails

- Do not use `createScheduledTask` for in-session time reminders; use `loop`.
- Do not approximate job completion with `delaySeconds`; use `call-me-back`.
- Do not ask for `assistantId` when setting a session reminder.
- Do not require teamwork scaffolding for simple session loops.
- Prefer `delaySeconds` for relative delays; cron for named wall-clock recurrence.
- Give distinct `name` values when scheduling multiple loops.

## Related skills

- **`call-me-back`** — wake on process/kanban/webhook completion (not the clock)
- **`schedule`** — global cron that survives beyond the current session
- **`delegate`** — spawn a child session now
- **`teamwork`** — multi-agent workspace constitution; not needed for simple loops

Attribution

fritzprixfritzprix
View sourceMore from fritzprix →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

695601 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →