WezTerm is the outer terminal. It owns the window, fonts, and colors, and passes keyboard and graphics capabilities through to the programs inside.
Herdr runs inside WezTerm and provides workspaces, tabs, and panes, along with a view of agent status. After the window is closed or the client detaches, the processes keep running and can be reattached later.
Pi runs in a pane to read files, edit code, and run commands. Plugins and skills add capabilities such as web access and interface polish. The Pi setup on this machine mainly follows Kun Chen’s dotfiles and Kun’s Pi Agent Config.
Daily workflow
Open WezTerm, start Herdr inside it, then run Pi in a pane. Detach when stepping away; the processes stay in the Herdr session. On the same machine, open WezTerm again and reattach to that session to pick up where you left off.
Herdr keeps different tasks in separate workspaces, tabs, and panes, and shows in the sidebar whether Pi is working, waiting, or idle. Pi does the coding and command work, and reaches for the plugins and skills below when it needs the web or a particular workflow.
Pi plugins
These are the plugins in use with Pi on this machine. They add capabilities or adjust how the session feels.
| Plugin | What it does |
|---|---|
| pi-web-access | Search the web, fetch page content, clone GitHub repositories, extract PDFs, and understand video |
| codex-fast-mode | Switch Codex into a faster, more concise mode |
| Calm | Changes only how the conversation is presented, so thinking blocks and tool output are quieter, without changing what actually runs |
| terminal-status-title | Shows in the terminal title whether Pi is working, then a completion mark when it finishes |
| herdr-agent-state | Provided by Herdr; reports whether Pi is working, waiting, or idle to the Herdr sidebar |
Calm and terminal-status-title come from Kun Chen’s config mentioned above. herdr-agent-state is installed and managed by Herdr.
Pi skills
These are the skills Pi uses on this machine for particular workflows. Skills from the same source are grouped, and each one links to its repository.
Interface and design
| Skill | What it does |
|---|---|
| impeccable | Design, revise, review, and polish interfaces: websites, dashboards, product UI, and iOS or Android screens |
| frontend-design | Give a new or revised interface a deliberate visual direction, instead of a generic default look |
Reading
| Skill | What it does |
|---|---|
| weread-skills | WeChat Reading: search books, browse the shelf, export highlights, reading stats, reviews, and recommendations |
Finding skills
| Skill | What it does |
|---|---|
| find-skills | Search for and install new Agent Skills |
Engineering and writing workflows
This set comes from mattpocock/skills. It covers the day-to-day engineering path from questions and specs through implementation and review, plus some writing and teaching skills.
| Skill | What it does |
|---|---|
| ask-matt | Suggest which skill or flow fits the current situation |
| setup-matt-pocock-skills | Set up the tracker and doc layout this engineering skill set expects |
| to-spec | Turn the current discussion into a spec |
| to-tickets | Break a plan or spec into actionable tickets |
| to-questionnaire | Turn a discussion into a questionnaire |
| implement | Implement from a spec or tickets |
| implement-spec | Implement a whole spec on one integration branch |
| tdd | Test-first work |
| diagnosing-bugs | Diagnose hard-to-reproduce bugs or performance regressions |
| code-review | Review changes against repo standards and the original spec |
| codebase-design | Design modules and system structure |
| improve-codebase-architecture | Find and pursue opportunities to deepen the architecture |
| domain-modeling | Work through the domain model and its terminology |
| research | Research from primary sources and write it into the repo |
| prototype | Use a throwaway prototype to answer a design question |
| pr | Write a pull request description |
| retro | Look back on a session and improve the agent’s working environment |
| triage | Triage issues and move them through their states |
| wayfinder | Break a large piece of work into a map of decisions that can be resolved one at a time |
| grilling | Stress-test a plan or design by asking follow-up questions |
| grill-me | Run a grilling pass on the current proposal |
| grill-with-docs | Grill the work while updating the project’s domain docs |
| handoff | Hand the current conversation to the next agent |
| claude-handoff | A handoff format aimed at Claude |
| loop-me | Keep asking until the plan is clear enough |
| writing-beats | Plan the rhythm of a piece of writing |
| writing-fragments | Gather raw writing material |
| writing-shape | Shape that material into a finished draft |
| writing-for-agents | Write documents meant for an agent to read and follow |
| teach | Explain a concept clearly |
| wizard | Generate an interactive wizard |
| wait-what | Rephrase a point that was missed |
| setup-pre-commit | Set up pre-commit for a repository |
| setup-ts-deep-modules | Set up a deep TypeScript module layout |
| migrate-to-shoehorn | Migrate tests to Shoehorn |
| git-guardrails-claude-code | Add Git guardrails to a repository |
| scaffold-exercises | Scaffold practice exercises |