Skip to main content
plugin

bedrock — Claude Code plugin: what it does, how to install

Automates Obsidian vaults into a structured knowledge base, connecting notes with wikilinks and importing content from external documents.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add anthropics/claude-plugins-community
/plugin install bedrock@claude-community
Open on GitHub

What bedrock does

Bedrock turns an Obsidian vault into a structured knowledge graph using Claude Code skills. It organizes files across seven core entity types: actors, people, teams, topics, discussions, projects, and fleeting notes. When new notes are processed, the plugin assigns hierarchical tags and constructs bidirectional wikilinks to keep the Obsidian graph view connected.

External ingestion relies on two tools: graphify for code and knowledge extraction, and docling for parsing external files like PDF, DOCX, XLSX, and presentation decks. Without a working Python setup to run these CLI tools via pipx, ingestion of non-markdown formats fails.

Day-to-day operations include diagnostic audits. You run /bedrock:healthcheck to detect broken links and dangling references, while /bedrock:compress merges duplicates across your notes.

What it helps with

  • structure an Obsidian vault following Zettelkasten conventions
  • convert PDF, DOCX, and PPTX files into linked Markdown notes
  • clean up broken backlinks, duplicates, and orphaned notes
  • query vault entities directly from Claude Code with citations

Example prompts for the agent

  • /bedrock:setup
  • /bedrock:learn ./docs/architecture.pdf
  • /bedrock:ask who owns the billing API and what projects depend on it?

How to install bedrock

Plugin marketplace

/plugin marketplace add anthropics/claude-plugins-community
/plugin install bedrock@claude-community

Step by step, with commands for each platform: Claude Code plugins: marketplaces, installing, and building your own

Questions about bedrock

How to install bedrock in Claude Code?

Register the marketplace first using /plugin marketplace add anthropics/claude-plugins-community. Next, run /plugin install bedrock@claude-community.

What does bedrock do?

It gives Claude Code skills to manage an Obsidian vault without manual filing. The tool extracts entities from files or URLs, creates Markdown pages, and cross-references them via wikilinks.

Which dependencies are required before using bedrock?

Ingestion commands require graphify and docling. The /bedrock:setup command attempts to install them automatically, or you can install both via pipx install graphify and pipx install docling.

Source text

SKILL.md · MIT
<p align="center">
  <img src="docs/banner.png" alt="Bedrock — Knowledge graph visualization" width="600">
</p>

<h1 align="center">Bedrock</h1>

<p align="center">
  <strong>Turn any Obsidian vault into a structured Second Brain with AI agents</strong>
</p>

<p align="center">
  <a href="https://github.com/iurykrieger/claude-bedrock/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
  <a href="https://github.com/iurykrieger/claude-bedrock"><img src="https://img.shields.io/badge/claude--code-plugin-a882ff" alt="Claude Code Plugin"></a>
  <a href="https://github.com/iurykrieger/claude-bedrock"><img src="https://img.shields.io/github/v/tag/iurykrieger/claude-bedrock?label=version" alt="Version"></a>
</p>

---

