Skip to content
Productivity
Skill

/setup

Initialize any folder as a Bedrock-powered Obsidian vault. Creates entity directories, copies templates, configures language and domain taxonomy, scaffolds connected example entities, and checks dependencies. Use when: "bedrock setup", "bedrock-setup", "/bedrock:setup",

From plugin
bedrock
11010 skills1 hook

Claude Code

$ npx -y skills add iurykrieger/claude-bedrock --skill setup --agent claude-code

SKILL.md

setup.SKILL.md
name: setup
description: >
  Initialize any folder as a Bedrock-powered Obsidian vault. Creates entity directories,
  copies templates, configures language and domain taxonomy, scaffolds connected example
  entities, and checks dependencies.
  Use when: "bedrock setup", "bedrock-setup", "/bedrock:setup", "initialize vault",
  "setup vault", "create vault", "bootstrap vault", or when a user wants to start
  a new Second Brain with Bedrock.
user_invocable: true
allowed-tools: Bash, Read, Write, Glob, Grep

/bedrock:setup — Vault Initialization

Plugin Paths

Templates and entity definitions are in the plugin directory, not in the vault root. Use the "Base directory for this skill" provided at invocation to resolve paths:

  • Entity definitions: `<base_dir>/../../entities/`
  • Templates: `<base_dir>/../../templates/{type}/_template.md`
  • Plugin CLAUDE.md: `<base_dir>/../../CLAUDE.md` (auto-injected into context)

Where `<base_dir>` is the path shown in "Base directory for this skill".

---

Overview

This skill bootstraps any folder into a fully functional Bedrock-powered Obsidian vault through an interactive guided flow. It creates directories, copies templates, configures the vault, scaffolds example entities with bidirectional wikilinks, checks dependencies, and guides the user through next steps.

**You are a setup agent.** Follow the phases below in order. Do not skip steps.

---

Phase 0 — Idempotency Check

Check if the vault is already initialized:

ls .bedrock/config.json 2>/dev/null

**If `.bedrock/config.json` exists:**

1. Read and display the current configuration:

   This vault is already initialized:
   - Language: <language>
   - Preset: <preset>
   - Domains: <domains>
   - Git strategy: <git.strategy or "commit-push" if absent>
   - Initialized at: <date>

2. Check if this vault is registered in the global vault registry:

   cat <base_dir>/../../vaults.json 2>/dev/null

If the registry exists, check if any entry has a `path` matching the current working directory.

  • **If registered:** display "Registered as vault `<name>`" alongside the config above.
  • **If NOT registered:** display "This vault is not yet registered in the global vault registry."

3. Ask the user: > "This vault is already initialized. What would you like to do?" > 1. **Reconfigure** — Update language, domains, git strategy, and regenerate vault CLAUDE.md (directories and entities are NOT touched) > 2. **Register only** — Register this vault in the global registry (if not already registered) without changing configuration > 3. **Skip** — Exit with no changes

  • **Reconfigure**: proceed to Phase 1, but set `RECONFIGURE_MODE = true`. In Phase 3, skip directory creation (3.1), template copying (3.2), Obsidian configuration (3.5), and example entity generation (3.6). Phase 3.7 (vault registration) still runs.
  • **Register only**: skip directly to Phase 3.7 (vault registration). If already registered, display "This vault is already registered as `<name>`. No changes made." and exit.
  • **Skip**: exit with "No changes made. Vault is already initialized."

**If `.bedrock/config.json` does NOT exist:** proceed to Phase 1 with `RECONFIGURE_MODE = false`.

---

Phase 1 — Language and Dependencies

1.1 Language Selection

Ask the user:

> "What language should vault content be written in?" > 1. **English (en-US)** *(default)* > 2. **Portuguese (pt-BR)** > 3. **Spanish (es)** > 4. **Other** — specify a locale code (e.g., `fr-FR`, `de-DE`, `ja-JP`) > > Press Enter for default (en-US).

Store the selected language as `VAULT_LANGUAGE`. This determines:

  • The language of example entity content
  • The language directive in the vault CLAUDE.md
  • The language instruction for all future skill output in this vault

