Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podlite

Podlite Skills

One grammar, one AST. Your Markdown parses in unchanged — and when something regenerates the doc, the break Markdown swallows silently becomes a line-located error, equally legible to a person and to an agent.

GitHub Stars

Works with Claude Code, Codex CLI, Cursor, GitHub Copilot, and 35+ agents:

npx skills add podlite/podlite-skills

Why

Markdown has no single spec-defined canonical AST — CommonMark deliberately defines none. So two parsers can disagree on the tree, and typed attributes have nowhere to live. When an agent regenerates a document between sessions, a dropped block boundary or broken nesting becomes a silent diff you only notice later.

Podlite ships one canonical grammar and one AST, so that class of breakage surfaces as a line-located error instead of vanishing into a re-render.

This is not "a markup with a real parser" — remark/mdast is a real typed AST too. The difference is one canonical, spec-defined tree with stable block boundaries and typed attributes — not a tree your toolchain happens to pick.

Honest trade: Markdown wins on ubiquity and tooling. Podlite wins when structure has to survive regeneration by an agent.

See it (runnable, ~10s)

Don't take the claim — run the parser on your own machine:

npm i @podlite/schema
node -e "const {parse}=require('@podlite/schema'); console.dir(parse('=head1 Hello World'), {depth:5})"

Every node comes back with its type, name, level, and a location: { line, column }. That's the whole point: a structural break points at a line, it doesn't disappear.

Convert back out with toHtml (full-fidelity) or toMarkdown (best-effort — typed attributes have no Markdown equivalent, so that structure is intentionally dropped; characterized, not silent).

Skills

Skill Description
podlite-markup Create and edit Podlite markup — docs, specs, ideas, structured content
podlite-verify Validate and self-check Podlite — catch unbalanced blocks, nested-angle attributes, list-nesting errors before delivering

Installation

skills.sh (recommended)

One command, 35+ agents:

npx skills add podlite/podlite-skills

Claude Code (manual)

cp -r skills/ /path/to/your/project/.claude/skills/

Codex CLI

cp -r skills/ ~/.codex/skills/

Other tools

Drop SKILL.md where your agent looks for skills. See agentskills.io/specification.

What Podlite looks like

Reads like Markdown; carries explicit boundaries and typed attributes:

=begin pod :type('page') :tags<tutorial>
=TITLE My Document

=head1 Introduction

Podlite is B<readable> like Markdown but I<structured> with typed attributes.

=item Human-friendly syntax
=item Machine-parseable attributes with C<:key<value>>
=item Inline formatting: B<bold>, I<italic>, C<code>, L<links|https://podlite.org>

=begin table :caption('Trade-offs, not a clean sweep')
  Format   | Ubiquity | Canonical AST
  ---------|----------|--------------------
  Markdown | +++      | none (by design)
  Podlite  | +        | one, spec-defined
=end table

=end pod

Podlite Resources

Agent Skills

License

MIT

About

Teach your AI agent to write Podlite. One command install ⭐️. Works with Claude Code, Codex CLI, Cursor, GitHub Copilot, and anything that supports Agent Skills.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors