Agent Skill
2/7/2026

go-uber-style

Use this skill when writing Go code following the Uber Go Style Guide. Provides comprehensive guidance on idiomatic Go patterns, error handling, concurrency safety, performance optimization, and test-driven development. Covers all critical Uber Go rules including channel sizing, goroutine management, interface design, and proper error handling. Appropriate for any task involving .go files, Go code reviews, refactoring, or implementing Go best practices.

C
charlintosh
1GitHub Stars
2Views
npx skills add charlintosh/lazyado

SKILL.md

Namego-uber-style
DescriptionUse this skill when writing Go code following the Uber Go Style Guide. Provides comprehensive guidance on idiomatic Go patterns, error handling, concurrency safety, performance optimization, and test-driven development. Covers all critical Uber Go rules including channel sizing, goroutine management, interface design, and proper error handling. Appropriate for any task involving .go files, Go code reviews, refactoring, or implementing Go best practices.

LazyADO - An Azure DevOps Boards TUI

License: MIT Go Report Card PRs Welcome Repo Size version

A terminal user interface (TUI) for Azure DevOps Boards.

Features

  • Work items — Browse, search and filter by sprint, state, assigned, area, tags; sort by ID / Type / State.
  • Quick search — Instantly jump to any work item by ID using Ctrl+F.
  • Hierarchical view — PBIs / Bugs with expandable child tasks.
  • CRUD — Create, edit, delete PBIs, Bugs and child tasks via modal forms.
  • Assignments — Assign or unassign work items to team members using a searchable list.
  • Comments — Add, edit, delete comments (supports @mentions).
  • Work item info — Quickly copy work item ID or URL to clipboard via info modal.
  • Integration helpers — Create a git branch from a work item (branch-name helper).
  • Detail view — Fullscreen view showing metadata, description, acceptance criteria, tags and comments.
  • Keyboard-driven UX — Modals for search/assign/branch/change-state/parent-selection; Vim-like navigation (j/k/g/G); panel switching and contextual help.
  • Cross-platform — Works on Linux, macOS and Windows.

Installation

Install with Go

go install github.com/charlintosh/lazyado@latest

Then run with:

lazyado

Or build from source (Optional)

If you prefer to build from source:

go build -o lazyado .
sudo mv lazyado /usr/local/bin/

Get started

Create a config file at ~/.config/lazyado/config.yaml:

# Azure DevOps connection
organization: "my-organization"
project: "my-project"
team: "my-team"

# Authentication (or use AZURE_DEVOPS_PAT env variable)
pat: "your-personal-access-token"

# UI settings
theme: "default"

# Default filters at startup
defaults:
  sprint: "current"
  state: "all"
  assigned: "me"

Environment Variables

VariableDescription
AZURE_DEVOPS_PATPersonal Access Token (recommended)
AZURE_DEVOPS_ORGOrganization (overrides config)
AZURE_DEVOPS_PROJECTProject (overrides config)
AZURE_DEVOPS_TEAMTeam (overrides config)

PAT Permissions

Your Personal Access Token needs these scopes:

  • Work Items (Read) - Read work items
  • Project and Team (Read) - List sprints/iterations

Keyboard Shortcuts

Keyboard Shortcuts (canonical)

These shortcuts reflect the canonical internal/keys/keymap.go bindings used by the application.

Global / Panel

KeyDescription
1Panel 1 / Sort by ID
2Panel 2 / Sort by Type
3Panel 3 / Sort by State
4Panel 4
5Panel 5
6Panel 6
7Panel 7
TabSwitch to next panel
Shift+TabSwitch to previous panel
?Show/hide help
Ctrl+rReload data
q / Ctrl+cQuit

Note: keys 1, 2, 3 are also used for sorting in some contexts (see Sort section).

Navigation

KeyDescription
j / Move down
k / Move up
h / Left / collapse
l / Right / expand
gGo to first item
GGo to last item

Actions

KeyDescription
enterSelect / Open
vView fullscreen details
/Search in filter panels
Ctrl+fQuick search by work item ID
sChange work item state
nCreate new parent item (PBI/Bug)
tCreate new child task (on PBI)
eEdit work item
dDelete work item
cAdd comment (with @mentions)
bCreate git branch
aAssign to user
iShow work item info (copy URL/ID)

Modals & Confirmation

KeyDescription
escBack / Close
ctrl+sSave / Submit in modals
y / YConfirm
left / rightModal-only arrow navigation

Sorting

KeyDescription
1Sort by ID (contextual)
2Sort by Type (contextual)
3Sort by State (contextual)

If a key has multiple meanings, the active context determines the action (panel vs list sort).

Work Item Creation/Editing

KeyDescription
TabSwitch input field
Ctrl+SSave/Submit form in modals

Comments (when Comments panel is focused)

KeyDescription
eEdit selected comment
dDelete selected comment
cAdd comment (from Work Items view)

Status Messages

KeyDescription
@Trigger user suggestions
/ Navigate suggestions
Enter / TabSelect user from suggestions
Ctrl+SSubmit comment
EscCancel / Close suggestions

Detail View

KeyDescription
Esc / qBack to main view
cAdd comment
j / kScroll (description, comments)

The detail view displays:

  • Work item metadata (type, state, ID, dates, etc.)
  • Parent item (if any)
  • Description
  • Acceptance criteria (if present)
  • Tags
  • Comments with author and timestamp

Contributing

Taskfile

This repository includes a Taskfile.yml with convenient tasks for building, running, and debugging the app. Use the task CLI (https://github.com/go-task/task) to run them.

Examples:

# Build release binary
task build

# Run in dev mode
task dev

# Build with debug flags (runtime debug log)
task debug

# Install to PATH (requires sudo)
task install

See Taskfile.yml for details.

Debug logging

Enable debug logging with the -debug flag when running the binary. On Linux the debug output is written to a temporary file (for example /tmp/lazyado-debug.log):

lazyado -debug

Use this when reporting issues or investigating runtime behaviour.

Tech Stack

Acknowledgements

This project is a fork of shcizo/devops-tui. Thanks to the original author(s) for their work and inspiration.

License

MIT

Skills Info
Original Name:go-uber-styleAuthor:charlintosh