dojo.md
University for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
A CLI tool that executes Python source code to manage todos via Linear's API. Creates tasks with natural language dates, priorities, and scheduling. This is a source-execution skill - code in src/linear_todos/ runs when commands are invoked.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install avegancafe/linear-todosInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
⚠️ This is a SOURCE-EXECUTION skill. The agent runs Python code from
src/linear_todos/when you invoke CLI commands. This is not instruction-only. Reviewsrc/linear_todos/api.pybefore first use.🔐 Security Note: This skill stores your Linear API key in plaintext JSON at
~/.config/linear-todos/config.jsononly if you run thesetupcommand. Use a dedicated API key with minimal scope. The key is only used for Linear API calls and is never transmitted elsewhere. Prefer environment variables (LINEAR_API_KEY) to avoid persisted state.Audit Info: This skill makes HTTPS requests only to
api.linear.app(Linear's official GraphQL API). No data is sent elsewhere. Seesrc/linear_todos/api.pyfor the API client implementation.
| Variable | Required | Description |
|---|---|---|
LINEAR_API_KEY |
Yes | Your Linear API key from linear.app/settings/api |
LINEAR_TEAM_ID |
No | Default team ID for todos |
LINEAR_STATE_ID |
No | Default state for new todos |
LINEAR_DONE_STATE_ID |
No | State for completed todos |
LINEAR_TIMEZONE |
No | Your local timezone (e.g., America/New_York, Europe/London). Used for "end of day" calculations. Falls back to OpenClaw USER.md timezone if available. |
Config Path: ~/.config/linear-todos/config.json (created by setup, permissions 0o600)
https://api.linear.app/graphql (Linear's official API). No telemetry, no third-party services.~/.config/linear-todos/config.json (plaintext, permissions 0o600) only if you run the setup command. Team/issue data is fetched fresh each run — nothing is cached locally except your config.These signals come from indexed source analysis and may lag behind changes. Check the current source files.
A complete todo management system built on Linear with smart date parsing, priorities, and CLI tools.
clawhub install linear-todos
You need uv installed:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with Homebrew
brew install uv
uv sync
uv run python main.py setup
This will:
~/.config/linear-todos/config.json
Or use environment variables instead of the wizard:
export LINEAR_API_KEY="lin_api_xxxxxxxx"
export LINEAR_TEAM_ID="your-team-id" # optional
# Create todos
uv run python main.py create "Call mom" --when day
uv run python main.py create "Pay taxes" --date 2025-04-15
uv run python main.py create "Review PR" --date "next Monday" --priority high
# List todos
uv run python main.py list
# Mark done
uv run python main.py done TODO-123
# Snooze to later
uv run python main.py snooze TODO-123 "next week"
# Daily review
uv run python main.py review
See SKILL.md for complete documentation.
uv run pytest tests/ -v
106 tests. All pass.
MIT
# Linear Todos > **⚠️ This is a SOURCE-EXECUTION skill.** The agent runs Python code from `src/linear_todos/` when you invoke CLI commands. This is **not** instruction-only. Review `src/linear_todos/api.py` before first use. > > **🔐 Security Note:** This skill stores your Linear API key in plaintext JSON at `~/.config/linear-todos/config.json` **only if you run the `setup` command**. Use a dedicated API key with minimal scope. The key is only used for Linear API calls and is never transmitted elsewhere. Prefer environment variables (`LINEAR_API_KEY`) to avoid persisted state. > > **Audit Info:** This skill makes HTTPS requests **only** to `api.linear.app` (Linear's official GraphQL API). No data is sent elsewhere. See `src/linear_todos/api.py` for the API client implementation. ## Credentials | Variable | Required | Description | |----------|----------|-------------| | `LINEAR_API_KEY` | **Yes** | Your Linear API key from [linear.app/settings/api](https://linear.app/settings/api) | | `LINEAR_TEAM_ID` | No | Default team ID for todos | | `LINEAR_STATE_ID` | No | Default state for new todos | | `LINEAR_DONE_STATE_ID` | No | State for completed todos | | `LINEAR_TIMEZONE` | No | Your local timezone (e.g., `America/New_York`, `Europe/London`). Used for "end of day" calculations. Falls back to OpenClaw `USER.md` timezone if available. | **Config Path:** `~/.config/linear-todos/config.json` (created by `setup`, permissions 0o600) ## Security & Auditing ### What This Skill Does - **HTTP Requests:** Makes HTTPS requests **only** to `https://api.linear.app/graphql` (Linear's official API). No telemetry, no third-party services. - **Data Storage:** Stores your API key and config in `~/.config/linear-todos/config.json` (plaintext, permissions 0o600) **only if you run the `setup` command**. Team/issue data is fetched fresh each run — nothing is cached locally except your config. - **Runtime Behavior:** This skill runs from bundled Python source code (not preinstalled s...
# Linear Todos
A complete todo management system built on Linear with smart date parsing, priorities, and CLI tools.
## Features
- 📝 Natural language dates ("tomorrow", "next Monday", "in 3 days")
- ⚡ Priority levels (urgent, high, normal, low)
- 📅 Smart scheduling (day, week, month)
- ✅ Mark todos as done
- 💤 Snooze todos to later dates
- 📊 Daily review with organized output
- ☕ Morning digest with fun greetings
## Installation
```bash
clawhub install linear-todos
```
## Setup
### 1. Install Prerequisites
You need [uv](https://docs.astral.sh/uv/) installed:
```bash
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with Homebrew
brew install uv
```
### 2. Install Dependencies
```bash
uv sync
```
### 3. Get a Linear API Key
1. Go to [linear.app/settings/api](https://linear.app/settings/api)
2. Create a new API key (name it "Linear Todos" or whatever you prefer)
3. Copy the key — you'll need it for the next step
### 4. Run Setup Wizard
```bash
uv run python main.py setup
```
This will:
- Verify your API key
- Show your Linear teams
- Let you pick which team to use for todos
- Save settings to `~/.config/linear-todos/config.json`
**Or use environment variables instead of the wizard:**
```bash
export LINEAR_API_KEY="lin_api_xxxxxxxx"
export LINEAR_TEAM_ID="your-team-id" # optional
```
## Usage
```bash
# Create todos
uv run python main.py create "Call mom" --when day
uv run python main.py create "Pay taxes" --date 2025-04-15
uv run python main.py create "Review PR" --date "next Monday" --priority high
# List todos
uv run python main.py list
# Mark done
uv run python main.py done TODO-123
# Snooze to later
uv run python main.py snooze TODO-123 "next week"
# Daily review
uv run python main.py review
```
**See [SKILL.md](SKILL.md) for complete documentation.**
## Testing
```bash
uv run pytest tests/ -v
```
106 tests. All pass.
## License
MITUniversity for AI agents. 92 courses, 4400+ scenarios, any model via OpenRouter. Auto-training loops generate per-model SKILL.md documents. Works with Claude Code, OpenClaw, Cursor, Windsurf. No fine-tuning req...
Search and hire real humans for tasks — photography, delivery, research, and more
Reusable skill templates for OpenClaw AI agents. Templates for API integration, data processing, web scraping, CLI tools, and file processing.
macOS WPS Office workflow helper skill for safer document preparation, conversion, export, and compatibility guidance