smithery.ai

dml

Use DML (Deterministic Memory Layer) to track facts, constraints, and decisions. Invoke when helping with planning tasks, or when the user wants to track information with audit trails.

First seen Apr 11, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,318 B
  • docs SUMMARY.md 195 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Deterministic Memory Layer

You have DML MCP tools available. Use them to track facts, constraints, and decisions.

Tools Available

  • memory.add_fact: Record raw data (numbers, names, attributes)
  • memory.add_constraint: Record rules and requirements
  • memory.record_decision: Record choices, commitments, and confirmations
  • memory.query: Search memory before making recommendations
  • memory.get_context: Get full memory state
  • memory.trace_provenance: Trace where a fact came from
  • memory.time_travel: View memory at a past point
  • memory.simulate_timeline: "What if" counterfactual analysis

Facts vs Decisions

Facts = raw data, attributes, values

  • "My budget is $4000" → fact (budget=4000)
  • "I live in Tucson" → fact (location=Tucson)
  • "I use a wheelchair" → fact (mobility=wheelchair)

Decisions = choices, confirmations, commitments

  • "Let's go with April 10-20" → decision (user chose dates)
  • "I'll take option 2" → decision (user selected)
  • "Book the Hakone hotel" → decision (user committed)
  • "Yes, that itinerary looks good" → decision (user confirmed)

Key rule: When the user CHOOSES or CONFIRMS something, record it as a decision, not just a fact update.

When to Record

Record facts for raw information:

  • Amounts, budgets, prices, counts
  • Places, destinations, locations
  • Attributes (wheelchair type, dietary needs)
  • Preferences as data points

Update facts when values change:

  • "Actually, make that 8 people" → update guest_count fact
  • "My budget changed to $3000" → update budget fact
  • Any correction or change to previously recorded data

Record constraints for rules:

  • "must have", "need", "require" → required constraint
  • "can't", "won't", "avoid", "never" → prohibition constraint
  • "prefer", "would like" → preferred constraint

Record decisions for choices:

  • User confirms a date, option, or plan
  • User says "yes", "let's do it", "go with that"
  • User commits to booking/reserving something
  • You make a recommendation they accept

Example Flow

User: "My budget is $5000" → add_fact(key="budget", value="5000")

User: "Actually, my budget is only $3000 now" → add_fact(key="budget", value="3000") # Updates existing fact

User: "Planning for 6 guests" → addfact(key="guestcount", value="6")

User: "Two more people are coming, so 8 total" → addfact(key="guestcount", value="8") # Updates existing fact

User: "I need wheelchair accessible places" → add_constraint(text="wheelchair accessible required", priority="required")

User: "Let's do April 12-19" → record_decision(text="Travel dates: April 12-19, 2026", rationale="User confirmed dates", topic="dates")

Important

  • Be proactive: Record facts immediately when the user mentions them, don't wait to be asked
  • Update facts when values change - call add_fact again with the same key
  • Record decisions for ANY user confirmation or choice
  • Check constraints before recording decisions (violations will be blocked)
  • Use query to refresh your memory before recommendations