Skip to main content

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", "initialize vault", "setup vault", "create vault", "bootstrap vault", or when a user wants to start a new Second Brain with Bedrock.

소스 정보

저장소
ccplugins/awesome-claude-code-plugins
최근 소스 활동
2026년 4월 21일 21:07
감지된 SKILL.md 언어
영어
스타
968
포크
639

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

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: ```bash 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: ```bash 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:teach` ingestion. Without it, /teach cannot function. | | docling | Bash: `command -v docling >/dev/null 2>&1` | **Required.** Universal file → markdown converter used by `/bedrock:teach` to ingest DOCX, PPTX, XLSX, HTML, EPUB, PDF, images, and other non-markdown formats. Without it, /teach 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:teach` (API strategy). | | GOOGLE_ACCESS_TOKEN | Bash: `test -n "$GOOGLE_ACCESS_TOKEN"` | Google Docs and Sheets ingestion via `/bedrock:teach` (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):** ```bash 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: ```bash { 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. **Step 3 — curl (Python 3.10+ not available):** If Steps 1 and 2 were both unrunnable because `pipx`, `pip`, and Python 3.10+ are all missing, **warn the user explicitly before falling back:** > ⚠️ Python 3.10+ is not available on this system. Falling back to manual skill install via `curl`. To receive graphify updates through the official installer, install Python 3.10+ and re-run `/bedrock:setup`. Then: ```bash mkdir -p ~/.claude/skills/graphify && \ curl -fsSL https://raw.githubusercontent.com/safishamsi/graphify/v1/skills/graphify/skill.md \ > ~/.claude/skills/graphify/SKILL.md ``` Re-probe. If found, stop. **Step 4 — Manual instructions (last resort):** If all prior steps failed (no network, upstream unavailable, or all tooling missing), print the graphify warning shown in Section 1.2.2 below. Do not abort — setup continues regardless. **Note on package name:** The PyPI package is currently published as `graphifyy` — temporary while the upstream project reclaims the `graphify` name. When that flip happens, update Steps 1 and 2 to `pip install graphify && graphify install`. **After the chain completes**, run one final `Glob: ~/.claude/skills/graphify/SKILL.md`. The graphify row in the dependency-report table (Section 1.2.2 below) MUST reflect this post-install status — `installed` if the file now exists, `NOT FOUND` otherwise. Proceed to Section 1.2.2 regardless of outcome. **Never block initialization.** ### 1.2.1.1 Auto-install docling if missing If the docling probe (`command -v docling`) returns nothing, attempt a silent install using the same fallback chain as graphify. Emit a one-line status message before starting — no interactive prompt. > docling not found — installing silently (one-time setup; first run may take several minutes to download ML models). **Step 1 — pipx (preferred, isolated):** ```bash command -v pipx >/dev/null 2>&1 && pipx install docling ``` Re-probe: `command -v docling`. If found, stop. **Step 2 — pip (if pipx unavailable or Step 1 failed):** ```bash { command -v pip3 >/dev/null 2>&1 || command -v pip >/dev/null 2>&1; } && \ { pip3 install --user docling 2>/dev/null || pip install --user docling; } ``` Re-probe. If found, stop. **Step 3 — Manual instructions (last resort):** If both steps failed (no `pipx`/`pip`, no network, or a permissions error), print the docling warning shown in Section 1.2.2 below. Do not abort — setup continues regardless. **After the chain completes**, run one final `command -v docling` probe. The docling row in the dependency-report table (Section 1.2.2 below) MUST reflect this post-install status — `installed` if the command is now on PATH, `NOT FOUND` otherwise. Proceed to Section 1.2.2 regardless of outcome. **Never block initialization.** ### 1.2.2 Report status **Report format:** ``` ## Dependency Check | Dependency | Status | What it unlocks | |---|---|---| | graphify | installed / NOT FOUND | Extraction engine for /teach | | docling | installed / NOT FOUND | Universal file → markdown converter for /teach | | Confluence API credentials | configured / NOT SET | Confluence page ingestion (API) | | Google API token | configured / NOT SET | Google Docs/Sheets ingestion (API) | | claude-in-chrome MCP | available / NOT FOUND | Browser fallback for Confluence | ### Source availability summary | Source type | Status | Requirements | |---|---|---| | Confluence | ready / partial / unavailable | API credentials or Chrome extension | | Google Docs | ready / limited / unavailable | API token or public documents only | | Google Sheets | ready / limited / unavailable | API token (all tabs) or public (first tab only) | | GitHub | ready | git CLI | | Remote URL | ready | WebFetch or curl | | Local files | ready | filesystem access | | Non-markdown files (DOCX, PPTX, XLSX, PDF, HTML, EPUB, images) | ready / unavailable | docling installed | ``` For **graphify** specifically (required): ``` > graphify is not installed. This is REQUIRED for /bedrock:teach to work. > To install, check https://github.com/safishamsi/graphify for instructions. > > Your vault will initialize, but /bedrock:teach will not function until graphify is installed. ``` For **docling** specifically (required for non-markdown ingestion): ``` > docling is not installed. This is REQUIRED for /bedrock:teach to ingest non-markdown files > (DOCX, PPTX, XLSX, PDF, HTML, EPUB, images, etc.). > To install manually: pipx install docling (or: pip install --user docling) > More info: https://github.com/docling-project/docling > > Your vault will initialize, but /bedrock:teach will only handle markdown/text inputs until > docling is installed. /teach also attempts a silent auto-install on first invocation if the > dependency is still missing. ``` For missing environment variables (optional): ``` > CONFLUENCE_API_TOKEN and CONFLUENCE_USER_EMAIL are not set. > To ingest Confluence pages, generate an API token at: > https://id.atlassian.com/manage-profile/security/api-tokens > Then set: CONFLUENCE_API_TOKEN=<token> and CONFLUENCE_USER_EMAIL=<your-email> > > Alternative: If you have the Claude in Chrome extension with Confluence logged in, browser extraction will work as a fallback. > This is optional — your vault will work without Confluence ingestion. ``` ``` > GOOGLE_ACCESS_TOKEN is not set. > To ingest Google Docs/Sheets, generate an access token at: > https://developers.google.com/oauthplayground/ > Select scope: https://www.googleapis.com/auth/drive.readonly > Then set: GOOGLE_ACCESS_TOKEN=<token> > > Public Google Docs/Sheets can still be ingested without a token (limited). > This is optional — your vault will work without Google ingestion. ``` **Proceed regardless of results.** Never block initialization for missing dependencies. --- ## Phase 2 — Vault Objective ### 2.1 Present Presets Ask the user: > "What is the primary purpose of this vault?" > > 1. **Engineering team** — Track services, APIs, teams, and technical decisions > 2. **Product management** — Track features, research, projects, and analytics > 3. **Company wiki** — Centralized knowledge base across departments > 4. **Personal second brain** — Personal knowledge management and learning > 5. **Open source project** — Track contributors, issues, architecture, and community > 6. **Custom** — Define your own domains and focus ### 2.2 Resolve Preset Based on the user's selection, resolve the preset configuration from this lookup table: ```yaml presets: engineering: label: "Engineering team" domains: [backend, frontend, infra, data, platform, security] description: "Engineering team knowledge base for tracking services, APIs, technical decisions, and team operations" team_name: "platform-team" team_aliases: ["Platform", "Platform Team"] team_scope: "Core platform services and infrastructure" team_purpose: "Maintain and evolve the platform layer" people: - slug: "alice-chen" name: "Alice Chen" aliases: ["Alice Chen", "Alice"] role: "Tech Lead" email: "alice.chen@company.com" focal_points: ["billing-api"] - slug: "bob-santos" name: "Bob Santos" aliases: ["Bob Santos", "Bob"] role: "Backend Engineer" email: "bob.santos@company.com" focal_points: [] actor_slug: "billing-api" actor_name: "billing-api" actor_aliases: ["Billing API", "Billing Service"] actor_category: "api" actor_description: "REST API for billing operations — invoices, payments, and subscriptions" actor_stack: "Go · Gin · PostgreSQL · Kafka" actor_status: "active" actor_criticality: "high" topic_slug: "2026-04-feature-api-migration" topic_title: "API v2 Migration" topic_aliases: ["API Migration", "v2 Migration"] topic_category: "feature" topic_objective: "Migrate billing API from v1 to v2 with improved performance and new endpoints" project_slug: "platform-modernization" project_name: "Platform Modernization" project_aliases: ["Platform Modernization", "PlatMod"] project_description: "Modernize the platform layer with new APIs, improved observability, and reduced technical debt" product: label: "Product management" domains: [product, design, research, analytics, growth] description: "Product management knowledge base for tracking features, user research, projects, and product analytics" team_name: "product-team" team_aliases: ["Product", "Product Team"] team_scope: "Product strategy, discovery, and delivery" team_purpose: "Drive product roadmap and user experience" people: - slug: "carol-kim" name: "Carol Kim" aliases: ["Carol Kim", "Carol"] role: "Product Manager" email: "carol.kim@company.com" focal_points: ["analytics-dashboard"]
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기