Plugins

Spektacular (Spek)'s pluggable architecture lets speks, plans, knowledge, and agents come from wherever your team already keeps them.

What's pluggable

Two plugin points sit at the core of Spek. Implement either interface and register your backend to use it.

🗄️

The Store interface

One interface, three use-cases: where speks live, where plans live, and where knowledge is read from. Each section of config.yaml independently names a Store provider, so you can mix and match.

🤖

The Agent interface

The coding agent Spek drives during the implement workflow. Each registered agent declares its name and how to install workflow artefacts into a target project.

What ships today

Plugins registered in the current release.

Store

file

The file-system Store provider. Backs spec, plan, and knowledge sections of config.yaml. Reads and writes plain markdown under a configurable directory.

Agent

claude

Drives Claude Code via its skills and slash-command directory layout. Selected by spektacular init claude.

Agent

bob

Drives the Bob agent via its .bob/skills and .bob/commands layout. Selected by spektacular init bob.

Agent

codex

Drives the Codex agent via its skills directory layout. Selected by spektacular init codex.

Agent

omp

Drives oh-my-pi. Select it with spektacular init omp. Installs six identical workflow skills in .omp/skills/, Markdown wrappers and native input-preserving handlers in .omp/commands/, and eight always-applied spek-*.md rules in .omp/rules/. The rules mirror only Spektacular’s sections of root AGENTS.md, so they remain visible beside another tool’s instruction file or the project’s own .omp/AGENTS.md. Other project instructions, skills, commands, rules and settings stay intact.

Start omp in the project’s top folder: Spektacular commands only work there, and omp’s plain commands only appear there. Use /spek-new your feature or /skill:spek-new; both forms work for all six workflows. The plain commands forward the input unchanged, including quotes and whitespace. Once root AGENTS.md exists, omp does not read root CLAUDE.md; put instructions omp should see in AGENTS.md instead.

On a shared project, init omp records omp as its agent. Migration refreshes only the recorded agent’s files, so another agent’s copies fall behind and omp may list current and stale skills. After upgrading, run spektacular init once for each agent to refresh everything. Identical copies are listed once by omp.

Planned

Concrete integrations the pluggable architecture is being built toward. Not yet shipping, listed here so teams can plan ahead.

Planned · Store

obsidian

Knowledge Store backed by an Obsidian vault. Lets teams point Spek at the markdown they already curate.

Planned · Store

notion

Knowledge Store backed by a Notion workspace. Surfaces team docs without copying them into the repo.

Planned · Store

jira

Spec Store backed by Jira. Tickets become spek inputs; planned work links back to the ticket they came from.

Build your own

Implement the Store or Agent interface and register it. The Extending page describes both.