Agent Skills › jackwener/OpenCLI › opencli-adapter-author

opencli-adapter-author

GitHub

指导 Agent 基于站点行为、现有适配器和浏览器 API 证据,构建或优化 OpenCLI JS 适配器。涵盖策略选择、代码实现及测试验证流程。

skills/opencli-adapter-author/SKILL.md jackwener/OpenCLI

触发场景

需要为特定网站编写 OpenCLI 适配器 改进现有的 OpenCLI 适配器功能 分析站点网络请求以确定最佳实现方式

安装

npx skills add jackwener/OpenCLI --skill opencli-adapter-author -g -y
更多选项

不安装直接使用

npx skills use jackwener/OpenCLI@opencli-adapter-author

指定 Agent (Claude Code)

npx skills add jackwener/OpenCLI --skill opencli-adapter-author -a claude-code -g -y

安装 repo 全部 skill

npx skills add jackwener/OpenCLI --all -g -y

预览 repo 内 skill

npx skills add jackwener/OpenCLI --list

SKILL.md

Frontmatter
{
    "name": "opencli-adapter-author",
    "description": "Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.",
    "allowed-tools": "Bash(opencli:*), Bash(jsluice:*), Read, Edit, Write, Grep"
}

Adapter authoring

Choose the simplest implementation that reliably performs the requested task. Use an existing site adapter when it already covers the capability:

opencli list search --site example
opencli example search --help -f json

list returns {ok:true,data:{commands,total,nextOffset?}}; use --offset to continue, --limit to adjust page size. Detailed arguments belong in command help.

Evidence available to you

opencli browser open https://example.com --session research
opencli browser state --diagnostics --session research
opencli browser network --session research
opencli browser network --static --session research
opencli browser network --detail RequestKey --session research

Network captures describe observed requests. Static analysis adds candidates from loaded scripts without executing them. Inspect source locations, unresolved expressions and capture provenance. Replay read requests when useful and compare business data with the page. Write commands have real effects, including when run through adapter test; use a suitable test account or a supported dry-run.

Prefer public APIs with a stable contract when available. Browser fetch, captured responses, page state and semantic UI interactions are also valid choices. Select based on the task and observed reliability. Do not guess endpoint parameters or hide failed operations behind empty success results.

JS interface

Adapters are ordinary files under ~/.opencli/clis/<site>/<command>.js or repository clis/<site>/. There is no draft directory, promotion step or required memory file.

opencli adapter init example/search

The existing cli({...}) interface is unchanged: func(args) for Node execution, func(page, args) with browser: true. Reuse neighboring adapters and shared helpers. Return business data; the CLI adds the JSON success envelope. Throw a typed error with an actionable hint for failures. Use access: 'read'|'write' accurately. columns controls human table exports; JSON preserves nested results.

import { cli, Strategy } from '@jackwener/opencli/registry';

cli({
  site: 'example', name: 'search', description: 'Search example items',
  access: 'read', strategy: Strategy.PUBLIC, browser: false,
  args: [{ name: 'query', positional: true, required: true }],
  func: async (args) => {
    const response = await fetch(`https://example.com/api/search?q=${encodeURIComponent(args.query)}`);
    if (!response.ok) throw new Error(`Search failed: HTTP ${response.status}`);
    return response.json();
  },
});

Check and exercise

opencli adapter check example/search
opencli example search 'query'
opencli adapter test example/search --args '{"query":"query"}'

check validates definitions without executing adapters. test executes the normal CLI and optionally compares an existing fixture. --write-fixture, --update-fixture and --no-fixture control optional expectations; no row-shape or site-memory gate is imposed. --trace retain-on-failure helps diagnose browser execution.

For repository changes, cover the core behavior and failure paths with focused production-path tests, typecheck and build. Verify IDs, fields, units, pagination and empty/error semantics relevant to the task. Do not automatically replay a write with an unknown outcome; inspect state first.

Optional references

Read only what is useful for the current task: references/adapter-template.md for adapter patterns, api-discovery.md for request investigation, output-design.md for result fields, field-decode-playbook.md for opaque fields, and deep-recon.md for difficult private protocols. Site notes and fixtures are optional knowledge aids; older reference checklists are not mandatory workflows.

版本历史

  • e6174a9 当前 2026-10-19 12:22

    重构 CLI 工作流,简化适配器初始化、检查和测试命令;统一 JSON 结果与恢复错误处理;新增原生 Chrome 工具支持及能力发现功能。

  • 2413694 2026-09-28 04:35

    移除站点地图和外部 CLI 中心功能;升级 js-yaml 以修复安全漏洞

  • 90d5070 2026-08-28 14:43

    新增证据优先的深度侦察工作流程

  • 5256711 2026-07-25 10:05

同 Skill 集合

skills/opencli-autofix/SKILL.md
skills/opencli-browser-sitemap/SKILL.md
skills/opencli-browser/SKILL.md
skills/opencli-sitemap-author/SKILL.md
skills/opencli-usage/SKILL.md
skills/smart-search/SKILL.md
clis/antigravity/SKILL.md

元信息

文件数
0
版本
e6174a9
Hash
3aa9ac7f
收录时间
2026-07-25 10:05

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-20 21:45
浙ICP备14020137号-1