Przejdź do treści
Biblioteka skilli
AI i agenci · Planowanie

askloop

/askloop

Zadaje użytkownikowi pytania partiami, najwyżej trzy naraz, i szereguje je według wagi, żeby praca nie została wstrzymana.

Licencja
MIT
Ostatnia zmiana repozytorium
27.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zadaje użytkownikowi pytania partiami, najwyżej trzy naraz, i szereguje je według wagi, żeby praca nie została wstrzymana.

Wyzwalacze z opisu

ask me 4 at a timedonkeep working while I answerbatch your questions

Argumenty

/askloop [N] <task> | N | resume [name]
Oryginalny opis (EN)

Ask the user questions and decisions a few at a time (at most N open at once, default 3) while you keep working, instead of interrupting with every question or dumping a long list. Questions go into a prioritised backlog file; the ones that unblock work, carry the most weight, or decide which other questions matter are asked first, and the window is refilled as answers arrive. Use when the user invokes /askloop, says things like "ask me 4 at a time", "don't overwhelm me with questions", "keep working while I answer", "batch your questions", or asks to resume a question set.

Jak działa

  1. The question set file
  2. Finding and prioritising questions
  3. Asking
  4. Handling answers
  5. Working while questions are open
  6. Changing N
  7. Finishing
Sekcje z nagłówków SKILL.md, w oryginale · 110 linii, 1 353 słów
Podgląd SKILL.md
---
name: askloop
description: Ask the user questions and decisions a few at a time (at most N open at once, default 3) while you keep working, instead of interrupting with every question or dumping a long list. Questions go into a prioritised backlog file; the ones that unblock work, carry the most weight, or decide which other questions matter are asked first, and the window is refilled as answers arrive. Use when the user invokes /askloop, says things like "ask me 4 at a time", "don't overwhelm me with questions", "keep working while I answer", "batch your questions", or asks to resume a question set.
argument-hint: "[N] <task> | N | resume [name]"
---

# askloop

The user's attention is the scarce resource. Keep at most **N** questions open at any time, ask the most valuable ones first, and keep working while they answer. Every question you ask gets answered before the task is done: the user may answer briefly ("yes", "default", "your call"), but nothing is silently skipped.

Arguments: `$ARGUMENTS`

- `N <task>`: start a new question set for the task with a window of N.
- `<task>`: the same, with N = 3.
- `N` alone: set or change the window for the current conversation. If there's no set yet, start one for the work already under way, collecting any questions already pending in the conversation.
- `resume [name]`: continue an unfinished set from `.askloop/`. Without a name, resume the only unfinished set, or list them and ask which.

If the skill was triggered by the user's wording rather than a command, take N from what they said, else 3.

## The question set file

Keep each set in `.askloop/<name>.md` in the project root, where `<name>` is a short slug of the task (e.g. `auth-refactor`). Add `.askloop/` to `.gitignore` if it isn't there. This file is the source of truth: update it whenever a question is added, asked, answered, or dropped, and re-read it after resuming or after the conversation has been summarised.

```markdown
# auth-refactor
Task: Move session handling out of the auth module.
Window: 3

## Open
- 7. Redis or Postgres for sessions? (asked; blocks: session store)
  Recommendation: Postgres, already in the stack.
- 9. Should UserAuth be renamed to Identity? (asked)

## Queued
- 10. Keep the /legacy-login route? (after 7)

## Decided
- 1. Keep JWT? Yes. (user)
- 3. Test framework: vitest. (user accepted recommendation)
- 4. Logger: the existing one. (agent, conventional default)

## Dropped
- 5. Migrate legacy tokens? Moot after 1.
- 6. How should sessions be stored? Split into 7, 10.

## Assumptions in use
- Session schema drafted assuming 7 = Postgres; redo if not.
```

Number questions with plain numbers (1, 2, 3, …, no prefix) in order of discovery, keep incrementing across batches, and never reuse a number, so the user's replies stay unambiguous.

## Finding and prioritising questions

Start with enough exploration to know what you don't know, then write every question you'd want answered into Queued. Keep adding to it as work raises new ones; don't ask them on the spot.

Before queueing, check you actually need the user. If the code, docs, or a quick experiment can answer it, find out yourself. If it's a low-stakes choice with a clear conventional default, decide it and record it under Decided as "(agent, …)" so the user can see it in the log.

Order the queue by:

1. **Unblocks work**: the answer is needed before you (or anything else) can proceed, especially when it blocks a lot.
2. **Shapes other questions**: the answer decides which later questions exist or matter. Ask these before the questions that depend on them.
3. **Cost of being wrong**: hard-to-reverse or high-impact decisions before cosmetic ones that are easy to change later.

## Asking

Ask in plain text in your normal output, between tool calls, and then **keep working in the same turn**. Don't use a blocking question tool (like `AskUserQuestion`): it stops all work until the user replies, which defeats the point. The user can type replies while you work, and they arrive between your steps.

Each batch looks like this:

```
Open questions: 7, 9 (1 more queued)

7. Redis or Postgres for sessions? This blocks the session store.
    a) Redis  b) Postgres (recommended: already in the stack)

9. Should UserAuth be renamed to Identity? (recommended: yes)

Reply with something like "7b 9 yes". I'm continuing with the token parser meanwhile.
```

- Start every batch with the `Open questions: …` line, listing the numbers asked in this batch, so the user sees at a glance what's waiting on them.
- Write each question in whatever form fits it: options, yes/no, or an open request for information. Give one line of context when the reason isn't obvious, and a recommendation when you have one. No tables.
- Make every question self-contained, including when it's asked again: give all the information needed to answer it and nothing more. Never point back to an earlier message ("see the list above"), and avoid walls of text.
- N is a cap, not a quota. If only two questions matter right now, ask two.
- Questions still unanswered from the previous batch come **first** in the next batch, marked "(still open)" (only these: a question you're asking for the first time isn't still open, even when you restate the batch before ending your turn). They keep their original numbers and count toward N; new questions take the next unused numbers. If you asked 1, 2 and 3 and only 2 and 3 were answered, the next batch is 1, 4 and 5.
- An answered question is closed and never comes up again.

## Handling answers

Check for new user messages after every step. When a reply arrives:

- Map it to question numbers. Accept shorthand ("7b", "9 yes", "10 your call", "default"). "Your call" and "default" mean the recommendation; record them that way. Read an obvious typo as what was meant and say how you read it in your acknowledgement, rather than asking again.
- Check carefully whether each question was actually answered. Feedback isn't an answer: "I don't like b or c", "what does b involve?", or an unclear reply leaves the question open. Then either:
  - **update** it: change the wording, options or context to address the feedback (e.g. drop the rejected options and add new ones), and ask it again under the same number in the next batch; or
  - **split** it, when the feedback shows it's really several decisions: move it to Dropped as "split into 12, 13" and queue the new questions with new numbers.
- Move the answers to Decided, then go through Queued: drop questions the answers made moot (say so briefly), add any new ones they raised, and re-order.
- Acknowledge in one line what you recorded, then refill the window to N with the top of the queue and post the new batch.
- If a reply changes an earlier decision, update Decided and redo the work built on it.

## Working while questions are open

Do the work yourself in the main conversation; one agent is usually faster and avoids conflicting edits. Use subagents only when the user asks for them. Subagents can't ask the user directly, so tell them to return their questions to you instead of guessing; then queue those questions like any other.

Prefer work that doesn't depend on any open question, especially groundwork that makes every answer easier to act on (e.g. separating storage code from the rest before the user picks a database). You may build on a recommendation for an open question only for small, contained pieces that are cheap to throw away, never for a core design choice the question is about: don't implement the database, framework or architecture you're asking the user to choose. Add such work under "Assumptions in use", and redo it if the answer differs.

When nothing is left that you can do without answers, end your turn with the open questions (still at most N) as the last thing in your reply, so the user doesn't have to scroll back for them.

## Changing N

On `/askloop N` or "ask me 5 at a time" mid-task, update `Window:` in the file. If N went up, top up the window now. If it went down, leave the questions already asked open, and don't ask more until the open count is below the new N.

## Finishing

The task isn't done while any question is Open or Queued. Once the work is done and the queue is empty, tidy the file into a summary: the task, what was done, Decided (the decisions log), Dropped with reasons, and any assumptions that remain. Then tell the user its path.

Wersje

W bazie nie ma innych skilli o nazwie askloop.

Migawka bazy z 13.11.2026 · wersja paczki 113fc7021af0 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 86question-sheet
    Zadaje użytkownikowi zestaw pytań zakresowych jako formularz opublikowany w Artifact, którego odpowiedzi wracają do Claude automatycznie.
  • 100ask-first
    Zadaje pytania jedno po drugim, z kilkoma odpowiedziami, a rekomendację podaje na pierwszym miejscu, zamiast długich odpowiedzi do przeczytania.
  • 100ask-user-question
    Zadaje użytkownikowi pytania przez interfejs, gdy potrzebne są doprecyzowanie, preferencje lub potwierdzenie przed dalszą pracą, bo wynik z CLI nie jest dla niego widoczny.
  • 90ask-first
    Zadaje pytania wyjaśniające przed wykonaniem zadania, by nic nie zakładać, a wymagania zebrać w trakcie rozmowy.
  • 90qstack-ask-as-questions
    Zamienia otwarte pytania z poprzedniej odpowiedzi asystenta w pytania strukturalne zadane przez narzędzie hosta, przeformułowane dla wskazanego czytelnika, z wersją ELI10, opcjami literowymi i jedną rekomendacją.
  • 100ask-me-again
    Zbiera wszystkie otwarte pytania agenta, sprawdza fakty i proponowane rozwiązania, a potem zadaje je ponownie po jednym, jasno i bez ściany tekstu.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.