Choosing a Workflow
SkillDev toolsUse FIRST when any new piece of work arrives — a request, feature, change, fix, question, or idea — before starting on it or choosing an approach. Not for continuing work already routed to a workflow skill.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Choosing a Workflow skill
What this skill tells your AI
The instructions your AI receives, as published by jetbrains/thinkrail in packages/pi-thinkrail-workflow/skills/choosing-a-workflow/SKILL.md and read by ahel’s review.
The root router of the workflow family in packages/pi-thinkrail-workflow. It classifies the incoming
work and names the workflow skill that governs it — nothing more. A routed skill's steps live in that
skill alone; read it, don't run it from memory.
Classify
Read the request and the workspace, then answer three questions — usually silently, from what is already in front of you:
- Is this project onboarding? No spec graph yet — an empty (or effectively empty) workspace where the user brings a raw idea, or an existing codebase being set up / specced for the first time.
- Is this the PR lifecycle? Finished work shipping as a pull request, or an existing PR being tended — created, brought up to date, given screenshots, its checks watched, its review comments addressed. Fixes that flow from a PR's own review comments belong here, not to feature work.
- Does the work create or change anything in the project? A new feature, added functionality, a behavior change, a nontrivial design decision — anything that alters what the project is or does.
If the route is genuinely ambiguous from the request alone, ask one short clarifying question
(ask_user_question, composed per the asking-user-questions concept skill) rather than guessing.
Route
| Classification | Route |
|---|---|
| Project onboarding — no spec graph yet: an empty workspace with a raw idea, or an existing codebase to set up / spec | Read and follow setting-up-a-project — a dispatcher that routes on the workspace's state |
| The PR lifecycle — finished work to ship as a pull request, or an existing PR to tend: create, bring up to date, screenshots, checks, review comments | Read and follow shipping-a-pr |
| The work creates or changes anything in the project — a new feature, added functionality, a behavior change, a nontrivial design decision | Read and follow brainstorming — however small it looks; that skill owns the "too small" judgment |
| Anything else — answering questions, explaining code, running commands or checks, work that changes nothing | No matching workflow. Say so in one line (e.g. "No workflow skill covers this; proceeding directly.") and proceed with your own judgment. Never stretch a route to fit — a forced route is worse than none. |
One route per piece of work. If a request bundles work from different rows (e.g. "explain X, then change Y"), route the part that changes the project and handle the rest directly.
Red flags — stop and re-route
- You started designing or editing before naming a route — routing comes first.
- You are following a routed skill's steps from memory instead of reading that skill.
- You classed a change as "anything else" because it looked small or mechanical — size is brainstorming's call, not the router's.
Handoff
This skill ends by naming exactly one of: setting-up-a-project, shipping-a-pr, brainstorming, or no matching workflow (proceed with judgment). Adding a workflow to the family adds a row to the table above — see the writing-workflow-skills skill.
Signals
- GitHub stars
- 459
- Forks
- 36
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
choosing-a-workflow- Source
- github.com/jetbrains/thinkrail