Back to skills directory
dbtlr/saga

dbtlr/saga

@dbtlr 0

Orchestrate agentic coding sessions with primers, session logs, and knowledge consolidation.

sagaagentic-codingsession-managementclaude-codeworkflow-orchestrationcoding-sessionscoding

Install

$ npx skills add dbtlr/saga

README

# GitHub Repository: dbtlr/saga

**URL:** https://github.com/dbtlr/saga
**Author:** dbtlr
**Description:** Claude Code plugin orchestrating agentic coding sessions — primers, session logs, and knowledge consolidation
**Homepage:** 
**Language:** Python

## Stats
- Stars: 0
- Forks: 0
- Open Issues: 0
- Commits: 28
- Created: 2026-06-03T02:30:01Z
- Updated: 2026-06-18T12:56:38Z
- Pushed: 2026-06-18T12:56:32Z

## README
# Saga

**A workflow orchestrator for agentic coding sessions.** Saga teaches an agent to run a coherent working **Session** — the narrative layer that strings a body of work into a single through-line, from session start to session log.

Saga owns neither knowledge nor work. It threads the two domain-owning tools beneath it into and out of the session.

## The three-tool split

Saga is one part of a three-tool ecosystem founded on the distinction **knowledge vs. work**:

- **Norn** — *knowledge.* A generic query/validation/repair layer that keeps the Vault consistent. Enforces the rules it is given; has no native concept of a Workspace.
- **Mimir** — *work.* An opinionated project tool that natively owns the work model (projects, initiatives, tasks, release planning).
- **Saga** — *orchestration.* Threads Norn and Mimir into and out of a Session. Owns neither.

The test each tool must pass is to state its purpose without "and": *Norn keeps knowledge. Mimir holds work. Saga weaves them into a session.*

> Norn and Mimir are forthcoming. Saga's Phase 1 stands on its own against a markdown knowledge vault; the Norn/Mimir seams are Phase 2.

## The five skills

Skill names are prefixed/descriptive so they stay unambiguous when installed
standalone (the Claude Code plugin also namespaces them as `saga:<name>`).

| Skill | What it does |
| --- | --- |
| `start-session` | Saga's entry point. Assembles the **Session Primer** (User Profile + Shared Memory + Workspace Brief) and routes the work. |
| `initialize-saga` | Binds a project to a vault Workspace and scaffolds or self-heals it. |
| `grill-me` | Breaks a subject down by relentless interrogation, stress-testing a plan against the workspace glossary and decisions and writing both as clarity lands. |
| `write-session-log` | At a work boundary, writes the merged **Session Log** memorializing what happened — decisions, deviations, and Consolidation Candidates. |
| `consolidate-sessions` | Lifts Consolidation Candidates out of frozen Session Logs into maintained context — durable knowledge to the workspace, follow-ups to tasks, user observations to the partner-model log. |

## Install

Saga ships as a Claude Code plugin served from this repo via a local `directory` marketplace (`saga-dev`). From a Claude Code session:

```
/plugin marketplace add /path/to/saga
/plugin install saga@saga-dev
```

Because the marketplace `source` is the repo directory itself, the installed plugin is served in place — `${CLAUDE_PLUGIN_ROOT}` resolves to the repo root, so the installed skills *are* the repo files (no copy to keep in sync).

Once installed, a primary session starts with:

```
/saga:start-session
```

`start-session` is also the recovery point after a context clear/reset: it
reloads the Session Primer for the same body of work before the agent continues.

### Codex (and other agents)

The verified install path is the cross-harness **`skills` CLI**, which fetches
from GitHub and installs into `~/.agents/skills/` — read by Codex, Cursor,
Gemini CLI, opencode, and others:

```bash
npx skills add dbtlr/saga --skill '*'
```

This is confirmed working: the skills load in Codex. Codex does **not**
read skills from the working directory, and its native `plugin marketplace add`
flow expects plugins nested under `plugins/<name>/` (Saga is a root plugin), so
the `skills` CLI is the supported route. Codex **App** users can also add Saga
via the Plugins UI — the repo ships `marketplace.json` (github self-reference)
and `.codex-plugin/plugin.json` for that (App path not verified headlessly).

Refresh an existing global install after Saga changes with:

```bash
npx skills update start-session initialize-saga write-session-log consolidate-sessions grill-me -g -y
```

## How it fits together

A **Session** is bounded by a body of work, not by a single context window. `start-session` builds the Session Primer that re-loads on each resumption, keeping the through-line across compactions and new windows. At a work boundary, `write-session-log` freezes what happened; `consolidate-sessions` later lifts the durable parts into maintained context. `initialize-saga` keeps the underlying Workspace well-formed.

## Repository layout

- `skills/` — the five skill sources (`start-session`, `initialize-saga`, `grill-me`, `write-session-log`, `consolidate-sessions`), discovered by both harnesses and the cross-harness `skills` CLI.
- `skills/start-session/build_primer.py` — resolves Project Binding → Vault Registry → vault root and merges the Active Context. Ships **inside** the skill so it travels in every install model (plugin or bare `npx skills add`).
- `resources/`, `templates/` — shared skill resources and document templates.
- `tests/` — primer-merge tests.
- `.claude-plugin/` — Claude Code plugin manifest and the local `saga-dev` marketplace.
- `.codex-plugin/` — Codex plugin declaration (`plugin.json`), pointing at `skills/`.
- `marketplace.json` — cross-harness marketplace manifest (github self-reference to `dbtlr/saga`).
- `codex.json` — Codex config (instructions, allowed tools).

## License

MIT — see [LICENSE](LICENSE).

Information

Repository
Language
Python
Created
2026/6/18
Updated
2026/6/19