Bedrock is a [Claude Code](https://docs.anthropic.com/en/docs/claude-code) plugin that automates Obsidian vault management through AI-powered skills. It organizes knowledge into **7 entity types** following adapted [Zettelkasten](https://zettelkasten.de/overview/) principles — entity detection, bidirectional linking, ingestion from external sources, deduplication, and sync.

No build system. No runtime. Just markdown files, AI agents, and your Obsidian vault.

## Features

- **8 AI-powered skills** — setup, ask, teach, preserve, compress, sync, healthcheck, and vaults
- **7 entity types** — actors, people, teams, topics, discussions, projects, and fleeting notes
- **External source ingestion** — Confluence, Google Docs, GitHub repositories, and any file format supported by [docling](https://github.com/docling-project/docling) (DOCX, PPTX, XLSX, PDF, HTML, EPUB, images, and more)
- **Bidirectional wikilinks** — automatic cross-referencing with Obsidian graph view
- **Hierarchical tags** — multi-dimensional filtering (`type/`, `status/`, `domain/`, `scope/`)
- **Zettelkasten structure** — permanent, bridge, index, and fleeting note roles
- **Trunk-based git workflow** — structured commit conventions built in

## Installation

```bash
/plugin marketplace add iurykrieger/claude-bedrock
/plugin install bedrock@claude-bedrock
```

For local development:

```bash
claude --plugin-dir ./claude-bedrock
```

## Quick Start

After installing, run the setup wizard:

```
/bedrock:setup
```

This will guide you through:

1. **Language selection** — choose the vault content language (default: English)
2. **Dependency check** — verify `graphify` is installed (required)
3. **Vault objective** — pick a preset (engineering team, product management, company wiki, personal second brain, open source project, or custom)
4. **Scaffold** — create directories, templates, config, and connected example entities

The setup creates all entity directories, copies templates, generates a vault-level `CLAUDE.md`, and scaffolds example entities with bidirectional wikilinks so you can see the graph in Obsidian immediately.

## Skills

| Skill | Purpose |
|---|---|
| `/bedrock:setup` | Interactive vault initialization and configuration |
| `/bedrock:ask` | Orchestrated vault reader — decomposes questions, searches graph and vault, cross-references entities |
| `/bedrock:learn` | Ingest external sources — extract and create entities |
| `/bedrock:preserve` | Single write point — detect, match, create/update entities with bidirectional links |
| `/bedrock:compress` | Deduplication and vault health — broken links, orphans, stale content |
| `/bedrock:sync` | Re-sync entities with external sources |
| `/bedrock:healthcheck` | Read-only vault health diagnostic — graphify-out integrity, orphans, dangling content, stale entries |
| `/bedrock:vaults` | Manage registered vaults — list, set default, remove |

## Vault Structure

```
your-vault/
├── actors/          # Systems, services, APIs (permanent notes)
├── people/          # Contributors, team members (permanent notes)
├── teams/           # Squads, organizational units (permanent notes)
├── topics/          # Cross-cutting subjects with lifecycle (bridge notes)
├── discussions/     # Meeting notes, conversations (bridge notes)
├── projects/        # Initiatives with scope and deadline (index notes)
└── fleeting/        # Raw ideas, unstructured captures (fleeting notes)
```

Each directory contains a `_template.md` defining the frontmatter schema for that entity type.

## How It Works

Bedrock turns your vault into a living knowledge graph by combining **8 skills** you invoke from Claude Code. You never write entities by hand — skills detect, create, and link them for you, with Obsidian rendering the result as a graph.

### First-time use

1. Open a folder you want to turn into a vault (or an existing Obsidian vault).
2. Run `/bedrock:setup` — answers a few questions and scaffolds directories, templates, and example entities.
3. Open the folder in Obsidian. You'll already see a connected graph.

### Day-to-day loops

- **Capture knowledge from a source** — paste a Confluence page, Google Doc, GitHub repo, remote URL, or any local file (DOCX, PPTX, XLSX, PDF, HTML, EPUB, images, and any other docling-supported format) into `/bedrock:learn`. Bedrock extracts entities and writes them to the vault with bidirectional links.
- **Ask the vault questions** — use `/bedrock:ask` for anything like *"who owns the billing API?"* or *"what's the status of project X?"*. It searches the graph, follows wikilinks, and answers with citations.
- **Keep sources fresh** — run `/bedrock:sync` to re-pull external sources, or `/bedrock:sync --github` / `--people` to surface recent activity and contributors.
- **Clean up drift** — run `/bedrock:compress` to fix broken backlinks, merge duplicates, and consolidate fragmented concepts. Run `/bedrock:healthcheck` for a read-only report.
- **Manage multiple vaults** — register several vaults with `/bedrock:vaults`; target a specific one with `--vault <name>`.

### What you get in Obsidian

Every entity has YAML frontmatter (type, status, domain, sources), hierarchical tags (`type/actor`, `status/active`, `domain/payments`), and bidirectional wikilinks. The graph view becomes a navigable map of people, systems, teams, topics, and projects — updated automatically as you teach Bedrock new content.

## Dependencies

| Tool | Purpose | Required? |
|---|---|---|
| [graphify](https://github.com/iurykrieger/graphify) | Semantic code extraction and knowledge-graph pipeline used by `/bedrock:learn` and `/bedrock:sync` | Yes |
| [docling](https://github.com/docling-project/docling) | Universal file → markdown converter used by `/bedrock:learn` to ingest DOCX, PPTX, XLSX, PDF, HTML, EPUB, images, and other non-markdown formats | Yes |

Both `graphify` and `docling` are auto-installed by `/bedrock:setup` (and lazily by `/bedrock:learn` on first use if missing). You can also install them manually via `pipx install graphify` / `pipx install docling`.

Confluence and Google Docs ingestion are built into the plugin as internal skills (`/bedrock:confluence-to-markdown`, `/bedrock:gdoc-to-markdown`) invoked by `/bedrock:learn` and `/bedrock:sync` — no external installation required.

## Configuration

Configuration is stored in `.bedrock/config.json` inside your vault. Run `/bedrock:setup` again at any time to reconfigure.

## Error Reporting

The `bedrock` plugin auto-reports framework errors as GitHub issues on
[iurykrieger/claude-bedrock](https://github.com/iurykrieger/claude-bedrock) so
maintainers learn about real-world failures.

**What gets reported**
- Python tracebacks from skill scripts
- Non-zero exit codes from skill bash commands
- Known logical-failure phrases in Claude's text (small auditable regex catalog)

**What never gets reported**
- Vault content (markdown bodies, frontmatter values)
- Absolute filesystem paths (replaced with `.../`)
- Vault entity names (people, teams, projects, etc.)
- URLs from your vault (Confluence, Google Docs, internal repos)

**How to opt out**

Add `"error_reporting": false` to your vault's `.bedrock/config.json`:

```json
{
  "error_reporting": false
}
```

Default is `true`. The hook silently skips reporting if `gh` is not installed
or you're not authenticated, and logs the would-be report to
`~/.claude-bedrock-cache/error-reporter.log`.

## Contributing

Contributions are welcome! Here's how to get started:

1. **Fork** the repository
2. **Clone** your fork and install the plugin locally:
   ```bash
   claude --plugin-dir ./claude-bedrock
   ```
3. **Create a branch** for your feature or fix
4. **Make your changes** — skills live in `skills/`, entity definitions in `entities/`, templates in `templates/`
5. **Test** by running the plugin against a test vault
6. **Open a PR** against `main`

### Project Structure

```
claude-bedrock/
├── .claude-plugin/    # Plugin manifest (plugin.json)
├── skills/            # Skill definitions (SKILL.md per skill)
│   ├── setup/
│   ├── query/
│   ├── teach/
│   ├── preserve/
│   ├── compress/
│   └── sync/
├── entities/          # Entity type definitions
├── templates/         # Frontmatter schema templates
├── docs/              # Documentation assets
├── CLAUDE.md          # AI agent instructions
└── README.md
```

## License

[MIT](LICENSE) — Iury Krieger

© iurykrieger · MIT · iurykrieger/claude-bedrock

Similar plugins

All plugins for Notes, tasks and projects →

From the same set3

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor