Repository navigation
Releases: tmustier/long-task-harness
Release list
v0.4.2 - Agent-visible hook warnings
Changes
Fix: Pi hook warnings now visible to agent (#2)
Previously, the Pi hook used ctx.ui.notify() which only showed notifications to the human user in the TUI. The agent never saw these warnings.
Fix: Changed from tool_call with ctx.ui.notify() to tool_result event that modifies bash output content directly. The warning is now appended to git add output so the agent sees it.
Claude Code: Switch to prompt-based hook
Changed from PostToolUse command hook to PreToolUse with type: 'prompt'. This is a cleaner integration - Claude evaluates the prompt and includes the reminder in its response.
Consistent warning message
All hooks now show the same message with a features.json reminder:
⚠️ Long-task-harness: .long-task-harness/long-task-progress.md is not staged.
If relevant, also update features.json with completed/failed features.
Update these files before committing to maintain session continuity.
Removed
droid_install_hooks.pyanddroid_precommit_check.py- Droid hooks didn't work as expectedclaude_code_precommit_check.py- replaced by prompt-based hook
v0.4.1
Added
- Multi-agent hooks: Claude Code, Factory Droid, and Pi (session reminders, pre-commit warnings, Pi session title tracking).
- Status line (status_line.py) and Ralph-style iteration loops (iteration_loop.py).
- Declarative rules system (check_rules.py) and git_add.py wrapper for staging-time checks.
- Optional repo-local git pre-commit hook installer for unsupported agents (Codex/Cursor/etc.) via precommit_install_hook.py with shared precommit_check.py.
Docs
- Updated README/SKILL instructions and harness tracking for v0.4.x.
v0.3.0
Cleaner layout, better workflow, dogfooding
What's New
🗂️ Cleaner File Layout
All harness files now live in .long-task-harness/ directory, keeping your project root clean.
⚡ Improved Commit Flow
Pre-commit hook now warns instead of blocking. Suggests a follow-up commit for progress updates rather than amending (preserving commit hashes for session references).
🏷️ Clearer Script Naming
Claude Code-specific scripts now prefixed with claude_code_ to clarify they're optional and only for Claude Code users.
📝 Surprise Logging Pattern
New guidance for logging surprises in session entries—things that indicate model uncertainty and contain information-dense context for future sessions.
🐕 Dogfooding
The skill now tracks its own development using itself.
Migration from v0.2.x
If upgrading an existing project:
- Move your files:
mkdir .long-task-harness && mv long-task-progress.md features.json .long-task-harness/ - Update any custom scripts referencing the old paths
v0.2.1 - Multi-Agent Support
What's New
Multi-Agent Support
The harness now works with any agent that can read markdown files:
- Claude Code: Session hooks (SessionStart, PreToolUse)
- Cursor, Codex, Droid, Pi: AGENTS.md instructions
Agent-Agnostic Naming
- Renamed
claude-progress.md→long-task-progress.md
Simplified Configuration
- Agent-driven setup: on first invocation, the agent checks if AGENTS.md/CLAUDE.md has the harness snippet and offers to add it
- Dynamic path insertion: agent uses its actual skill path, no hardcoding needed
- Removed noisy Cursor hooks (afterFileEdit fired too often)
Concise SKILL.md
- Rewrote SKILL.md following skill-creator principles
- Progressive disclosure, less verbose
- Focus on what agents need to know
Migration from v0.2.0
- Rename
claude-progress.mdtolong-task-progress.mdin your projects - Update any CLAUDE.md/AGENTS.md snippets to reference the new filename
long-task-harness 0.2.0
v0.2.0 brings improved history management and better tooling for multi-session projects. It follows patterns from Anthropic's Effective Harnesses for Long-Running Agents and HumanLayer's ACE-FCA.
New Features
- Bidirectional Linking (v2 templates): Sessions reference features; features track their session history
- Targeted History Reading:
--session Nand--listflags forread_progress.py - Feature Filtering:
--feature IDand--jsonflags forread_features.py - Git Metadata Tooling:
session_metadata.pygenerates commit info for session entries - Enhanced Pre-commit Hook: Outputs session metadata when blocking commits
- History Research Protocol: Guidance for using subagents as "scouts" to find relevant history
Changes
- Flattened repo structure (removed
.claude-plugin/, skill now at root) - Simpler installation:
gh repo clone tmustier/long-task-harness ~/.claude/skills/long-task-harness - Generalized language from "Claude Code" to "filesystem-based agents"
- Follows agentskills.io specification
long-task-harness 0.1.0
AI agents lose context across sessions. Each new context window starts fresh, creating a "shift change" problem where continuity is lost. This is a lightweight session continuity plugin (agent skill) to handle agent "shift changes" for long-running tasks.
v0.1.0 is optimised for Claude Opus 4.5. It codifies the patterns and practices from Anthropic's engineering article: Effective Harnesses for Long-Running Agents. Key features:
- Progress Documentation: Maintain claude-progress.md files documenting work history
- Feature List Strategy: Track testable features in structured JSON format
- Session Startup Protocol: Consistent initialization steps for each new session
- Context-Efficient Scripts: Load only recent sessions (~78% context reduction)
- Session Hooks: Auto-remind Claude to invoke the skill on startup