Personal micro agents for email, task management, backlog tracking, and more.
The repository contains portable Agent Skills for compatible agents, a Claude Code plugin adapter with additional commands, and SDK packages for automation. The portable skills are the canonical source and are not tied to one agent harness.
Agentic tools are the new dotfiles.
For decades, developers have curated their dotfiles - personal configurations that define how their tools behave. These configs are deeply personal, reflecting individual workflows, preferences, and productivity patterns.
Agents are the next evolution. Instead of configuring static tools, we're now defining intelligent assistants that understand our workflows. Just like dotfiles:
- Personal: Your agents reflect how you work
- Portable: Take them with you across machines and projects
- Shareable: Others can learn from and adapt your patterns
- Composable: Small, focused agents that work together
This repository is my personal collection of productivity agents - my "agent dotfiles." Fork it, adapt it, make it yours.
- Node.js for the
skillsinstaller - A compatible local agent such as Claude Code, Codex, or Pi
- Nix when using the repository's pinned Himalaya runtime
Install the email skill globally for Claude Code, Codex, and Pi:
npx skills add jordangarrison/agents --skill email -g \
-a claude-code -a codex -a piThe skill may activate from a natural-language email request. Invoke it
explicitly as $email in Codex or /skill:email in Pi.
The email skill requires Himalaya v1.2.0 with keyring and OAuth2 support. Run the tested package without installing it:
nix run github:jordangarrison/agents#himalaya -- --versionOr install it into the current Nix profile:
nix profile install github:jordangarrison/agents#himalayaAccount setup and provider-specific authentication are documented in the skill's provider reference.
The plugin adds the repository's Claude-specific slash commands and exposes the same root skills to Claude Code.
- Claude Code installed
- A Todoist account for task management
- An Atlassian Cloud account for backlog grooming
# Add the marketplace
/plugin marketplace add jordangarrison/agents
# Install the plugin
/plugin install jagentsOr install from a local clone:
git clone https://github.com/jordangarrison/agents.git ~/agents
claude plugin install ~/agents# Add the Todoist MCP server
claude mcp add --transport http todoist https://ai.todoist.net/mcp
# Inside Claude Code, authenticate with Todoist
/mcp# Add the Atlassian MCP server
claude mcp add --transport sse atlassian https://mcp.atlassian.com/v1/sse
# Inside Claude Code, authenticate with Atlassian
# This will trigger an OAuth 2.1 browser flow
/mcp| Command | Description |
|---|---|
/jagents:todo-today |
Show tasks due today |
/jagents:todo-add <task> |
Add a new task |
/jagents:todo-complete <task> |
Mark a task as complete |
/jagents:backlog-groom <project> |
Start a backlog grooming session |
/jagents:backlog-review <project> |
Review backlog items |
/jagents:backlog-add <item> |
Add an item to the backlog |
/jagents:backlog-kill <project> |
Interactively review and close unwanted backlog items |
/jagents:inbox-process |
Process inbox items using GTD methodology with AI suggestions |
/jagents:weekly-review |
Comprehensive weekly review following GTD/Redeeming Your Time methodology |
# See what's due today
/jagents:todo-today
# Add a task
/jagents:todo-add Buy groceries
# Add with project and due date
/jagents:todo-add Review PR to Work by tomorrow
# Add with priority
/jagents:todo-add Call dentist p1
# Complete a task
/jagents:todo-complete Buy groceries
# Groom a project backlog
/jagents:backlog-groom PROJ
# Focus on unestimated items
/jagents:backlog-groom PROJ unestimated
# Review backlog
/jagents:backlog-review PROJ
# Add a story to backlog
/jagents:backlog-add Implement user search to PROJ
The email skill manages multiple Himalaya accounts:
"Check my email"
"Any new mail?"
"Search all inboxes for the quarterly report"
"Draft an email to Alex"
The todo skill activates automatically when you mention tasks or task management:
"What tasks do I have today?"
"Add a reminder to call Mom"
"Show me my overdue tasks"
The backlog skill activates when you mention backlog grooming or Jira work:
"Let's groom the backlog"
"Show me unestimated items in PROJ"
"What needs refinement before the sprint?"
The video-to-docs skill activates when you provide a video file to document a
workflow or application:
"Document this video walkthrough"
"Create docs from this MP4"
The adversarial-workflows skill activates when orchestrating multi-agent
implementation work at scale.
| Domain | Status | Backend |
|---|---|---|
| Tasks (todo) | ✅ Available | Todoist |
| Backlog (backlog) | ✅ Available | Atlassian/Jira |
| Docs (video-to-docs) | ✅ Available | Video frames + transcription |
| Orchestration (adversarial-workflows) | ✅ Available | Multi-agent |
| Email (email) | ✅ Available | Himalaya IMAP/SMTP |
| Notes (notes) | 📋 Planned | Obsidian |
| Git (git) | 📋 Planned | GitHub |
This project uses three complementary surfaces:
- Agent Skills: Portable interactive workflows shared by Claude Code, Codex, Pi, and other compatible agents
- Claude Code plugin: Claude-specific distribution and slash commands
- SDK packages: Programmatic automation, uses API key (for CI/automation)
Portable skills live in skills/. Harness-specific metadata belongs in
adapter files such as skills/<name>/agents/openai.yaml, not in the shared
instructions. Commands use generic names (todo-*) with swappable backends.
# Enter the reproducible shell
nix develop
# Validate all flake outputs, including the Himalaya feature contract
nix flake check
# Validate the Claude plugin and run package tests
claude plugin validate --strict .
bun test
# Exercise harness-local discovery
claude --plugin-dir .
pi --skill ./skills/emailFor SDK/automation usage, create a .env file:
TODOIST_API_TOKEN=your_token_here
ANTHROPIC_API_KEY=your_api_key # Only for SDK automationGet your Todoist API token from todoist.com/prefs/integrations.
See CONTRIBUTORS.md for guidelines on contributing to this project.
MIT