Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Sync Obsidian

v1.0.0

Turn every Claude Code session into a beautiful Obsidian note — automatically. Generates dual output: structured Markdown reports + interactive Canvas visual...

0· 208·0 current·0 all-time
byKarden@chatrichai

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for chatrichai/sync-obsidian.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Sync Obsidian" (chatrichai/sync-obsidian) from ClawHub.
Skill page: https://clawhub.ai/chatrichai/sync-obsidian
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install sync-obsidian

ClawHub CLI

Package manager switcher

npx clawhub@latest install sync-obsidian
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill's claimed purpose (sync Claude Code sessions to an Obsidian vault) matches the actions described (detect project, create directories, write .md and .canvas files). However the SKILL.md claims 'Zero config' while simultaneously requiring the user to set OBSIDIAN_VAULT — and the registry metadata lists no required env vars. This mismatch (referencing an environment/path variable without declaring it) is an incoherence.
!
Instruction Scope
Runtime instructions tell the agent to run shell commands (git, basename, mkdir), read the latest .md from .claude/plans or extract from the current conversation context, and enumerate/report 'which files changed' and 'actual file paths' in reports. That scope requires unrestricted file-system read/write and access to conversation content; it can cause sensitive code, paths, or design details to be written into the vault. The SKILL.md also mandates 'preserve original plan content' and 'reports must be specific', which increases the chance of unintended data exfiltration.
Install Mechanism
Instruction-only skill with no install spec or downloaded code — lowest installation risk. There is no code to execute from remote sources.
!
Credentials
No credentials or env vars are declared in registry metadata, yet SKILL.md expects the user to set OBSIDIAN_VAULT and relies on filesystem and git context. The lack of an explicit required-env declaration is inconsistent and makes it unclear how the agent will be configured. The permission scope (Read/Write/Bash/Glob/Grep/Edit) is broad but necessary for writing files; nevertheless, the skill does not justify or limit which files it will read beyond .claude/plans and project detection, so it could access more data than a user expects.
Persistence & Privilege
The skill is not always-enabled and does not request elevated or persistent platform privileges. It does not modify other skills or system-wide settings according to the provided metadata.
What to consider before installing
Before installing, verify and change the following: (1) Set OBSIDIAN_VAULT explicitly and confirm the path is local and trusted (the SKILL.md references this but the registry metadata does not declare it). (2) Understand that the skill will read conversation content and repository context and will write full Markdown and Canvas files (including file paths, code snippets, and design rationale) into your vault — this can unintentionally leak secrets or sensitive design details. (3) Test in an isolated repository or a disposable vault first. (4) If you need stricter limits, ask the author to: declare OBSIDIAN_VAULT in requires.env, make the file read/write scope explicit or prompt before writing, and add a dry-run mode that shows what would be written without persisting files. (5) If your Obsidian vault is synced to cloud services, assume anything written may be uploaded—review sync targets and consider using an offline vault for sensitive projects.

Like a lobster shell, security has layers — review code before you run it.

knowledge-managementvk97fvbrz0qgcw0wr9wkx7m8j1n835f57latestvk97fvbrz0qgcw0wr9wkx7m8j1n835f57notesvk97fvbrz0qgcw0wr9wkx7m8j1n835f57obsidianvk97fvbrz0qgcw0wr9wkx7m8j1n835f57productivityvk97fvbrz0qgcw0wr9wkx7m8j1n835f57
208downloads
0stars
1versions
Updated 8h ago
v1.0.0
MIT-0

Sync to Obsidian — Auto-Detect Project Sync

Automatically sync your Claude Code session plans and implementation reports to your Obsidian vault.

Every sync produces two files: a detailed Markdown note + an Obsidian Canvas visual map.

The project name is auto-detected — no per-project configuration needed.

Configuration

Only one path to set — your Obsidian vault root:

OBSIDIAN_VAULT = /Users/you/Documents/Obsidian Vault

Update this to your actual Obsidian vault path before first use.

Auto Project Detection

The skill automatically detects the current project name (in priority order):

  1. Git repo name: basename $(git rev-parse --show-toplevel)
  2. Current directory name: basename $PWD (fallback if not in a git repo)

Sync targets are derived from the project name:

  • Markdown: {OBSIDIAN_VAULT}/[Project] {project_name}/
  • Canvas: {OBSIDIAN_VAULT}/[Project] {project_name}/canvas/

Directories are auto-created if they don't exist (mkdir -p).

Usage

/sync-obsidian plan               # Sync the latest plan file
/sync-obsidian report             # Generate and sync an implementation report
/sync-obsidian plan Auth Redesign # Sync plan with custom title
/sync-obsidian report API Layer   # Sync report with custom title
  • $ARGUMENTS[0]: Type — plan or report (required)
  • $ARGUMENTS[1]: Custom title (optional — auto-inferred from content if omitted)

Execution Flow

Step 0: Detect Project

  1. Run basename $(git rev-parse --show-toplevel 2>/dev/null) 2>/dev/null || basename $PWD to get project name
  2. Set PROJECT_DIR = [Project] {project_name}
  3. Set CANVAS_DIR = [Project] {project_name}/canvas
  4. Run mkdir -p to ensure both directories exist

When type = plan

  1. Read the latest .md file from .claude/plans/
  2. If no plan file found, extract plan content from the current conversation context
  3. Convert to Obsidian note format (see templates below)
  4. Write Markdown to {OBSIDIAN_VAULT}/{PROJECT_DIR}/
  5. Write Canvas to {OBSIDIAN_VAULT}/{CANVAS_DIR}/
  6. Filename: [Plan] {title} ({YYYY-MM-DD}).md / .canvas

When type = report

  1. Summarize the implementation work completed in the current session
  2. Include: what was done, which files changed, key design decisions, follow-up TODOs
  3. Convert to Obsidian note format
  4. Write Markdown to {OBSIDIAN_VAULT}/{PROJECT_DIR}/
  5. Write Canvas to {OBSIDIAN_VAULT}/{CANVAS_DIR}/
  6. Filename: [Report] {title} ({YYYY-MM-DD}).md / .canvas

Markdown Templates

Plan Template

# [Plan] {title}

> Date: {YYYY-MM-DD}
> Source: Claude Code Session
> Project: {project_name}
> Status: Pending / Approved

---

{Original plan content, preserved in full markdown}

---

> Synced from `.claude/plans/{filename}`

Report Template

# [Report] {title}

> Completed: {YYYY-MM-DD}
> Source: Claude Code Session
> Project: {project_name}

---

## Summary

{1-3 sentence overview}

## Completed Work

{Detailed list of completed work:}
- Files created/modified
- Key design decisions
- Technical details

## File Changes

| File | Action | Description |
|------|--------|-------------|
| ... | Created/Modified | ... |

## Design Decisions

{Important architectural/technical decisions and rationale}

## Follow-up TODO

- [ ] {Next steps}

---

> Auto-generated by Claude Code

Canvas Sync (Dual Output)

Every Markdown sync also generates an Obsidian Canvas file (.canvas) for visual exploration.

Canvas Structure

Canvas is a JSON format with nodes (cards/groups) and edges (connections).

Report Canvas layout:

  • grp_summary (color:4 cyan) — Summary: title + date + 1-3 sentence overview
  • grp_work (color:6 pink) — Completed work: split into sub-cards (steps, rules, etc.)
  • grp_files (color:5 purple) — File changes: table of files and operations
  • grp_decisions (color:3 green) — Design decisions: architecture/tech choices and rationale
  • grp_todo (color:2 orange) — Follow-up TODO: checklist of next steps

Plan Canvas layout:

  • grp_overview (color:4) — Plan overview and goals
  • grp_steps (color:6) — Implementation steps, one text node per step
  • grp_architecture (color:3) — Architecture/tech decisions
  • grp_risks (color:2) — Risks and considerations

Layout principles:

  • Groups connected by edges showing flow direction
  • Top-left start: Summary → Work/Steps → Files/Architecture → TODO
  • Color key: 1=red, 2=orange, 3=green, 4=cyan, 5=purple, 6=pink

Sizing rules (prevent content clipping):

  • Text node min width 320px, recommended 500-660px
  • Estimate 35px per line of text (including line spacing)
  • Headers (##) at 45px, code blocks at 28px per line
  • Text node height = line_count × 35 + 60 (top/bottom padding)
  • Groups add 20px padding around contained text nodes
  • Minimum 80px gap between groups (vertical and horizontal)
  • Better too large than too small — clipping is worse than whitespace

Important Rules

  1. No YAML frontmatter — use > quote blocks for metadata instead
  2. Quote blocks for metadata — date, source, status, project in > blocks
  3. Preserve original plan content — never trim or rewrite technical details
  4. Reports must be specific — list actual file paths, code patterns, design rationale
  5. Always output both files — Markdown + Canvas on every sync
  6. Report full paths — tell the user where both files were written
  7. Auto-create directories — use mkdir -p if project or canvas dir doesn't exist

Auto-Sync Setup (Optional)

Add this to your project's CLAUDE.md to enable the full sync lifecycle:

## Auto Sync to Obsidian

### Plan Sync (Before Implementation)

When a plan/design discussion is complete and about to move into implementation,
call `/sync-obsidian plan` FIRST — so the user can review it in Obsidian before
giving the green light.

Trigger when:
- A plan or design discussion has been finalized
- User indicates approval intent ("looks good", "let's do it")
- Before starting any implementation work

Flow: Discuss → Sync plan → User reviews in Obsidian → Confirmed → Implement

### Report Sync (After Implementation)

After completing substantive work, call `/sync-obsidian report` before the session ends.

Trigger when:
- Code files were created, edited, or deleted
- A plan was implemented
- Important architecture discussions or decisions were made

### Do NOT trigger when:
- Pure Q&A / casual chat
- Only read files, no modifications
- User explicitly says no sync needed

Comments

Loading comments...