Skip to content

Feat/ai implementations#17

Open
LovelessCodes wants to merge 7 commits into
releasefrom
feat/ai-implementations
Open

Feat/ai implementations#17
LovelessCodes wants to merge 7 commits into
releasefrom
feat/ai-implementations

Conversation

@LovelessCodes
Copy link
Copy Markdown
Collaborator

No description provided.

Add a workflow that automatically checks new issues, verifies the
account age of the submitter, and uses OpenCode to provide documentation
links or error handling guidance when appropriate
Add comprehensive documentation for Electrobun development, including:
- Debugging (electrobun-debugging)
- Distribution (electrobun-distribution)
- Native UI (electrobun-native-ui)
- React RPC (electrobun-react-rpc)
- RPC patterns (electrobun-rpc-patterns)
- Window management (electrobun-window-management)
- Core framework (electrobun)

Each skill provides detailed guidance for building desktop applications
with Electrobun, covering:
- Development workflows
- Debugging techniques
- Packaging and distribution
- Native UI integration
- Type-safe RPC communication
- Advanced window management patterns
Add use_github_token to opencode-triage and opencode workflows
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

Pull Request Review: feat/ai-implementations

This PR adds AI agent skill documentation for the coss UI library and electrobun desktop framework, plus OpenCode GitHub workflow integrations. Below is my review.


Critical Issues

1. Directory name typo breaks skill discovery

  • File: .agents/skills/electrobun-window-managerment/
  • Issue: The directory is named electrobun-window-managerment (missing the 'a' in "management"), but the skill name in the YAML frontmatter and system skill registry is electrobun-window-management. This mismatch means the skill file may not be discoverable by agents looking for the declared skill name.
  • Fix: Rename the directory to electrobun-window-management.

