Task Files Explorer for Openclaw

Task Files Explorer replaces the platform file preview popup with a persistent, searchable dashboard served through the task preview URL.

hoshiyomix
v1.0.0
Sep 16, 2026
0
60
0

Install & Download

1. ClawHub CLI

The fastest way to install a skill directly from the registry.

npx clawhub@latest install task-files-explorer

2. Manual Installation

Copy the skill folder to one of these locations

Global
~/.openclaw/skills/
Workspace
<project>/skills/

Priority: Workspace > Local > Bundled

3. Prompt Installation

Copy this prompt to OpenClaw to install it automatically.

Help me install task-files-explorer using Clawhub. If Clawhub is not installed, install it first (npm i -g clawhub).

Prefer to download?

Get the raw skill files in a ZIP archive.

What is Task Files Explorer?

Task Files Explorer is an Openclaw Skills workflow for replacing the platform's "All files in task" preview experience with a custom, persistent HTML file dashboard. It runs a zero-dependency Python standard-library server on 127.0.0.1:3000 and exposes the interface through the platform preview ingress.

The explorer supports search, file-type filtering, sorting, per-task grouping from worklog.md, inline previews for Markdown, images, PDFs, JSON, and text, plus light and dark themes. It is designed to survive container restarts through the /start.sh boot hook, double-fork daemonization, and a 30-second auto-healing watcher. It must not be used for Next.js or other web application projects that own port 3000.

Task Files Explorer Use Cases

  • Replace the "All files in task" popup when it opens files in unwanted browser tabs.
  • Serve a custom index.html page at the platform preview URL.
  • Provide a persistent download and archive dashboard for task files.
  • Search, filter, sort, group, and preview generated files from one interface.
  • Keep a file explorer running automatically after container restarts.
  • Recover the explorer automatically if its process is terminated.
  • Configure a new container with a boot-managed utility using Openclaw Skills.
  • Avoid the explorer when a Next.js or other web project already owns port 3000.

How Task Files Explorer Works

  1. The platform preview URL forwards through its ingress on port 81 to the container's 127.0.0.1:3000 upstream.
  2. explorer.sh checks for conflicts, including a root package.json that indicates a Next.js project, and refuses to start when port 3000 belongs to another application.
  3. explorer.sh launches explorer.py, a Python ThreadingHTTPServer bound only to 127.0.0.1:3000.
  4. The server exposes the explorer UI, file APIs, file delivery, and a health endpoint through routes including /, /api/files, /file/, and /healthz.
  5. The zero-dependency explorer-ui/index.html scans and organizes available files, parses worklog.md for task grouping, and presents search, filters, sorting, layouts, and previews.
  6. A double-fork orphan process with PPID 1 and setsid allows the daemon to survive the end of an individual tool call.
  7. The /start.sh boot hook invokes .zscripts/dev.sh on container startup, which ensures the explorer and watcher are running.
  8. The watcher checks health every 30 seconds and restarts the explorer when it has stopped.
  9. The preview URL displays the explorer as its primary destination while the platform popup itself remains controlled by the platform frontend and is simply bypassed.

Task Files Explorer Setup

New container

  1. Copy the explorer assets into the project's active .zscripts directory:
mkdir -p ~/.zscripts/explorer-ui
cp assets/explorer.py assets/explorer.sh /home/z/my-project/.zscripts/
cp assets/explorer-ui/index.html /home/z/my-project/.zscripts/explorer-ui/
cp assets/dev.sh.template /home/z/my-project/.zscripts/dev.sh
chmod +x /home/z/my-project/.zscripts/dev.sh
  1. Start the explorer once:
bash /home/z/my-project/.zscripts/explorer.sh --ensure
  1. On subsequent container boots, /start.sh runs .zscripts/dev.sh, which starts the explorer and its watcher automatically.

Existing dev.sh

Do not overwrite the existing boot script. Copy explorer.py, explorer.sh, and explorer-ui/index.html into .zscripts, then add this block near the end of dev.sh:

if [ -f "$PROJECT/.zscripts/explorer.sh" ]; then
    bash "$PROJECT/.zscripts/explorer.sh" --ensure >> "$BOOTLOG" 2>&1 || log "WARN: explorer failed"
fi

Run the idempotent startup command:

bash .zscripts/explorer.sh --ensure

Optionally add the 30-second health-check pattern from assets/dev.sh.template to the existing watcher loop. Useful control commands are:

bash .zscripts/explorer.sh --status
bash .zscripts/explorer.sh --stop
bash .zscripts/explorer.sh --ensure
bash .zscripts/watcher.sh --status

The explorer binds locally and is reachable externally only through the platform preview ingress. Never use this setup if the project is a Next.js or other web application that owns port 3000.

Task Files Explorer Data Schema & Taxonomy

Runtime files and responsibilities

Path Purpose
.zscripts/explorer.py Python standard-library server with /, /api/files, /file/, and /healthz routes plus path guarding.
.zscripts/explorer.sh Idempotent --ensure, --status, and --stop launcher with port and Next.js conflict checks.
.zscripts/watcher.sh Auto-healing daemon that monitors the explorer at 30-second intervals.
.zscripts/explorer-ui/index.html Zero-dependency Material Design 3 Expressive interface implemented with vanilla HTML, CSS, and JavaScript.
.zscripts/dev.sh Boot integration that starts the explorer and watcher; use the supplied template only for a new container.
worklog.md Source for automatic per-task grouping in the task rail.
download/ and archive/ Persistent file areas surfaced by the dashboard when present in the project.

Explorer metadata taxonomy

  • Task grouping: Parsed automatically from worklog.md and displayed in the task rail.
  • File type: Used for type filters and preview selection, including Markdown, JSON, images, PDF, and plain text.
  • Ordering: Supports sorting in the dashboard.
  • Presentation: Grid or list view, search results, statistics, and live refresh every 10 seconds.
  • Preview state: Inline modal rendering for supported file formats.
  • Health state: /healthz, launcher status, watcher status, and process liveness.

The implementation has no external runtime dependencies: the server uses Python stdlib, while the interface uses vanilla HTML, CSS, and JavaScript without a CDN. Files under .zscripts are included in the platform's persistent repo.tar backup and are restored for the next boot.

Task Files Explorer Advanced Features

  • Double-fork orphan daemonization with setsid and PPID 1 behavior to survive completed tool calls.
  • Automatic startup through the /start.sh hook and project-level .zscripts/dev.sh integration.
  • 30-second watcher-based self-healing after crashes or forced termination.
  • Idempotent --ensure control suitable for repeated boot and deployment runs.
  • Port ownership safeguards that keep the explorer offline when another service uses port 3000.
  • Explicit Next.js detection through the presence of a root package.json.
  • Localhost-only binding for safer exposure through the platform's controlled ingress.
  • Material Design 3 Expressive UI with light and dark themes, contrast-aware design tokens, type scale, responsive layouts, ripple and state-layer effects, and animated progress treatment.
  • Task rail grouping derived from worklog.md.
  • Search, file-type filtering, sorting, grid/list layouts, statistics, snackbars, and 10-second live refresh.
  • Inline previews for Markdown, JSON, images, PDFs, and text files.
  • Operational controls for status inspection, graceful stopping, and recovery through shell commands.

SKILL.md


Loading

Related Openclaw Skills

METADATA

Github Stars: 0
forks: 0

Featured*