Use whenever work produces a question the owner must decide (a study's open questions, a lane brief's owner questions, a review trade-off) in a project registered for the owner console - post each as a lockable question so it reaches the owner's inbox, instead of leaving it in a document.
Installs into .claude/skills of the current project.
Are you the author of Console Ask?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mikeheid-console-ask-overture)
---
name: console-ask
description: Use whenever work produces a question the owner must decide (a study's open questions, a lane brief's owner questions, a review trade-off) in a project registered for the owner console - post each as a lockable question so it reaches the owner's inbox, instead of leaving it in a document.
---
# Put the owner's questions on the console
A question written only in a document never reaches the owner: the console's
inbox is where they look. So when work produces a decision that is the owner's
to make, **post it** as you write it, and never tell the owner a question is
"waiting on you" until it is on the console.
Set up `KIT`, `STATE` and `A` as in the console-process skill: from the
user's registry only, and stop if this project is not registered there. In an
unregistered project, ask in the conversation instead.
**When the console has a steward (0.8.3)**, every session but the steward's
posts its questions here, never with AskUserQuestion: the plugin blocks that
tool in those sessions and points here. Sign the posts (`A` with `--as
NAME`). The steward may ask the owner live, and then mirrors the question and
the owner's answer here (`A ask`, then `A reply ITEM` with the answer), so
every decision reaches the console either way.
## 1. Keep the document as the source
The study, brief or spec that raised the question keeps its full text. The
console carries the decision: the question, its options, the recommendation.
Each question cites its lines with `source`, so the answer can be folded back
into the document that owns it.
## 2. Write one JSON file per question
```json
{"qid": "ITEM/Q1", "item": "ITEM", "text": "What to decide, with the facts it rests on.",
"kind": "single",
"options": [{"id": "a", "label": "Short name", "description": "What it does and costs."},
{"id": "b", "label": "Another", "description": "..."}],
"star": "a", "star_by": "architect",
"source": "path/to/doc.md:120-140",
"valid_if": [{"kind": "excerpt", "path": "path/to/doc.md", "text": "The sentence the decision rests on."}]}
```
- `item` is the item the question belongs to; it must already exist on the
console (`A view --item ITEM` lists it under `items`, and refuses an item
the register does not hold). `qid` is `<item>/Q<n>`, with `n` the next
number unused on that item. A qid is minted once: re-asking one is refused.
- Every option has a non-empty `description` saying what it does **and what
it costs**. `star` is the recommended option and `star_by` whose
recommendation it is (the fields and accepted names are as in the
console-fork skill).
- `valid_if` says what must stay true for the answer to stand. Prefer an
**excerpt** of the lines the question rests on:
`{"kind": "excerpt", "path": "path/to/doc.md", "text": "the exact cited sentence(s)"}`
(8 to 4000 characters, copied from the file). It holds while that text is
anywhere in the file, so moving it is fine and only a real edit makes the
answer stale. Do not hash a whole big living file (`file_sha256` of a
register, status file or log): every unrelated edit would make the answer
stale. The full list is in the console-fork skill.
- Add **`evidence`** when the decision rests on specific lines, a command or
a measurement (0.7.0): up to 8 rows of
`{"cite": "path/to/file:120-134", "command": "...", "result": "..."}`.
`cite` is required (a relative path inside the project with `:line` or
`:start-end`, at most 200 lines); `command` (one line) and `result` (at most
2000 characters) are optional. Never send `text`: the server reads the
cited lines itself, so the owner's form can say later whether they changed.
The full rules are in the console-fork skill.
- Write in plain words the owner can decide from without opening the
document. The document's shorthand (`Q-GE5`, `D-206`) goes in the
description only with its meaning beside it.
## 3. Post them in one call
A ask FILE [FILE ...]
Files post in order. The first refusal stops the batch and names every file
not sent; fix that file and run again with only those. Never drop a refused
question.
## 4. Check, then tell the owner
For each item you posted on,
A view --item ITEM
must list every new qid there under `inbox`. Only then say the questions are
on the console, naming the items they are on. (`A todo` lists the whole
inbox's qids, when you posted on many items.) If a read exits 4, run the narrower command named on stderr; do not retry the same command and do not add --full.