Skip to content

feat(threads): add thread on Claude routines and cron#57

Merged
shahid-io merged 1 commit into
stagingfrom
thread/claude-routines-and-cron
Jul 17, 2026
Merged

feat(threads): add thread on Claude routines and cron#57
shahid-io merged 1 commit into
stagingfrom
thread/claude-routines-and-cron

Conversation

@shahid-io

Copy link
Copy Markdown
Contributor

What

Adds a new /threads post: "Cron was easy because the job was dumb."

The thesis: a Claude routine is a cron job whose payload is a nondeterministic agent instead of a script, and that one swap invalidates the assumptions cron got to stay simple by ignoring.

Covers:

  • Why a scheduled run is a cold start (the saved prompt is the entire context)
  • Which of cron's implicit promises the agent revokes (determinism, safe retries, overlap, exit codes, missed runs) — as a table
  • Idempotent side effects and overlap headroom as the fixes
  • The classic five-field gotchas (timezones, DST, the day-of-month/day-of-week OR trap)
  • Routines vs. loops (cloud/cron vs. in-session)
  • Designing a routine like the unattended job it is

Notes

  • Single file: src/content/threads/claude-routines-and-cron.mdx
  • Frontmatter (title/description/date) parses; npm run build renders it at /threads/claude-routines-and-cron and it appears on /threads
  • Editorial thread voice (em dashes allowed here per the mdx-thread skill), no cover image

🤖 Generated with Claude Code

New /threads post: "Cron was easy because the job was dumb" — how a
Claude routine is a cron job whose payload is an agent, and which of
cron's guarantees (determinism, safe retries, overlap) that breaks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔍 Preview deployment ready: https://binarysemaphore-39b036r82-shahidios-projects.vercel.app

Commit 454351c

@shahid-io
shahid-io merged commit a44b7e1 into staging Jul 17, 2026
5 checks passed
shahid-io added a commit that referenced this pull request Jul 18, 2026
* feat(threads): add two TypeScript 7 threads (#55)

Covers the Go rewrite (why shared-memory concurrency was the missing
capability, why not Rust) and the migration reality (removed options,
changed defaults, the missing programmatic API).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): add thread on Claude routines and cron (#57)

New /threads post: "Cron was easy because the job was dumb" — how a
Claude routine is a cron job whose payload is an agent, and which of
cron's guarantees (determinism, safe retries, overlap) that breaks.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): deepen Claude routines thread, add reading enhancements (#59)

Thread:
- Much deeper, more practical: routine anatomy, a gallery of real routines
  (CI triage, dependency digest, stale sweep, on-call handoff, docs freshness)
  with schedules and prompts, idempotency patterns, a cron syntax refresher,
  and an observability section.
- Adds the companion YouTube link and a `claude` tag (tags are derived from
  frontmatter, so it becomes a filter automatically).

Reusable components (all wired into MDX):
- `annotate.tsx`: hand-drawn pen marks (Underline/Circle/Box/Strike/Highlight)
  that draw themselves on scroll, gated behind prefers-reduced-motion. Soft
  candy colours (blue/violet/lime/sun), no red.
- `table-of-contents.tsx`: sticky "On this page" right rail with scroll-spy.
- `cron-diagram.tsx`: styled cron field breakdown, replacing brittle ASCII art.
- `code-block.tsx`: copy-to-clipboard button on thread code blocks.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): add cover for the Claude routines and cron thread (#61)

Every other thread had a cover; this one rendered coverless on the /threads
grid. Adds a designed 2:1 cover in the site's canvas and fonts (the cron field
motif with a hand-drawn ring), echoing the thread's own pen annotations rather
than reaching for an unrelated stock photo.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): retitle the routines thread to name Claude (#63)

"Cron was easy because the job was dumb" never said Claude, which weakened the
title, the /threads card, and the OG/SEO metadata. The slug is unchanged, so the
URL stays /threads/claude-routines-and-cron.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* chore(skills): make .agents/skills canonical, symlink from .claude/skills (#58)

The 6 project skills lived as real files under .claude/skills while an
identical, untracked duplicate had appeared under .agents/skills. The
supabase skills already follow the opposite (correct) pattern: real files
in .agents/skills, symlinked into .claude/skills.

Unify on that: .agents/skills/<skill> holds the real SKILL.md, and
.claude/skills/<skill> is now a symlink to it. No content change, no
duplication, git status stays clean.

(--no-verify: lint-staged's stash backup errors on the new symlinks; only
.md files and symlinks are staged, nothing for it to lint.)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant