by sh1ma
Automatically generate titles for herdr tabs from Claude Code and Codex conversations.
# Add to your Claude Code skills
git clone https://github.com/sh1ma/herdr-auto-titleGuides for using ide extensions skills like herdr-auto-title.
herdr-auto-title is an open-source ide extensions skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sh1ma. Automatically generate titles for herdr tabs from Claude Code and Codex conversations. It has 50 GitHub stars.
herdr-auto-title's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/sh1ma/herdr-auto-title" and add it to your Claude Code skills directory (see the Installation section above).
herdr-auto-title is primarily written in Python. It is open-source under sh1ma on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other IDE Extensions skills you can browse and compare side by side. Open the IDE Extensions category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh herdr-auto-title against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Unlocks once the catalog security scan passes (runs nightly).
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Titles are generated by the same CLI that called the hook: claude -p for Claude Code, codex exec for Codex.
HERDR_ENV=1 is set)python3 (standard library only)claude or codex on your PATHStarted outside of herdr, the hook exits without doing anything.
git clone https://github.com/sh1ma/herdr-auto-title
cd herdr-auto-title
./install.sh # install into every agent found
./install.sh --codex # or just one of them
It copies the script into place and registers it on UserPromptSubmit.
| script | registered in | |
|---|---|---|
| Claude Code | ~/.claude/hooks/herdr-auto-title.py |
~/.claude/settings.json |
| Codex | ~/.codex/hooks/herdr-auto-title.py |
~/.codex/hooks.json |
(CLAUDE_CONFIG_DIR / CODEX_HOME are honoured when set.)
Existing hook settings are kept, and re-running does not duplicate the registration. The settings file is backed up to .bak before being rewritten.
It takes effect from the next session you start.
Codex does not run hooks it has not been told to trust. Trust it on the review screen shown at the next startup, or via /hooks. (What gets trusted is the registered command string, so reinstalling does not ask again unless you move the script.)
Titles are written in English, or in Japanese when your locale is Japanese — that is, when LC_ALL, LC_MESSAGES or LANG starts with ja.
Set HERDR_AUTO_TITLE_LANG to pin one instead:
| value | title language |
|---|---|
auto (default) |
follow the locale |
en |
English |
ja |
Japanese |
The hook reads it from the environment of the agent that runs it, so export it where you start that agent — for example in ~/.zshrc:
export HERDR_AUTO_TITLE_LANG=en
The new value applies to sessions started after that.
./install.sh --uninstall # remove from both
./install.sh --uninstall --codex # or just one
It removes the registration and deletes the installed script. State files (~/.claude/herdr-auto-title/) are left behind; delete them by hand if you do not want them.
Calendar Versioning, as YYYY.0M.0D.MICRO. The last segment is a counter so that several releases on the same day never collide.
2026.08.13.0 first release of the day
2026.08.13.1 second release the same day
2026.08.14.0 back to 0 once the date changes
To check what you have installed:
python3 ~/.claude/hooks/herdr-auto-title.py --version
python3 -m unittest discover -s tests # tests
ruff check . && ruff format --check . # lint / formatting
shellcheck install.sh
CI (.github/workflows/ci.yml) runs the above on push and pull request, plus an install.sh round trip (install → install again → uninstall) and the test suite on Python 3.9 through 3.13.
Releases are cut by running the Release workflow from the Actions tab. The version comes from the existing tags and today's date (Asia/Tokyo), so there is no number to pick: the workflow rewrites __version__, commits, pushes the tag and creates the GitHub Release. To see the number that would be used, turn on dry_run, or run it locally:
python3 scripts/calver.py next
MIT