mirror of
https://github.com/himanshudongre/smriti.git
synced 2026-08-28 05:14:59 +00:00
The skill pack is an instruction file installed into an agent host's project directory so Smriti's workflow lives in the agent's system context instead of documentation nobody reads. A single versioned template.md renders for both Claude Code (MCP-primary) and Codex (CLI-primary) via a pure-function substituter, keeping content in sync mechanically across targets. template.md contains 15 sections. The load-bearing one is Section 5, When NOT to checkpoint, with equal weight to Section 4. Agents are told explicitly not to checkpoint after every small step, not to produce end-of-session blobs, not to treat commits as a save button, not to stack commits on inconsistent state, not to restate existing state, and not to checkpoint just because the user asked when there is no real inflection point. A frequency target (2-4 checkpoints per 4-hour session) and a three-question signal test give agents concrete criteria for every call. Other sections cover the read-state-first reflex, when to fork, when to review, when to compare, when to restore, drift detection, explicit anti-patterns (HANDOFF.md, silent state reads, inconsistent author_agent, /chat/send), and the phrases the agent should say out loud so the human watching has an audit trail. Renderer API (all pure functions): load_template, get_version, render, install. install is version-aware: refuses to overwrite a destination whose installed version is >= the template version unless force=True. Dry-run mode returns the rendered content without writing. Content-integrity tests parametrized over both targets assert that every anti-pattern rule, the signal test, the frequency target, and the drift-detection guidance appear in the rendered output. If a future template edit drops any of them, tests fail loudly. 22 skill pack tests, all green.
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
"""Smriti agent skill pack — the agent-onboarding surface.
|
|
|
|
The skill pack teaches coding agents (Claude Code, Codex) when and
|
|
why to use Smriti's tools — when to checkpoint, when NOT to checkpoint,
|
|
when to fork, how to detect drift, and the explicit anti-patterns to
|
|
reject. It is installed into an agent host's project directory as a
|
|
single versioned markdown file so the instructions live in the
|
|
agent's system context rather than in documentation the agent never
|
|
reads.
|
|
|
|
Public surface:
|
|
render(target_key) -> str # render template for a target
|
|
install(target_key, ...) -> InstallResult # write rendered template to disk
|
|
get_version(content=None) -> str # parse frontmatter version
|
|
list_targets() -> list[SkillTarget] # enumerate known targets
|
|
get_target(target_key) -> SkillTarget # resolve a target config
|
|
|
|
Layout:
|
|
skill_pack/
|
|
__init__.py — re-exports the small public surface
|
|
template.md — single source of truth (versioned frontmatter)
|
|
renderer.py — pure-function render + install logic
|
|
targets.py — target configs (display name, destination)
|
|
"""
|
|
from .renderer import InstallResult, get_version, install, load_template, render
|
|
from .targets import SkillTarget, get_target, list_targets
|
|
|
|
__all__ = [
|
|
"InstallResult",
|
|
"SkillTarget",
|
|
"get_target",
|
|
"get_version",
|
|
"install",
|
|
"list_targets",
|
|
"load_template",
|
|
"render",
|
|
]
|