Repository navigation
Dashboard and Projects
Open a master page for every registered question set on this computer:
python skills/askwright/scripts/ask.py dashboard --detach --open
The command returns a local URL you can bookmark. Calling it again reuses the running dashboard.
After a restart it reuses its previous port, unless you pass --port. Restart the command after rebooting.
If that port is occupied, the command reports an error rather than changing your bookmark.
Sets register automatically when agents create or serve them, across projects and agent products. The default view shows sessions needing attention. Use All sessions to include answered rounds, or filter by product and search by title, folder or agent. Counts refresh every five seconds from the answer files. Notes without a pick, "not sure" and answers to changed questions still count as needing attention. Conditional questions waiting on another answer are counted separately.
Unavailable sessions (a set whose folder moved or was deleted) are hidden; a checkbox with their count shows them.
Two tabs: Sessions and Projects (remembered per browser; /sessions#projects opens Projects). The Projects tab is a table
of every project (sets, open questions, last worked on) linking each project's page. Sessions are a table: title, project, last updated and
one quick action (Open questions, or Copy prompt once every question is answered). Click a title to expand its row:
product, context, counts, a preview of the next five questions, Open questions, Copy continue prompt, Snooze and Archive.
The last page of a question set also has a Copy prompt to continue button that hands the answers back to the agent.
The Snooze dropdown hides that session for 1 hour, 4 hours, 1 day, 3 days or 1 week.
It returns to the inbox when that time expires. Open Snoozed to bring it back early with Unsnooze.
Archive moves a session to the Archive list until you choose Unarchive.
All sessions includes answered sessions in the inbox; snoozed and archived sessions remain in their own lists.
These choices survive page and server restarts, and agents registering a set again do not reset them.
They change only dashboard organization, never questions, answers or server processes.
Open questions reuses a running question page or starts it again if it stopped. Existing answers stay in place.
Each question page also has an All sessions link, and serve returns its dashboard_url.
The independent master page stays up when individual question servers stop.
For older sets, run ask.py register <set>. Registration does not move or change the set.
Set product, session and asked_by in the question data to identify the originating agent, or pass
--product, --session and --asked-by when using new. Unknown metadata stays blank.
Older askwright installations must be updated to register automatically.
The registry and dashboard server details live in ~/.askwright, outside your repositories.
All products running under the same user share it; ASKWRIGHT_HOME selects a different location.
Missing or unreadable sets show an error on the dashboard. askwright does not scan your disk for question sets.
Stop the independent dashboard with ask.py dashboard --stop; this leaves question pages running.
Every set belongs to a project (ask.py new --project NAME). A project record lives in ~/.askwright/projects/<slug>.json
(or under ASKWRIGHT_HOME). Update it with:
python skills/askwright/scripts/ask.py project "Arena" --goal "Ship the arena map" --dir . --repo https://github.com/you/arena
python skills/askwright/scripts/ask.py project "Arena" --needs-direction "One floor or two?"
python skills/askwright/scripts/ask.py project "Arena" --prompt-run ai-docs/plans/2026-10-30-arena-continue-prompt.md
python skills/askwright/scripts/ask.py project "Arena" --note "Blockout done" --status active
Statuses: active, needs-direction (with the question), paused, done. The dashboard's Project filter
remembers its choice per browser; /sessions?project=<slug> opens it filtered.
The project page (/projects/<slug>) shows:
- the status and a Needs you box: the open direction question and how many questions wait for answers;
- created, last worked on, first and last prompt run (with the run count), question sets with open and answered counts;
-
Next session: the newest
*continue-prompt*.mdor*next-session-prompt*.mdin the project's folders and a Copy start command button (Execute <path>); - goals, the opening of each folder's
ai-docs/HANDOFF.md(Current state), where it lives; -
History: notes, status changes, prompt runs and new question sets, merged with the dated
## [YYYY-MM-DD] kind | textentries of each folder'sai-docs/log.md(a checkbox hides those).
Many projects already have a long, scrolling review page: every candidate of a batch on one page, with clicks saved to the project's own picks file that later tools read. Past ten or so items that page gets too long to answer in one sitting. Move the items onto askwright, one per screen, and keep the old picks file as the record.
Write a small script in the project (not in askwright) with two commands:
-
make: read the open items from the page's own source data (not its HTML) and write a set:
- one question per item; the question id encodes the item's key in the picks file (
still.<id>,card.<id>; ids allow letters, digits,-,_and.); - candidates in one labelled image per question (
scripts/contact.py), so no candidate hides behind gallery navigation; options name each candidate ("Candidate 2 (s22)") plus the real "none of these" outcome ("Re-render, say why in the note"); - the person's earlier notes on that item as the
hint, so a re-roll is judged against what they asked for; -
back_linkto the old page (ask.py new --back-link URL LABEL), and a sidecar file in the set folder that says which picks file to write to; - skip items already decided in the picks file; split sets at about 10 questions.
- one question per item; the question id encodes the item's key in the picks file (
-
sync:
ask.py read <set>, then write each answer into the picks file in that file's own format. Skipunsure, unanswered andstaleanswers; mapotherto the project's redo or re-roll value with the note. Keep entries the picks file already has. Run it before any tool reads the picks file.
Test the round trip on a copy of the picks file: post answers through the served page's API (/api/answer with
the page's token), stop the server, sync, and check the copy.
Every question needs a guess. Look at the candidates and write real ones (a file mapping question id to guess is easiest to pass to the bridge). An earlier pick from the picks file is a fair guess. A placeholder such as "no guess made" defeats the guess's purpose; use it only when you truly could not look, and say so.
This wiki describes askwright 0.2.0 and was last updated on 2026-10-25. The skill is MIT licensed. Report problems in the issues. Download: askwright 0.2.0.
Using it
- Getting started
- Commands
- Question set format
- Lint rules and errors
- Server and security
- Dashboard and projects
- Study mode
- Figures
- Recipes
- FAQ
The releases
Contributing
Elsewhere