build-setup
Set up build environment and test fixtures for COBOL-to-Java migrations. Creates compilation infrastructure for both languages…
Create an automation that runs the comment-cleanup skill on GitHub repositories on a schedule - weekly by default - and opens one pull request per repository. Files are fingerprinted by git blob SHA and the record is kept in the automation KV store, so the agent only reads files
Claude Code
$ npx -y skills add openhands/extensions --skill github-comment-cleanup --agent claude-code
Codex
$ npx skills add openhands/extensions --skill github-comment-cleanup -a codex -y
Cursor
$ npx skills add openhands/extensions --skill github-comment-cleanup -a cursor -y
Gemini CLI
$ npx skills add openhands/extensions --skill github-comment-cleanup -a gemini-cli -y
GitHub Copilot
$ npx skills add openhands/extensions --skill github-comment-cleanup -a github-copilot -y
OpenCode
$ npx skills add openhands/extensions --skill github-comment-cleanup -a opencode -y
Windsurf
$ npx skills add openhands/extensions --skill github-comment-cleanup -a windsurf -y
name: github-comment-cleanup description: > Create an automation that runs the comment-cleanup skill on GitHub repositories on a schedule - weekly by default - and opens one pull request per repository. Files are fingerprinted by git blob SHA and the record is kept in the automation KV store, so the agent only reads files that changed since they were last examined. triggers: - /comment-cleanup:setup
This automation runs from the executable automation plugin at `plugins/github-comment-cleanup`. Do not copy or package code from this skill; it is only a setup guide for creating the plugin-spec automation. The cleanup rules themselves are the `comment-cleanup` skill, which the automation loads into each cleanup conversation.
For every configured repository:
1. Records the outcome of the conversation the previous run started, once it has stopped. With a pull request, each file keeps its original and its cleaned fingerprint; with `NO_CHANGES`, its original; after a failure, nothing, so its files are offered again. 2. Skips the repository while the pull request it opened is still open or the previous conversation is still running. 3. Shallow-clones the default branch and fingerprints each candidate file by git blob SHA. Recorded fingerprints are skipped without reading the file; files with no comments are recorded directly. Changed files are queued before never-seen ones, then by path. At most 50 files are queued per run (`max_files`, 1-50, default 50), within `max_bytes`; the rest wait for a later run. 4. Starts one conversation with `comment-cleanup` loaded and the queued paths in its first message. The agent edits, runs `verify_comment_only.py`, commits, pushes, and opens the pull request.
Ask the user which repositories to clean and whether any paths should be included or excluded before creating it.
Use `POST /api/automation/v1/plugin-spec` with this plugin source:
{
"source": "github:OpenHands/extensions",
"repo_path": "plugins/github-comment-cleanup",
"ref": "main"
}`ref` is `main` while this plugin is unreleased. After an `openhands-extensions` release includes it, prefer the matching release tag, for example `v<extensions-version>`.
For local Agent Canvas development from this checkout, use a local source instead:
{
"source": "/absolute/path/to/OpenHands/extensions",
"repo_path": "plugins/github-comment-cleanup"
}{
"name": "Weekly comment cleanup",
"plugin": {
"source": "github:OpenHands/extensions",
"repo_path": "plugins/github-comment-cleanup",
"ref": "main"
},
"config": {
"repos": ["owner/repo"],
"include": [],
"exclude": ["docs/legacy/*"],
"max_files": 50,
"max_bytes": 1000000,
"branch_prefix": "openhands/comment-cleanup",
"pull_request_mode": "draft"
},
"trigger": {
"type": "cron",
"schedule": "0 9 * * 1",
"timezone": "UTC"
}
}The authoritative config schema is in `plugins/github-comment-cleanup/.plugin/plugin.json` under `automation.config_schema`. Validate user-provided values against it before creating the automation. `include` and `exclude` are `fnmatch` globs, where `*` also matches `/`.
This repository is the public extensions registry for OpenHands. It contains reusable, shareable skills, plugins, and Agent Canvas Apps that customize agent behavior and interfaces. Skills overview docs: SDK skill guide:
Set up build environment and test fixtures for COBOL-to-Java migrations. Creates compilation infrastructure for both languages…
End-to-end COBOL to Java migration workflow. Handles build setup, mainframe dependency removal, and code migration with test…
Create a transformation guide for replacing mainframe-specific COBOL constructs with standard COBOL equivalents. Use when…
Apply mainframe dependency transformations to COBOL code using a pre-generated transformation guide. Converts CICS/VSAM…
Migrate COBOL code to idiomatic Java, preserving business logic while following Java best practices. Use for COBOL modernization…
A test skill that responds to the magic word "alakazam" with a specific phrase
Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.
Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration