tasks-acset

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

16 stars

Best use case

tasks-acset is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

Teams using tasks-acset should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/tasks-acset/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/tasks-acset/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tasks-acset/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tasks-acset Compares

Feature / Agenttasks-acsetStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Tasks ACSet Skill

Transform Google Tasks into an ANIMA-condensed system with GF(3) conservation.

**Trit**: -1 (MINUS - validator)  
**Principle**: Task Zero = Condensed Equilibrium State (all tasks completed)  
**Implementation**: TasksACSet + TriadicQueues + SaturationDetector

## Overview

Tasks ACSet applies the ANIMA framework to task management:

1. **Transform** - Task operations → GF(3)-typed Interactions
2. **Route** - Interactions → Triadic queue fibers (MINUS/ERGODIC/PLUS)
3. **Detect** - Saturation → Task Zero condensed state
4. **Verify** - Narya proofs for consistency

## TasksACSet Schema

```
┌────────────────────────────────────────────────────────────────────┐
│                      TasksACSet Schema                             │
├────────────────────────────────────────────────────────────────────┤
│                                                                    │
│  Interaction ─────┬────▶ Task                                     │
│  ├─ verb: String  │      ├─ task_id: String                       │
│  ├─ timebin: Int  │      ├─ status: {needsAction, completed}      │
│  ├─ trit: Trit    │      ├─ due: Timestamp                        │
│  └─ list ─────────┼──▶   └─ saturated: Bool                       │
│                   │                                                │
│  QueueItem ───────┼────▶ Agent3                                   │
│  ├─ interaction ──┘      ├─ fiber: Trit {-1, 0, +1}               │
│  └─ agent ───────────▶   └─ name: String                          │
│                                                                    │
│  TaskList ◀──────────── Subtask ─────────────────▶ Task           │
│  ├─ list_id: String      ├─ parent_task                           │
│  ├─ title: String        ├─ child_task                            │
│  └─ default: Bool        └─ position: Int                         │
│                                                                    │
│  Completion ─────────────▶ Task                                   │
│  ├─ completed_at: Timestamp                                       │
│  └─ gf3_cycle_sum: Int                                            │
└────────────────────────────────────────────────────────────────────┘
```

### Objects

| Object | Description | Trit Role |
|--------|-------------|-----------|
| `Interaction` | Single task action with verb + trit | Data |
| `Task` | GTD item with completion state | Aggregate |
| `TaskList` | Container for tasks | Container |
| `Subtask` | Parent-child relationship edge | Edge |
| `Completion` | Task completion event | Node |
| `Agent3` | Queue fiber (MINUS/ERGODIC/PLUS) | Router |
| `QueueItem` | Links Interaction → Agent3 | Edge |

## GF(3) Verb Typing

Task actions are assigned trits based on information flow:

```python
VERB_TRIT_MAP = {
    # MINUS (-1): Consumption/Validation
    "list_tasks": -1,      "get_task": -1,
    "list_task_lists": -1, "get_task_list": -1,
    
    # ERGODIC (0): Coordination/Metadata
    "update_task": 0,      "move_task": 0,
    "update_task_list": 0, "clear_completed_tasks": 0,
    
    # PLUS (+1): Generation/Execution
    "create_task": +1,     "create_task_list": +1,
    "delete_task": +1,     "delete_task_list": +1,
}
```

### MCP Tool → Trit Mapping

| Tool | Trit | Description |
|------|------|-------------|
| `list_task_lists` | -1 | List all lists (MINUS) |
| `list_tasks` | -1 | List tasks in list (MINUS) |
| `get_task` | -1 | Get task details (MINUS) |
| `get_task_list` | -1 | Get list details (MINUS) |
| `update_task` | 0 | Modify task (ERGODIC) |
| `move_task` | 0 | Reposition task (ERGODIC) |
| `clear_completed_tasks` | 0 | Clean up completed (ERGODIC) |
| `create_task` | +1 | Create new task (PLUS) |
| `create_task_list` | +1 | Create new list (PLUS) |
| `delete_task` | +1 | Delete task (PLUS) |

## Task-Thread Morphism

Tasks connect to Gmail threads and Calendar events:

```
┌─────────────────────────────────────────────────────────────────┐
│                    Cross-Skill Morphisms                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  Thread ─────[action_item]────▶ Task                            │
│  ├─ gmail thread_id             ├─ notes: "from email: ..."     │
│  └─ needs_action: True          └─ status: needsAction          │
│                                                                  │
│  CalendarEvent ─────[reminder]────▶ Task                        │
│  ├─ event_id                      ├─ due: event.start_time      │
│  └─ summary                       └─ title: event.summary       │
│                                                                  │
│  Task ─────[deadline]────▶ CalendarEvent                        │
│  ├─ due: timestamp               ├─ start: task.due             │
│  └─ title                        └─ summary: "Due: {title}"     │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘
```

## Saturation Detection

Task saturation occurs when all tasks reach equilibrium:

```python
def is_task_zero(task_list_id: str) -> bool:
    """Task list is at Task Zero when:
    1. All tasks are completed or deferred
    2. GF(3) cycle closure: sum(trits) ≡ 0 (mod 3)
    3. No needsAction tasks remain
    """
    tasks = list_tasks(task_list_id, show_completed=True, show_hidden=True)
    active_tasks = [t for t in tasks if t['status'] == 'needsAction']
    
    cycle_sum = sum(t['gf3_trit'] for t in task_list.gf3_cycle[-3:])
    
    return (
        len(active_tasks) == 0 and  # All complete/deferred
        (cycle_sum % 3) == 0        # GF(3) conserved
    )

def detect_global_task_zero() -> Dict:
    """System at Task Zero when:
    1. All task lists saturated
    2. GF(3) conserved globally
    3. GTD weekly review complete
    """
    lists = list_task_lists()
    all_saturated = all(is_task_zero(l['id']) for l in lists)
    
    return {
        "at_task_zero": all_saturated,
        "condensed_fingerprint": sha256(sorted_completion_ids),
        "gtd_equilibrium": True,
    }
```

**Task Zero as ANIMA**: When all tasks reach completion with GF(3) conservation, the task system is in condensed equilibrium.

## Source Files

