Skip to content

Skill/prompt-template library: let schedules (and zones/sessions) reference a reusable skill file as their prompt #2040

Description

@aminghadersohi

Summary

Introduce a first-class skill / prompt-template library in Agor, and let multiple surfaces consume it — starting with schedules, which today can only take an inline prompt.

This unifies three feature requests Amin filed together on 2026-07-26:

  1. Schedules pick a skill file as their prompt (this issue's driving example)
    session
  2. A list of skills per session that map to .md files somewhere (e.g. skills/)
    session
  3. Select most-used prompts per session (reuse a prompt without retyping)
    session

All three want the same primitive: a reusable, named prompt/skill that lives in a known place and can be pointed at, instead of copy-pasted.

Problem

A schedule (agor_schedules_create) requires an inline prompt — a literal Handlebars template string. The only file hook is agentic_tool_config.context_files, which loads context, not the prompt. So there's no way to say "run skill X on this cron" without pasting the entire skill body into the schedule, and duplicating it every time the skill changes.

Zone triggers already have "prompt templates" — a second, parallel place prompts live. And there's no shared registry backing either.

Proposed design

A single skill/prompt-template registry, consumed by several surfaces:

  • Registry: named skills/prompt-templates backed by .md files (branch skills/ dir and/or DB-backed Knowledge docs). Each has an id, name, and Handlebars body.
  • prompt_source on schedules (and zones): instead of a bare prompt string, accept
    prompt_source: { type: "inline" | "skill", ref }inline keeps today's behavior; skill resolves the referenced skill's markdown at fire time (so edits to the skill propagate to future runs automatically).
  • Session creation UI: a picker of skills / recently-used prompts (covers requests daemon errored on claude 1, requires claude 2  #2 and Fix rename board #3).
  • Zone prompt-templates become just another consumer of the same library rather than a separate concept.

Driving example

As a user, I want a daily schedule whose prompt is skills/watchtower.md, so that when I improve the skill the scheduled run picks it up without me re-editing the cron.

Notes / open questions

  • Source of truth for skills: branch filesystem (skills/*.md), Knowledge docs, or both? Assistant framework already uses skills/ on the branch; leaning toward supporting both with a common resolver.
  • Portability across agents: claude-code has native /skill invocation, but a skill-file reference is agent-agnostic — preferred so codex/gemini/etc. schedules work too.
  • Design the three requests together to avoid building three overlapping half-versions.

Filed by the Agor orchestrator assistant on behalf of Amin (Slack #agor).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions