docs: add scheduled-tasks CONTEXT.md and update routing (#2) #6

Merged
cal merged 1 commits from ai/claude-home#2 into main 2026-03-05 03:55:20 +00:00
Owner

Summary

Closes #2 — documents the implemented headless Claude scheduled task system.

  • scheduled-tasks/CONTEXT.md — new file covering the complete system: runner.sh framework, custom dispatcher pattern, all active tasks, settings.json reference, auth model, monitoring commands, and cost safety guardrails
  • CLAUDE.md — updated routing table to load the new CONTEXT.md alongside the existing SKILL.md when scheduled-task topics come up; added keywords for issue-poller, issue-worker, pr-reviewer, backlog-triage

What's documented

The system has two execution patterns:

  1. runner.sh template frameworkclaude-scheduled@<task>.timer → template service → runner.sh reads tasks/<task>/{prompt.md,settings.json,mcp.json} and invokes claude -p
  2. Custom dispatcher scriptsissue-poller.sh, pr-reviewer-dispatcher.sh, daily-report.py with their own service units

Active tasks: backlog-triage (weekdays 09:15), issue-poller (every 30 min), issue-worker (on-demand), pr-reviewer (on timer), daily-report (daily).

Files Changed

  • scheduled-tasks/CONTEXT.md (new)
  • CLAUDE.md (routing table update)

Test Results

No test suite — files verified by reading back. CONTEXT.md accurately reflects the live system at ~/.config/claude-scheduled/.

## Summary Closes #2 — documents the implemented headless Claude scheduled task system. - **`scheduled-tasks/CONTEXT.md`** — new file covering the complete system: runner.sh framework, custom dispatcher pattern, all active tasks, `settings.json` reference, auth model, monitoring commands, and cost safety guardrails - **`CLAUDE.md`** — updated routing table to load the new `CONTEXT.md` alongside the existing `SKILL.md` when scheduled-task topics come up; added keywords for `issue-poller`, `issue-worker`, `pr-reviewer`, `backlog-triage` ## What's documented The system has two execution patterns: 1. **runner.sh template framework** — `claude-scheduled@<task>.timer` → template service → `runner.sh` reads `tasks/<task>/{prompt.md,settings.json,mcp.json}` and invokes `claude -p` 2. **Custom dispatcher scripts** — `issue-poller.sh`, `pr-reviewer-dispatcher.sh`, `daily-report.py` with their own service units Active tasks: `backlog-triage` (weekdays 09:15), `issue-poller` (every 30 min), `issue-worker` (on-demand), `pr-reviewer` (on timer), `daily-report` (daily). ## Files Changed - `scheduled-tasks/CONTEXT.md` (new) - `CLAUDE.md` (routing table update) ## Test Results No test suite — files verified by reading back. CONTEXT.md accurately reflects the live system at `~/.config/claude-scheduled/`.
cal added 1 commit 2026-03-04 08:05:05 +00:00
Adds scheduled-tasks/CONTEXT.md documenting the implemented headless
Claude scheduled task system: runner.sh framework, custom dispatcher
scripts, active tasks, settings reference, auth, monitoring, and
cost safety guardrails.

Updates CLAUDE.md routing table to load CONTEXT.md alongside the
SKILL.md for all scheduled-task-related topics.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cal added the
ai-reviewing
label 2026-03-04 08:17:19 +00:00
cal reviewed 2026-03-04 08:18:24 +00:00
cal left a comment
Author
Owner

AI Code Review

Files Reviewed

  • CLAUDE.md (modified)
  • scheduled-tasks/CONTEXT.md (added)

Findings

Correctness

  • CLAUDE.md routing update correctly expands the scheduled-task keywords and now points to both scheduled-tasks/CONTEXT.md and the existing SKILL.md — all prior keywords (cowork, timer, etc.) are preserved.
  • CONTEXT.md accurately describes both execution patterns (runner.sh template framework and custom dispatchers) and matches the PR body's claims.
  • Active tasks table, file layout, settings reference, and monitoring commands are internally consistent.
  • The issue-dispatcher.sh entry in the file layout is correctly included (it's a distinct dispatcher from issue-poller.sh), even though the PR body only mentioned three custom scripts — no discrepancy.

Security

  • No hardcoded credentials. The Discord webhook URL in the settings example uses ... as a placeholder — correct.
  • Auth model documented clearly: OAuth via Claude Max subscription, no API key.
  • Cost safety guardrails (budget cap, allowedTools, timeout, kill switch) are accurately documented.

Style & Conventions

  • Follows the project's CONTEXT.md pattern: clear sections, bash code blocks, tables for reference data.
  • settings.json table documents both field purpose and defaults — matches the quality of other context files in this repo.
  • CLAUDE.md line change is minimal and targeted; no unrelated churn.

Suggestions

  • Consider adding a "Troubleshooting" section or pointer in future (e.g., common failure modes: auth expiry, MCP config errors, budget exhaustion). Not blocking — the monitoring commands cover the basics.

Verdict: APPROVED

Clean, well-structured documentation PR. Content is accurate, conventions are followed, no security concerns. The dual-pointer routing in CLAUDE.md (CONTEXT.md + SKILL.md) is the right pattern — operators get the live system reference while the SKILL.md remains the creation guide.

Note: Gitea blocks self-approval; posting as COMMENT. Recommend merging.


Automated review by Claude PR Reviewer

## AI Code Review ### Files Reviewed - `CLAUDE.md` (modified) - `scheduled-tasks/CONTEXT.md` (added) ### Findings #### Correctness - CLAUDE.md routing update correctly expands the scheduled-task keywords and now points to both `scheduled-tasks/CONTEXT.md` and the existing `SKILL.md` — all prior keywords (`cowork`, `timer`, etc.) are preserved. - CONTEXT.md accurately describes both execution patterns (runner.sh template framework and custom dispatchers) and matches the PR body's claims. - Active tasks table, file layout, settings reference, and monitoring commands are internally consistent. - The `issue-dispatcher.sh` entry in the file layout is correctly included (it's a distinct dispatcher from `issue-poller.sh`), even though the PR body only mentioned three custom scripts — no discrepancy. #### Security - No hardcoded credentials. The Discord webhook URL in the settings example uses `...` as a placeholder — correct. - Auth model documented clearly: OAuth via Claude Max subscription, no API key. - Cost safety guardrails (budget cap, allowedTools, timeout, kill switch) are accurately documented. #### Style & Conventions - Follows the project's CONTEXT.md pattern: clear sections, bash code blocks, tables for reference data. - `settings.json` table documents both field purpose and defaults — matches the quality of other context files in this repo. - CLAUDE.md line change is minimal and targeted; no unrelated churn. #### Suggestions - Consider adding a "Troubleshooting" section or pointer in future (e.g., common failure modes: auth expiry, MCP config errors, budget exhaustion). Not blocking — the monitoring commands cover the basics. ### Verdict: APPROVED Clean, well-structured documentation PR. Content is accurate, conventions are followed, no security concerns. The dual-pointer routing in CLAUDE.md (`CONTEXT.md` + `SKILL.md`) is the right pattern — operators get the live system reference while the SKILL.md remains the creation guide. > Note: Gitea blocks self-approval; posting as COMMENT. Recommend merging. --- *Automated review by Claude PR Reviewer*
cal added
ai-reviewed
and removed
ai-reviewing
labels 2026-03-04 08:18:43 +00:00
cal force-pushed ai/claude-home#2 from 4ebf834d6a to b50808eb8e 2026-03-05 03:55:07 +00:00 Compare
cal merged commit 24acf99836 into main 2026-03-05 03:55:20 +00:00
cal deleted branch ai/claude-home#2 2026-03-05 03:55:21 +00:00
Sign in to join this conversation.
No description provided.