2. Invalid TypeScript syntax in async generator example

  • File: .agents/skills/electrobun-rpc-patterns/SKILL.md (line 429)
  • Issue:
    async* streamFile(path: string, chunkSize = 1024 * 64) {
    This is invalid TypeScript. async* is not a valid function declaration prefix.
  • Fix:
    async function* streamFile(path: string, chunkSize = 1024 * 64) {

3. Electron-isms in Electrobun documentation

Several APIs and patterns documented appear to be copied from Electron and may not exist in Electrobun:

  • File: .agents/skills/electrobun-debugging/SKILL.md

    • Lines 39-42: ELECTRON_ENABLE_DEVTOOLS=1 and ELECTRON_DISABLE_SECURITY_WARNINGS=true — These are Electron-specific environment variables. Electrobun is not Electron.
  • File: .agents/skills/electrobun-native-ui/SKILL.md

    • Lines 628-629: import { globalShortcut } from "electrobun/bun"; — Not documented in the core Electrobun skill.
    • Lines 684-712: import { Notification } from "electrobun/bun"; — Not documented in the core skill.
    • Lines 307-308: win.inspectElement(event.x, event.y) — Not documented in core skill.
    • Line 354: clipboard.write(context.linkUrl)clipboard is not imported or documented.
  • File: .agents/skills/electrobun-debugging/SKILL.md

    • Lines 533-536: win.webContents.session.webRequest.onBeforeRequestwebContents is an Electron API. Electrobun uses native OS webviews.
  • Fix: Verify these APIs against the actual Electrobun documentation (https://blackboard.sh/electrobun/) and remove or correct anything that doesn't exist.

4. Missing imports in code examples

Multiple code examples reference modules without importing them:

  • File: .agents/skills/electrobun-rpc-patterns/SKILL.md

    • path.join used in listFiles (line 109) but path is never imported.
    • fs.readdir used (line 106) but fs is never imported.
  • File: .agents/skills/electrobun-native-ui/SKILL.md

    • clipboard.write (line 354), copyImage (line 375), downloadImage (line 369) — none are imported or defined.
    • app.name (line 241) — app is not imported in that snippet context.
  • File: .agents/skills/electrobun-distribution/SKILL.md

    • path.join in save dialog (line 549) — path not imported.
  • File: .agents/skills/electrobun/SKILL.md

    • db.getUser in RPC example (line 115) — db is not defined/imported.
  • Fix: Add the missing imports or define the referenced variables in all examples.

5. Outdated GitHub Actions versions in CI examples

  • File: .agents/skills/electrobun-distribution/SKILL.md
  • Issue: The CI/CD example uses deprecated action versions:
    • actions/checkout@v3 (should be v4+)
    • actions/upload-artifact@v3 (deprecated, should be v4)
    • actions/download-artifact@v3 (deprecated, should be v4)
    • softprops/action-gh-release@v1 (very old)
    • oven-sh/setup-bun@v1 (could be newer)
  • Fix: Update to current stable versions.

Medium Priority Issues

6. Missing YAML frontmatter in one skill file

  • File: .agents/skills/electrobun-react-rpc/SKILL.md
  • Issue: All other electrobun skills include license: MIT and metadata: (author, version, repository) frontmatter. This file only has name and description.
  • Fix: Add consistent frontmatter.

7. Inconsistent use of CommonJS require() in ESM context

  • File: .agents/skills/electrobun-window-managerment/SKILL.md (lines 568-569)
  • Issue:
    const { screen } = require("electrobun/bun");
    The rest of the file uses ES module import syntax. This is inconsistent.
  • Fix: Use import { screen } from "electrobun/bun"; at the top of the snippet.

8. process.exit(0) used instead of app.quit()

  • File: .agents/skills/electrobun/SKILL.md (lines 177, 233)
  • Issue: Examples use process.exit(0) to quit the application. For desktop apps, app.quit() (which is documented in the same file) is the proper lifecycle method as it allows cleanup and event handling.
  • Fix: Replace process.exit(0) with app.quit() in menu/tray examples.

9. Potential API inaccuracy: mainWindow.webview.rpc

  • File: .agents/skills/electrobun-react-rpc/SKILL.md (line 100, 136)
  • Issue: The code uses mainWindow.webview.rpc?.send(...). The core electrobun skill shows win.rpc.updateUI(...) (directly on the window). If Electrobun's BrowserWindow exposes rpc directly, the webview.rpc indirection may be incorrect.
  • Fix: Verify the actual Electrobun API and align the React RPC skill with the core skill.

10. Inconsistent bash comment style in coss manual deps

  • Files: Various .agents/skills/coss/references/primitives/*.md
  • Issue: Some files use:
    # No extra runtime dependency required for this primitive.
    inside a bash code block (which is invalid shell syntax if copied). Others use plain text outside the block.
  • Fix: Move descriptive text outside of bash code fences.

Low Priority / Suggestions

11. Workflow consistency

  • File: .github/workflows/opencode-review.yml
  • Issue: The checkout step lacks a name: field, unlike the other two workflow files. Minor inconsistency.

12. opencode-triage.yml logic issue

  • File: .github/workflows/opencode-triage.yml
  • Issue: The account age check returns "true" or "false" as strings. The if: conditions compare with 'true' correctly, but the result-encoding: string approach is fragile. Using core.setOutput() or boolean outputs would be cleaner, though the current approach works.

13. Coss component registry paths

  • File: .agents/skills/coss/references/component-registry.md
  • Issue: Some paths reference ./references/primitives/<name>.md but the actual file paths use kebab-case (e.g., input-group.md, checkbox-group.md, number-field.md, otp-field.md, radio-group.md, scroll-area.md, toggle-group.md). The registry correctly uses these names, which is good.

14. Redundant repetition in input-group.md

  • File: .agents/skills/coss/references/primitives/input-group.md
  • Issue: The "Critical invariant" about DOM order is stated twice (lines 44 and 85).
  • Fix: Remove the duplicate.

Summary

Severity Count Categories
Critical 5 Directory typo, invalid TS syntax, Electron API inaccuracies, missing imports, outdated CI examples
Medium 5 Missing frontmatter, require() usage, process.exit(), potential API mismatch, bash comment style
Low 4 Workflow naming, triage logic, duplicate text

Recommendation: Address the critical issues before merging, especially the directory rename and the removal of unverified Electron APIs from the Electrobun skills, as these will directly impact the quality of code generated by AI agents consuming these skills.

New%20session%20-%202026-05-04T07%3A46%3A17.836Z
opencode session  |  github run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant