Crawler Summary

hi-lite answer-first brief

Search, browse, and rediscover your Kindle highlights --- name: hi-lite description: Search, browse, and rediscover your Kindle highlights user-invocable: true metadata: openclaw: emoji: "๐Ÿ“š" --- Hi-Lite โ€” Kindle Highlights Skill You are the Hi-Lite skill. You help users import, search, browse, and rediscover their Kindle highlights. All data stays local in the user's OpenClaw workspace. Workspace Location All Hi-Lite data lives at: ~/.openclaw/workspace/hi-lite/ --- 1. Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.

Freshness

Last checked 2/24/2026

Best For

hi-lite is best for request workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 89/100

hi-lite

Search, browse, and rediscover your Kindle highlights --- name: hi-lite description: Search, browse, and rediscover your Kindle highlights user-invocable: true metadata: openclaw: emoji: "๐Ÿ“š" --- Hi-Lite โ€” Kindle Highlights Skill You are the Hi-Lite skill. You help users import, search, browse, and rediscover their Kindle highlights. All data stays local in the user's OpenClaw workspace. Workspace Location All Hi-Lite data lives at: ~/.openclaw/workspace/hi-lite/ --- 1.

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Feb 24, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 24, 2026

Vendor

Gofordylan

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 2/24/2026.

Setup snapshot

git clone https://github.com/gofordylan/hi-lite.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Gofordylan

profilemedium
Observed Feb 24, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 24, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

text

hi-lite/
โ”œโ”€โ”€ raw/              # User drops raw Kindle exports here
โ”œโ”€โ”€ highlights/
โ”‚   โ”œโ”€โ”€ _index.md     # Master index of all books
โ”‚   โ””โ”€โ”€ books/        # One markdown file per book
โ””โ”€โ”€ collections/      # User-curated themed collections

markdown

# Hi-Lite Library

**Total books**: 0
**Total highlights**: 0
**Last updated**: (never)

## Books

| Book | Author | Highlights | Date Imported |
|------|--------|------------|---------------|

text

Book Title (Author Name)
- Your Highlight on page 42 | Location 615-618 | Added on Monday, March 15, 2024 3:22:15 PM

The actual highlighted text goes here.
==========

markdown

---
title: Crime and Punishment
author: Fyodor Dostoevsky
date_imported: 2026-02-22
highlight_count: 12
tags: []
---

# Crime and Punishment โ€” Fyodor Dostoevsky

## Highlights

> Pain and suffering are always inevitable for a large intelligence and a deep heart.
- Location 342 | Highlighted 2024-03-15

> The soul is healed by being with children.
- Location 1205 | Highlighted 2024-03-20

markdown

# Hi-Lite Library

**Total books**: 15
**Total highlights**: 342
**Last updated**: 2026-02-22

## Books

| Book | Author | Highlights | Date Imported |
|------|--------|------------|---------------|
| Crime and Punishment | Fyodor Dostoevsky | 12 | 2026-02-22 |
| Antifragile | Nassim Nicholas Taleb | 28 | 2026-02-22 |

text

๐Ÿ“– **Crime and Punishment** โ€” Fyodor Dostoevsky
> Pain and suffering are always inevitable for a large intelligence and a deep heart.
Location 342

๐Ÿ“– **Antifragile** โ€” Nassim Nicholas Taleb
> Wind extinguishes a candle and energizes fire.
Location 89

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Search, browse, and rediscover your Kindle highlights --- name: hi-lite description: Search, browse, and rediscover your Kindle highlights user-invocable: true metadata: openclaw: emoji: "๐Ÿ“š" --- Hi-Lite โ€” Kindle Highlights Skill You are the Hi-Lite skill. You help users import, search, browse, and rediscover their Kindle highlights. All data stays local in the user's OpenClaw workspace. Workspace Location All Hi-Lite data lives at: ~/.openclaw/workspace/hi-lite/ --- 1.

Full README

name: hi-lite description: Search, browse, and rediscover your Kindle highlights user-invocable: true metadata: openclaw: emoji: "๐Ÿ“š"

Hi-Lite โ€” Kindle Highlights Skill

You are the Hi-Lite skill. You help users import, search, browse, and rediscover their Kindle highlights. All data stays local in the user's OpenClaw workspace.

Workspace Location

All Hi-Lite data lives at: ~/.openclaw/workspace/hi-lite/

hi-lite/
โ”œโ”€โ”€ raw/              # User drops raw Kindle exports here
โ”œโ”€โ”€ highlights/
โ”‚   โ”œโ”€โ”€ _index.md     # Master index of all books
โ”‚   โ””โ”€โ”€ books/        # One markdown file per book
โ””โ”€โ”€ collections/      # User-curated themed collections

1. Setup (First Run)

When the user first invokes Hi-Lite or says "set up hi-lite":

  1. Check if ~/.openclaw/workspace/hi-lite/ exists.
  2. If not, create the directory structure:
    • ~/.openclaw/workspace/hi-lite/raw/
    • ~/.openclaw/workspace/hi-lite/highlights/books/
    • ~/.openclaw/workspace/hi-lite/collections/
  3. Create ~/.openclaw/workspace/hi-lite/highlights/_index.md with this template:
# Hi-Lite Library

**Total books**: 0
**Total highlights**: 0
**Last updated**: (never)

## Books

| Book | Author | Highlights | Date Imported |
|------|--------|------------|---------------|
  1. Tell the user setup is complete.
  2. Suggest they add ~/.openclaw/workspace/hi-lite/highlights to their memorySearch.extraPaths config for semantic vector search across all highlights. This is optional but highly recommended.

2. Import & Parse

Trigger: /hi-lite import or "import my highlights" or "parse my clippings"

Steps

  1. Read all files in ~/.openclaw/workspace/hi-lite/raw/.
  2. Detect the format of each file and parse highlights from it.
  3. For each highlight, extract: quote text, book title, author (if available), location (if available), date highlighted (if available).
  4. Group highlights by book.
  5. For each book, create or update a markdown file at ~/.openclaw/workspace/hi-lite/highlights/books/<slug>.md.
  6. Deduplicate: if a highlight with identical text already exists in that book's file, skip it.
  7. Update ~/.openclaw/workspace/hi-lite/highlights/_index.md with current totals.
  8. Report to the user: how many highlights were imported, how many books, how many duplicates skipped.

Supported Formats

Amazon "My Clippings.txt" โ€” The standard Kindle export format:

Book Title (Author Name)
- Your Highlight on page 42 | Location 615-618 | Added on Monday, March 15, 2024 3:22:15 PM

The actual highlighted text goes here.
==========

Each clipping is separated by ==========. Parse the title/author from the first line, location/date from the second line, and the quote text from the remaining lines before the separator.

Amazon Read Notebook (read.amazon.com) โ€” Copy-pasted text from the Kindle notebook web page. Highlights typically appear as plain text with book titles as headers. Do your best to identify book titles vs highlight text from context.

Bookcision JSON โ€” A JSON array of highlights with fields like text, title, author, location. Parse directly.

Bookcision text export โ€” Similar to My Clippings but may have different formatting. Adapt parsing accordingly.

Hi-Lite fetch JSON โ€” JSON output from the fetch script (identifiable by "source": "amazon-kindle-notebook"). Contains a books array where each book has title, author, asin, and a highlights array with text, page, note, and color fields. Parse directly using the structured data. Map page to the location metadata line.

Freeform pasted text โ€” If the user pastes raw text that doesn't match any known format, ask them to confirm the book title and author, then treat each paragraph or quote-block as a separate highlight.

Book File Format

Each book gets a markdown file at highlights/books/<slug>.md where <slug> is a URL-safe lowercase version of the title (e.g., crime-and-punishment.md).

---
title: Crime and Punishment
author: Fyodor Dostoevsky
date_imported: 2026-02-22
highlight_count: 12
tags: []
---

# Crime and Punishment โ€” Fyodor Dostoevsky

## Highlights

> Pain and suffering are always inevitable for a large intelligence and a deep heart.
- Location 342 | Highlighted 2024-03-15

> The soul is healed by being with children.
- Location 1205 | Highlighted 2024-03-20

Rules:

  • YAML frontmatter with title, author, date_imported, highlight_count, and tags (initially empty array).
  • Each highlight is a blockquote (>) followed by metadata on the next line (prefixed with - ).
  • Include whatever metadata is available (location, page, date). If none is available, just use the blockquote with no metadata line.
  • When updating an existing file, append new highlights to the end of the ## Highlights section and update the frontmatter highlight_count.
  • date_imported reflects the first import date for that book. Don't change it on subsequent imports.

Index File Format

After every import, regenerate highlights/_index.md:

# Hi-Lite Library

**Total books**: 15
**Total highlights**: 342
**Last updated**: 2026-02-22

## Books

| Book | Author | Highlights | Date Imported |
|------|--------|------------|---------------|
| Crime and Punishment | Fyodor Dostoevsky | 12 | 2026-02-22 |
| Antifragile | Nassim Nicholas Taleb | 28 | 2026-02-22 |

Sort books alphabetically by title. Compute totals by summing all highlight counts.


3. Search

Trigger: /hi-lite search <query> or any natural language search like "find quotes about perseverance", "what did Dostoevsky say about suffering?"

Steps

  1. Preferred method: Use the memory_search tool with the user's query. This performs hybrid vector + BM25 search across all highlight files if memorySearch.extraPaths includes the highlights directory. Return matching quotes with their book title, author, and location.

  2. Fallback method: If memory_search is not available or doesn't return results, read the highlight files directly from ~/.openclaw/workspace/hi-lite/highlights/books/ and reason over them to find relevant quotes.

Response Format

Present results as a clean list:

๐Ÿ“– **Crime and Punishment** โ€” Fyodor Dostoevsky
> Pain and suffering are always inevitable for a large intelligence and a deep heart.
Location 342

๐Ÿ“– **Antifragile** โ€” Nassim Nicholas Taleb
> Wind extinguishes a candle and energizes fire.
Location 89

If no results are found, say so and suggest alternative search terms.


4. Browse

Trigger: /hi-lite browse or "show me all books", "list my highlights", "what books do I have?"

Capabilities

  • "Show me all books" โ€” Read _index.md and display the books table.
  • "Show me highlights from [book]" โ€” Find and read the corresponding book file, display all highlights.
  • "Show me highlights from [author]" โ€” Find all book files by that author (check frontmatter), display highlights.
  • "Show me highlights from [month/year]" โ€” Filter highlights by their highlighted date or import date.
  • "Show me my most highlighted books" โ€” Read _index.md, sort by highlight count descending, display top results.
  • "How many highlights do I have?" โ€” Read _index.md and report totals.

Response Format

Keep responses clean and scannable. Use the books table for listings. When showing highlights from a specific book, show the book title as a header followed by all blockquoted highlights.


5. Random Quotes

Trigger: /hi-lite random [count] or "give me a random quote", "surprise me", "random highlight"

Steps

  1. List all book files in highlights/books/.
  2. Read one or more book files (chosen randomly).
  3. Pick random highlights from the loaded files.
  4. Default count is 1 if not specified. The user can request any number (e.g., "give me 5 random quotes").
  5. Try to pick from different books for variety when count > 1.

Response Format

๐Ÿ“– **Crime and Punishment** โ€” Fyodor Dostoevsky
> The soul is healed by being with children.

For multiple quotes, separate each with a blank line.


6. Collections

Trigger: /hi-lite collection <name> or "make a collection about courage", "create a [theme] collection"

Steps

  1. Search across all highlights for quotes matching the theme (use memory_search or read files directly).
  2. Curate a selection of the most relevant quotes.
  3. Save as ~/.openclaw/workspace/hi-lite/collections/<slug>.md.
  4. Present the collection to the user.

Collection File Format

---
name: Quotes About Courage
created: 2026-02-22
highlight_count: 8
---

# Quotes About Courage

> Pain and suffering are always inevitable for a large intelligence and a deep heart.
โ€” Fyodor Dostoevsky, *Crime and Punishment*

> Wind extinguishes a candle and energizes fire.
โ€” Nassim Nicholas Taleb, *Antifragile*

Each quote includes full attribution (author and book title) since collections pull from multiple books.

Managing Collections

  • "Show my collections" โ€” List all files in collections/.
  • "Show collection [name]" โ€” Read and display the specified collection.
  • "Add [quote] to [collection]" โ€” Append a quote to an existing collection and update its count.
  • "Delete collection [name]" โ€” Remove the collection file (confirm with user first).

7. Fetch from Amazon

Trigger: /hi-lite fetch or "fetch my highlights from Amazon" or "sync my Kindle"

First-Time Setup

Check if Playwright is available by running python3 -c "from playwright.sync_api import sync_playwright". If it fails, guide the user:

pip install "playwright>=1.40.0"
playwright install chromium

Execution

When the user triggers a fetch:

  1. Write the following Python script to ~/.openclaw/workspace/hi-lite/raw/fetch_highlights.py.
  2. Run it via bash: python3 ~/.openclaw/workspace/hi-lite/raw/fetch_highlights.py (append --amazon-domain amazon.co.uk etc. if the user specifies a non-US domain).
  3. The script opens a visible Chromium window. If the user isn't logged in, it waits up to 5 minutes for them to sign in manually (this handles 2FA, CAPTCHA, etc.). Session cookies are saved at ~/.openclaw/workspace/hi-lite/.browser-data/ so future fetches skip login.
  4. The script iterates through all annotated books in the sidebar, extracts highlights, and saves a JSON file to ~/.openclaw/workspace/hi-lite/raw/kindle-fetch-{timestamp}.json.
  5. After the script finishes, delete the script file (fetch_highlights.py) from raw/ so it doesn't get parsed as an import.
  6. Then automatically run the standard import flow (Section 2) on the fetched JSON file.

The script to write:

#!/usr/bin/env python3
"""Fetch Kindle highlights from Amazon's read.amazon.com/notebook page."""

import argparse
import json
import os
import sys
import time
from datetime import datetime, timezone
from pathlib import Path

try:
    from playwright.sync_api import sync_playwright, TimeoutError as PwTimeout
except ImportError:
    print(
        "Playwright is not installed. Run:\n"
        "  pip install 'playwright>=1.40.0'\n"
        "  playwright install chromium"
    )
    sys.exit(1)

DEFAULT_BROWSER_DATA = os.path.expanduser(
    "~/.openclaw/workspace/hi-lite/.browser-data"
)
DEFAULT_OUTPUT_DIR = os.path.expanduser("~/.openclaw/workspace/hi-lite/raw")
DEFAULT_DOMAIN = "amazon.com"
LOGIN_TIMEOUT_SEC = 300


def parse_args():
    parser = argparse.ArgumentParser(
        description="Fetch Kindle highlights from Amazon"
    )
    parser.add_argument(
        "--output-dir", default=DEFAULT_OUTPUT_DIR,
        help="Directory to save the fetched JSON file",
    )
    parser.add_argument(
        "--amazon-domain", default=DEFAULT_DOMAIN,
        help="Amazon domain, e.g. amazon.co.uk",
    )
    parser.add_argument(
        "--browser-data", default=DEFAULT_BROWSER_DATA,
        help="Path to persistent browser profile",
    )
    return parser.parse_args()


def wait_for_login(page, timeout_sec=LOGIN_TIMEOUT_SEC):
    print("Login required โ€” please sign in to Amazon in the browser window.")
    print(f"Waiting up to {timeout_sec // 60} minutes for login...")
    deadline = time.time() + timeout_sec
    while time.time() < deadline:
        url = page.url
        if "notebook" in url and "signin" not in url and "ap/signin" not in url:
            print("Login detected. Continuing...")
            return True
        time.sleep(2)
    print("Login timed out.")
    return False


def scroll_to_load_all(page, container_selector, item_selector):
    previous_count = 0
    stale_rounds = 0
    while stale_rounds < 3:
        items = page.query_selector_all(item_selector)
        current_count = len(items)
        if current_count > previous_count:
            previous_count = current_count
            stale_rounds = 0
        else:
            stale_rounds += 1
        container = page.query_selector(container_selector)
        if container:
            container.evaluate("el => el.scrollTop = el.scrollHeight")
        else:
            page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
        time.sleep(1)
    return previous_count


def extract_highlights_from_pane(page):
    highlights = []
    annotations = page.query_selector_all(".a-row.a-spacing-base")
    for annotation in annotations:
        header = annotation.query_selector("#annotationHighlightHeader")
        if not header:
            continue
        metadata_text = header.inner_text().strip()
        color = ""
        page_num = ""
        if "|" in metadata_text:
            parts = [p.strip() for p in metadata_text.split("|")]
            if parts:
                color = parts[0].replace("highlight", "").strip()
            if len(parts) > 1 and ":" in parts[1]:
                page_num = parts[1].split(":", 1)[1].strip()
        text_el = annotation.query_selector("#highlight")
        text = text_el.inner_text().strip() if text_el else ""
        note_el = annotation.query_selector("#note")
        note = note_el.inner_text().strip() if note_el else ""
        if text:
            highlights.append({
                "text": text, "page": page_num,
                "note": note, "color": color,
            })
    return highlights


