← Back to list

Cron is scheduling. Skill is execution. Runtime is reliability. Tools are primitives.

I didn’t start with a system design in mind.

Johnson · 2026-07-05 03:12 · 0 claps · 3.4 min read
#ai-agent #agent-skills #agent-cron-job #ai-agent-workflow
Open on Medium ↗
Wiki topics: AGT · AI Agents

Cron is scheduling. Skill is execution. Runtime is reliability. Tools are primitives.

I didn’t start with a system design in mind.

It began with a simple problem: I was trying to run more and more multi-step automation using agents, and things kept breaking in ways that were hard to reason about.

At some point, I realized the issue wasn’t “the model being bad”.

It was something deeper.

We were mixing responsibilities that should never have been mixed.

1. The first confusion: Cron vs logic

I started with a very naive setup:

  • A cron job triggers an agent
  • The agent runs a prompt
  • The prompt contains multi-step instructions

It worked… until it didn’t.

The moment tasks became more complex than a few steps, everything started to degrade:

  • logic duplicated across cron jobs
  • no versioning of “what the task actually is”
  • no visibility into failure points
  • debugging became impossible

And the biggest issue:

The scheduler was silently becoming a logic container.

That felt wrong.

A scheduler should not “know” what the task is.

2. The shift: Cron should not contain logic

This is the first separation I started to enforce:

Cron is only scheduling.

Nothing else.

It should not contain prompts. It should not define workflows. It should not encode business logic.

Its only responsibility is:

“When should something run?”

Not “what should run”.

That led to a second abstraction.

3. Introducing Skill: execution as a unit

If cron is just timing, then something else must own the logic.

That’s where the idea of Skill came in.

A Skill is not just a workflow.

A workflow is just a sequence:

  • fetch data
  • process it
  • write output

But a Skill is something more complete:

A Skill is a reusable execution unit that includes behavior, constraints, and failure handling.

In practice, a Skill includes:

  • a workflow graph
  • tool orchestration
  • validation rules
  • failure policies
  • recovery strategy

So instead of writing logic inside cron, I started doing this:

cron → executes a skill

Not a prompt. Not a script. A skill.

4. The real separation of concerns

At this point, the system started to feel more stable.

The architecture naturally separated into layers:

  • Cron → triggers execution
  • Skill → defines what to execute
  • Runtime → ensures execution reliability
  • Tools → provide primitive capabilities

This is where the mental model became much clearer for me:

Cron is scheduling. Skill is execution. Runtime is reliability. Tools are primitives.

5. Why “Skill” is not just a workflow

One mistake I almost made early was thinking:

skill == workflow

But that breaks immediately in real systems.

A workflow alone does not handle:

  • partial failures
  • retries
  • validation
  • drift over time
  • inconsistent tool outputs

So the real definition of Skill became:

Skill = workflow + execution contract + reliability behavior

It’s not just “what steps to run”.

It’s also:

  • what must be true after execution
  • what happens if something fails
  • how recovery works
  • how success is validated

Without this, workflows are just brittle macros.

6. The hidden problem in cron-based systems

Once skills became the execution unit, another issue became obvious:

If cron contains logic, systems become:

  • unversioned
  • untestable
  • unobservable
  • tightly coupled

But when cron only references skills:

  • logic becomes reusable
  • execution becomes observable
  • failures become traceable
  • systems become composable

Cron becomes dumb again — and that is a good thing.

7. The runtime layer: where reliability actually lives

Even with skills, execution is still not reliable by default.

Agents fail in ways that are not obvious:

  • tool calls succeed but don’t actually apply changes
  • loops happen silently
  • context drift accumulates
  • retries create exponential failure patterns

So another layer is needed:

Runtime is where reliability is enforced.

This layer is responsible for:

  • execution logging
  • failure detection
  • validation checks
  • recovery policies
  • observability

Without this, “skills” are still just structured prompts.

8. Tools are not intelligence

The final realization was simple but important:

Tools are not part of logic.

They are primitives.

  • file system
  • browser
  • shell
  • APIs

They do not define behavior.

They just execute instructions.

Everything meaningful happens above them.

9. What this changes in practice

With this model, a cron job no longer looks like this:

“Do X → then Y → then Z (inside prompt)”

Instead, it becomes:

“At 9am, run skill:data_sync_v3”

And that skill internally defines:

  • how to fetch data
  • how to process it
  • how to validate correctness
  • how to recover from failure

This small change has a large effect:

  • scheduling becomes stable
  • execution becomes reusable
  • reliability becomes measurable

10. The direction this leads to

Once you make this separation clean, the system naturally evolves toward:

  • skill versioning
  • execution replay
  • failure analytics
  • reliability tuning
  • multi-trigger execution (cron / API / event)

And eventually, something closer to:

an execution operating system for agents

Not just automation scripts.

Not just workflows.

A system where execution itself becomes a first-class object.

Closing thought

What changed for me was not adding more components.

It was removing responsibilities from the wrong layers.

Cron stopped thinking. Skills started owning execution. Runtime started owning reliability. Tools stayed simple.

And the system became easier to reason about.


메타데이터
post_id
e60547170aa6
slug
cron-is-scheduling-skill-is-execution-runtime-is-reliability-tools-are-primitives-e60547170aa6
url
https://medium.com/@johnsonbuilds/cron-is-scheduling-skill-is-execution-runtime-is-reliability-tools-are-primitives-e60547170aa6
canonical_url
https://medium.com/@johnsonbuilds/cron-is-scheduling-skill-is-execution-runtime-is-reliability-tools-are-primitives-e60547170aa6
author_url
https://medium.com/@johnsonbuilds
status
ok
fetched_at
2026-07-14 05:14:14