This AGENTS.md serves as a self-documenting example of project-level steering within the context vault. This template is rendered as AGENTS.md at the root of this repo so all instructions here are actually applied to agents working within the repo. It also serves as a template for generating project-scope AGENTS.md or CLAUDE.md docs for any project.
Note for Agents! To update
./AGENTS.md, make changes on THIS documentagents/steering-project-consensus.md. Then rerun the assembly and sync processes to sync changes.
Reference Implementation: See zk-context-vault for a working example with real content.
A template repository for building AI agent context systems using:
- Obsidian for editing and visual modeling
- Recipe system for assembling content from multiple sources
- Python scripts for automated deployment
Example agent configurations and steering rules. Replace with your own.
Example files:
agent-roles.md- Agent identity templatessteering-global-operator.md- Operator profile templatesteering-global-principles.md- Core principles templatesteering-project-context-vault.md- This file (project steering example)
Skills following the Agent Skills standard.
Structure:
skill-name/
├── SKILL.md # Required: frontmatter + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: detailed docs
└── assets/ # Optional: static resources
Example skills:
catppuccin-theming/- Color palette managementmcp-builder/- MCP server development guidespec-agent-skill.md- Agent Skills specificationspec-kiro-power.md- Kiro Power specification
Example prompt templates for different cognitive modes.
Subdirectories:
hook-prompts/- Markdown sources for Kiro hook creation
Obsidian Canvas files for visual modeling.
Subdirectories:
golden/- Reference implementations and examples
Recipe-based system for assembling and deploying context.
Key files:
src/assemble.py- Assembles recipes into stagingsrc/sync.py- Deploys staging to targetstemplates/- Recipe templatesrecipe-*.md- Active recipesrecipe-manifest.md- Deployment tracking logstaging/- Generated outputs (not committed)
git clone <your-repo-url>
cd context-vault-templateOpen in Obsidian:
- Launch Obsidian
- "Open folder as vault"
- Select the repository directory
- Update
agents/with your agent configurations - Create your own skills in
skills/ - Add your prompts to
prompts/ - Customize
workshop/recipe-*.mdfor your deployment targets
Edit workshop/src/assemble.py and sync.py:
- Update absolute paths to match your system
- Adjust deployment targets (
~/.claude/,~/.kiro/, etc.)
# Assemble recipes
python workshop/src/assemble.py
# Deploy to targets
python workshop/src/sync.pyRecipes define what content to assemble and where to deploy it.
name: example
output_format: agent # or skill, power, command
target_locations:
- path: ~/.claude/CLAUDE.md
sources:
- file: agents/example.md- agent - Simple concatenation of markdown files
- skill - Agent Skills standard structure
- power - Kiro Power with POWER.md + steering/
- command - Platform-specific commands/hooks
Extract specific sections using HTML comments:
<!-- slice:id=example -->
Content to extract
<!-- /slice -->Reference in recipes:
sources:
- slice: id=example
slice-file: source.md- Recipes: Use
~/for home directory (cross-platform) - Scripts: Update absolute paths for your system
- Targets: Common locations:
~/.kiro/- Kiro IDE~/.claude/- Claude Code~/.codex/- Codex
- Dotfolders are first-class citizens: Always use
ls -aor include.*in searches - Frontmatter everywhere: Most markdown files have YAML frontmatter with metadata
- Slice architecture: Content marked with
<!-- slice:id -->for modular assembly - Obsidian integration: This is an Obsidian vault with Canvas files and templates
- Fast-fail: Enforce invariants at boundaries, fail loudly on missing capabilities
- Deterministic: Avoid time-based logic, prefer stable ordering
- Data fidelity: UNKNOWN > INVENTED - never invent data
When working with workshop recipes:
- Recipes define what to assemble (in
workshop/) - assemble.py processes recipes →
workshop/staging/ - Inspect staging before deployment
- sync.py deploys staging → target locations and auto-commits + pushes
- Manifest tracks deployments in
recipe-manifest.md
- Kiro:
agents/agent-roles.md(slice:agent=kiro) - Claude:
agents/agent-roles.md(slice:agent=claudi-claude-code) - Codex:
agents/agent-roles.md(slice:agent=gpt-codex)
- Spec:
skills/spec-agent-skill.md(agentskills.io standard) - Examples: Browse
skills/directory - Templates:
workshop/templates/recipe-skill-{{name}}.md
- Spec:
skills/spec-kiro-power.md(Kiro Power format) - Examples:
skills/*-power/directories - Templates:
workshop/templates/recipe-power-{{name}}.md
- Use Obsidian template from
workshop/templates/ - Configure sources, targets, output_format
- Run
python workshop/src/assemble.py --dry-runto preview - Run
python workshop/src/assemble.pyto generate staging - Inspect
workshop/staging/ - Run
python workshop/src/sync.pyto deploy
- Python 3.8+
- Obsidian (recommended)
- Git
- Explore
workshop/templates/for recipe examples - Check
skills/spec-agent-skill.mdfor skill format - See
skills/spec-kiro-power.mdfor power format - Create your first recipe and run the workflow
- See zk-context-vault for a working example