The film has sound. The voices you hear are the dictations, so turn the sound on. Captions are on by default, and you can turn them off in the player.
The Slack workspace and the people in it are made up. The voices are synthetic.
Chapters
Each chapter shows one dictation. It lists what was said, what ParrotFlow wrote and the part of the config that made the change.
Rules and scripts
A Slack channel, #lyrebird-launch. Alex asks where the Lyrebird release is. You answer by voice, in two parts.
- Said
- “Hey Siobhan! The fix is up on PR four seventy-eight, with the new launch price of forty-nine dollars ninety-nine.”
- Written
- Hey @siobhan, the fix is up on #478 with the new launch price of $49.99.
- Done by
- Three steps in
config.yaml. Thegithub_refsrule is a replacement. Its regular expression finds “PR 478” and writes a link to pull request 478. Theslack_mentionsstep runs the scriptslack_mentions.py, which turns the name into a mention. Themoney_enstep runsmoney.py, which writes the price as $49.99.
- name: github_refs
replace:
'[#$1](https://github.com/OWNER/REPO/pull/$1)':
['/\bPR\s*#?(\d+)\b/']
- name: slack_mentions
command: slack_mentions.py
- name: money_en
command: money.pyRead more about rules, scripts and pipelines.
Screen context
Claude Code, in a terminal. Claude’s last answer names CaretAnchor, a type in the code. You ask for a change by voice.
- Said
- “Move the fallback out of caret anchor!”
- Heard
- move the fallback out of carrot anchor
- Written
- move the fallback out of CaretAnchor
- Done by
- ParrotFlow reads the words on the screen. “CaretAnchor” is in Claude’s answer, so the misheard “carrot anchor” is spelled that way. You do not write a rule for this.
Read more about screen context.
Vocabulary
Claude Code again. You mean the Vue framework, and the transcript has the word “view”.
- Said
- “Upgrade view to the latest version first!”
- Written
- upgrade view to the latest version first
- Then
- You change “view” to “Vue” by hand. The pill asks “Learn this spelling?” with three keys: Y for yes, N for no, E to edit. You press Y.
- Said
- “Why does the view component re-render the whole view?”
- Written
- why does the Vue component re-render the whole view
- Done by
- The vocabulary entry you saved. The first “view” becomes Vue. The last one means a real view, so it stays.
Read more about custom vocabulary.
Commands
A new GitHub issue in the browser. The title is already there: “Settings crash after the update”. You dictate the description.
- Said
- “When I open the settings, the app crashes and I lose my changes. It started with the last update.”
- Written
- The same two sentences, as said.
- Then
- The pill offers a Bug report button, with the key B. You click it. The pill shows “Writing bug report…”.
- Written
- A bug report with three sections: Steps to reproduce, Expected and Actual.
- Done by
- A prompt step in
config.yaml.offer: trueputs the button on the pill.key: blets you press B instead of clicking. A prompt step runs on the language model you choose, on your Mac or in the cloud.
- name: Bug report
prompt: Turn this into a bug report.
offer: true
key: bRead more about prompt steps and commands.
Your agent
Claude Code. You add the ParrotFlow skill, then ask for a new rule by voice.
- Typed
! npx skills add znat/parrotflow --skill parrotflow, then/parrotflow- Said
- “When I say P zero, P one or P two, I want the number as a digit.”
- Done by
- Claude adds a
prioritiesrule toconfig.yaml. Then it runsParrotFlow --check-configto check the file. From then on, when you say “P zero”, ParrotFlow writes P0.
- name: priorities
replace:
'P0': ['P zero']
'P1': ['P one']
'P2': ['P two']The film ends at 1:09 with the install command, brew install znat/tap/parrotflow. See how to install ParrotFlow.
Transcript
These are the words spoken in the film. The first seven lines are dictations, so they are written as they are said. The last two lines close the film.
- Hey Siobhan! The fix is up on PR four seventy-eight,
- with the new launch price of forty-nine dollars ninety-nine.
- Move the fallback out of caret anchor!
- Upgrade view to the latest version first!
- Why does the view component re-render the whole view?
- When I open the settings, the app crashes and I lose my changes. It started with the last update.
- When I say P zero, P one or P two, I want the number as a digit.
- Dictation for builders.
- Install ParrotFlow today!
To set up your own rules, start with the guides or the documentation.