# How-tos

Pick your job. Each page shows the commands and what came out.

| How-to | Who it is for | Functions |
| --- | --- | --- |
| [Triage a support inbox](/how-tos/triage-a-support-inbox/) | support teams | [`filter`](/functions/filter/), [`annotate`](/functions/annotate/) |
| [Screen studies for a review](/how-tos/screen-studies-for-a-review/) | researchers | [`decide`](/functions/decide/) |
| [Sort survey answers by mood and problem](/how-tos/code-open-ended-survey-answers/) | survey and market researchers | [`score`](/functions/score/), [`tag`](/functions/tag/) |
| [Join two tables by meaning](/how-tos/join-two-tables-by-meaning/) | data analysts | [`filter`](/functions/filter/) |
| [Group alerts into incidents](/how-tos/group-alerts-into-incidents/) | on-call engineers | [`find`](/functions/find/), [`decide`](/functions/decide/) |
| [Rank the inbound leads](/how-tos/rank-the-inbound-leads/) | sales teams | [`filter`](/functions/filter/), [`rank`](/functions/rank/), [`choose`](/functions/choose/) |
| [Screen a post before it goes up](/how-tos/screen-a-post-before-it-goes-up/) | community moderators | [`decide`](/functions/decide/) |
| [Check an expense against the policy](/how-tos/check-an-expense-against-the-policy/) | finance staff | [`find`](/functions/find/), [`decide`](/functions/decide/) |
| [Split a scanned packet into documents](/how-tos/split-a-scanned-packet-into-documents/) | back-office staff | [`choose`](/functions/choose/), [`decide`](/functions/decide/) |

## [Bash techniques](/how-tos/bash/)

Each Bash page teaches one shell form. The recipes do small jobs.

- [Branch with if](/how-tos/bash/if/): if

- [Route with case](/how-tos/bash/case/): case

- [Handle not sure](/how-tos/bash/not-sure/): not sure

- [Set a cut or a band](/how-tos/bash/threshold-band/): cut or band

- [Loop over lines](/how-tos/bash/while-read/): while read

- [Chain questions with pipes](/how-tos/bash/pipeline/): pipes

- [Ask many files at once](/how-tos/bash/batches/): xargs

- [Fail a build](/how-tos/bash/ci-gate/): CI gate

- [Keep one process for a step loop](/how-tos/bash/long-lived-loop/): one process

- [Judge one paragraph at a time](/how-tos/bash/judge-paragraphs/): paragraphs

- [Guard a coding agent tool call](/how-tos/bash/agent-tool-guard/): tool guard

- [Label a JSON file and keep its ids](/how-tos/bash/label-a-json-file/): Label a JSON file

- [Review a diff by what it does](/how-tos/bash/review-a-diff-by-what-it-does/): Review a diff

- [Lint prose for hedging](/how-tos/bash/lint-prose-for-hedging/): Lint prose

- [Fill a form by selection](/how-tos/bash/fill-a-form-by-selection/): Fill a form

- [Set bad records aside first](/how-tos/bash/set-aside-bad-records/): Set aside bad records

On GitHub: [github.com/botassembly/thinkthen](https://github.com/botassembly/thinkthen)
