Markdownai banner
TheDecipherist TheDecipherist

Markdownai

Development community

Description

MarkdownAI - live documents powered by directives

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

MarkdownAI - The AI Workflow Engine

MarkdownAI

**the AI workflow engine.**

[![npm version](https://img.shields.io/badge/version-2.0.0-0891b2)](https://www.npmjs.com/package/@markdownai/core) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Node.js >=18](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)


What is MarkdownAI

MarkdownAI is a phase-aware AI workflow engine for Claude and AI agents. It phases runbooks, injects live data, and delivers scoped context one step at a time. Documents mix prose with executable directives - data sources, control flow, file ops, test runs, DB queries - so the engine renders exactly what the agent needs for the current step, nothing more.


The directive grammar in one snapshot

# 1. Self-closing (atomic, no body, no continuation)
@import ~/path/to/macros.md /
@touch path="src/foo.ts" /
@on-complete next-phase /

# 2. Block with attributes (no body)
@db
  using="mdd"
  find="features"
  where='id == "X"'
  label=feature
@db-end

# 3. Block with attributes + body
@phase 0_branch_check
  required=true
>
  @call branch-guard /
  @on-complete 0_5_repo_version_check /
@phase-end

Familiar to anyone who's written HTML / JSX / Vue / Svelte / Astro - `@` instead of `<` so directives don't conflict with embedded HTML in markdown.


What's new in v2

Unified directive grammar

Every directive uses the three forms above. The v1 split between "block" directives (closed with bare `@end`) and "inline" directives (single-line only, silently dropped continuations) is gone. The close tag carries the directive name, so nested blocks read clearly:

@phase X
  @if {{ ready }}
    @foreach f in {{ files }}
      - {{ f }}
    @foreach-end
  @if-end
@phase-end

Bare `@end`, `@endif`, `@endswitch`, and `@on complete -> X` are no longe