2 pointsby monarchjuno3 hours ago1 comment
  • monarchjuno3 hours ago
    Hi HN,

    I’m sharing a project I built to solve a specific pain point I hit while building multi-agent systems and adopting AI coding assistants (Cursor, Antigravity, Codex, etc.).

    As we move towards agent orchestration, we increasingly need specialized agents: one agent for architecture, another for security review, and another for writing tests. But right now, most of us manage this by stuffing everything into massive 1,000+ line AGENTS.md files or hardcoding prompt blobs into our scripts.

    When a specific agent hallucinates or violates a security policy, debugging that monolithic prompt blob is impossible. There is no versioning, no diffs, and no way to say "keep the senior backend persona, but swap out the testing rules for this specific CI agent."

    I realized I needed to treat AI constraints the same way I treat code. So, I built Dance of Tal (DOT).

    The name comes from Talchum, the traditional Korean mask dance, where Tal is the mask (character/persona) and chum is the dance (the prescribed movements). DOT applies this exact metaphor to decouple system prompts into strongly typed, versioned components:

    Tals (Personas): The mask. How the AI thinks and its professional identity (e.g., tal/@username/security-auditor).

    Dances (Rules): The choreography. Strict formatting, JSON schemas, and coding standards. You can layer multiple Dances like CSS classes (e.g., dance/@username/kotlin-style + dance/@username/gdpr-rules).

    Combos (Lockfiles): Pins a specific Tal and layered Dances together into a reproducible profile. (e.g., Your PR-review agent gets a different Combo than your hotfix agent).

    Acts (Workflows): The stage play. A DAG-based workflow engine that conditionally switches between Tals and Dances (e.g., automatically switching the AI from a "cautious architect" to a "fast hotfix specialist" during a P0 incident).

    Stages (Adapters): Translates the assembled payload perfectly for whatever vendor/platform you're using (Cursor, Antigravity, Codex, Claude API, etc.).

    Instead of copy-pasting blobs, I just run dot lock to give each AI agent the exact reproducible behavior it needs. I also added native MCP (Model Context Protocol) support, so IDEs and orchestration frameworks can just fetch the compiled context exactly when needed—no more manual prompt wrangling.

    I'd love to hear your thoughts on this "dependency injection for prompts" approach. Are prompt monoliths and multi-agent context management causing friction for you as well?

    Happy to answer any questions!