Read-only historical evidence. Original commands are never executed by the archive. Original published teaching history, with additional privacy-only redactions of ambient context and device metadata. No new run.
ConversationStateUpdateEvent
{
"id": "fb901a88-a26b-4435-9c80-0d4dfd764fc6",
"timestamp": "2026-10-17T17:30:07.560240",
"source": "environment",
"key": "agent",
"value": {
"llm": {
"model": "openhands/deepseek-v4-flash",
"api_key": null,
"auth_type": "api_key",
"openrouter_site_url": "https://docs.all-hands.dev/",
"openrouter_app_name": "OpenHands",
"num_retries": 2,
"retry_multiplier": 8.0,
"retry_min_wait": 8,
"retry_max_wait": 64,
"timeout": 120,
"stream_idle_timeout": 120.0,
"max_message_chars": 30000,
"max_output_tokens": 16384,
"api_mode": "auto",
"capability_overrides": {},
"stream": true,
"drop_params": true,
"disable_stop_word": false,
"caching_prompt": true,
"log_completions": false,
"log_completions_folder": "logs/completions",
"native_tool_calling": true,
"reasoning_effort": "none",
"enable_encrypted_reasoning": true,
"prompt_cache_retention": "24h",
"extended_thinking_budget": 200000,
"usage_id": "default",
"litellm_extra_body": {},
"is_subscription": false
},
"tools": [
{
"name": "terminal",
"params": {}
},
{
"name": "file_editor",
"params": {}
}
],
"mcp_config": {},
"include_default_tools": [
"FinishTool",
"ThinkTool"
],
"agent_context": {
"skills": [
{
"name": "add-javadoc",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"javadoc",
"java documentation",
"document java"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/add-javadoc/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Add comprehensive JavaDoc documentation to Java classes and methods. Use when documenting Java code, adding API documentation, or improving code documentation.",
"license": "MIT",
"compatibility": "Requires Java source files",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/add-javadoc",
"scripts": [],
"references": [
"example.md"
],
"assets": []
}
},
{
"name": "add-skill",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/add-skill/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Import an existing skill from a GitHub repository URL into the current workspace. Use only when the user provides or references a GitHub URL/repo to fetch from (e.g., `/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview` or \"add the codereview skill from https://github.com/OpenHands/extensions/\"). Handles fetching the skill files and placing them in .agents/skills/. This does not author new skills — to create a new skill from scratch (no source URL), use the skill-creator skill instead.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/add-skill",
"scripts": [
"fetch_skill.py"
],
"references": [],
"assets": []
}
},
{
"name": "agent-canvas-environment",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"agent canvas",
"agent-canvas",
"local conversation",
"delegate local conversation",
"session api key",
"X-Session-API-Key",
"localhost:8001"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/agent-canvas-environment/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Work effectively inside a local Agent Canvas environment, including local agent-server auth, frontend/backend port discovery, safe workspace hygiene, and delegating work to a new local conversation through POST /api/conversations.",
"disable_model_invocation": false
},
{
"name": "agent-creator",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/agent-creator"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/agent-creator/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create file-based sub-agents as Markdown files following the OpenHands SDK format. Guides the user through a structured interview to collect requirements, then generates a ready-to-deploy agent file. Use this skill when the user wants to create, design, or build a new sub-agent, even if they don't use the /agent-creator command.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/agent-creator",
"scripts": [],
"references": [
"fallback.md"
],
"assets": []
}
},
{
"name": "agent-memory",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/remember"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/agent-memory/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Persist and retrieve repository-specific knowledge using AGENTS.md files. Use when you want to save important information about a codebase (build commands, code style, workflows) for future sessions.",
"disable_model_invocation": false
},
{
"name": "agent-sdk-builder",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "task",
"triggers": [
"/agent-builder",
"/agent-sdk-builder"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/agent-sdk-builder/SKILL.md",
"inputs": [
{
"name": "INITIAL_PROMPT",
"description": "Initial SDK requirements"
}
],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Guided workflow for building custom AI agents using the OpenHands Software Agent SDK. Use when you want to create a new agent through an interactive interview process that gathers requirements and generates implementation plans.",
"disable_model_invocation": false
},
{
"name": "azure-devops",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"azure_devops",
"azure"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/azure-devops/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Interact with Azure DevOps repositories, pull requests, and APIs using the AZURE_DEVOPS_TOKEN environment variable. Use when working with code hosted on Azure DevOps or managing Azure DevOps resources.",
"disable_model_invocation": false
},
{
"name": "bitbucket",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"bitbucket"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/bitbucket/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Bitbucket integration hub. Detects whether the repository is on Bitbucket Cloud or Bitbucket Data Center and directs you to the matching detailed skill (bitbucket-cloud or bitbucket-data-center). Use for any Bitbucket repository or pull request task.",
"disable_model_invocation": false
},
{
"name": "bitbucket-cloud",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/bitbucket-cloud/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Bitbucket Cloud (bitbucket.org) specifics — authenticate with BITBUCKET_TOKEN, use the REST API v2, workspace/repo_slug repositories, and the create_bitbucket_pr tool. Loaded on demand by the bitbucket skill once a Cloud environment is detected.",
"disable_model_invocation": false
},
{
"name": "bitbucket-data-center",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/bitbucket-data-center/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Bitbucket Data Center (self-hosted Bitbucket Server) specifics — authenticate with BITBUCKET_DATA_CENTER_TOKEN, use the REST API 1.0, PROJECT/repo_slug repositories, scm/ git remotes, and the create_bitbucket_data_center_pr tool. Loaded on demand by the bitbucket skill once a Data Center environment is detected.",
"disable_model_invocation": false
},
{
"name": "canvas-extension-api",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/canvas-extension-api/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"create an OpenHands App\", \"scaffold a Canvas App\", \"build an app with the Canvas Extensions API\", \"build an Agent Canvas App\", \"bundle a single-file Canvas App\", \"build a Sidecar-backed Canvas App\", \"add onboarding for an App service\", \"add a custom interface to Agent Canvas\", \"validate an OpenHands App\", \"make a Canvas App look native\", \"match Agent Canvas styles\", \"style a canvas extension\", \"reuse OpenHands design tokens\", \"add native Tailwind classes to an app\", or mentions Canvas Apps, Agent Canvas extensions, Blob-importable app bundles, registerPage, app pages, Sidecars, or canvas extension packages.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/canvas-extension-api",
"scripts": [
"validate-extension.mjs",
"validate-extension.test.mjs"
],
"references": [
"acceptance-checklist.md",
"backend-safety.md",
"connections.md",
"native-design.md",
"packaging-recipes.md",
"sidecar-pattern.md",
"testing-and-installation.md",
"v1-contract.md"
],
"assets": []
}
},
{
"name": "code-review",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/codereview",
"/codereview-roasted"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/code-review/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Review code changes for material correctness, security, compatibility, and maintainability risks, grounded in the current repository and acceptance criteria.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/code-review",
"scripts": [],
"references": [
"risk-evaluation.md",
"supply-chain-security.md"
],
"assets": []
}
},
{
"name": "code-simplifier",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/simplify"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/code-simplifier/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Analyzes recently modified code across three dimensions - code reuse, code quality, and efficiency - and provides actionable improvement suggestions. This skill should be used when the user asks to \"simplify code\", \"refine code\", \"clean up code\", \"improve code quality\", or requests a simplification review of recent changes.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/code-simplifier",
"scripts": [],
"references": [
"code-quality-review.md",
"code-reuse-review.md",
"efficiency-review.md"
],
"assets": []
}
},
{
"name": "datadog",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"datadog"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/datadog/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Query and analyze Datadog logs, metrics, APM traces, and monitors using the Datadog API. Use when debugging production issues, monitoring application performance, or investigating alerts.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/datadog",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "deno",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"deno",
"deno.json",
"deno.jsonc",
"deno.lock"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/deno/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "If the project uses deno, use this skill. Use this skill to initialize and work with Deno projects, add/remove dependencies (JSR and npm), run tasks and scripts with appropriate permissions, and use built-in tooling (fmt/lint/test).",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/deno",
"scripts": [],
"references": [
"README.md"
],
"assets": []
}
},
{
"name": "discord",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"discord",
"discord api",
"discord bot",
"discord webhook",
"discord.js",
"discord.py"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/discord/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows). Use when the user mentions Discord, a Discord server/guild, channels, webhooks, bot tokens, slash commands/application commands, discord.js, or discord.py.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/discord",
"scripts": [
"__init__.py",
"_http.py",
"post_webhook.py",
"send_message.py"
],
"references": [
"REFERENCE.md"
],
"assets": []
}
},
{
"name": "docker",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"docker",
"container"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/docker/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Run Docker commands within a container environment, including starting the Docker daemon and managing containers. Use when building, running, or managing Docker containers and images.",
"disable_model_invocation": false
},
{
"name": "evidence-based-citations",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"evidence-based",
"cite source",
"cite sources",
"official source",
"official link",
"official links",
"official docs",
"official documentation",
"verifiable source"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/evidence-based-citations/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Back factual claims and field values with official, verifiable sources. Use when the user asks to fill fields, answer questions, or make claims that must be supported by an exact quote and an official link.",
"disable_model_invocation": false
},
{
"name": "flarglebargle",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"flarglebargle"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/flarglebargle/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "A test skill that responds to the magic word \"flarglebargle\" with a compliment. Use for testing skill activation and trigger functionality.",
"disable_model_invocation": false
},
{
"name": "frontend-design",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/frontend-design/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.",
"license": "Complete terms in LICENSE.txt",
"disable_model_invocation": false
},
{
"name": "github",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"github"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUB_TOKEN environment variable and GitHub CLI. Use when working with code hosted on GitHub or managing GitHub resources.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github",
"scripts": [
"agent_conversation.py",
"github_client.py"
],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "github-actions",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"github actions",
"github workflow",
"actions workflow",
"gh actions",
".github/workflows"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-actions/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create, debug, and test GitHub Actions workflows and custom actions. Use when building CI/CD pipelines, automating workflows, or troubleshooting GitHub Actions.",
"disable_model_invocation": false
},
{
"name": "github-agents-md-maintainer",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/agents-md:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-agents-md-maintainer/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that keeps AGENTS.md current in one or more GitHub repositories. On a schedule - weekly by default - it clones the default branch, starts an OpenHands conversation that reads the repository and creates or updates AGENTS.md, and opens a pull request with the result.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-agents-md-maintainer",
"scripts": [
"github_client.py",
"main.py"
],
"references": [
"state-schema.md"
],
"assets": []
}
},
{
"name": "github-delivery-watchdog",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/github-delivery-watchdog"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-delivery-watchdog/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Periodically check pull requests and merge only current heads with independent review, tests, and passing CI.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-delivery-watchdog",
"scripts": [
"github_client.py",
"worker.py"
],
"references": [],
"assets": []
}
},
{
"name": "github-issue-to-pr",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/issue-to-pr:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-issue-to-pr/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that implements GitHub issues when a configurable trigger label is applied. Polls one or more repositories deterministically, clones the default branch, starts one OpenHands conversation per label event, then commits, pushes, and opens the pull request itself.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-issue-to-pr",
"scripts": [
"agent_conversation.py",
"github_client.py",
"main.py",
"worker.py"
],
"references": [
"state-schema.md"
],
"assets": []
}
},
{
"name": "github-issue-triage",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/github-issue-triage"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-issue-triage/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Prioritize open issues and establish acceptance criteria before marking them ready for development.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-issue-triage",
"scripts": [
"agent_conversation.py",
"github_client.py",
"triage_publication.py",
"worker.py"
],
"references": [],
"assets": []
}
},
{
"name": "github-pr-review",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/github-pr-review"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-pr-review/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Post PR review comments using the GitHub API with inline comments, suggestions, and priority labels.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-pr-review",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "github-pr-reviewer",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/pr-reviewer:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-pr-reviewer/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that reviews GitHub pull requests when a configured reviewer is requested or a trigger label is applied. Starts one OpenHands review conversation per request with the pull request's exact head checked out, and publishes the review to GitHub.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-pr-reviewer",
"scripts": [
"agent_conversation.py",
"github_client.py",
"main.py",
"maintainer_handoff.py",
"publication.py",
"worker.py"
],
"references": [
"state-schema.md",
"windows.md"
],
"assets": []
}
},
{
"name": "github-repo-monitor",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/github-monitor:poll"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-repo-monitor/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"monitor a GitHub repository\", \"watch GitHub for issues or PRs\", \"respond to @OpenHands mentions on GitHub\", \"set up an OpenHands GitHub integration\", \"trigger OpenHands from a GitHub comment\", or \"poll a GitHub repo for a trigger phrase\". Guides the user through creating a cron automation that polls a single repository and starts an OpenHands conversation whenever a configurable trigger phrase is detected in an issue or PR comment.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-repo-monitor",
"scripts": [
"github_client.py",
"main.py"
],
"references": [
"github-api.md",
"state-schema.md",
"windows.md"
],
"assets": []
}
},
{
"name": "github-stale-ci-pr-closer",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/github-stale-ci-pr-closer"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-stale-ci-pr-closer/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Warn and close abandoned pull requests whose required CI remains failing.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/github-stale-ci-pr-closer",
"scripts": [
"worker.py"
],
"references": [],
"assets": []
}
},
{
"name": "gitlab",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"gitlab"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/gitlab/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Interact with GitLab repositories, merge requests, and APIs using the GITLAB_TOKEN environment variable. Use when working with code hosted on GitLab or managing GitLab resources.",
"disable_model_invocation": false
},
{
"name": "gitlab-issue-to-mr",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/issue-to-mr:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/gitlab-issue-to-mr/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that implements GitLab issues when a configurable trigger label is applied. Polls one or more projects deterministically, clones the default branch, starts one OpenHands conversation per label event, then commits, pushes, and opens the merge request itself.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/gitlab-issue-to-mr",
"scripts": [
"main.py"
],
"references": [
"state-schema.md"
],
"assets": []
}
},
{
"name": "incident-retrospective",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/incident-retro:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/incident-retrospective/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that drafts incident retrospectives. Gathers incident-channel messages from Slack, collects linked tickets and follow-ups from Linear, and publishes a retrospective draft to Notion with a timeline, impact summary, root-cause hypotheses, and action items.\n",
"disable_model_invocation": false
},
{
"name": "iterate",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/iterate",
"/verify",
"/babysit"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/iterate/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Iterate on a GitHub pull request — drive it through CI, code review, and QA until it is merge-ready. Poll verification layers with `gh` CLI, diagnose and fix CI failures, address review feedback, retry flaky checks, push fixes, and repeat. The agent is the orchestration loop.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/iterate",
"scripts": [],
"references": [
"heuristics.md",
"verification.md",
"windows.md"
],
"assets": []
}
},
{
"name": "jira-issue-to-pr",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/jira-issue-to-pr/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"set up a Jira automation to create pull requests\", \"poll Jira for create-pr issues\", \"automatically create GitHub PRs from Jira tickets\", \"deploy a Jira issue-to-PR automation\", \"create a Jira to GitHub PR workflow\", \"set up the Jira issue to GitLab MR automation\", \"set up the Jira issue to Bitbucket PR automation\", \"open GitLab merge requests from Jira tickets\", \"open Bitbucket pull requests from Jira tickets\", or mentions automating pull request or merge request creation from a Jira label. Deploys a cron-based OpenHands automation that watches a Jira Cloud project for issues labeled with a configurable label (default: \"create-pr\") and spawns an agent conversation that opens a pull request on GitHub (the default), a merge request on GitLab, or a pull request on Bitbucket for each new issue found, chosen with git_provider. The target repository is read from the body of the Jira ticket - no repo parameter is required at deploy time.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/jira-issue-to-pr",
"scripts": [
"main.py",
"setup_webhook.py"
],
"references": [
"setup.md"
],
"assets": []
}
},
{
"name": "jupyter",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"ipynb",
"jupyter"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/jupyter/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Read, modify, execute, and convert Jupyter notebooks programmatically. Use when working with .ipynb files for data science workflows, including editing cells, clearing outputs, or converting to other formats.",
"disable_model_invocation": false
},
{
"name": "kubernetes",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"kubernetes",
"k8s",
"kube"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/kubernetes/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Set up and manage local Kubernetes clusters using KIND (Kubernetes IN Docker). Use when testing Kubernetes applications locally or developing cloud-native workloads.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/kubernetes",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "learn-from-code-review",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/learn-from-reviews",
"learn from code review",
"distill reviews"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/learn-from-code-review/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Distill code review feedback from GitHub PRs into reusable skills and guidelines. This skill should be used when users ask to \"learn from code reviews\", \"distill PR feedback\", \"improve coding standards\", \"extract learnings from reviews\", or want to generate skills/guidelines from historical review comments.",
"disable_model_invocation": false
},
{
"name": "linear",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"linear",
"ticket",
"issue tracking"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/linear/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Interact with Linear project management - query issues, update status, create tickets, and manage workflows using the Linear GraphQL API. Use when working with Linear tickets, sprints, or project tracking.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/linear",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "linear-triage",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/linear-triage:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/linear-triage/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that triages new Linear issues. Inspects the issue title, description, team, customer, priority, and recent related issues via Linear MCP. Suggests labels, priority, likely owner, duplicates, and posts a clarifying comment.\n",
"disable_model_invocation": false
},
{
"name": "news-digest",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/news-digest:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/news-digest/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that reads a list of public RSS and Atom feeds on a schedule - daily by default - keeps what is new and matches the configured topics, and has an agent write a short digest of it. It needs no credentials: the feeds are public URLs and, on a local Agent Canvas, the conversation is started with no secrets and no MCP servers.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/news-digest",
"scripts": [
"main.py"
],
"references": [
"state-schema.md"
],
"assets": []
}
},
{
"name": "notion",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"notion"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/notion/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create, search, and update Notion pages/databases using the Notion API. Use for documenting work, generating runbooks, and automating knowledge base updates.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/notion",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "npm",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"npm"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/npm/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Handle npm package installation in non-interactive environments by piping confirmations. Use when installing Node.js packages that require user confirmation prompts.",
"disable_model_invocation": false
},
{
"name": "openhands-api",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"openhands-api",
"openhands-api-v1",
"openhands-cloud",
"openhands-cloud-api-v1",
"oh-api-v1",
"oh-cloud-api-v1"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/openhands-api/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Reference skill for the OpenHands Cloud REST API (V1) and agent-server APIs, including how to start additional cloud or local backend conversations for fresh-context or delegated work.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/openhands-api",
"scripts": [
"openhands_api.py",
"openhands_api.ts"
],
"references": [
"README.md",
"TROUBLESHOOTING.md",
"example_prompt.md",
"windows.md"
],
"assets": []
}
},
{
"name": "openhands-automation",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"automation",
"automations",
"scheduled task",
"cron job",
"cron schedule",
"webhook",
"webhooks",
"event trigger",
"github event",
"pull request automation",
"issue automation",
"/automation:create"
]
},
"source": "/Users/instructor/.agents/skills/openhands-automation/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"create an automation\", \"schedule a task\", \"set up a cron job\", \"webhook integration\", \"event-triggered automation\", or mentions automations, scheduled tasks, cron scheduling, or webhook events in OpenHands Cloud.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/openhands-automation",
"scripts": [],
"references": [
"ab-testing.md",
"custom-automation.md",
"windows.md"
],
"assets": []
}
},
{
"name": "openhands-enterprise-troubleshooting",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"openhands enterprise",
"OHE troubleshooting",
"openhands not working",
"sandbox failed",
"replicated admin console",
"keycloak login",
"certificate error",
"LLM connectivity",
"upgrade failed",
"support bundle",
"openhands install"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/openhands-enterprise-troubleshooting/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when a user reports an issue with OpenHands Enterprise (OHE) on a self-hosted (Replicated VM-based) installation. Use for diagnosing sandbox startup failures, auth issues, certificate errors, LLM connectivity problems, Keycloak login issues, Replicated Admin Console access, upgrade failures, or resource exhaustion. Helps triage symptoms, run diagnostic commands, guide through recovery steps, generate and analyze Replicated support bundles offline, and produce escalation handoffs.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/openhands-enterprise-troubleshooting",
"scripts": [
"bundle_triage.py"
],
"references": [
"diagnostics.md",
"support-bundle-analysis.md"
],
"assets": []
}
},
{
"name": "openhands-sdk",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"openhands-sdk",
"openhands sdk",
"software-agent-sdk",
"agent-sdk",
"/sdk"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/openhands-sdk/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Reference skill for the OpenHands Software Agent SDK - the Python framework for building AI agents that write software. Use when you need to build agents with the SDK, create custom tools, configure LLMs, manage conversations, delegate to sub-agents, or deploy agents locally or remotely.",
"disable_model_invocation": false
},
{
"name": "pdflatex",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"pdflatex"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/pdflatex/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Install and use pdflatex to compile LaTeX documents into PDFs on Linux. Use when generating academic papers, research publications, or any documents written in LaTeX.",
"disable_model_invocation": false
},
{
"name": "plain-english-content",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"plain English"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/plain-english-content/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"write in plain English\", \"make this easier to read\", \"rewrite guidance\", \"improve report clarity\", or produce accessible public-facing prose. It applies plain English content design principles: active voice, front-loaded content, sentence case, and no bold or italics for emphasis.\n",
"license": "MIT",
"disable_model_invocation": false
},
{
"name": "prd",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"create a prd",
"write prd",
"plan this feature",
"requirements for",
"spec out",
"/prd"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/prd/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Generate a Product Requirements Document (PRD) for a new feature. Use when planning a feature, starting a new project, or when asked to create a PRD.",
"disable_model_invocation": false
},
{
"name": "qa-changes",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/qa-changes"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/qa-changes/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"QA a pull request\", \"test PR changes\", \"verify a PR works\", \"functionally test changes\", or when an automated workflow triggers QA validation of code changes. Provides a structured methodology for setting up the environment, exercising changed behavior, and reporting results.",
"disable_model_invocation": false
},
{
"name": "release-notes",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/release-notes"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/release-notes/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Generate formatted changelogs from git history since the last release tag. Use when preparing release notes that categorize changes into breaking changes, features, fixes, and other sections.",
"disable_model_invocation": false
},
{
"name": "research-brief",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/research-brief:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/research-brief/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that writes a recurring research brief. Uses Tavily MCP for web research and Notion MCP to publish the final brief with executive summary, implications, and source citations.\n",
"disable_model_invocation": false
},
{
"name": "security",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"security",
"vulnerability",
"authentication",
"authorization",
"permissions"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/security/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Security best practices for secure coding, authentication, authorization, and data protection. Use when developing features that handle sensitive data, user authentication, or require security review.",
"disable_model_invocation": false
},
{
"name": "simplified-technical-english",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"simplified technical english",
"STE",
"ASD-STE100"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/simplified-technical-english/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Write explanations and chat in the style of ASD-STE100 Simplified Technical English: short active sentences, one idea each, plain approved words. Use this when the reader benefits from maximum clarity: summaries, PR descriptions, safety- or ops-critical instructions, or any comment or reply that should be easy to read the first time. Applies to PROSE ONLY; it must never change code, identifiers, APIs, or commit messages.\n",
"license": "MIT",
"disable_model_invocation": false
},
{
"name": "skill-creator",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/skill-creator/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user wants to \"add a skill\", \"create a skill\", \"make a new skill\", \"write a new skill\", \"improve skill description\", \"organize skill content\", or needs guidance on skill structure, progressive disclosure, or skill development best practices. Use this (not add-skill) when authoring a new skill from scratch rather than importing one from a GitHub URL.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/skill-creator",
"scripts": [
"init_skill.py",
"quick_validate.py"
],
"references": [
"output-patterns.md",
"windows.md",
"workflows.md"
],
"assets": []
}
},
{
"name": "slack-channel-monitor",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/slack-monitor:poll"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/slack-channel-monitor/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"monitor a Slack channel\", \"watch Slack for messages\", \"create a Slack bot that responds to mentions\", \"set up an OpenHands Slack integration\", \"trigger OpenHands from Slack\", \"respond to @openhands in Slack\", or \"poll Slack channels for a trigger phrase\". Guides the user through creating a cron automation that watches up to 10 Slack channels and starts an OpenHands conversation whenever a configurable trigger phrase is detected.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/slack-channel-monitor",
"scripts": [
"main.py"
],
"references": [
"slack-api.md",
"state-schema.md",
"windows.md"
],
"assets": []
}
},
{
"name": "slack-standup-digest",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/standup-digest:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/slack-standup-digest/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create an automation that generates an async standup digest from Slack. Searches selected channels for messages since the previous workday, groups updates by project, highlights blockers and decisions, and posts a summary to a target channel.\n",
"disable_model_invocation": false
},
{
"name": "spark-version-upgrade",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"spark upgrade",
"spark migration",
"spark version",
"upgrade spark",
"spark 3",
"spark 4",
"pyspark upgrade"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/spark-version-upgrade/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Upgrade Apache Spark applications between major versions (2.x→3.x, 3.x→4.x). Covers build files, deprecated APIs, configuration changes, SQL/DataFrame updates, and test validation.",
"license": "MIT",
"compatibility": "Requires Java 8+/11+/17+, Scala 2.12/2.13, Maven/Gradle/SBT, Apache Spark",
"disable_model_invocation": false
},
{
"name": "ssh",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"ssh",
"remote server",
"remote machine",
"remote host",
"remote connection",
"secure shell",
"ssh keys"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/ssh/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Establish and manage SSH connections to remote machines, including key generation, configuration, and file transfers. Use when connecting to remote servers, executing remote commands, or transferring files via SCP.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/ssh",
"scripts": [],
"references": [
"windows.md"
],
"assets": []
}
},
{
"name": "swift-linux",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"swift-linux",
"swift-debian",
"swift-installation"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/swift-linux/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Install and configure Swift programming language on Debian Linux for server-side development. Use when building Swift applications on Linux or setting up a Swift development environment.",
"disable_model_invocation": false
},
{
"name": "technical-writing",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/technical-writing/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Guides technical explanations toward flowing, direct, conversational prose. This skill should be used for engineering chat, design discussion, architecture analysis, code-review explanations, and technical recommendations that should be concise without becoming fragmented or vague.",
"disable_model_invocation": false
},
{
"name": "theme-factory",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/theme-factory/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.",
"license": "Complete terms in LICENSE.txt",
"disable_model_invocation": false
},
{
"name": "ticket-to-code-change",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/ticket-to-code-change:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/ticket-to-code-change/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Set up a ticket-to-code-change automation using Linear as the issue tracker and GitHub, GitLab, or Bitbucket as the source-control provider. The Jira templates are served by the jira-issue-to-pr skill instead. Watches for implementation-ready tickets, starts an OpenHands conversation to implement and test the request, opens a pull or merge request, and links the result back to the ticket.\n",
"disable_model_invocation": false
},
{
"name": "upstream-fork-sync",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/upstream-fork-sync:setup"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/upstream-fork-sync/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"keep a fork in sync\", \"rebase local changes on upstream\", \"sync my fork nightly\", \"long-lived fork\", or \"automate upstream rebases\". Guides the user through creating a cron automation that fetches upstream changes, rebases local customizations on top, verifies the software works, and replaces the running version when the rebase is clean.\n",
"disable_model_invocation": false
},
{
"name": "use-jev",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"jev"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/use-jev/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use Jev, a general classifier, for typed choices, scores, and yes/no probabilities in software.",
"disable_model_invocation": false
},
{
"name": "uv",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"uv",
"uv.lock"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/uv/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "If the project uses uv, use this skill. Use this skill to create/manage Python projects and environments with `uv`, add/remove dependencies, sync a project from `uv.lock`, and run commands in the project environment.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/cache/skills/public-skills/skills/uv",
"scripts": [],
"references": [
"README.md"
],
"assets": []
}
},
{
"name": "vercel",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"vercel",
"preview deployment"
]
},
"source": "/Users/instructor/.openhands/cache/skills/public-skills/skills/vercel/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Deploy and manage applications on Vercel, including preview deployments and deployment protection. Use when working with Vercel-hosted projects or configuring Vercel deployments.",
"disable_model_invocation": false
},
{
"name": "templates/design-document-template",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/templates/design-document-template.md",
"inputs": [],
"is_agentskills_format": false,
"version": "1.0.0",
"disable_model_invocation": false
},
{
"name": "design-doc",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"design document",
"design doc",
"technical design",
"design template",
"write design",
"create design document"
]
},
"source": "/Users/instructor/.agents/skills/design-doc/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Provides guidance and templates for writing comprehensive technical design documents. Use when creating design docs, technical specifications, or architecture documents.",
"disable_model_invocation": false
},
{
"name": "faceless-explainer",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/faceless-explainer/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/faceless-explainer",
"scripts": [
"assemble-index.mjs",
"assemble-index.test.mjs",
"audio.mjs",
"audio.test.mjs",
"build-frame.mjs",
"captions.mjs",
"captions.test.mjs",
"frame-packets.mjs",
"frame-packets.test.mjs",
"lib/assets.mjs",
"lib/bgm-volume.mjs",
"lib/captured-fonts.mjs",
"lib/dimensions.mjs",
"lib/frame-packets-core.mjs",
"lib/host-audio.mjs",
"lib/pad-frame-duration.mjs",
"lib/storyboard.mjs",
"lib/tokens.mjs",
"lib/transition-registry.mjs",
"lib/transitions.json",
"transitions.mjs",
"transitions.test.mjs"
],
"references": [
"cut-catalog.md",
"motion-language.md",
"story-design.md",
"visual-design.md"
],
"assets": []
}
},
{
"name": "find-skills",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/find-skills/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Helps users discover and install agent skills when they ask questions like \"how do I do X\", \"find a skill for X\", \"is there a skill that can...\", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.",
"disable_model_invocation": false
},
{
"name": "general-video",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/general-video/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/general-video",
"scripts": [
"frame-packets.mjs",
"frame-packets.test.mjs",
"lib/frame-packets-core.mjs"
],
"references": [],
"assets": []
}
},
{
"name": "hyperframes",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Mandatory entry point: read this first for any request to make, create, edit, animate, or render a video, animation, or motion graphic, including a promo, explainer, captioned clip, title card, overlay, slideshow or interactive deck, Remotion port, or any HyperFrames HTML composition. Also use it to inspect, diagnose, validate, preview, publish, or batch-render an existing HyperFrames project. Inputs may be a website URL, GitHub PR, Figma design or URL, text or brief, existing footage, or music. It resumes project state, captures intent when applicable, selects and installs the owning workflow, and routes domain capabilities. HyperFrames is the default output framework unless the user explicitly chooses another framework for the deliverable or asks only to record a browser session.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes",
"scripts": [
"lib/frame-packets-core.mjs",
"plugin-cli.mjs",
"plugin-cli.test.mjs"
],
"references": [
"brief-contract.md",
"brief-format.md",
"capability-menu.md",
"frame-worker-core.md",
"intent-interview.md",
"pitch-round.md",
"plugin-installation.md",
"production-loop.md",
"review-loop.md",
"route-briefs.md",
"routes/embedded-captions.md",
"routes/faceless-explainer.md",
"routes/general-video.md",
"routes/motion-graphics.md",
"routes/music-to-video.md",
"routes/pr-to-video.md",
"routes/product-launch-video.md",
"routes/remotion-to-hyperframes.md",
"routes/slideshow.md",
"routes/talking-head-recut.md",
"script-format.md",
"skill-lifecycle.md",
"storyboard-format.md",
"subagent-dispatch.md",
"workflow-catalog.md"
],
"assets": []
}
},
{
"name": "hyperframes-animation",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-animation/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-animation",
"scripts": [
"animation-map-sampling.mjs",
"animation-map-sampling.test.mjs",
"animation-map.mjs",
"animation-map.test.mjs",
"package-loader.mjs",
"package-loader.test.mjs"
],
"references": [
"motion-blur.md"
],
"assets": []
}
},
{
"name": "hyperframes-audio",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-audio/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use when audio already placed in a HyperFrames composition needs to be mixed: fade-in/fade-out, crossfade, track gain or volume, volume automation, ducking, a music bed that fights a voiceover (voiceover carve), effects on a track (EQ, compressor, limiter, gate, saturation, delay, reverb, chorus, phaser, bitcrush), automation envelopes drawn on a track's volume or any effect parameter, or one submix bus carrying a chain, a fader and an automation clock for several tracks at once (`<hf-audio-group>`). Don't use for sourcing or generating audio — finding BGM, SFX, or making a voiceover is `/media-use`. Don't use for clip timing or track layout, which is `/hyperframes-core`.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-audio",
"scripts": [
"carve.mjs",
"carve.test.mjs"
],
"references": [
"attributes.md",
"diagnosis.md",
"fx-registry.md",
"presets.md"
],
"assets": []
}
},
{
"name": "hyperframes-cli",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-cli/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, timeline, history, clean, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-cli",
"scripts": [],
"references": [
"beats.md",
"cloud.md",
"cloudrun.md",
"compare-and-batch.md",
"doctor-browser.md",
"init-and-scaffold.md",
"lambda.md",
"lint-validate-inspect.md",
"preview-render.md",
"upgrade-info-misc.md"
],
"assets": []
}
},
{
"name": "hyperframes-core",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-core/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-core",
"scripts": [],
"references": [
"composition-patterns.md",
"creator-editing-recipes.md",
"data-attributes.md",
"determinism-rules.md",
"full-screen-motion.md",
"minimal-composition.md",
"sub-compositions.md",
"tailwind.md",
"tracks-and-clips.md",
"variables-and-media.md"
],
"assets": []
}
},
{
"name": "hyperframes-creative",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-creative/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-creative",
"scripts": [
"contrast-report.mjs",
"extract-audio-data.py",
"package-loader.mjs",
"package-loader.test.mjs"
],
"references": [
"audio-reactive.md",
"beat-direction.md",
"composition-patterns.md",
"data-in-motion.md",
"design-adherence.md",
"design-picker.md",
"design-spec.md",
"house-style.md",
"motion-principles.md",
"narration.md",
"prompt-expansion.md",
"story-spine.md",
"storyboard-recipe.md",
"typography.md",
"video-composition.md",
"visual-styles.md"
],
"assets": []
}
},
{
"name": "hyperframes-keyframes",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-keyframes/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use when a HyperFrames composition needs a punch-in, punch-out, zoom, reframe, Ken Burns treatment, camera move, visual match/whip handoff, or other seek-safe 2D/3D keyframes; also for GSAP, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-keyframes",
"scripts": [],
"references": [
"keyframe-patterns.md"
],
"assets": []
}
},
{
"name": "hyperframes-registry",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-registry/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Search, install, and wire registry blocks and components into HyperFrames compositions. Use BEFORE hand-building any named visual — whenever a brief, a user, or a storyboard names a look, effect, treatment, or transition such as CRT scanlines, glitch, chromatic aberration, film grain, a shimmer sweep, a chart, a code or terminal window, a map, or a confetti burst — because roughly 400 hosted items already cover many of them and the search ranks all of them with nothing installed, no project, and no account. Also use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/hyperframes-registry",
"scripts": [],
"references": [
"component-quality-bar.md",
"contributing.md",
"demo-html-pattern.md",
"discovery.md",
"install-locations.md",
"placeholder-material.md",
"templates.md",
"wiring-blocks.md",
"wiring-components.md"
],
"assets": []
}
},
{
"name": "hyperframes-studio",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/hyperframes-studio/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use when working with a person on a HyperFrames project in Studio: first, whether their message asks for a change at all (questions, loose ideas and \"don't change anything\" get an answer and a plan, not an edit); for a new film, the plan, storyboard and build order that the HyperFrames launch films follow; and how the timeline should be laid out so it reads well (one caption track, one element kind per track, every scene a sub-composition) and where captions and key content may sit (safe zones). Don't use for how to perform an individual edit (split, trim, retime, volume, copy, swap): that is `creator-editing-recipes.md` in `/hyperframes-core`.\n",
"disable_model_invocation": false
},
{
"name": "media-use",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/media-use/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Agent Media OS for a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal. When the host app provides its own music or sound-effect tools, use those for music and sound effects; `resolve --type bgm|sfx` needs the heygen CLI. When `HEYGEN_API_BASE` is set, HeyGen calls go through that host with no CLI sign-in.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/media-use",
"scripts": [
"audio-duck.mjs",
"compatibility.test.mjs",
"dither.mjs",
"dither.test.mjs",
"eval.mjs",
"lib/config-lock.mjs",
"lib/cutlist.mjs",
"lib/duck.mjs",
"lib/error-diffusion.mjs",
"lib/index-gen.mjs",
"lib/manifest.mjs",
"lib/media-fetch.mjs",
"lib/media-home.mjs",
"lib/npx-sync.mjs",
"lib/parakeet-words.mjs",
"lib/prefs-store.mjs",
"lib/recipe-store.mjs",
"lib/telemetry.mjs",
"lib/transcriptCutFade.mjs",
"lib/words.mjs",
"prefs.mjs",
"recipe.mjs",
"resolve-plugin.test.mjs",
"resolve.mjs",
"transcribe.mjs",
"transcribe.test.mjs",
"transcript-cut.mjs",
"transcript-cut.test.mjs"
],
"references": [
"audio.md",
"grading.md",
"media-treatment-recipes.md",
"media-treatments.md",
"memory.md",
"meta.md",
"operations.md",
"resolve.md",
"setup-providers.md",
"telemetry-dashboard.md"
],
"assets": []
}
},
{
"name": "motion-graphics",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/motion-graphics/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.\n",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/motion-graphics",
"scripts": [],
"references": [
"builder-contract.md",
"motion-vocabulary.md",
"shot-plan-ir.md"
],
"assets": []
}
},
{
"name": "openhands-cloud-api",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"openhands api",
"openhands cloud api",
"conversation events",
"v1 api",
"OH_API_KEY",
"debug conversation",
"conversation history",
"inspect conversation"
]
},
"source": "/Users/instructor/.agents/skills/openhands-cloud-api/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Query and debug OpenHands Cloud conversations using the V1 API. Use when investigating conversation events, debugging agent issues, or accessing conversation history on app.all-hands.dev.",
"disable_model_invocation": false
},
{
"name": "openhands-conversations-api",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/openhands-conversations-api/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use OpenHands Cloud V1 app conversations through the API. Use this when you need to create conversations, poll start tasks, inspect conversation records, and read event streams from the app server.",
"disable_model_invocation": false
},
{
"name": "openhands-current-guidance",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/openhands-current-guidance/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Use whenever working with OpenHands, OpenHands Enterprise or Replicated, automations, agent conversations, skills, plugins, runtime images, or integrations. Establish the deployed version and consult repo-local guidance, the current official OpenHands extensions skills, and tested local Enterprise overlays before making changes.",
"disable_model_invocation": false
},
{
"name": "orchestrate-multi-agent-conversations",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/orchestrate-multi-agent-conversations/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Design, implement, debug, and validate reliable OpenHands parent-child or multi-agent conversation workflows. Use for Conversation V1 orchestration, delegated work cells, parent factories, child startup and polling, Enterprise Replicated conversation state, runtime secret handoff, output contracts, timeout recovery, human approval gates, or failures where child conversations finish, pause, lose status, omit final responses, or start in the wrong repository.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/orchestrate-multi-agent-conversations",
"scripts": [
"validate_child_contract.py"
],
"references": [
"enterprise-openhands.md",
"prompt-contracts.md"
],
"assets": []
}
},
{
"name": "product-launch-video",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/product-launch-video/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/product-launch-video",
"scripts": [
"assemble-index.mjs",
"assemble-index.test.mjs",
"audio.mjs",
"audio.test.mjs",
"build-frame-colors.test.mjs",
"build-frame-subsets.test.mjs",
"build-frame.mjs",
"captions.mjs",
"captions.test.mjs",
"capture-skill-guardrails.test.mjs",
"frame-packets.mjs",
"frame-packets.test.mjs",
"lib/assets.mjs",
"lib/bgm-volume.mjs",
"lib/captured-fonts.mjs",
"lib/dimensions.mjs",
"lib/frame-packets-core.mjs",
"lib/host-audio.mjs",
"lib/pad-frame-duration.mjs",
"lib/pad-frame-duration.test.mjs",
"lib/storyboard.mjs",
"lib/tokens.mjs",
"lib/tokens.test.mjs",
"lib/transition-registry.mjs",
"lib/transitions.json",
"media-contract.test.mjs",
"stage-assets.mjs",
"stage-assets.test.mjs",
"transitions.mjs",
"transitions.test.mjs"
],
"references": [
"cut-catalog.md",
"motion-language.md",
"story-design.md",
"visual-design.md"
],
"assets": []
}
},
{
"name": "typefully",
"content": "[REDACTED: unrelated ambient skill definition]",
"source": "/Users/instructor/.agents/skills/typefully/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Create, schedule, and manage social media posts via Typefully. ALWAYS use this skill when asked to draft, schedule, post, or check tweets, posts, threads, or social media content for Twitter/X, LinkedIn, Threads, Bluesky, or Mastodon, or when the user drops a Typefully draft URL such as https://typefully.com/?a=<social_set_id>&d=<draft_id>.\n",
"allowed_tools": [
"Bash(./scripts/typefully.js:*)"
],
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.agents/skills/typefully",
"scripts": [
"typefully.js"
],
"references": [
"comments.md",
"local-development.md",
"platforms/linkedin.md",
"platforms/x-articles.md",
"platforms/x.md",
"setup.md"
],
"assets": []
}
},
{
"name": "conversation-history-search",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"search past conversations",
"previous conversation",
"conversation history",
"earlier agent work",
"what we did before"
]
},
"source": "/Users/instructor/.openhands/skills/installed/conversation-history-search/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "This skill should be used when the user asks to \"search past conversations\", \"find a previous conversation\", \"look through conversation history\", \"recall earlier agent work\", \"find what we did before\", or locate decisions, commands, errors, and solutions from prior Agent Canvas conversations.",
"disable_model_invocation": false,
"resources": {
"skill_root": "/Users/instructor/.openhands/skills/installed/conversation-history-search",
"scripts": [
"__pycache__/search_history.cpython-312.pyc",
"search_history.py"
],
"references": [],
"assets": []
}
},
{
"name": "autodocs",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"autodocs",
"openwiki",
"repo docs",
"documentation automation",
"generate wiki",
"update wiki",
"gitnexus docs",
"agent docs"
]
},
"source": "/Users/instructor/.openhands/plugins/installed/autodocs/skills/autodocs/SKILL.md",
"inputs": [],
"is_agentskills_format": true,
"version": "1.0.0",
"description": "Generate and maintain durable repository documentation for humans and future coding agents. Use when asked to plan, initialize, update, repair, or automate repo docs, including OpenWiki-style docs and optional GitNexus-enriched docs.",
"disable_model_invocation": false
},
{
"name": "autodocs:init",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/autodocs:init"
]
},
"source": "/Users/instructor/.openhands/plugins/installed/autodocs/commands/init.md",
"inputs": [],
"is_agentskills_format": false,
"version": "1.0.0",
"description": "Initialize durable repository documentation for the current repository",
"disable_model_invocation": false
},
{
"name": "autodocs:plan",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/autodocs:plan"
]
},
"source": "/Users/instructor/.openhands/plugins/installed/autodocs/commands/plan.md",
"inputs": [],
"is_agentskills_format": false,
"version": "1.0.0",
"description": "Plan durable repository documentation without editing files",
"disable_model_invocation": false
},
{
"name": "autodocs:update",
"content": "[REDACTED: unrelated ambient skill definition]",
"trigger": {
"type": "keyword",
"keywords": [
"/autodocs:update"
]
},
"source": "/Users/instructor/.openhands/plugins/installed/autodocs/commands/update.md",
"inputs": [],
"is_agentskills_format": false,
"version": "1.0.0",
"description": "Update existing durable repository documentation from recent repository changes",
"disable_model_invocation": false
}
],
"load_user_skills": false,
"load_public_skills": false,
"marketplace_path": "marketplaces/default.json",
"registered_marketplaces": [],
"load_project_skills": true,
"load_memory": true,
"disabled_skills": [],
"current_datetime": "2026-10-17T17:30:07.517757-05:00"
},
"system_prompt_filename": "system_prompt.j2",
"security_policy_filename": "security_policy.j2",
"system_prompt_kwargs": {
"llm_security_analyzer": true
},
"condenser": {
"llm": {
"model": "openhands/deepseek-v4-flash",
"api_key": null,
"auth_type": "api_key",
"openrouter_site_url": "https://docs.all-hands.dev/",
"openrouter_app_name": "OpenHands",
"num_retries": 2,
"retry_multiplier": 8.0,
"retry_min_wait": 8,
"retry_max_wait": 64,
"timeout": 120,
"stream_idle_timeout": 120.0,
"max_message_chars": 30000,
"max_output_tokens": 16384,
"api_mode": "auto",
"capability_overrides": {},
"stream": false,
"drop_params": true,
"disable_stop_word": false,
"caching_prompt": true,
"log_completions": false,
"log_completions_folder": "logs/completions",
"native_tool_calling": true,
"reasoning_effort": "none",
"enable_encrypted_reasoning": true,
"prompt_cache_retention": "24h",
"extended_thinking_budget": 200000,
"usage_id": "condenser",
"litellm_extra_body": {},
"is_subscription": false
},
"max_size": 240,
"keep_first": 2,
"minimum_progress": 0.1,
"hard_context_reset_max_retries": 5,
"hard_context_reset_context_scaling": 0.8,
"kind": "LLMSummarizingCondenser"
},
"tool_concurrency_limit": 1,
"kind": "Agent"
},
"kind": "ConversationStateUpdateEvent"
}