1.2 Dependency Check

Check for external tools, environment variables, and MCP servers that enhance the Bedrock experience. **Never block initialization.**

**Dependencies to check:**

| Dependency | Check method | What it unlocks | |---|---|---| | graphify | Glob: `~/.claude/skills/graphify/SKILL.md` | **Required.** Extraction engine for all `/bedrock:learn` ingestion. Without it, /learn cannot function. | | docling | Bash: `command -v docling >/dev/null 2>&1` | **Required.** Universal file → markdown converter used by `/bedrock:learn` to ingest DOCX, PPTX, XLSX, HTML, EPUB, PDF, images, and other non-markdown formats. Without it, /learn can only ingest text-native formats. | | CONFLUENCE_API_TOKEN + CONFLUENCE_USER_EMAIL | Bash: `test -n "$CONFLUENCE_API_TOKEN" && test -n "$CONFLUENCE_USER_EMAIL"` | Confluence page ingestion via `/bedrock:learn` (API strategy). | | GOOGLE_ACCESS_TOKEN | Bash: `test -n "$GOOGLE_ACCESS_TOKEN"` | Google Docs and Sheets ingestion via `/bedrock:learn` (API strategy). | | claude-in-chrome MCP | ToolSearch: `select:mcp__claude-in-chrome__tabs_context_mcp` (succeeds = available) | **Optional.** Browser fallback for Confluence pages when API credentials are unavailable. |

1.2.1 Auto-install graphify if missing

If the graphify probe in the table above returns no file, attempt to install graphify silently before generating the dependency report. Execute this fallback chain in order, stopping at the first successful re-probe.

**Step 1 — pipx (preferred, isolated):**

command -v pipx >/dev/null 2>&1 && pipx install graphifyy && graphify install

Re-probe: `Glob: ~/.claude/skills/graphify/SKILL.md`. If the file now exists, stop — graphify is installed.

**Step 2 — pip (if pipx unavailable or Step 1 failed):**

Only if Step 1's re-probe still finds nothing, and Python 3.10+ is available:

{ command -v pip3 >/dev/null 2>&1 || command -v pip >/dev/null 2>&1; } && \
  python3 -c 'import sys; sys.exit(0 if sys.version_info >= (3, 10) else 1)' 2>/dev/null && \
  { pip3 install graphifyy 2>/dev/null || pip install graphifyy; } && graphify install

Re-probe. If found, stop.

Read more
@iurykrieger
Ships withbedrock

Second Brain automation for Obsidian vaults — entity management, ingestion, compression, and sync via Claude Code skills

Stars on GitHub

Momentum

stars in total
110
Star history of iurykrieger/claude-bedrock on GitHub, a chart by star-history.com

Other skills on bedrock.

ask

ask

Adaptive vault reader skill. Receives a natural language question, uses graph.json as the primary index (Phase 2.0) before any…

@iurykrieger@iurykriegerInstall Skill
compress

compress

Vault alignment engine. Detects and fixes 5 types of structural misalignments: broken backlinks, concept fragmentation, entity…

@iurykrieger@iurykriegerInstall Skill
confluence-to-markdown

confluence-to-markdown

Internal fetcher module for Confluence pages. Fetches content via Atlassian MCP (preferred), REST API with Basic Auth (fallback),…

@iurykrieger@iurykriegerInstall Skill
gdoc-to-markdown

gdoc-to-markdown

Internal fetcher module for Google Docs and Sheets. Fetches content via MCP (preferred, when available), Google API with bearer…

@iurykrieger@iurykriegerInstall Skill
healthcheck

healthcheck

Read-only vault health diagnostic. Generates a report without modifying any files. Checks: graphify-out integrity, setup…

@iurykrieger@iurykriegerInstall Skill
learn

learn

Ingests an external data source into the Second Brain. Fetches content from Confluence, Google Docs, GitHub repositories, remote…

@iurykrieger@iurykriegerInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about setup.

Which coding agents can use setup?
setup installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.