docs: clarify ask config scope

This commit is contained in:
Erik Kotsiuba
2026-05-06 12:44:37 +02:00
parent 43cee4c0f0
commit 3672ada13f
5 changed files with 12 additions and 10 deletions
+2 -2
View File
@@ -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. 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 ### 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. 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. 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.
+1 -1
View File
@@ -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 - `?` 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` - 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` - `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 - 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?"` - 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?"`
+1 -1
View File
@@ -129,7 +129,7 @@ export class AskSettingsList {
lines, lines,
this.theme.fg( this.theme.fg(
"muted", "muted",
"Edit this config file to change customizable ask keymaps:" "Edit this config file to customize keymaps, notifications, and extraction settings:"
), ),
innerWidth innerWidth
); );
+4 -3
View File
@@ -67,9 +67,10 @@ test("registers /ask-settings and opens the shared settings overlay", async () =
}); });
const text = customCalls[0]?.lines.join("\n") ?? ""; const text = customCalls[0]?.lines.join("\n") ?? "";
assert(text.includes("@eko24ive/pi-ask")); assert(text.includes("@eko24ive/pi-ask"));
assert( assert(text.includes("Edit this config file to customize"));
text.includes("Edit this config file to change customizable ask keymaps:") assert(text.includes("keymaps"));
); assert(text.includes("notifications"));
assert(text.includes("extraction settings"));
delete process.env.PI_CODING_AGENT_DIR; delete process.env.PI_CODING_AGENT_DIR;
await rm(agentDir, { force: true, recursive: true }); await rm(agentDir, { force: true, recursive: true });
+4 -3
View File
@@ -75,9 +75,10 @@ test("settings list renders behaviour settings and config path", () => {
assert(text.includes("[off]")); assert(text.includes("[off]"));
assert(text.includes("Confirm dismiss when dirty")); assert(text.includes("Confirm dismiss when dirty"));
assert(text.includes("on")); assert(text.includes("on"));
assert( assert(text.includes("Edit this config file to customize"));
text.includes("Edit this config file to change customizable ask keymaps:") assert(text.includes("keymaps"));
); assert(text.includes("notifications"));
assert(text.includes("extraction settings"));
assert(text.includes("/tmp/eko24ive-pi-ask.json")); assert(text.includes("/tmp/eko24ive-pi-ask.json"));
assert(text.includes("Esc to close")); assert(text.includes("Esc to close"));
assert.equal(text.includes("Esc to cancel"), false); assert.equal(text.includes("Esc to cancel"), false);