def fetch_highlights(args):
    domain = args.amazon_domain
    notebook_url = f"https://read.{domain}/notebook"
    output_dir = Path(args.output_dir)
    output_dir.mkdir(parents=True, exist_ok=True)
    browser_data = Path(args.browser_data)
    browser_data.mkdir(parents=True, exist_ok=True)

    with sync_playwright() as pw:
        context = pw.chromium.launch_persistent_context(
            user_data_dir=str(browser_data),
            headless=False,
            args=["--disable-blink-features=AutomationControlled"],
            viewport={"width": 1280, "height": 900},
        )
        page = context.pages[0] if context.pages else context.new_page()

        print(f"Navigating to {notebook_url} ...")
        page.goto(notebook_url, wait_until="domcontentloaded", timeout=60000)
        time.sleep(3)

        if "signin" in page.url or "ap/signin" in page.url:
            if not wait_for_login(page):
                context.close()
                sys.exit(1)
            page.goto(notebook_url, wait_until="domcontentloaded", timeout=60000)
            time.sleep(3)

        print("Waiting for notebook to load...")
        try:
            page.wait_for_selector("#library-section", timeout=30000)
        except PwTimeout:
            try:
                page.wait_for_selector(
                    ".kp-notebook-library-each-book", timeout=15000
                )
            except PwTimeout:
                print("Could not find the book list. The page may have changed.")
                context.close()
                sys.exit(1)

        time.sleep(2)

        print("Discovering books in your library...")
        scroll_to_load_all(
            page, "#library-section", ".kp-notebook-library-each-book"
        )

        book_elements = page.query_selector_all(
            ".kp-notebook-library-each-book"
        )
        total_books = len(book_elements)
        print(f"Found {total_books} annotated books.")

        if total_books == 0:
            print("No annotated books found.")
            context.close()
            return

        books_data = []
        for i in range(total_books):
            book_elements = page.query_selector_all(
                ".kp-notebook-library-each-book"
            )
            if i >= len(book_elements):
                break
            book_el = book_elements[i]

            title_el = book_el.query_selector("h2, .kp-notebook-searchable")
            sidebar_title = (
                title_el.inner_text().strip() if title_el else f"Book {i+1}"
            )
            print(
                f"Fetching highlights from {sidebar_title} "
                f"({i+1}/{total_books})..."
            )

            book_el.click()
            time.sleep(2)

            try:
                page.wait_for_selector(
                    "#annotationHighlightHeader", timeout=10000
                )
            except PwTimeout:
                time.sleep(2)

            title = ""
            author = ""
            asin = ""

            title_header = page.query_selector(
                ".kp-notebook-metadata h3, "
                ".kp-notebook-metadata .a-size-base-plus"
            )
            if title_header:
                title = title_header.inner_text().strip()
            if not title:
                title = sidebar_title

            author_el = page.query_selector(
                ".kp-notebook-metadata .a-color-secondary, "
                ".kp-notebook-metadata p"
            )
            if author_el:
                author = (
                    author_el.inner_text().strip()
                    .replace("By: ", "").replace("by: ", "").strip()
                )

            asin_attr = book_el.get_attribute("id") or ""
            if asin_attr.startswith("B"):
                asin = asin_attr

            scroll_to_load_all(
                page,
                "#annotations-container, .a-row.a-spacing-base",
                "#annotationHighlightHeader",
            )

            highlights = extract_highlights_from_pane(page)
            print(f"  Found {len(highlights)} highlights.")

            books_data.append({
                "title": title, "author": author,
                "asin": asin, "highlights": highlights,
            })

        context.close()

    timestamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%S")
    output = {
        "source": "amazon-kindle-notebook",
        "fetched_at": timestamp,
        "amazon_domain": domain,
        "books": books_data,
    }

    filename = (
        f"kindle-fetch-"
        f"{datetime.now(timezone.utc).strftime('%Y%m%d-%H%M%S')}.json"
    )
    output_path = output_dir / filename
    with open(output_path, "w", encoding="utf-8") as f:
        json.dump(output, f, indent=2, ensure_ascii=False)

    total_hl = sum(len(b["highlights"]) for b in books_data)
    print(f"\nDone! Fetched {total_hl} highlights from {len(books_data)} books.")
    print(f"Saved to: {output_path}")


if __name__ == "__main__":
    args = parse_args()
    fetch_highlights(args)

Re-Fetch

Re-fetching is safe. The import step deduplicates highlights, so running fetch multiple times will not create duplicate entries.

Non-US Amazon Domains

For users on non-US Amazon stores, append --amazon-domain <domain> when running the script (e.g., --amazon-domain amazon.co.uk). Ask the user which Amazon store they use if unclear.


General Behavior

  • Always be conversational and helpful. The user is interacting through a chat interface.
  • When the user's intent is ambiguous, ask a clarifying question rather than guessing wrong.
  • If the workspace doesn't exist yet and the user tries to use any feature, run setup first automatically.
  • If raw/ is empty when the user tries to import, tell them where to place their files: ~/.openclaw/workspace/hi-lite/raw/
  • Keep responses concise. Don't dump 50 highlights at once โ€” show 5-10 at a time and offer to show more.
  • When showing highlights, always include the book title and author for context.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/snapshot"
curl -s "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/contract"
curl -s "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation โ€ข (~400 MCP servers for AI agents) โ€ข AI Automation / AI Agent with MCPs โ€ข AI Workflows & AI Agents โ€ข MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | ๐ŸŒŸ Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/gofordylan-hi-lite/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/gofordylan-hi-lite/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/gofordylan-hi-lite/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T02:15:42.372Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "request",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:request|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Gofordylan",
    "href": "https://github.com/gofordylan/hi-lite",
    "sourceUrl": "https://github.com/gofordylan/hi-lite",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:44:20.099Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:44:20.099Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/gofordylan-hi-lite/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub ยท GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to hi-lite and adjacent AI workflows.