# Devlog Harvester

> |

- **Type:** Skill
- **Install:** `agentstack add skill-chipoto69-claude-skills-devlog-harvester`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [chipoto69](https://agentstack.voostack.com/s/chipoto69)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [chipoto69](https://github.com/chipoto69)
- **Source:** https://github.com/chipoto69/claude-skills/tree/main/devlog-harvester

## Install

```sh
agentstack add skill-chipoto69-claude-skills-devlog-harvester
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# DevLog Harvester

Captures development session data through smart, non-intrusive triggers.

## Trigger Mechanisms

### 1. Git Commit Hook (Primary)
Every commit triggers a mini-harvest capturing:
- Files changed in commit
- Commit message (intent)
- Session context at commit time

### 2. Time-Based Rollups (3x Daily)
Scheduled at: 9:00, 14:00, 21:00
- Aggregates accumulated data
- Writes to Obsidian via knowledge-forge

### 3. Project Switch Detection
When changing project directories:
- Flush current project's accumulated data
- Initialize harvester for new project

### 4. Idle Flush (30 min)
After 30 minutes of no tool calls:
- Flush accumulated session data
- Prevents data loss

## Data Captured

### Per-Session Data
```yaml
session:
  project: ATLAS-main
  started: 2026-01-19T09:15:00
  ended: 2026-01-19T12:30:00
  duration_minutes: 195
  
files_touched:
  - path: src/api/client.py
    operations: [read, edit, read]
    lines_changed: +45/-12
    
  - path: tests/test_api.py
    operations: [create, edit]
    lines_changed: +120/-0

git_activity:
  commits: 3
  messages:
    - "feat(api): add chat endpoint"
    - "test: add API client tests"
    - "fix: handle timeout errors"
  total_insertions: 165
  total_deletions: 12

tools_used:
  Edit: 12
  Read: 45
  Bash: 23
  Grep: 8

errors_encountered:
  - type: "ImportError"
    file: "src/api/client.py"
    resolution: "Added missing httpx dependency"

decisions_made:
  - "Used httpx instead of requests for async support"
  - "Added retry logic with exponential backoff"
```

## Usage

### Manual Harvest
```bash
# Harvest current session
/harvest

# Harvest specific project
/harvest --project ATLAS-main

# Harvest and immediately write to Obsidian
/harvest --write
```

### Automatic (via hooks)
The harvester runs automatically when:
- You make a git commit
- You switch projects (cd to different repo)
- 3x daily at scheduled times
- After 30 minutes of inactivity

## Integration Points

### Input Sources
- Git history (`git log`, `git diff`)
- Session transcripts (`~/.claude/transcripts/`)
- Tool usage (from session context)
- AGI-memory recalls

### Output Destinations
- → `knowledge-forge` (for synthesis)
- → `obsidian-bridge` (for storage)
- → Local cache (`~/.cache/devlog/`)

## Data Flow

```
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Triggers  │────▶│  Harvester  │────▶│    Cache    │
│  (various)  │     │   Engine    │     │  (staging)  │
└─────────────┘     └─────────────┘     └──────┬──────┘
                                               │
                         On rollup/flush       │
                                               ▼
                                        ┌─────────────┐
                                        │  knowledge  │
                                        │    forge    │
                                        └─────────────┘
```

## Configuration

Set in `~/.config/devlog/config.yaml`:
```yaml
harvester:
  # Rollup times (24h format)
  rollup_times: ["09:00", "14:00", "21:00"]
  
  # Idle threshold before flush (minutes)
  idle_threshold: 30
  
  # Cache directory
  cache_dir: ~/.cache/devlog
  
  # Projects to track (empty = all)
  tracked_projects: []
  
  # Projects to ignore
  ignored_projects:
    - node_modules
    - .git
```

## Files

- `scripts/harvest.py` - Main harvester engine
- `scripts/git-post-commit-hook.sh` - Git hook installer
- `scripts/scheduler.py` - Time-based trigger daemon

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [chipoto69](https://github.com/chipoto69)
- **Source:** [chipoto69/claude-skills](https://github.com/chipoto69/claude-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-chipoto69-claude-skills-devlog-harvester
- Seller: https://agentstack.voostack.com/s/chipoto69
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
