跳到正文
cccskills
免费在 GitHub 公开

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.

中文简介正在准备中。当前显示原文说明。

集成工具Obsidian

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md5.8 KB
  • references/canvas-spec.md8.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Canvas

Treat a canvas as a vault-scoped JSON Canvas document. Keep reads read-only and route every requested mutation through one recoverable transaction.

Resolve the installed product root from this skill's own location, not from the vault or current working directory:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"

Every ../wiki/references/ link in this file resolves the same way, relative to this skill's own directory under $PRODUCT_ROOT, never relative to the selected vault's wiki/ directory.

Choose the syntax source

Prefer a separately installed kepano/obsidian-skills json-canvas skill for format details. Otherwise read references/canvas-spec.md. The open standard is JSON Canvas 1.0.

Use this skill for vault workflow and transaction safety even when an upstream syntax skill is available.

Scope

  • Resolve the user vault before reading. Never derive it from plugin files.
  • Store boards under wiki/canvases/; use wiki/canvases/main.canvas only as the default when the user did not name a board.
  • Treat wiki/canvases/_index.md as an optional catalog. Add a new board to it in the same transaction when a catalog exists. Node or edge edits inside an existing board do not require a catalog change.
  • The transaction engine supports file creation and replacement only. A board file cannot be deleted or renamed through this skill. Explain that boundary for a file-removal or file-rename request and return a separate cleanup plan; do not substitute host file tools or silently turn a rename into a copy.
  • Use vault-relative paths in file and background; reject absolute paths, .. traversal, home shortcuts, and paths that escape through symlinks.
  • Reference only files already inside the vault or created in the same reviewed transaction. If an optional capture or media capability is detected, compose with it and consume its returned vault-relative path. Do not assume a particular plugin, command, or session log, and do not download or copy assets in this skill.
  • Use link nodes for URLs. Accept HTTPS URLs only; a link node does not grant permission to fetch the page. Creating its JSON makes no request, but opening it in Obsidian may fetch Open Graph metadata from that URL's host. Disclose that render-time egress and confirm it is acceptable; otherwise use a text node containing the URL.

Read-only operations

For status or list requests, parse the selected .canvas files and report node counts, group labels, broken edge endpoints, and missing vault-relative file targets. If the default canvas is absent, report that fact and offer a creation preview; do not create it during a status request.

Draft a mutation

  1. Read the entire canvas and any catalog target. Record each expected SHA-256, or null for a file that must be absent.
  2. Preserve unknown JSON fields and existing array order. The node array is bottom-to-top z-order.
  3. Draft the requested nodes or edges:
    • Give every node and edge a unique ID. Prefer a random 16-character lowercase hexadecimal ID and verify it is unused.
    • Require integer x, y, width, and height values for every node.
    • Use text, file, link, or group exactly as defined by JSON Canvas.
    • Require every fromNode and toNode to reference an existing or newly drafted node.
  4. Position new content deliberately. A group is a visual container, not a parent. Use 20 px inner padding and 40 px gaps, wrap to a new row when needed, and preview any group expansion.
  5. Serialize valid UTF-8 JSON with top-level nodes and edges arrays.

Minimal node examples:

{
  "nodes": [
    {
      "id": "6f0ad84f44ce9c17",
      "type": "text",
      "text": "# Research map\n\nA concise orientation card.",
      "x": 0,
      "y": 0,
      "width": 400,
      "height": 180
    },
    {
      "id": "a1b2c3d4e5f67890",
      "type": "file",
      "file": "wiki/concepts/Contextual Retrieval.md",
      "x": 460,
      "y": 0,
      "width": 400,
      "height": 240
    }
  ],
  "edges": []
}

Use file plus optional subpath: "#Heading" for notes, images, PDFs, and other vault files. Use url only on a link node. Escape line breaks in JSON strings as \n, not as literal backslash-plus-n text.

Preview and apply

Validate before showing the preview:

  • JSON parses and uses supported node types.
  • IDs are unique and edge endpoints exist.
  • dimensions are positive integers;
  • file and background paths are safe, vault-relative, and present;
  • new nodes do not unintentionally overlap or overflow their requested group.

Build one claude-obsidian.transaction.v1 bundle with operation type canvas. Include the canvas and the catalog in that same bundle when the catalog changes. Read operation-transactions.md, then inspect the bundle before applying it:

python3 "$CORE" transaction inspect BUNDLE --vault VAULT
# Set APPROVAL_SHA256 to the inspect result's approval_sha256 after review.
python3 "$CORE" transaction apply BUNDLE --vault VAULT \
  --approved-plan-sha256 "$APPROVAL_SHA256"

For destructive edits within a board, including node or edge removal, obtain explicit consent after presenting the preview. These edits replace the board file through the transaction engine. Report the operation ID, exact changed paths, board name, node IDs, and final positions. Do not commit Git.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

<What it does, one line>. Trigger phrases: <phrases>.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

Use this skill whenever the user wants to create or improve a presentation for an academic context — conference papers, seminar talks, thesis defenses, grant briefings, lab meetings, invited lectures, or any presentation where the audience will evaluate reasoning and evidence. Triggers include: 'conference talk', 'seminar slides', 'thesis defense', 'research presentation', 'academic deck', 'academic presentation'. Also triggers when the user asks to 'make slides' in combination with academic content (e.g., 'make slides for my paper on X', 'create a presentation for my dissertation defense', 'build a deck for my grant proposal'). This skill governs CONTENT and STRUCTURE decisions. For the technical work of creating or editing the .pptx file itself, also read the pptx SKILL.md.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

adapt

免费

Shortest English alias for web-adapt / universal-web-adaptation. Use this when adapting an unfamiliar public website generically before creating any site-specific rules.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

Use this skill to audit CLI adapter projects (like opencli) for missing output fields, then batch-generate fixes and submit PRs. Turns AI agents into adapter quality reviewers.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

ads

免费

Operate professional paid advertising across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for account intake, source-grounded audits, strategy, budget and measurement planning, creative production, experiments, reporting, monitoring, and explicitly approved campaign changes. Also trigger on PPC, paid social, retail media, attribution, tracking, landing pages, cross-platform conversion totals, negative keywords or search terms, beta-feature scoring, stale platform claims, API-token or credential setup, campaign deletion, and safe Claude Ads installation or uninstall.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

Audit Amazon Ads profiles, regions, Sponsored Products, Sponsored Brands, Sponsored Display, DSP, portfolios, targeting, search terms, retail readiness, creative, budgets, ACOS, TACOS, reporting, and policy. Use for Amazon Ads, sponsored ads, Amazon PPC, ACOS, TACOS, ASIN advertising, Amazon DSP, or retail-media optimization.

中文简介正在准备中。当前显示原文说明。

gabrielmoreira/agent-skills-mirror192026年10月23日 更新

查看 gabrielmoreira 的全部技能

报告此技能的问题