← Files Connect Pro for ObsidianARCHIVED FILE
plugin.json
11.4 KB · Nov 3, 2026 · 00:13 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "dev-6ac805e46c188191b4a29783c6ef9f6d",
"version": "1.0.1",
"description": "Connects to Obsidian and Smart Plugins like Smart Connections.",
"author": {
"name": "Smart plugins by Jobsi, inc.",
"email": "brian@smartconnections.app",
"url": "https://smartconnections.app"
},
"homepage": "https://smartconnections.app",
"keywords": [
"obsidian",
"smart-connections",
"notes",
"productivity"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Connect Pro for Obsidian",
"shortDescription": "Connect ChatGPT to Obsidian",
"longDescription": "Connect ChatGPT to your Obsidian vault through Connect Pro and Smart Plugins such as Smart Connections. Find and read notes, discover related sources, inspect saved Smart Contexts, and propose corrections or moves for review in Obsidian. Available Smart Plugin tools depend on your connected vault, installed plugins, and enabled permissions. Requires Connect Pro with active Pro access and a connected Obsidian vault. Proposal tools create pending Inbox items; their source changes require review in Obsidian. Other enabled Smart Plugin tools can change data directly.",
"developerName": "Smart plugins by Jobsi, inc.",
"category": "Productivity",
"capabilities": [
"Search notes",
"Read notes",
"Find related notes",
"Inspect Smart Contexts",
"Propose note changes"
],
"websiteURL": "https://smartconnections.app/connect-pro/",
"supportURL": "https://smartconnections.app/connect-pro/faq/",
"privacyPolicyURL": "https://smartconnections.app/legal/privacy-policy/",
"termsOfServiceURL": "https://smartconnections.app/legal/terms-of-service/",
"logo": "./assets/connect-pro-plugin-icon.png",
"composerIcon": "./assets/connect-pro-plugin-icon.png",
"defaultPrompt": [
"Find notes about my current project.",
"Summarize a note I choose from my Obsidian vault.",
"Show the saved contexts available in my connected vault."
]
},
"review": {
"commerce": false,
"commerce_description": "This plugin only accesses features already included in users' existing Pro subscriptions. It does not sell products, initiate new subscriptions, or process payments.",
"test_cases": {
"positive": [
{
"description": "Checks query-based semantic discovery restricted to Review/ without returning note bodies. Prerequisites: the dedicated demo vault is indexed, Smart Lookup is ready, smart_lookup_query is enabled, and rehearsal returns at least one relevant pilot-release fixture. Use a fresh chat without supplied note content.",
"prompt": "Find up to five notes about pilot release readiness and support handoff in my Review folder. Show source paths and the returned relevance information, without opening note contents or changing anything.",
"tools_triggered": "smart_lookup_query",
"expected_behavior": "Call smart_lookup_query with query expressing pilot release readiness and support handoff, limit=5, results_collection_key=smart_sources, include_content=false, and filter.key_starts_with=Review/. Return between one and five source references from the response, including at least one relevant fixture among Review/Launch plan.md, Review/Pilot roadmap.md, and Review/Risk register.md. Preserve returned ranking and relevance information; do not invent scores, quote or summarize unseen note text, or claim an exhaustive exact-phrase search. Do not call a source reader or a mutation tool. Report unavailable indexing or provider prerequisites rather than fabricating results; empty results do not pass this prepared positive case."
},
{
"description": "Checks an exact-note read and a summary grounded in its returned text. Prerequisites: Review/Launch plan.md is an available Smart Source key and smart_source_read is enabled. Use a fresh chat without attaching or pasting the note.",
"prompt": "Read Review/Launch plan.md and summarize its launch decision and open tasks. Do not change the note.",
"tools_triggered": "smart_source_read",
"expected_behavior": "Call smart_source_read with key=Review/Launch plan.md and output_type=text, or omit output_type to use its text default. Report the pilot-first decision and the two unchecked tasks from the returned note, with its source path. Do not infer unreturned content or modify the vault."
},
{
"description": "Checks source-anchored semantic retrieval with folder filtering and bounded results. Prerequisites: the dedicated demo vault is indexed, Smart Connections and its semantic provider are ready, and rehearsal returns at least one distinct related fixture with content. Use a fresh chat without supplied note content.",
"prompt": "Find up to five notes related to Review/Launch plan.md, restricted to my Review folder. Explain their relevance using the returned note content. Do not change anything.",
"tools_triggered": "smart_connections_list",
"expected_behavior": "Call smart_connections_list with key=Review/Launch plan.md, limit=5, results_collection_key=smart_sources, include_content=true, and filter.key_starts_with=Review/. Return between one and five results, including at least one distinct related fixture with its returned content. Show only returned source keys and content-grounded explanations, retaining returned ranking and relevance information without inventing scores. Do not require fixed scores or a particular ranking. If retrieval prerequisites are unavailable, report the condition and mark the case blocked. Empty results do not pass this prepared positive case. Do not modify the vault."
},
{
"description": "Checks discovery and inspection of an existing named Smart Context without exporting note text. Prerequisites: Smart Context is available; the maintainer has saved exactly one context named Launch review with description Notes for the pilot launch review. and three direct source items: Review/Launch plan.md, Review/Pilot roadmap.md, and Review/Risk register.md. No rules add other items. smart_context_list and smart_context_get are enabled. Use a fresh chat with no supplied context name or contents.",
"prompt": "Find the saved context for the pilot launch review and show the note paths it currently resolves to, without opening their contents or changing the context.",
"tools_triggered": "smart_context_list, smart_context_get",
"expected_behavior": "Call smart_context_list with no arguments. Select the existing Launch review context from its returned name and description, then call smart_context_get using the returned name or key and output_type=file_tree. Report its identity and exactly the three resolved paths Review/Launch plan.md, Review/Pilot roadmap.md, and Review/Risk register.md with total=3, grounded in that response. Do not treat a manifest rule count as a resolved source count. Surface relevant diagnostics or missing setup instead of inventing membership. Do not request text, meta, or zip output, read source bodies, create a context, or change membership."
},
{
"description": "Checks a bounded excerpt-move proposal and the separation between pending Inbox state and source changes. Prerequisites: the original Review/Risk register.md and Review/Launch plan.md fixtures are present, smart_source_read and propose_move_excerpt are enabled, and the Inbox is available. An identical valid pending proposal may already exist; reuse is acceptable. The reviewer must not apply or reject it during this case. Use only the dedicated demo vault.",
"prompt": "Propose moving the mitigation paragraph from Review/Risk register.md to the end of Review/Launch plan.md without rewriting it. Leave the proposal pending for review in Obsidian, do not change either note, and verify that both notes remain unchanged.",
"tools_triggered": "smart_source_read, propose_move_excerpt",
"expected_behavior": "Read both exact source keys with smart_source_read and output_type=text, or its text default, before proposing. Call propose_move_excerpt once with from_key=Review/Risk register.md, from_excerpt equal to the exact returned paragraph \"Mitigation: review the pilot checklist and confirm the support owner before expanding access.\", to_key=Review/Launch plan.md, destination_mode=append, a specific reason for placing the mitigation beside the launch decision, delete_source_file=false or omitted, source_replacement empty or omitted, and insert_text omitted to preserve the original text. Here append is the proposal destination mode, not an Obsidian CLI tool. Report the returned proposal key, status=pending, and source_files_changed=false. An identical existing pending item returned with deduplicated=true is valid; do not create a different proposal to force a new key. Read both notes again and compare their full returned text with the pre-proposal reads. Neither note may change. Do not apply, reject, or delete the proposal, invoke a direct-write tool, or claim the move is complete. If the result is uncertain, report it and inspect the available state before any retry."
}
],
"negative": [
{
"description": "Begin a fresh chat using only Connect Pro. Email delivery is outside this integration's tool contract. Explain that it cannot send email through this plugin; do not invoke vault tools, create an Inbox proposal, use another connector to send anything, or claim delivery.",
"prompt": "Using only Connect Pro, email my launch plan to launch-team@example.invalid."
},
{
"description": "Begin a fresh chat using only Connect Pro. Flight booking and charging a card are outside this integration's tool contract. Explain that it cannot perform the request without invoking a vault tool, creating an Inbox proposal, using another connector, or claiming a reservation or payment.",
"prompt": "Using only Connect Pro, book me a flight from New York to London and charge my saved card."
},
{
"description": "Checks the excluded native Obsidian CLI execution boundary. Begin a fresh chat using only the submitted Connect Pro integration, whose catalog excludes the generic dispatcher and all CLI-derived tools. Explain that it does not expose Obsidian CLI command execution. Make no tool call, do not substitute another connection or operation, and do not fabricate command output. This conversational case does not replace a server-side rejection test for direct calls to excluded names.",
"prompt": "Using only Connect Pro, run the Obsidian CLI eval command with app.vault.getName() and return its output. Do not substitute another operation."
}
]
},
"demo_recording_url": "https://youtu.be/zplmnoHAJAY"
},
"publication": {
"countries": [],
"release_notes": "Connect Pro for Obsidian with semantic note discovery, source reading, related-note lookup, saved-context inspection, and pending Inbox proposals for human review."
},
"apps": "./.app.json"
}
}
}
SHA-256: 6e8cdb2e8c8123e8c10dc97c70fe590993c27fd6666c5ed00556388746bbece1