@pi-agents/loop 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +93 -0
- package/config/default.json +11 -0
- package/dist/cron.d.ts +39 -0
- package/dist/cron.js +189 -0
- package/dist/cron.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +175 -0
- package/dist/index.js.map +1 -0
- package/dist/jitter.d.ts +28 -0
- package/dist/jitter.js +50 -0
- package/dist/jitter.js.map +1 -0
- package/dist/parse-args.d.ts +13 -0
- package/dist/parse-args.js +51 -0
- package/dist/parse-args.js.map +1 -0
- package/dist/scheduler.d.ts +31 -0
- package/dist/scheduler.js +142 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/store.d.ts +17 -0
- package/dist/store.js +104 -0
- package/dist/store.js.map +1 -0
- package/dist/tools/cron-tools.d.ts +7 -0
- package/dist/tools/cron-tools.js +129 -0
- package/dist/tools/cron-tools.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.js +24 -0
- package/dist/types.js.map +1 -0
- package/package.json +78 -0
- package/skills/loop/SKILL.md +52 -0
- package/skills/schedule/SKILL.md +42 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: loop
|
|
3
|
+
description: Run a prompt or slash command on a recurring interval (e.g. /loop 5m /foo, defaults to 10m)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## When to use
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants to set up a recurring task, poll for status, or run something repeatedly on an interval.
|
|
9
|
+
|
|
10
|
+
Examples:
|
|
11
|
+
- "check the deploy every 5 minutes"
|
|
12
|
+
- "keep running tests every 15m"
|
|
13
|
+
- "remind me at 2:30pm to review PRs"
|
|
14
|
+
- "keep iterating on the refactor"
|
|
15
|
+
|
|
16
|
+
## Tools
|
|
17
|
+
|
|
18
|
+
| Tool | Purpose | Context cost |
|
|
19
|
+
|------|---------|-------------|
|
|
20
|
+
| `cron_create` | Schedule a prompt on a cron schedule (recurring or one-shot) | Low |
|
|
21
|
+
| `cron_delete` | Cancel a scheduled task by ID | Low |
|
|
22
|
+
| `cron_list` | List all active scheduled tasks | Low |
|
|
23
|
+
|
|
24
|
+
## Preferred order
|
|
25
|
+
|
|
26
|
+
1. Use `cron_list` to check existing schedules before creating duplicates
|
|
27
|
+
2. Use `cron_create` to schedule new tasks
|
|
28
|
+
3. Use `cron_delete` to cancel tasks that are no longer needed
|
|
29
|
+
|
|
30
|
+
## Slash commands
|
|
31
|
+
|
|
32
|
+
- `/loop [interval] <prompt>` — Quick recurring loop (e.g. `/loop 5m check the deploy`)
|
|
33
|
+
- `/loop-list` — List all active loops
|
|
34
|
+
- `/loop-kill <id>` — Cancel a loop by ID
|
|
35
|
+
|
|
36
|
+
## Cron format
|
|
37
|
+
|
|
38
|
+
5-field cron in local time: `minute hour day-of-month month day-of-week`
|
|
39
|
+
|
|
40
|
+
| Pattern | Meaning |
|
|
41
|
+
|---------|---------|
|
|
42
|
+
| `*/5 * * * *` | Every 5 minutes |
|
|
43
|
+
| `0 */2 * * *` | Every 2 hours |
|
|
44
|
+
| `30 14 * * *` | Daily at 2:30 PM |
|
|
45
|
+
| `0 9 * * 1-5` | Weekdays at 9 AM |
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- Loops only fire when the agent is idle (not streaming)
|
|
50
|
+
- Recurring tasks auto-expire after 7 days
|
|
51
|
+
- Use `durable: true` to persist tasks across sessions
|
|
52
|
+
- Session-only tasks (default) are lost when the agent exits
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: schedule
|
|
3
|
+
description: Create, list, and manage scheduled cron tasks that fire prompts at specific times or intervals
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## When to use
|
|
7
|
+
|
|
8
|
+
Use this skill when:
|
|
9
|
+
- The user wants to schedule something for a specific future time
|
|
10
|
+
- The user wants to set up a one-shot reminder
|
|
11
|
+
- You need to programmatically schedule your own follow-up work
|
|
12
|
+
- The user asks about existing scheduled tasks
|
|
13
|
+
|
|
14
|
+
## Tools
|
|
15
|
+
|
|
16
|
+
| Tool | Purpose | Context cost |
|
|
17
|
+
|------|---------|-------------|
|
|
18
|
+
| `cron_create` | Schedule a prompt (recurring or one-shot) | Low |
|
|
19
|
+
| `cron_list` | List active scheduled tasks | Low |
|
|
20
|
+
| `cron_delete` | Cancel a task by ID | Low |
|
|
21
|
+
|
|
22
|
+
## Preferred order
|
|
23
|
+
|
|
24
|
+
1. `cron_list` — check what's already scheduled
|
|
25
|
+
2. `cron_create` — create the new task
|
|
26
|
+
3. `cron_delete` — clean up when done
|
|
27
|
+
|
|
28
|
+
## Examples
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
"Remind me at 3pm to push the branch"
|
|
32
|
+
→ cron_create { cron: "0 15 * * *", prompt: "Reminder: push the branch", recurring: false }
|
|
33
|
+
|
|
34
|
+
"Check the CI pipeline every 10 minutes"
|
|
35
|
+
→ cron_create { cron: "*/10 * * * *", prompt: "Check CI pipeline status", recurring: true }
|
|
36
|
+
|
|
37
|
+
"What's scheduled right now?"
|
|
38
|
+
→ cron_list {}
|
|
39
|
+
|
|
40
|
+
"Stop the deploy monitor"
|
|
41
|
+
→ cron_list {}, then cron_delete { id: "<id>" }
|
|
42
|
+
```
|