mattermost-cli
This skill should be used when the user asks to "check my mattermost messages", "fetch DMs", "what did X say", "check messages from coworker", "read mattermost", or mentions mattermost conversations, chat history, or finding tasks mentioned in chat.
SKILL.md
| Name | mattermost-cli |
| Description | This skill should be used when the user asks to "check my mattermost messages", "fetch DMs", "what did X say", "check messages from coworker", "read mattermost", or mentions mattermost conversations, chat history, or finding tasks mentioned in chat. |
Agent Devtools UX Set
My personal AI Agent devtools/dev UX set.
Skills Catalog
Custom skills for Claude Code that extend its capabilities.
| Skill | Description | Trigger Examples |
|---|---|---|
| interview | Socratic interviewer for requirements elicitation. Probes blind spots, challenges assumptions, synthesizes understanding. | /interview auth system, "help me think through this feature", vague requirements |
| lazy-skill | On-demand skill loader to reduce routing ambiguity. Browse and load skills from ~/.agents/lazy-skills/ only when explicitly needed. | /lazy-skill, /lazy-skill docker |
| mattermost-cli | Fetch and search Mattermost messages. Auto-redacts secrets for safe LLM processing. Maintained in its own repo. | "check my messages", "what did alice say about X", /mattermost |
Installation
# Skills from this repo
bunx skills@latest add ardasevinc/agent-devtools --skill <skill-name>
# mattermost-cli is maintained separately
bunx skills@latest add ardasevinc/mattermost-cli --skill mattermost-cli
bun i -g mattermost-cli # also requires the CLI tool (npm/pnpm also work)
Statusline
Custom statusline for Claude Code CLI showing hostname, directory, git status, context usage, model, and time.
macbook │ anthropics/claude-code │ ⎇ main*↑1 │ ctx:52% │ opus-4.5 │ 20260130 16:00
Setup
Requires Bun runtime.
# Symlink to Claude config
ln -sf /path/to/agent-devtools/claudecode/statusline.ts ~/.claude/statusline.ts
# Add to ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "bun ~/.claude/statusline.ts",
"padding": 0
}
}
Features
- Hostname: Machine name
- Directory: Last 2 path components
- Git: Branch, worktree (⎇), dirty (*), ahead (↑n), behind (↓n)
- Context: Usage percentage from session files
- Model: Current Claude model (opus-4.5, sonnet-4, etc.)
- Time: yyyymmdd HH:MM format
Task List Picker
Interactive fzf picker to browse and resume Claude Code sessions by their task lists. Launches Claude with CLAUDE_CODE_TASK_LIST_ID set, enabling task sharing/resumption across sessions.
agent-devtools (3 tasks) - 2h ago │ ✓ Add skills catalog to README
vyvo-app (12 tasks) - 1d ago │ → Implement auth flow
mattermost-cli (5 tasks) - 3d ago │ ○ Add rate limiting
Setup
# Add to PATH
ln -sf /path/to/agent-devtools/claudecode/claude-tasks.ts ~/.local/bin/claude-tasks
# Make executable
chmod +x ~/.local/bin/claude-tasks
Usage
claude-tasks # Pick a task list, launches claude
claude-tasks --resume # Pass flags through to claude
Features
- Project detection: Resolves project path from session files
- Task preview: Shows tasks with status (✓ done, → in progress, ○ pending)
- Recency sorting: Most recent sessions first
- Seamless launch: Opens Claude in the correct directory with task context
Lazy Skill System
Reduce semantic overload by loading skills on demand instead of exposing every skill name and description to the base agent. Skills in ~/.agents/lazy-skills/ are only read when you invoke /lazy-skill.
This is different from progressive disclosure. Even when an agent only sees each installed skill's name, description, and path, a large always-visible skill list creates routing ambiguity. The lazy skill is an anti-router: keep the default skill surface small, then explicitly summon heavy or niche workflows when they matter.
Setup
# Create the central lazy skills directory
mkdir -p ~/.agents/lazy-skills
# Install the meta-skill
bunx skills@latest add ardasevinc/agent-devtools --skill lazy-skill
Adding Lazy Skills
- Place skill file at
~/.agents/lazy-skills/<name>.mdor clone a skill repo to~/.agents/lazy-skills/<name>/ - Edit the index in the installed skill (
~/.agents/skills/lazy-skill/SKILL.md;~/.claude/skills/lazy-skill/SKILL.mdon legacy installs):
## Index
- **skillname**: keyword1, keyword2 - "Brief description"
- **reponame** [collection]: keywords - "Description" # for skill repos
Keep the index sparse. It should work like a card catalog, not a second always-loaded skill registry with long trigger rules.
Supported Structures
~/.agents/lazy-skills/
├── stripe.md # single file
├── dokploy/ # single skill repo
│ └── SKILL.md
└── threejs-skills/ # skill collection (multiple skills)
├── README.md # shows available skills
└── skills/
├── threejs-fundamentals/
│ └── SKILL.md
└── ...
- Single skills: auto-detects
<name>.mdor<name>/SKILL.md - Collections: mark with
[collection]in index, reads README first
Custom Lazy Skills
This repo also stores Arda-specific lazy skills under lazy-skills/ardasevinc/. Sync that folder to ~/.agents/lazy-skills/ardasevinc/ and add this sparse index entry to the installed lazy-skill:
- **ardasevinc** [collection]: dashboard, ux, ops, research - Arda's custom lazy skills, including dense dashboard UX review