From 3672ada13ffec05aeccaaff95d83896aa9d4792e Mon Sep 17 00:00:00 2001 From: Erik Kotsiuba Date: Mon, 4 May 2026 13:14:30 +0200 Subject: [PATCH] docs: clarify ask config scope --- README.md | 4 ++-- docs/contract.md | 2 +- src/ui/settings-list.ts | 2 +- tests/ask-settings-command.test.ts | 7 ++++--- tests/settings-list.test.ts | 7 ++++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 77f4760..6d3ec11 100644 --- a/README.md +++ b/README.md @@ -163,7 +163,7 @@ Accepted notation follows pi-tui key ids. Common aliases are normalized, for exa After installation, the extension registers the `ask_user` tool plus `/ask-settings`, `/answer`, `/answer:again`, and `/ask:replay` commands. -Agents can auto-discover and call `ask_user` when they need clarification instead of guessing. In interactive sessions, it opens a terminal UI flow for structured answers, supports native pi-style `@` file references while typing answers or notes, and returns normalized answers back to the agent. Ask settings are available both from `?` in the ask flow and from the `/ask-settings` command. Behaviour and notification settings are binary `on`/`off` toggles that save immediately; customizable ask keymaps and notification channels are changed by editing the shown config file path. +Agents can auto-discover and call `ask_user` when they need clarification instead of guessing. In interactive sessions, it opens a terminal UI flow for structured answers, supports native pi-style `@` file references while typing answers or notes, and returns normalized answers back to the agent. Ask settings are available both from `?` in the ask flow and from the `/ask-settings` command. Behaviour and notification settings are binary `on`/`off` toggles that save immediately; keymaps, notification channels, and extraction settings are changed by editing the shown config file path. ### Answer and replay commands @@ -178,7 +178,7 @@ Cancellation is local to the UI: closing a replayed form does not start a new ag Kudos to [@k0valik](https://github.com/k0valik) for the `/answer` idea. -You can also talk to pi to configure this extension. When asked to customize pi-ask settings or keymaps, the agent is instructed to read the bundled `docs/configuration.md` guide first and then edit the config file accordingly. +You can also talk to pi to configure this extension. When asked to customize pi-ask settings, keymaps, notifications, or extraction behavior, the agent is instructed to read the bundled `docs/configuration.md` guide first and then edit the config file accordingly. This package also bundles the `ask-user` skill profile from `skills/ask-user/SKILL.md`. It reinforces when to use the tool, is enabled by default when installed, and can be disabled via `pi config`. The skill was inspired by https://github.com/edlsh/pi-ask-user. diff --git a/docs/contract.md b/docs/contract.md index 0543c7f..543bc8d 100644 --- a/docs/contract.md +++ b/docs/contract.md @@ -210,7 +210,7 @@ This document defines the stable external behavior. It does not explain internal - `?` in the ask flow and `/ask-settings` in pi open the same lightweight ask settings overlay - settings persist immediately when changed: `Auto-submit when answered without notes`, `Confirm dismiss when dirty`, `Double-press review shortcuts`, `Notifications`, and `Show footer hints` - `Keymaps` is a persisted config section for `cancel`, `dismiss`, `toggle`, `confirm`, `optionNote`, and `questionNote` -- the settings list shows the absolute config file path for changing customizable ask keymaps +- the settings list shows the absolute config file path for customizing keymaps, notifications, and extraction settings - if the flow is already on the review tab, all questions are answered, and no notes exist, enabling auto-submit can complete the current ask flow immediately - elaborate results are phrased as direct follow-up instructions, for example: `User asked to elaborate on question "Which option would you like to select?" option "Option A" with note "why this one?"` diff --git a/src/ui/settings-list.ts b/src/ui/settings-list.ts index b95f79e..0a3b164 100644 --- a/src/ui/settings-list.ts +++ b/src/ui/settings-list.ts @@ -129,7 +129,7 @@ export class AskSettingsList { lines, this.theme.fg( "muted", - "Edit this config file to change customizable ask keymaps:" + "Edit this config file to customize keymaps, notifications, and extraction settings:" ), innerWidth ); diff --git a/tests/ask-settings-command.test.ts b/tests/ask-settings-command.test.ts index 70b6d7c..2785440 100644 --- a/tests/ask-settings-command.test.ts +++ b/tests/ask-settings-command.test.ts @@ -67,9 +67,10 @@ test("registers /ask-settings and opens the shared settings overlay", async () = }); const text = customCalls[0]?.lines.join("\n") ?? ""; assert(text.includes("@eko24ive/pi-ask")); - assert( - text.includes("Edit this config file to change customizable ask keymaps:") - ); + assert(text.includes("Edit this config file to customize")); + assert(text.includes("keymaps")); + assert(text.includes("notifications")); + assert(text.includes("extraction settings")); delete process.env.PI_CODING_AGENT_DIR; await rm(agentDir, { force: true, recursive: true }); diff --git a/tests/settings-list.test.ts b/tests/settings-list.test.ts index 901d88e..891dfe3 100644 --- a/tests/settings-list.test.ts +++ b/tests/settings-list.test.ts @@ -75,9 +75,10 @@ test("settings list renders behaviour settings and config path", () => { assert(text.includes("[off]")); assert(text.includes("Confirm dismiss when dirty")); assert(text.includes("on")); - assert( - text.includes("Edit this config file to change customizable ask keymaps:") - ); + assert(text.includes("Edit this config file to customize")); + assert(text.includes("keymaps")); + assert(text.includes("notifications")); + assert(text.includes("extraction settings")); assert(text.includes("/tmp/eko24ive-pi-ask.json")); assert(text.includes("Esc to close")); assert.equal(text.includes("Esc to cancel"), false);