Bundled plugin instructions assume unavailable tools and force unnecessary retry after connection
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Problem
Several installed plugin instructions conflict with current desktop host capabilities. This produces nonexistent tool calls, an unnecessary end/retry after a connection, and a relative-path export example. These were found in a file-level audit; no account data or credentials are included.
Plugin management 0.1.0
skills/plugin-management/SKILL.md unconditionally calls search_plugins and suggest_plugins. This host exposes permission/dependency/removal tools but not those two actions. Its installation contract instead permits request_plugin_install only for an explicitly requested specific plugin, after tool search is exhausted, and only for an exact ID in the recommended list. The instructions should discover actual callable tools and respect the host installation contract rather than assume names or broaden installation intent.
Notion 0.1.8
All four entry skills (knowledge-capture, meeting-intelligence, research-documentation, spec-to-implementation) require the assistant to finish and tell the user to retry after connecting. If refreshed tool discovery already exposes the connection, the current authorized task should continue. Retrying should remain necessary only when the host cannot expose the connection to the current task. This does not bypass login or authorization.
Template creator 26.905.11957
skills/template-creator/SKILL.md loads ./host/export-google-workspace-file.mjs while relying only on workdir. Use a correctly quoted absolute exporter path derived from the already-required absolute SKILL_DIR. This avoids dependence on ambient command cwd. The fixed English response template also prohibits localization; permit localized prose while preserving exact identifiers, mentions and the artifact directive syntax.
Minimal candidate and validation
The candidate below changes only instructions. An independent reviewer checked all changes. The absolute-path JavaScript example was compiled and exercised with a path containing an apostrophe and a literal dollar sign. No plugin connection, document export or account write was executed. Installed provider files were not overwritten; provider acceptance and release remain unverified.
--- a/openai-curated-remote/notion/0.1.8/skills/notion-meeting-intelligence/SKILL.md
+++ b/openai-curated-remote/notion/0.1.8/skills/notion-meeting-intelligence/SKILL.md
@@ -30,7 +30,7 @@
2. Complete the Notion auth flow if prompted.
3. Start a new session if the tools still do not appear.
-After the app is connected, finish your answer and tell the user to retry so they can continue with Step 1.
+After the app is connected, refresh tool discovery and continue with Step 1 in the current task when the required tools are available. Ask the user to retry only if this host cannot expose the connection to the current task; continue independent work meanwhile.
### 1) Gather inputs
- Ask for objective, desired outcomes/decisions, attendees, duration, date/time, and prior materials.
--- a/openai-curated-remote/notion/0.1.8/skills/notion-research-documentation/SKILL.md
+++ b/openai-curated-remote/notion/0.1.8/skills/notion-research-documentation/SKILL.md
@@ -29,7 +29,7 @@
2. Complete the Notion auth flow if prompted.
3. Start a new session if the tools still do not appear.
-After the app is connected, finish your answer and tell the user to retry so they can continue with Step 1.
+After the app is connected, refresh tool discovery and continue with Step 1 in the current task when the required tools are available. Ask the user to retry only if this host cannot expose the connection to the current task; continue independent work meanwhile.
### 1) Gather sources
- Search first (`Notion:search`); refine queries, and ask the user to confirm if multiple results appear.
--- a/openai-curated-remote/notion/0.1.8/skills/notion-knowledge-capture/SKILL.md
+++ b/openai-curated-remote/notion/0.1.8/skills/notion-knowledge-capture/SKILL.md
@@ -29,7 +29,7 @@
2. Complete the Notion auth flow if prompted.
3. Start a new session if the tools still do not appear.
-After the app is connected, finish your answer and tell the user to retry so they can continue with Step 1.
+After the app is connected, refresh tool discovery and continue with Step 1 in the current task when the required tools are available. Ask the user to retry only if this host cannot expose the connection to the current task; continue independent work meanwhile.
### 1) Define the capture
- Ask purpose, audience, freshness, and whether this is new or an update.
--- a/openai-curated-remote/notion/0.1.8/skills/notion-spec-to-implementation/SKILL.md
+++ b/openai-curated-remote/notion/0.1.8/skills/notion-spec-to-implementation/SKILL.md
@@ -32,7 +32,7 @@
2. Complete the Notion auth flow if prompted.
3. Start a new session if the tools still do not appear.
-After the app is connected, finish your answer and tell the user to retry so they can continue with Step 1.
+After the app is connected, refresh tool discovery and continue with Step 1 in the current task when the required tools are available. Ask the user to retry only if this host cannot expose the connection to the current task; continue independent work meanwhile.
### 1) Locate and read the spec
- Search first (`Notion:search`); if multiple hits, ask the user which to use.
--- a/openai-curated-remote/plugin-management/0.1.0/skills/plugin-management/SKILL.md
+++ b/openai-curated-remote/plugin-management/0.1.0/skills/plugin-management/SKILL.md
@@ -29,14 +29,16 @@
## Find and suggest plugins
-Call `search_plugins` with concise provider names, product names, or capability
-keywords. For example, use `Gmail`, `calendar`, or `project management`, not
-the entire user request. The currently available tools and any recommended
-plugin list are not a complete directory.
+Use the current host's available tool-discovery capability to find an installed
+integration first. Do not call a tool solely because its name appears in this
+skill; discover the callable name and read its actual schema.
-When a relevant unconnected plugin would help, call `suggest_plugins` with its
-exact returned plugin ID. Suggest the smallest useful set, preferably three or
-fewer. Do not suggest plugins that are already installed or already pending.
+For a missing plugin, follow the current host's installation contract. If it
+exposes `request_plugin_install`, use it only after the user explicitly requested
+that specific plugin, tool search is exhausted, and its exact ID appears in the
+recommended plugin list. Do not infer installation authorization from an adjacent
+capability or a broad task. If no eligible installation tool is available,
+explain the missing connection and continue independent work.
Suggestions do not block the task. Continue any work that does not require the
connection and briefly explain what still needs the user's action. Never claim
--- a/openai-primary-runtime/template-creator/26.905.11957/skills/template-creator/SKILL.md
+++ b/openai-primary-runtime/template-creator/26.905.11957/skills/template-creator/SKILL.md
@@ -49,9 +49,10 @@
const WORKSPACE = "<absolute-task-workspace>";
const NODE_BIN = "<absolute-node-path-from-workspace-dependency-loader>";
const usesPowerShell = /^(?:[A-Za-z]:[\\/]|\\\\)/.test(SKILL_DIR);
+const exporterPath = `${SKILL_DIR}/host/export-google-workspace-file.mjs`;
const loadCommand = usesPowerShell
- ? "Get-Content -Raw -LiteralPath '.\\host\\export-google-workspace-file.mjs'"
- : "/bin/cat -- ./host/export-google-workspace-file.mjs";
+ ? "Get-Content -Raw -LiteralPath '" + exporterPath.replace(/'/g, "''") + "'"
+ : "/bin/cat -- '" + exporterPath.replace(/'/g, "'\"'\"'") + "'";
const loaded = await tools.exec_command({
cmd: loadCommand,
shell: usesPowerShell ? "powershell.exe" : "/bin/sh",
@@ -183,7 +184,7 @@
Formatting rules:
- Include the **How to find templates** section for document, presentation, spreadsheet, Google Workspace, and image templates. Omit its heading and sentence for email, Slack, and Site templates because their source plugins do not open the Template Gallery.
-- Keep the paragraph wording and punctuation unchanged apart from replacing `{displayName}`, `{skillPath}`, `{skillName}`, and `{kind}`.
+- Localize the user-facing prose and headings to the user’s language. Preserve the meaning, literal mentions, exact returned identifiers, and artifact-template directive syntax.
- For an image template, append `gallery_kind="{galleryKind}"` inside the artifact-template directive, using the exact `galleryKind` returned by the script. Omit `gallery_kind` for every non-image template.
- In the how to find template section, substitute @{kind} with the matching gallery-enabled mention: `@Documents`, `@Presentations`, `@Spreadsheets`, `$google-drive:google-docs`, `$google-drive:google-slides`, `$google-drive:google-sheets`, `$imagegen`, or `@Product Design`. `@Google Drive` also shows all three Google Workspace template kinds together. For image templates, use the generated template's exact `galleryKind`; never treat ImageGen and Product Design as interchangeable. Preserve the literal `@` or `$` so Codex renders an unquoted mention.
- Do not tell users to add `@Gmail`, `@Outlook Email`, or `@Slack` to open the Template Gallery. Email and Slack templates are used by tagging their saved template skill directly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the four Notion SKILL.md files, skills/plugin-management/SKILL.md, and skills/template-creator/SKILL.md alongside the provided diff. Validate that plugin instructions use discovered tools, connected Notion tasks continue when tools are available, and template export uses the absolute SKILL_DIR path with localized prose. Compile and exercise the JavaScript path example, including paths containing an apostrophe and a dollar sign.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, markdown
- Domain
- documentation, tooling
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100