# Obsidian Bases Manager

> Read and manipulate Obsidian Bases (.base) files - YAML-based database views that render as tables, cards, and grids inside the vault. Use when reading, appending rows, or updating cells in a Base file.

- Skill: `richfrem/obsidian-bases-manager` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add richfrem/obsidian-bases-manager`
- Raw SKILL.md: https://api.skillmd.com/api/skills/richfrem/obsidian-bases-manager/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, AI & ML
- Author: richfrem (https://skillmd.com/u/richfrem)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/richfrem/obsidian-bases-manager

---


## Dependencies

This skill requires **Python 3.8+** and standard library only. No external packages needed.

**To install this skill's dependencies:**
```bash
pip-compile ./requirements.in
pip install -r ./requirements.txt
```

See `./requirements.txt` for the dependency lockfile (currently empty — standard library only).

---
# Obsidian Bases Manager

**Status:** Active
**Author:** Richard Fremmerlid
**Domain:** Obsidian Integration
**Depends On:** `obsidian-vault-crud` (WP06)

## Purpose

Obsidian Bases are `.base` files containing YAML that defines database-like views
over vault notes. This skill enables agents to act as database administrators —
reading, appending rows, and updating cell values while preserving the view
configuration (columns, filters, sorts) untouched.

## Available Commands

### Read a Base
```bash
python ./bases_ops.py read --file <path.base>
```

### Append a Row
```bash
python ./bases_ops.py append-row --file <path.base> --data key1=value1 key2=value2
```

### Update a Cell
```bash
python ./bases_ops.py update-cell --file <path.base> --row-index 0 --column key1 --value "new value"
```

## Safety Guarantees
- Uses `ruamel.yaml` for lossless round-trip YAML parsing
- All writes go through `obsidian-vault-crud` atomic write protocol
- View configurations (columns, filters, sorts, formulas) are never modified
- Malformed YAML triggers a clean error report, never a crash or data loss

