The long-horizon computer-use harness. Run AI agents across desktop apps and the CLI for extended periods while preserving task state and making reliable progress on complex workflows. Features fresh-context execution, durable verified state, independent auditing, recoverable progress, and native Claude Code / Codex / OpenClaw integration.
$ npx -y skills add AMAP-ML/LongHorizon-Harness --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: AMAP-ML/LongHorizon-Harness
What's inside
Operate the whole computer like a human. Work across desktop apps and the command line for dozens of hours.
No state drift. Verifiable progress. Complex tasks carried through to completion.
Usage ยท What You Get ยท How It Works ยท Results ยท Project Website ยท ็ฎไฝไธญๆ
The model determines what an agent can do in one round. LongHorizon-Harness determines whether that work can be verified, preserved, and continued until the task is actually complete.
Works with Claude Code and Codex. One-command install, ready to run.
LongHorizon-Harness is an execution, state-management, and result-verification system for long-horizon tasks. It does not train a new model or replace an existing agent. It runs on top of systems such as Codex and Claude Code, helping agents operate autonomously in real computer environments for extended periods and continuously move complex tasks forward.
doctor diagnostics. See Manage computer-use plugins.๐ Weโre iterating rapidly. Stay tuned!
https://github.com/user-attachments/assets/ca8b77ce-9220-4d85-a272-b346009b2454
LongHorizon-Harness separates planning, execution, and verification so that one growing context is not responsible for everything.
| Role | One responsibility | |
|---|---|---|
| ๐งญ | Manager | Maintains the original goal, verified progress, and next step |
| โก | Executor | Starts each round with a fresh context and focuses on one clearly defined task |
| ๐ | Auditor | Independently inspects files, interfaces, logs, and tests in the real environment |
Only results that pass independent verification enter persistent task state. Even when the context is refreshed, an action fails, or a deliverable does not pass inspection, the system retains previously verified progress and continues from what remains.
LongHorizon-Harness supports both GUI and CLI workflows.
| ๐ฅ๏ธ Operate the desktop | โจ๏ธ Work in the terminal |
|---|---|
| ๐ Click, type, scroll, and browse | ๐ป Write and modify code |
| ๐ Operate spreadsheets | โถ๏ธ Run commands and scripts |
| ๐ Edit documents | ๐ฆ Install dependencies and environments |
| ๐จ Use design software | ๐ง Configure and debug systems |
| ๐ง Operate 3D tools | ๐ Process files and data |
One task can begin in a browser, move to the command line for data processing, continue in desktop software to produce an artifact, and return to the terminal for validation or debugging. The goal, progress, and evidence remain under the same state-management system throughout.
LongHorizon-Harness is not tied to a specific model or agent backend. Existing models and agents connect through configuration without changing their original workflows.
| Layer | Supported choices | |
|---|---|---|
| ๐ง | Models | Claude, GPT, Qwen, and other models exposed by an agent backend |
| ๐ค | Agent backends | Claude Code, Codex CLI, and custom AgentAdapter implementations |
| ๐๏ธ | Role assignment | The Manager, Executor, and Auditor can each use a different model or backend |
| ๐ฅ๏ธ | Execution environments | Local, with a pluggable Environment protocol |
A lightweight AgentAdapter preserves each agent's native execution loop while LongHorizon-Harness coordinates role boundaries, verified task state, and cross-round progress around it.
Use one model for all three roles, or combine different models and backends to balance quality, speed, and cost.
LongHorizon-Harness is not demonstrated only on a handful of carefully selected success cases.
We ran it on hundreds of complex tasks across GUI, CLI, and mixed computer environments:
| Task domain | What the tasks involve |
|---|---|
| ๐ Web Frontend | Developing, fixing, and validating websites and web applications through browser interaction, developer tools, and code changes |
| ๐ Data Analysis & Visualization | Processing data, producing charts and dashboards, and checking analytical results and visual deliverables |
| ๐ ๏ธ Operations & Debugging | Investigating logs, networks, performance, and service failures; configuring, diagnosing, and repairing systems |
| ๐จ Design & Image Processing | Editing visual assets, matching design references, processing images, and verifying final visual quality |
| ๐ฎ Games & Interaction | Building, operating, and debugging games or interactive applications; checking interaction logic and runtime behavior |
| ๐ Documents & Presentations | Editing documents and slide decks, including content, formatting, references, layout, and final delivery |
| ๐ง Spatial Reasoning | Completing tasks involving spatial relationships, geometry, precise placement, and 3D operations |
| ๐ฅ๏ธ Desktop & System Settings | Operating desktop applications, files, and system settings across multi-application workflows |
| ๐ฌ Research & Education | Completing literature research, coursework, teaching materials, forms, and research-support workflows |
| ๐ฌ Creative Production | Producing presentations, video, audio, and other media while coordinating assets across tools |
| โ๏ธ Engineering & Computing | Using CAD, EDA, scientific software, development tools, and cloud or DevOps toolchains |
| ๐ซ Personal Services | Handling event ticketing, everyday services, games, and visual-search workflows |
| ๐๏ธ Administration & Compliance | Completing office, legal, policy-sensitive form, institutional, and safety-aware submission workflows |
| ๐ผ Business & Finance | Handling market analysis, procurement, loans, sales, reimbursements, and cross-application enterprise workflows |
| ๐ฅ Healthcare | Completing medical quality-control, insurance, immunization, and structured health-form workflows |
| Benchmark | Metric | Claude Code | LongHorizon-Harness | Gain |
|---|---|---|---|---|
| WeaveBench (114 tasks) | PassRate | 51.8 | 80.7 | +28.9 |
| WeaveBench | Overall | 0.702 | 0.835 | +0.133 |
| OSWorld 2.0 (108 tasks) | Binary | 2.8 | 8.3 | 3.0ร |
| OSWorld 2.0 | Partial | 21.5 | 35.2 | +13.7 |
| Terminal-Bench 2.1 | Success rate | 69.7 | 77.2 | +7.5 |
All rows use Qwen 3.7-Plus as the backbone and Claude Code as the execution backend.
Full result tables and case trajectories are available on the LongHorizon-Harness project website.
Steps 1โ2 are once per machine; steps 3โ4 are once per project.
| Needed for | |
|---|---|
| uv | The recommended isolated install. Skip it if you prefer pip. |
| Python 3.10 or later | Running the harness. uv tool install brings its own; a pip install uses yours. |
One agent runtime on PATH: codex or claude | Actually executing the work. Install both if you want to mix them across roles. |
| Node.js 20 or later | Only the npm-distributed computer-use plugins. Not needed for codex-computer-use or CLI-only tasks. |
Platform status: Currently tested on macOS. Windows support is included but has not yet been thoroughly tested.
Run lh-harness doctor at any point to check all of the above; see Verify the environment.
uv tool install lh-harness # or: pip install lh-harness
Upgrade later with uv tool upgrade lh-harness or pip install --upgrade lh-harness.
Skip this if your tasks never touch the GUI. Otherwise install the one that matches your agent. No plugin is enabled by default, and one install covers every project on the machine.
Using Codex:
lh-harness plugin install codex-computer-use
Using Claude Code, or both agents:
lh-harness plugin install open-computer-use
codex-computer-use is the official plugin bundled with the Codex CLI and only works with Codex. open-computer-use is distributed on npm, needs Node.js 20+, and drives both agents. Both need OS permissions that must be granted by hand on macOS. See Manage computer-use plugins for that, for clawdcursor as a third option, and for how each one is wired.
cd /path/to/your/project
lh-harness init
This creates ./.lh-harness/config.toml without replacing an existing file; use lh-harness init --force to regenerate. Open it and adjust the defaults. Every field is documented in Configuration reference.
TASK="Inspect the current directory and summarize its files."
lh-harness run --task "${TASK}" --agent codex
Explicit CLI arguments such as --agent override the matching values in ./.lh-harness/config.toml for that run; drop them to use the configured defaults.
The agents work in the directory you launched from, so the task acts on your real project. Set workspace or --workspace to point somewhere else. ./.lh-harness/ itself stays off limits, so the run's own logs and state are never mistaken for task content.
The Dashboard opens in your browser automatically, and the console prints one line per role as the run progresses. At the end you get a plain-language reply that answers your request from the verified state alone, and says so plainly if the task did not finish.
Every run is stored under ./.lh-harness/runs/<run-id>/; the full report, including that reply, stays in the run's logs/report.json.
lh-harness doctor
doctor is read-only. It reports the Python runtime, the agent CLIs, Node.js, and plugin state, and exits non-zero when a required check fails.
Agent CLIs are verified by running <binary> --version, not just by finding them on PATH, so one that is present but broken is reported as a failure instead of OK. This catches the Windows case where a Microsoft Store desktop install leaves a zero-byte codex.exe alias on PATH that is not the CLI; doctor prints how to fix it.
It also checks PyPI for a newer version. To check on its own:
lh-harness check-update
lh-harness run reads ./.lh-harness/config.toml automatically. Precedence is:
./.lh-harness/config.tomlTask text, run IDs, and API keys are deliberately not configurable here; they stay command-line or environment inputs so they never land in a file you might commit.
[run]| Field | Default | Description |
|---|---|---|
agent | "codex" | Backend for every role unless a role overrides it: codex or claude_code. |
model | "gpt-5.6-sol" | Model for every role unless a role overrides it. Must be a model the chosen backend exposes. |
env | "local" | Execution environment. Only local today. |
runs_root | "./.lh-harness/runs" | Where run directories are created. Each run gets <runs_root>/<run-id>/. |
workspace | commented out | Working directory the agents operate in. Defaults to the directory lh-harness was started from, so a task acts on your real project; set it to isolate the run somewhere else. |
harness_dir | commented out | Where harness task state is written. Defaults to the run's own harness/, keeping it out of the workspace. |
log_dir | commented out | Where logs are written. Defaults to the run's own logs/. |
base_url | commented out | OpenAI-compatible endpoint override, for a proxy or a self-hosted model. |
prompt_language | "en" | Language of the harness-generated prompts and reports: en or zh. Does not restrict the task language. |
claude_mcp_config | commented out | Path to a .mcp.json for Claude Code. Overrides the installed plugin. |
codex_mcp_config | commented out | Path to a [mcp_servers.*] TOML for Codex. Overrides the installed plugin. |
mcp_add_dirs | [] | Extra directories the MCP server may read. Claude Code rejects these, because its role isolation requires task files to live inside the workspace. |
max_rounds | 30 | Upper bound on Manage-Execute-Audit rounds before the run stops. |
dashboard | true | Start the web dashboard with each run. |
dashboard_port | 0 | Dashboard port; 0 lets the OS pick a free one. |
[run.timeouts]Per-episode limits in seconds. One episode is a single role invocation, not the whole run.
| Field | Default | Description |
|---|---|---|
manager | 600 | Planning the next step. |
gui_executor | 1800 | Executing a GUI/visual subtask. |
cli_executor | 1800 | Executing a CLI/non-GUI subtask. |
auditor | 600 | Verifying a subtask. Applies to both auditors. |
[run.roles.*]Each role can take its own agent and model, so you can pay for a strong model only where it matters: a capable Manager and Auditor with a cheaper Executor, for example. Every field is commented out by default, meaning "inherit".
Resolution walks the chain until it finds a value:
gui_executor โ executor โ [run].agent / [run].model
cli_auditor โ auditor โ [run].agent / [run].model
| Section | Falls back to | Covers |
|---|---|---|
[run.roles.manager] | [run] | The scheduler role |
[run.roles.executor] | [run] | Both executor roles |
[run.roles.gui_executor] | executor | GUI/visual subtasks |
[run.roles.cli_executor] | executor | CLI/non-GUI subtasks |
[run.roles.auditor] | [run] | Both auditor roles |
[run.roles.gui_auditor] | auditor | GUI audit |
[run.roles.cli_auditor] | auditor | CLI audit |
[run.roles.final_response] | manager | The closing reply written for you |
Every field above also has a CLI flag (--agent, --max-rounds, --gui-executor-model, --auditor-timeout, and so on) that overrides it for a single run. Run lh-harness run --help for the full list.
Computer-use setup is intentionally separate from task execution: doctor only reports status, and lh-harness run never installs, removes, or changes plugins. All changes go through lh-harness plugin.
List the available plugins with their install state, supported agents, and homepages:
lh-harness plugin list
| Plugin | Source | Agents | Platforms |
|---|---|---|---|
codex-computer-use | Official plugin bundled with the Codex CLI | codex | whatever your Codex build offers |
open-computer-use | npm (open-codex-computer-use) | codex, claude_code | macOS, Windows, Linux |
clawdcursor | npm (clawdcursor) | codex, claude_code | macOS, Windows, Linux |
Installing needs no agent flag. Every agent the plugin supports is configured, since the per-agent difference is only one more config file:
lh-harness plugin install clawdcursor
One install covers every project on the machine. It installs the package, runs whatever consent or permission step the plugin needs on the current OS, and writes one MCP config per agent under ~/.lh-harness/plugins/. Agents missing from PATH are skipped; --agent narrows the selection, and --no-activate skips the permission step on a headless machine.
lh-harness run then loads the right server automatically. When several are installed, the first available one wins:
codex-computer-use > open-computer-use > clawdcursor
--claude-mcp-config and --codex-mcp-config override that choice. plugin list and doctor both print which plugin each agent will load and whether its permissions are granted.
To remove one:
lh-harness plugin uninstall clawdcursor
GUI access stays scoped to the harness. The npm plugins live entirely inside ~/.lh-harness/ and are passed per run, so ~/.codex/config.toml, ~/.claude.json, and the user-scope MCP registries are never touched. codex-computer-use is the unavoidable exception: Codex loads it from its own registry, so codex plugin add records it there.
codex-computer-use needs manual grants on macOS. It raises no permission dialog, so an unauthorized GUI call just fails. The install opens the two panes for you; tick Codex Computer Use under Privacy & Security โ Accessibility and โ Screen & System Audio Recording, then re-run the install to verify. On Windows there is nothing to grant, but the harness has to run in a signed-in desktop session and stay unelevated.
Any missing prerequisite is printed during install.
Any MCP server can be passed to the agents, not just computer-use ones. Each backend reads its own native format; nothing is translated between them.
Claude Code takes a .mcp.json file through --claude-mcp-config:
{
"mcpServers": {
"computer-use": {
"command": "/path/to/mcp-server",
"args": ["--option", "value"],
"env": {
"EXAMPLE_VARIABLE": "value"
}
}
}
}
Codex takes a TOML file of [mcp_servers.<name>] tables through --codex-mcp-config, matching ~/.codex/config.toml:
[mcp_servers.my-server]
command = "/path/to/mcp-server"
args = ["--option", "value"]
[mcp_servers.my-server.env]
EXAMPLE_VARIABLE = "value"
Pass the config for the backend in use, plus any directory the server needs to read:
lh-harness run --task @task.md --agent codex \
--codex-mcp-config /path/to/mcp.toml \
--mcp-add-dir /path/to/mcp/files
Both flags can be given together when roles use different backends, and --mcp-add-dir may be repeated. The equivalent environment variables are LH_HARNESS_CLAUDECODE_MCP_CONFIG, LH_HARNESS_CODEX_MCP_CONFIG, and LH_HARNESS_MCP_ADD_DIRS, the last separated by : on macOS/Linux and ; on Windows.
Prefer letting the server read API keys from its environment over writing them into the config file.
lh-harness run --task @task.md --dashboard # Monitor a live run
lh-harness dashboard # Browse completed and active runs
| Option | Description |
|---|---|
--task | Task text or @task.md |
--agent | claude_code or codex |
--env | local |
--max-rounds | Maximum number of Manage-Execute-Audit rounds; the CLI default is 30 |
--dashboard | Start live monitoring and human intervention |
--no-dashboard | Disable a Dashboard enabled by the project configuration |
Run a longer task from a file and open the Dashboard:
lh-harness run --task @task.md --dashboard
The Dashboard shows every round's plan, execution result, audit evidence, and reason for rework. It also provides human gates when a task completes, becomes blocked, needs input, or fails repeatedly.
| ๐ Plan | โก Execution | ๐ Audit | โป๏ธ Rework |
|---|---|---|---|
| What happens next | What the agent did | What the environment proves | Why another round is needed |
Every run is stored in an isolated runs/<run-id>/ directory. The complete task state and audit trail make the agent's progress inspectable, recoverable, and reproducible.
| Run record | What it preserves |
|---|---|
| ๐ Task state | Original goal, requirements, verified progress, and remaining work |
| ๐งพ Event stream | What happened throughout the run |
| ๐ Audit reports | Evidence and acceptance decisions for every round |
| ๐ง Role trajectories | Manager, Executor, and Auditor inputs and outputs |
| ๐ Workspace | Files and artifacts produced during execution |
| โ Final report | The verified outcome of the task |
eval/ provides frozen reproduction suites for two benchmarks:
| Directory | Benchmark | Description |
|---|---|---|
eval/WeaveBench-harness/ | WeaveBench (114 tasks) | Hybrid GUI+CLI tasks and a reproduction skill |
eval/OSWorldv2-harness/ | OSWorld-V2 (108 tasks) | Hybrid runner aligned with the official release |
See each directory's README.md or README.zh-CN.md for environment setup, parameters, and launch commands. The nested cua_harness packages are frozen compatibility copies used for evaluation; new integrations should use src/lh_harness/.
@article{longhorizonharness2026,
title={LongHorizon-Harness: Advancing Long-Horizon Agents for Real-World Tasks},
author={Ziyu Ma and Hailang Huang and Shun Zou and Yong Wang and Shidong Yang and Yiming Hu and Fei Wei and XiangXiang Chu},
journal={arXiv preprint arXiv:2608.01964},
year = {2026},
url = {https://arxiv.org/abs/2608.01964}
}
Operate the whole computer. Preserve verified progress. Keep working until the task is done.
.github/
workflows/
release.yml
.gitignore
assets/
harness_perf.png
mea_main.png
promotional_video_1440p.mp4
quickstart.gif
wechat_group.JPG
eval/
OSWorldv2-harness/
.gitignore
cua-harness/
src/
cua_harness/
__init__.py
adapters/
__init__.py
base.py
claude_code.py
cli_agent.py
codex.py
openclaw.py
cli.py
environment/
__init__.py
base.py
docker.py
local.py
ssh.py
integrations/
__init__.py
vm.py
llm.py
orchestrator.py
remote_io.py
role_prompts.py
runtime_signals.py
storage.py
time_utils.py
types.py
verifier_agent.py
docs/
EXPERIMENT_PARAMETERS.zh-CN.md
OSWORLD_V2_LOCAL_CHANGES.zh-CN.md
osworld-v2-vm-runtime.patch
env.example
OSWorld-V2/
.claude/
skills/
analyze-task/
prompts/
analyze-single-task.md
SKILL.md
task-check-report.schema.json
analyze-traj/
prompts/
analyze-full-run.md
analyze-single-traj.md
SKILL.md
migrate-osworld-agent/
SKILL.md
setup-osworld/
references/
common.md
cua-harness.md
gitlab.md
provider-aws.md
provider-docker.md
proxy.md
unsupported-providers.md
verify.md
website.md
SKILL.md
.codex/
skills/
analyze-task/
prompts/
analyze-single-task.md
SKILL.md
task-check-report.schema.json
analyze-traj/
prompts/
analyze-full-run.md
analyze-single-traj.md
SKILL.md
migrate-osworld-agent/
SKILL.md
setup-osworld/
agents/
openai.yaml
references/
common.md
cua-harness.md
gitlab.md
provider-aws.md
provider-docker.md
proxy.md
unsupported-providers.md
verify.md
website.md
SKILL.md
.envrc
.gitmodules
.mise.toml
.python-version
assets/
authorization.png
aws-1.png
aws-2.png
aws-3.png
banner.png
creategcp.png
desktopapp.png
developer.png
enableapi.png
googleidentity.png
googlephonecode.png
googleshutoff.png
netsetting1.png
netsetting2.png
netsetting3.png
netsetting4.png
oauth2.0.png
oauthapp.png
proxysetup-zh.png
proxysetup.png
pubeval_gdrive_auth.jpg
pubeval_monitor1.jpg
pubeval_monitor2.jpg
pubeval_subnet.png
pubeval1.png
pubeval2.png
pubeval3.png
pubeval4.png
pubeval5.png
publishapp.png
testusers.png
unsafemode.png
usertype.png
vmware01.png
vmware02.png
vmware03.png
vmware04.png
vmware05.png
vmware06.png
vmware07.png
vmware08.png
vmware09.png
winnetsetting1.png
winnetsetting2.png
winnetsetting3.png
winnetsetting4.png
benchmark_releases/
osworld-v2-2026.06.24.json
README.md
desktop_env/
__init__.py
actions.py
controllers/
__init__.py
gitlab.py
moodle.py
python.py
setup.py
website.py
wine_game.py
desktop_env.py
evaluators/
__init__.py
backends/
__init__.py
anthropic_backend.py
base.py
bedrock_backend.py
gemini_backend.py
openai_backend.py
getters/
__init__.py
calc.py
chrome.py
file.py
general.py
gimp.py
impress.py
info.py
misc.py
replay.py
state.py
vlc.py
vscode.py
metrics/
__init__.py
basic_os.py
blender.py
chrome.py
directory_structure.py
docs.py
general.py
gimp.py
ics.py
lab.py
libreoffice.py
llm_metrics.py
obsidian.py
others.py
pdf.py
slack.py
slides.py
survey.py
table.py
thunderbird.py
utils.py
vlc.py
vscode.py
model_client.py
README.md
file_source.py
image_utils.py
providers/
__init__.py
aliyun/
__init__.py
ALIYUN_GUIDELINE_CN.md
ALIYUN_GUIDELINE.md
config.py
manager.py
provider.py
aws/
__init__.py
AWS_GUIDELINE.md
config.py
manager.py
provider.py
proxy_pool.py
scheduler_utils.py
azure/
__init__.py
manager.py
provider.py
base.py
docker/
DOCKER_GUIDELINE.md
manager.py
provider.py
gcp/
__init__.py
manager.py
provider.py
README.md
virtualbox/
__init__.py
INSTALL_VITUALBOX.md
manager.py
provider.py
vmware/
__init__.py
disk.py
INSTALL_VMWARE.md
manager.py
provider.py
volcengine/
__init__.py
manager.py
provider.py
VOLCENGINE_GUIDELINE_CN.md
VOLCENGINE_GUIDELINE.md
volume.py
safety/
__init__.py
disk.py
escalation_guards.py
files.py
monitor.py
system_config.py
task_base.py
user_simulator.py
docs/
EVALUATE_RESULT_JSON.md
MIGRATING_FROM_OSWORLD_V1.md
OSWORLD_SETUP_GUIDELINE.md
PROVIDER_SETUP.md
PROXY_GUIDELINE.md
PUBLIC_EVALUATION_GUIDELINE.md
evaluation_examples/
__init__.py
conflict_disambiguation.json
cross_source_reasoning.json
dynamic_environment.json
examples/
chrome/
030eeff7-b492-4218-b312-701ec99ee0cc.json
06fe7178-4491-4589-810f-2e2bc9502122.json
0d8b7de3-e8de-4d86-b9fd-dd2dce58a217.json
12086550-11c0-466b-b367-1d9e75b3910e.json
121ba48f-9e17-48ce-9bc6-a4fb17a7ebba.json
1704f00f-79e6-43a7-961b-cedd3724d5fd.json
2888b4e6-5b47-4b57-8bf5-c73827890774.json
2ad9387a-65d8-4e33-ad5b-7580065a27ca.json
2ae9ba84-3a0d-4d4c-8338-3a1478dc5fe3.json
3299584d-8f11-4457-bf4c-ce98f7600250.json
35253b65-1c19-4304-8aa4-6884b8218fc0.json
368d9ba4-203c-40c1-9fa3-da2f1430ce63.json
3720f614-37fd-4d04-8a6b-76f54f8c222d.json
44ee5668-ecd5-4366-a6ce-c1c9b8d4e938.json
47543840-672a-467d-80df-8f7c3b9788c9.json
480bcfea-d68f-4aaa-a0a9-2589ef319381.json
59155008-fe71-45ec-8a8f-dc35497b6aa8.json
6766f2b8-8a72-417f-a9e5-56fcaa735837.json
6c4c23a1-42a4-43cc-9db1-2f86ff3738cc.json
7a5a7856-f1b6-42a4-ade9-1ca81ca0f263.json
7b6c7e24-c58a-49fc-a5bb-d57b80e5b4c3.json
7f52cab9-535c-4835-ac8c-391ee64dc930.json
82279c77-8fc6-46f6-9622-3ba96f61b477.json
82bc8d6a-36eb-4d2d-8801-ef714fb1e55a.json
93eabf48-6a27-4cb6-b963-7d5fe1e0d3a9.json
9656a811-9b5b-4ddf-99c7-5117bcef0626.json
99146c54-4f37-4ab8-9327-5f3291665e1e.json
9f3f70fc-5afc-4958-a7b7-3bb4fcb01805.json
9f935cce-0a9f-435f-8007-817732bfc0a5.json
a728a36e-8bf1-4bb6-9a03-ef039a5233f0.json
a96b564e-dbe9-42c3-9ccf-b4498073438a.json
ae78f875-5b98-4907-bbb5-9c737fc68c03.json
af630914-714e-4a24-a7bb-f9af687d3b91.json
b070486d-e161-459b-aa2b-ef442d973b92.json
b4f95342-463e-4179-8c3f-193cd7241fb2.json
b7895e80-f4d1-4648-bee0-4eb45a6f1fa8.json
bb5e4c0d-f964-439c-97b6-bdb9747de3f4.json
c1fa57f3-c3db-4596-8f09-020701085416.json
cabb3bae-cccb-41bd-9f5d-0f3a9fecd825.json
da46d875-6b82-4681-9284-653b0c7ae241.json
e1e75309-3ddb-4d09-92ec-de869c928143.json
f0b971a1-6831-4b9b-a50e-22a6e47f45ba.json
f3b19d1e-2d48-44e9-b4e1-defcae1a0197.json
f5d96daf-83a8-4c86-9686-bada31fc66ab.json
f79439ad-3ee8-4f99-a518-0eb60e5652b0.json
fc6d8143-9452-4171-9459-7f515143419a.json
gimp/
045bf3ff-9077-4b86-b483-a1040a949cff.json
06ca5602-62ca-47f6-ad4f-da151cde54cc.json
2a729ded-3296-423d-aec4-7dd55ed5fbb3.json
2e6f678f-472d-4c55-99cc-8e7c5c402a71.json
38f48d40-764e-4e77-a7cf-51dfce880291.json
554785e9-4523-4e7a-b8e1-8016f565f56a.json
58d3eeeb-e9d0-499f-962e-fd0db2a744d8.json
5ca86c6f-f317-49d8-b6a7-b527541caae8.json
62f7fd55-0687-4a43-b6e1-3eda16fc6252.json
72f83cdc-bf76-4531-9a1b-eb893a13f8aa.json
734d6579-c07d-47a8-9ae2-13339795476b.json
7767eef2-56a3-4cea-8c9f-48c070c7d65b.json
77b8ab4d-994f-43ac-8930-8ca087d7c4b4.json
7a4deb26-d57d-4ea9-9a73-630f66a7b568.json
7b7617bd-57cc-468e-9c91-40c4ec2bcb3d.json
8ea73f6f-9689-42ad-8c60-195bbf06a7ba.json
a746add2-cab0-4740-ac36-c3769d9bfb46.json
b148e375-fe0b-4bec-90e7-38632b0d73c2.json
d16c99dc-2a1e-46f2-b350-d97c86c85c15.json
d52d6308-ec58-42b7-a2c9-de80e4837b2b.json
dbbf4b99-2253-4b10-9274-45f246af2466.json
e19bd559-633b-4b02-940f-d946248f088e.json
e2dd0213-26db-4349-abe5-d5667bfd725c.json
f4aec372-4fb0-4df5-a52b-79e0e2a5d6ce.json
f723c744-e62c-4ae6-98d1-750d3cd7d79d.json
fbb548ca-c2a6-4601-9204-e39a2efc507b.json
libreoffice_calc/
01b269ae-2111-4a07-81fd-3fcd711993b0.json
0326d92d-d218-48a8-9ca1-981cd6d064c7.json
035f41ba-6653-43ab-aa63-c86d449d62e5.json
04d9aeaf-7bed-4024-bedb-e10e6f00eb7f.json
0a2e43bf-b26c-4631-a966-af9dfa12c9e5.json
0bf05a7d-b28b-44d2-955a-50b41e24012a.json
0cecd4f3-74de-457b-ba94-29ad6b5dafb6.json
12382c62-0cd1-4bf2-bdc8-1d20bf9b2371.json
1273e544-688f-496b-8d89-3e0f40aa0606.json
1334ca3e-f9e3-4db8-9ca7-b4c653be7d17.json
1954cced-e748-45c4-9c26-9855b97fbc5e.json
1d17d234-e39d-4ed7-b46f-4417922a4e7c.json
1de60575-bb6e-4c3d-9e6a-2fa699f9f197.json
1e8df695-bd1b-45b3-b557-e7d599cf7597.json
21ab7b40-77c2-4ae6-8321-e00d3a086c73.json
21df9241-f8d7-4509-b7f1-37e501a823f7.json
26a8440e-c166-4c50-aef4-bfb77314b46b.json
2bd59342-0664-4ccb-ba87-79379096cc08.json
30e3e107-1cfb-46ee-a755-2cd080d7ba6a.json
347ef137-7eeb-4c80-a3bb-0951f26a8aff.json
357ef137-7eeb-4c80-a3bb-0951f26a8aff.json
37608790-6147-45d0-9f20-1137bb35703d.json
3a7c8185-25c1-4941-bd7b-96e823c9f21f.json
3aaa4e37-dc91-482e-99af-132a612d40f3.json
4172ea6e-6b77-4edb-a9cc-c0014bd1603b.json
4188d3a4-077d-46b7-9c86-23e1a036f6c1.json
42e0a640-4f19-4b28-973d-729602b5a4a7.json
4de54231-e4b5-49e3-b2ba-61a0bec721c0.json
4e6fcf72-daf3-439f-a232-c434ce416af6.json
4f07fbe9-70de-4927-a4d5-bb28bc12c52c.json
51719eea-10bc-4246-a428-ac7c433dd4b3.json
51b11269-2ca8-4b2a-9163-f21758420e78.json
535364ea-05bd-46ea-9937-9f55c68507e8.json
6054afcb-5bab-4702-90a0-b259b5d3217c.json
... 1208 moreFAQ
longhorizon-harness is a Claude Code plugin with 5 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes analyze-task, analyze-traj, migrate-osworld-agent. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.