Browse Source

docs: skill tool/perm + parent keybind (#6001)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Aiden Cline <[email protected]>
opencode-agent[bot] 2 months ago
parent
commit
09d2febe27

+ 3 - 2
packages/web/src/content/docs/keybinds.mdx

@@ -24,8 +24,9 @@ OpenCode has a list of keybinds that you can customize through the OpenCode conf
     "session_unshare": "none",
     "session_interrupt": "escape",
     "session_compact": "<leader>c",
-    "session_child_cycle": "<leader>+right",
-    "session_child_cycle_reverse": "<leader>+left",
+    "session_child_cycle": "<leader>right",
+    "session_child_cycle_reverse": "<leader>left",
+    "session_parent": "<leader>up",
     "messages_page_up": "pageup",
     "messages_page_down": "pagedown",
     "messages_half_page_up": "ctrl+alt+u",

+ 35 - 2
packages/web/src/content/docs/permissions.mdx

@@ -11,6 +11,7 @@ By default, OpenCode allows most operations without approval, except `doom_loop`
   "permission": {
     "edit": "allow",
     "bash": "ask",
+    "skill": "ask",
     "webfetch": "deny",
     "doom_loop": "ask",
     "external_directory": "ask"
@@ -18,7 +19,7 @@ By default, OpenCode allows most operations without approval, except `doom_loop`
 }
 ```
 
-This lets you configure granular controls for the `edit`, `bash`, `webfetch`, `doom_loop`, and `external_directory` tools.
+This lets you configure granular controls for the `edit`, `bash`, `skill`, `webfetch`, `doom_loop`, and `external_directory` tools.
 
 - `"ask"` — Prompt for approval before running the tool
 - `"allow"` — Allow all operations without approval
@@ -28,7 +29,7 @@ This lets you configure granular controls for the `edit`, `bash`, `webfetch`, `d
 
 ## Tools
 
-Currently, the permissions for the `edit`, `bash`, `webfetch`, `doom_loop`, and `external_directory` tools can be configured through the `permission` option.
+Currently, the permissions for the `edit`, `bash`, `skill`, `webfetch`, `doom_loop`, and `external_directory` tools can be configured through the `permission` option.
 
 ---
 
@@ -144,6 +145,38 @@ When an agent asks for permission to run a command in a pipeline, we use tree si
 
 ---
 
+### skill
+
+Use the `permission.skill` key to control whether the model can load skills via the built-in `skill` tool.
+
+You can apply a single rule to all skills:
+
+```json title="opencode.json" {4}
+{
+  "$schema": "https://opencode.ai/config.json",
+  "permission": {
+    "skill": "ask"
+  }
+}
+```
+
+Or configure per-skill rules (supports the same wildcard patterns as `permission.bash`):
+
+```json title="opencode.json"
+{
+  "$schema": "https://opencode.ai/config.json",
+  "permission": {
+    "skill": {
+      "*": "deny",
+      "git-*": "allow",
+      "frontend/*": "ask"
+    }
+  }
+}
+```
+
+---
+
 ### webfetch
 
 Use the `permission.webfetch` key to control whether the LLM can fetch web pages.

+ 17 - 0
packages/web/src/content/docs/tools.mdx

@@ -230,6 +230,23 @@ This tool applies patch files to your codebase. Useful for applying diffs and pa
 
 ---
 
+### skill
+
+Load a [skill](/docs/skills) (a `SKILL.md` file) and return its content in the conversation.
+
+```json title="opencode.json" {4}
+{
+  "$schema": "https://opencode.ai/config.json",
+  "tools": {
+    "skill": true
+  }
+}
+```
+
+You can control approval prompts for loading skills via [permissions](/docs/permissions) using `permission.skill`.
+
+---
+
 ### todowrite
 
 Manage todo lists during coding sessions.