Status Line Meta Skill
🚨 MANDATORY: Invoke docs-management First
STOP - Before providing ANY response about status line configuration:
- INVOKE
docs-management skill
- QUERY for the user's specific topic
- BASE all responses EXCLUSIVELY on official documentation loaded
Skipping this step results in outdated or incorrect information.
Verification Checkpoint
Before responding, verify:
If ANY checkbox is unchecked, STOP and invoke docs-management first.
Overview
Central authority for Claude Code status line configuration. This skill uses 100% delegation to docs-management - it contains NO duplicated official documentation.
Architecture: Pure delegation with keyword registry. All official documentation is accessed via docs-management skill queries.
When to Use This Skill
Keywords: status line, statusline, /statusline command, custom status line, status line configuration, statusLine setting, status line script, status line JSON input, model display, workspace info, cost tracking display, session info display, ANSI colors status line, git-aware status line, PS1-style prompt
Use this skill when:
- Creating custom status lines
- Configuring status line settings
- Understanding status line JSON input structure
- Writing status line scripts (Bash, Python, Node.js)
- Adding git information to status line
- Styling status lines with ANSI colors
- Troubleshooting status line issues
- Displaying model, cost, or workspace information
Keyword Registry for docs-management Queries
Use these keywords when querying docs-management skill for official documentation:
Status Line Fundamentals
| Topic |
Keywords |
| Overview |
"status line", "statusline", "custom status line" |
| Purpose |
"status line purpose", "contextual information display" |
| Behavior |
"status line update", "status line refresh rate" |
Configuration Methods
| Topic |
Keywords |
| Slash Command |
"/statusline command", "statusline setup" |
| Settings |
"statusLine setting", "settings.json statusLine" |
| Command Type |
"statusLine type command", "status line command config" |
| Padding |
"statusLine padding", "status line edge" |
JSON Input Structure
| Topic |
Keywords |
| Input Format |
"status line JSON input", "statusline stdin JSON" |
| Model Info |
"status line model", "model display_name", "model id" |
| Workspace Info |
"status line workspace", "current_dir", "project_dir" |
| Session Info |
"status line session_id", "transcript_path" |
| Cost Info |
"status line cost", "total_cost_usd", "lines_added" |
| Version Info |
"status line version", "output_style" |
| Context Usage |
"used_percentage", "remaining_percentage", "context window usage", "context capacity" |
Script Examples
| Topic |
Keywords |
| Bash Scripts |
"status line bash script", "statusline.sh" |
| Python Scripts |
"status line python", "statusline python example" |
| Node.js Scripts |
"status line nodejs", "statusline javascript" |
| Helper Functions |
"status line helper functions", "statusline helpers" |
Git Integration
| Topic |
Keywords |
| Git-Aware Status |
"git-aware status line", "git branch status line" |
| Git Branch Display |
"status line git branch", "show git branch" |
Styling and Display
| Topic |
Keywords |
| ANSI Colors |
"status line ANSI", "status line colors", "styling status line" |
| Emojis |
"status line emojis", "status line icons" |
| Concise Display |
"status line concise", "fit on one line" |
Troubleshooting
| Topic |
Keywords |
| Not Appearing |
"status line not appearing", "statusline troubleshooting" |
| Executable Issues |
"status line chmod", "script not executable" |
| Output Issues |
"status line stdout", "statusline stderr" |
| Testing |
"test status line script", "mock JSON input" |
Quick Decision Tree
What do you want to do?
- Create a status line quickly -> Query docs-management: "/statusline command", "statusline setup"
- Configure status line in settings -> Query docs-management: "statusLine setting", "settings.json statusLine"
- Understand JSON input -> Query docs-management: "status line JSON input", "statusline stdin JSON"
- Show model information -> Query docs-management: "status line model", "model display_name"
- Show cost/usage -> Query docs-management: "status line cost", "total_cost_usd"
- Add git branch -> Query docs-management: "git-aware status line", "git branch status line"
- Write bash script -> Query docs-management: "status line bash script", "statusline.sh"
- Write Python script -> Query docs-management: "status line python", "statusline python example"
- Add colors -> Query docs-management: "status line ANSI", "status line colors"
- Fix status line issues -> Query docs-management: "statusline troubleshooting", "status line not appearing"
Topic Coverage
Status Line Configuration
- /statusline slash command for quick setup
- statusLine setting in settings.json
- Command type configuration
- Padding configuration (edge alignment)
- Script path specification
JSON Input Data
- hook_event_name (always "Status")
- session_id (current session identifier)
- transcript_path (path to transcript file)
- cwd (current working directory)
- model object (id and display_name)
- workspace object (current_dir and project_dir)
- version (Claude Code version)
- output_style object (current style name)
- cost object (usage metrics)
Cost Tracking Fields
- total_cost_usd (session cost)
- total_duration_ms (session duration)
- total_api_duration_ms (API call time)
- total_lines_added (lines added)
- total_lines_removed (lines removed)
Script Implementation Patterns
- Bash with jq for JSON parsing
- Python with json module
- Node.js with JSON.parse
- Helper function patterns for complex scripts
- Reading from stdin
- Outputting to stdout (first line only)
Git Integration Patterns
- Detecting git repository
- Reading current branch
- Branch display formatting
- Error handling for non-git directories
Styling Approaches
- ANSI color code support
- Emoji usage for visual indicators
- Concise formatting (one line)
- Information density considerations
Update Behavior
- Updates on conversation message changes
- 300ms rate limiting
- First line of stdout becomes status text
- ANSI color code preservation
Delegation Patterns
Standard Query Pattern
User asks: "How do I create a custom status line?"
1. Invoke docs-management skill
2. Use keywords: "/statusline command", "custom status line"
3. Load official documentation
4. Provide guidance based EXCLUSIVELY on official docs
Multi-Topic Query Pattern
User asks: "I want a status line showing git branch and cost"
1. Invoke docs-management skill with multiple queries:
- "git-aware status line", "git branch status line"
- "status line cost", "total_cost_usd"
2. Synthesize guidance from official documentation
Troubleshooting Pattern
User reports: "My status line script isn't showing up"
1. Invoke docs-management skill
2. Use keywords: "statusline troubleshooting", "status line not appearing"
3. Check official docs for common issues
4. Guide user through troubleshooting steps
Troubleshooting Quick Reference
| Issue |
Keywords for docs-management |
| Status line not appearing |
"statusline troubleshooting", "status line not appearing" |
| Script not executable |
"status line chmod", "script not executable" |
| Wrong output |
"status line stdout", "first line output" |
| JSON parsing errors |
"status line JSON input", "jq parsing" |
| Colors not working |
"status line ANSI", "terminal colors" |
| Git branch not showing |
"git-aware status line", "git branch display" |
| Slow updates |
"status line update", "rate limiting" |
| Settings not applied |
"statusLine setting", "settings.json" |
Repository-Specific Notes
This repository does not currently use custom status lines. Status line documentation is relevant for:
- Understanding status line customization options
- Potential custom status line creation for development workflows
- Understanding session information available via JSON input
When working with status line topics, always use the docs-management skill to access official documentation.
Auditing Status Lines
This skill provides the validation criteria used by the statusline-auditor agent for formal audits.
Audit Resources
| Resource |
Location |
Purpose |
| Audit Framework |
references/audit-framework.md |
Query guides and scoring criteria |
Scoring Categories
| Category |
Points |
Key Criteria |
| Script Structure |
25 |
Valid script, shebang, executable |
| JSON Handling |
25 |
Correct JSON input parsing |
| Output Format |
25 |
Proper terminal formatting, colors |
| Cross-Platform |
25 |
Works on Windows, macOS, Linux |
Thresholds: 85+ = PASS, 70-84 = PASS WITH WARNINGS, <70 = FAIL
Related Agent
The statusline-auditor agent (Haiku model) performs formal audits using this skill:
- Auto-loads this skill via
skills: status-line-customization
- Uses audit framework and docs-management for rules
- Generates structured audit reports
- Invoked by
/audit-statuslines command
External Technology Validation
When auditing status line scripts that use external technologies (scripts, packages, runtimes), the auditor MUST validate claims using MCP servers before flagging findings.
Technologies Requiring MCP Validation:
- .NET/C# scripts: Validate with microsoft-learn + perplexity
- Node.js/npm packages: Validate with context7 + perplexity
- Python scripts/packages: Validate with context7 + perplexity
- Shell scripts: Validate with perplexity
- Any version-specific claims: ALWAYS validate with perplexity
Validation Rule:
Never flag a technology usage as incorrect without first:
- Querying appropriate MCP server(s) for current documentation
- Verifying with perplexity for recent changes (especially .NET 10+)
- Documenting MCP sources in the finding
Stale Data Warning:
- microsoft-learn can return cached/outdated documentation
- ALWAYS pair microsoft-learn with perplexity for version verification
- Trust perplexity for version numbers and recently-released features
References
Official Documentation (via docs-management skill):
- Primary: "statusline" documentation
- Related: "settings", "terminal-config", "output-styles"
Repository-Specific:
- Status line settings:
.claude/settings.json (statusLine setting)
- Custom scripts:
~/.claude/statusline.sh (user-level)
Version History
Last Updated
Date: 2026-01-16
Model: claude-opus-4-5-20251101
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: status-line-customization3description: Central authority for Claude Code status line configuration. Covers custom status line creation, /statusline command, status line settings (statusLine in settings.json), JSON input structure (model, workspace, cost, session info), status line scripts (Bash, Python, Node.js), terminal color codes, git-aware status lines, helper functions, and status line troubleshooting. Supports creating custom status lines, configuring status line behavior, and displaying contextual session information. Delegates 100% to docs-management skill for official documentation. Use when this capability is needed.4---56# Status Line Meta Skill78> ## 🚨 MANDATORY: Invoke docs-management First9>10> **STOP - Before providing ANY response about status line configuration:**11>12> 1. **INVOKE** `docs-management` skill13> 2. **QUERY** for the user's specific topic14> 3. **BASE** all responses EXCLUSIVELY on official documentation loaded15>16> **Skipping this step results in outdated or incorrect information.**17>18> ### Verification Checkpoint19>20> Before responding, verify:21>22> - [ ] Did I invoke docs-management skill?23> - [ ] Did official documentation load?24> - [ ] Is my response based EXCLUSIVELY on official docs?25>26> If ANY checkbox is unchecked, STOP and invoke docs-management first.2728## Overview2930Central authority for Claude Code status line configuration. This skill uses **100% delegation to docs-management** - it contains NO duplicated official documentation.3132**Architecture:** Pure delegation with keyword registry. All official documentation is accessed via docs-management skill queries.3334## When to Use This Skill3536**Keywords:** status line, statusline, /statusline command, custom status line, status line configuration, statusLine setting, status line script, status line JSON input, model display, workspace info, cost tracking display, session info display, ANSI colors status line, git-aware status line, PS1-style prompt3738**Use this skill when:**3940- Creating custom status lines41- Configuring status line settings42- Understanding status line JSON input structure43- Writing status line scripts (Bash, Python, Node.js)44- Adding git information to status line45- Styling status lines with ANSI colors46- Troubleshooting status line issues47- Displaying model, cost, or workspace information4849## Keyword Registry for docs-management Queries5051Use these keywords when querying docs-management skill for official documentation:5253### Status Line Fundamentals5455| Topic | Keywords |56| --- | --- |57| Overview | "status line", "statusline", "custom status line" |58| Purpose | "status line purpose", "contextual information display" |59| Behavior | "status line update", "status line refresh rate" |6061### Configuration Methods6263| Topic | Keywords |64| --- | --- |65| Slash Command | "/statusline command", "statusline setup" |66| Settings | "statusLine setting", "settings.json statusLine" |67| Command Type | "statusLine type command", "status line command config" |68| Padding | "statusLine padding", "status line edge" |6970### JSON Input Structure7172| Topic | Keywords |73| --- | --- |74| Input Format | "status line JSON input", "statusline stdin JSON" |75| Model Info | "status line model", "model display_name", "model id" |76| Workspace Info | "status line workspace", "current_dir", "project_dir" |77| Session Info | "status line session_id", "transcript_path" |78| Cost Info | "status line cost", "total_cost_usd", "lines_added" |79| Version Info | "status line version", "output_style" |80| Context Usage | "used_percentage", "remaining_percentage", "context window usage", "context capacity" |8182### Script Examples8384| Topic | Keywords |85| --- | --- |86| Bash Scripts | "status line bash script", "statusline.sh" |87| Python Scripts | "status line python", "statusline python example" |88| Node.js Scripts | "status line nodejs", "statusline javascript" |89| Helper Functions | "status line helper functions", "statusline helpers" |9091### Git Integration9293| Topic | Keywords |94| --- | --- |95| Git-Aware Status | "git-aware status line", "git branch status line" |96| Git Branch Display | "status line git branch", "show git branch" |9798### Styling and Display99100| Topic | Keywords |101| --- | --- |102| ANSI Colors | "status line ANSI", "status line colors", "styling status line" |103| Emojis | "status line emojis", "status line icons" |104| Concise Display | "status line concise", "fit on one line" |105106### Troubleshooting107108| Topic | Keywords |109| --- | --- |110| Not Appearing | "status line not appearing", "statusline troubleshooting" |111| Executable Issues | "status line chmod", "script not executable" |112| Output Issues | "status line stdout", "statusline stderr" |113| Testing | "test status line script", "mock JSON input" |114115## Quick Decision Tree116117**What do you want to do?**1181191. **Create a status line quickly** -> Query docs-management: "/statusline command", "statusline setup"1202. **Configure status line in settings** -> Query docs-management: "statusLine setting", "settings.json statusLine"1213. **Understand JSON input** -> Query docs-management: "status line JSON input", "statusline stdin JSON"1224. **Show model information** -> Query docs-management: "status line model", "model display_name"1235. **Show cost/usage** -> Query docs-management: "status line cost", "total_cost_usd"1246. **Add git branch** -> Query docs-management: "git-aware status line", "git branch status line"1257. **Write bash script** -> Query docs-management: "status line bash script", "statusline.sh"1268. **Write Python script** -> Query docs-management: "status line python", "statusline python example"1279. **Add colors** -> Query docs-management: "status line ANSI", "status line colors"12810. **Fix status line issues** -> Query docs-management: "statusline troubleshooting", "status line not appearing"129130## Topic Coverage131132### Status Line Configuration133134- /statusline slash command for quick setup135- statusLine setting in settings.json136- Command type configuration137- Padding configuration (edge alignment)138- Script path specification139140### JSON Input Data141142- hook_event_name (always "Status")143- session_id (current session identifier)144- transcript_path (path to transcript file)145- cwd (current working directory)146- model object (id and display_name)147- workspace object (current_dir and project_dir)148- version (Claude Code version)149- output_style object (current style name)150- cost object (usage metrics)151152### Cost Tracking Fields153154- total_cost_usd (session cost)155- total_duration_ms (session duration)156- total_api_duration_ms (API call time)157- total_lines_added (lines added)158- total_lines_removed (lines removed)159160### Script Implementation Patterns161162- Bash with jq for JSON parsing163- Python with json module164- Node.js with JSON.parse165- Helper function patterns for complex scripts166- Reading from stdin167- Outputting to stdout (first line only)168169### Git Integration Patterns170171- Detecting git repository172- Reading current branch173- Branch display formatting174- Error handling for non-git directories175176### Styling Approaches177178- ANSI color code support179- Emoji usage for visual indicators180- Concise formatting (one line)181- Information density considerations182183### Update Behavior184185- Updates on conversation message changes186- 300ms rate limiting187- First line of stdout becomes status text188- ANSI color code preservation189190## Delegation Patterns191192### Standard Query Pattern193194```text195User asks: "How do I create a custom status line?"1961971. Invoke docs-management skill1982. Use keywords: "/statusline command", "custom status line"1993. Load official documentation2004. Provide guidance based EXCLUSIVELY on official docs201```202203### Multi-Topic Query Pattern204205```text206User asks: "I want a status line showing git branch and cost"2072081. Invoke docs-management skill with multiple queries:209 - "git-aware status line", "git branch status line"210 - "status line cost", "total_cost_usd"2112. Synthesize guidance from official documentation212```213214### Troubleshooting Pattern215216```text217User reports: "My status line script isn't showing up"2182191. Invoke docs-management skill2202. Use keywords: "statusline troubleshooting", "status line not appearing"2213. Check official docs for common issues2224. Guide user through troubleshooting steps223```224225## Troubleshooting Quick Reference226227| Issue | Keywords for docs-management |228| --- | --- |229| Status line not appearing | "statusline troubleshooting", "status line not appearing" |230| Script not executable | "status line chmod", "script not executable" |231| Wrong output | "status line stdout", "first line output" |232| JSON parsing errors | "status line JSON input", "jq parsing" |233| Colors not working | "status line ANSI", "terminal colors" |234| Git branch not showing | "git-aware status line", "git branch display" |235| Slow updates | "status line update", "rate limiting" |236| Settings not applied | "statusLine setting", "settings.json" |237238## Repository-Specific Notes239240This repository does not currently use custom status lines. Status line documentation is relevant for:241242- Understanding status line customization options243- Potential custom status line creation for development workflows244- Understanding session information available via JSON input245246When working with status line topics, always use the docs-management skill to access official documentation.247248## Auditing Status Lines249250This skill provides the validation criteria used by the `statusline-auditor` agent for formal audits.251252### Audit Resources253254| Resource | Location | Purpose |255| --- | --- | --- |256| Audit Framework | `references/audit-framework.md` | Query guides and scoring criteria |257258### Scoring Categories259260| Category | Points | Key Criteria |261| --- | --- | --- |262| Script Structure | 25 | Valid script, shebang, executable |263| JSON Handling | 25 | Correct JSON input parsing |264| Output Format | 25 | Proper terminal formatting, colors |265| Cross-Platform | 25 | Works on Windows, macOS, Linux |266267**Thresholds:** 85+ = PASS, 70-84 = PASS WITH WARNINGS, <70 = FAIL268269### Related Agent270271The `statusline-auditor` agent (Haiku model) performs formal audits using this skill:272273- Auto-loads this skill via `skills: status-line-customization`274- Uses audit framework and docs-management for rules275- Generates structured audit reports276- Invoked by `/audit-statuslines` command277278### External Technology Validation279280When auditing status line scripts that use external technologies (scripts, packages, runtimes), the auditor MUST validate claims using MCP servers before flagging findings.281282**Technologies Requiring MCP Validation:**283284- .NET/C# scripts: Validate with microsoft-learn + perplexity285- Node.js/npm packages: Validate with context7 + perplexity286- Python scripts/packages: Validate with context7 + perplexity287- Shell scripts: Validate with perplexity288- Any version-specific claims: ALWAYS validate with perplexity289290**Validation Rule:**291292Never flag a technology usage as incorrect without first:2932941. Querying appropriate MCP server(s) for current documentation2952. Verifying with perplexity for recent changes (especially .NET 10+)2963. Documenting MCP sources in the finding297298**Stale Data Warning:**299300- microsoft-learn can return cached/outdated documentation301- ALWAYS pair microsoft-learn with perplexity for version verification302- Trust perplexity for version numbers and recently-released features303304## References305306**Official Documentation (via docs-management skill):**307308- Primary: "statusline" documentation309- Related: "settings", "terminal-config", "output-styles"310311**Repository-Specific:**312313- Status line settings: `.claude/settings.json` (statusLine setting)314- Custom scripts: `~/.claude/statusline.sh` (user-level)315316## Version History317318- **v1.1.0** (2026-01-16): Added v2.1.6+ keyword registry entries319 - Added context usage fields (used_percentage, remaining_percentage)320321- **v1.0.0** (2025-11-26): Initial release322 - Pure delegation architecture323 - Comprehensive keyword registry324 - Quick decision tree325 - Topic coverage for all status line features326 - Troubleshooting quick reference327328---329330## Last Updated331332**Date:** 2026-01-16333**Model:** claude-opus-4-5-20251101334335---336> Converted and distributed by [TomeVault](https://tomevault.io/claim/melodic-software) — claim your Tome and manage your conversions.337<!-- tomevault:4.0:skill_md:2026-04-11 -->