| File | Description | Trit |
|------|-------------|------|
| [tasks_acset.py](file:///Users/alice/agent-o-rama/agent-o-rama/src/tasks_acset.py) | ACSet schema + GF(3) tracking | -1 |
| [task_saturation.py](file:///Users/alice/agent-o-rama/agent-o-rama/src/task_saturation.py) | Task Zero detection | -1 |
| [task_thread_morphism.py](file:///Users/alice/agent-o-rama/agent-o-rama/src/task_thread_morphism.py) | Cross-skill morphisms | 0 |

## Workflows

### Workflow 1: Task Creation from Email

```python
from tasks_acset import TasksACSet
from gmail_acset import thread_to_task

# MINUS: Read email thread
thread = bridge.get_gmail_thread_content(thread_id)  # trit=-1

# Extract action items
actions = extract_action_items(thread)

# PLUS: Create tasks (balanced by prior MINUS)
for action in actions:
    bridge.create_task(
        task_list_id=default_list,
        title=action.summary,
        notes=f"From thread: {thread_id}",
        due=action.deadline
    )  # trit=+1
```

### Workflow 2: Task Completion with GF(3) Guard

```python
# MINUS first: Get task details
task = bridge.get_task(task_list_id, task_id)  # trit=-1

# ERGODIC: Update status to completed
bridge.update_task(
    task_list_id=task_list_id,
    task_id=task_id,
    status="completed"
)  # trit=0

# Check GF(3) conservation
assert ((-1) + 0) % 3 != 0  # Need PLUS to balance
# PLUS: Log completion
bridge.create_task(
    task_list_id="completions_log",
    title=f"Completed: {task['title']}"
)  # trit=+1, now sum=0 ✓
```

### Workflow 3: Weekly GTD Review with Saturation

```python
# Full GTD review workflow
for task_list in bridge.list_task_lists():  # trit=-1
    tasks = bridge.list_tasks(task_list['id'])  # trit=-1
    
    for task in tasks:
        if task['status'] == 'needsAction':
            # ERGODIC: Decide fate
            if should_defer(task):
                bridge.update_task(task_list['id'], task['id'], 
                                   due=next_week)  # trit=0
            elif should_delete(task):
                bridge.delete_task(task_list['id'], task['id'])  # trit=+1
            elif is_complete(task):
                bridge.update_task(task_list['id'], task['id'],
                                   status="completed")  # trit=0

# Check Task Zero
if detect_global_task_zero()["at_task_zero"]:
    say("GTD review complete. Task Zero achieved.")
```

## Integration

| Skill | Trit | Integration |
|-------|------|-------------|
| [google-workspace](file:///Users/alice/.claude/skills/google-workspace/SKILL.md) | 0 | MCP tool provider |
| [gmail-anima](file:///Users/alice/agent-o-rama/agent-o-rama/.agents/skills/gmail-anima/SKILL.md) | 0 | Thread → Task morphism |
| [calendar-acset](file:///Users/alice/agent-o-rama/agent-o-rama/.agents/skills/calendar-acset/SKILL.md) | +1 | Event ↔ Task morphism |
| [workspace-unified](file:///Users/alice/agent-o-rama/agent-o-rama/.agents/skills/workspace-unified/SKILL.md) | 0 | Cross-skill orchestration |

### GF(3) Triadic Conservation

```
tasks-acset (-1) ⊗ gmail-anima (0) ⊗ calendar-acset (+1) = 0 ✓
list_tasks (-1) ⊗ update_task (0) ⊗ create_task (+1) = 0 ✓
get_task (-1) ⊗ move_task (0) ⊗ delete_task (+1) = 0 ✓
```

---

**Skill Name**: tasks-acset  
**Type**: Task Management / ANIMA Framework  
**Trit**: -1 (MINUS - validator)  
**GF(3)**: Conserved via triadic queue routing  
**ANIMA**: Task Zero = Condensed Equilibrium State



## Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

### Annotated Data
- **anndata** [○] via bicomodule

### Bibliography References

- `general`: 734 citations in bib.duckdb

## Cat# Integration

This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:

```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```

### GF(3) Naturality

The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```

This ensures compositional coherence in the Cat# equipment structure.

Related Skills

unison-acset

16
from plurigrid/asi

Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.

specter-acset

16
from plurigrid/asi

Specter-style bidirectional navigation for Julia Collections, S-expressions, and ACSets with inline caching

rg-flow-acset

16
from plurigrid/asi

RG Flow ACSet Skill

protocol-acset

16
from plurigrid/asi

Model decentralized protocols as attributed C-sets for compositional analysis, interoperability design, and protocol evolution. Apply categorical mathematics to P2P infrastructure.

nix-acset-worlding

16
from plurigrid/asi

Model Nix store as Attributed C-Set for dependency verification, GC analysis,

markov-game-acset

16
from plurigrid/asi

markov-game-acset skill

hunting-for-suspicious-scheduled-tasks

16
from plurigrid/asi

Hunt for adversary persistence and execution via Windows scheduled tasks by analyzing task creation events, suspicious task properties, and unusual execution patterns that indicate T1053.005 abuse.

drive-acset

16
from plurigrid/asi

Google Drive management via DriveACSet schema with GF(3) triadic routing. Transforms files/folders into typed Interactions, routes to queue fibers, detects saturation for organized-drive-as-condensed-state.

docs-acset

16
from plurigrid/asi

Google Docs/Sheets management via ACSet condensation. Transforms documents into GF(3)-typed Interactions, tracks comments/cells, detects saturation when all comments resolved. Use for document workflows, spreadsheet automation, or applying ANIMA principles to Workspace documents.

detecting-malicious-scheduled-tasks-with-sysmon

16
from plurigrid/asi

Detect malicious scheduled task creation and modification using Sysmon Event IDs 1 (Process Create for schtasks.exe), 11 (File Create for task XML), and Windows Security Event 4698/4702. The analyst correlates task creation with suspicious parent processes, public directory paths, and encoded command arguments to identify persistence and lateral movement via scheduled tasks. Activates for requests involving scheduled task detection, Sysmon persistence hunting, or T1053.005 Scheduled Task/Job analysis.

calendar-acset

16
from plurigrid/asi

Google Calendar management via CalendarACSet. Transforms scheduling operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for balanced-calendar-as-condensed-state.

browser-history-acset

16
from plurigrid/asi

Browser History ACSet