Configuring Horizon
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
A skill your agent uses when quickly generating a single OpenCLI command from a specific URL and goal description.
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/qiaomu-opencli-oneshot .claude/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .claude/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/qiaomu-opencli-oneshot .agents/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .agents/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/qiaomu-opencli-oneshot .cursor/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .cursor/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/joeseesun/qiaomu-opencli-skills.git --path qiaomu-opencli-oneshot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/qiaomu-opencli-oneshot .gemini/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .gemini/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/qiaomu-opencli-oneshot .github/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .github/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install joeseesun/qiaomu-opencli-skills qiaomu-opencli-oneshot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joeseesun/qiaomu-opencli-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/qiaomu-opencli-oneshot .opencode/skills/qiaomu-opencli-oneshot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qiaomu-opencli-oneshot" agent skill from https://github.com/joeseesun/qiaomu-opencli-skills/tree/main/qiaomu-opencli-oneshot into .opencode/skills/qiaomu-opencli-oneshot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qiaomu-opencli-oneshot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qiaomu-opencli-oneshotA skill your agent uses when quickly generating a single OpenCLI command from a specific URL and goal description.
Qiaomu Opencli Oneshot is an agent skill from joeseesun/qiaomu-opencli-skills. Use when quickly generating a single OpenCLI command from a specific URL and goal description. 4-step process — open page, capture API, write TS adapter, test. For full site exploration, use opencli-explorer instead.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs. The repository describes itself as: Use opencli CLI to interact with social/content websites (Bilibili, Zhihu, Twitter/X, YouTube, Weibo, 小红书, V2EX, Reddit, HackerNews, 雪球, BOSS直聘 etc.). The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4d9a08e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
x.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Qiaomu Opencli Oneshot loads about 1.4k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 108 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from joeseesun/qiaomu-opencli-skills at commit 4d9a08e, republished under its MIT licence (© joeseesun). 108 words, ~1,371 tokens.
.claude/skills/qiaomu-opencli-oneshot/SKILL.md (or your agent's skills folder).给一个 URL + 一句话描述,4 步生成一个 CLI 命令。 完整探索式开发请看 opencli-explorer skill。
| 项目 | 示例 |
|---|---|
| URL | https://x.com/jakevin7/lists |
| Goal | 获取我的 Twitter Lists |
1. browser_navigate → 打开目标 URL
2. 等待 3-5 秒(让页面加载完、API 请求触发)
3. browser_network_requests → 筛选 JSON API关键:只关注返回 application/json 的请求,忽略静态资源。
如果没有自动触发 API,手动点击目标按钮/标签再抓一次。
从抓包结果中找到那个目标 API。看这几个字段:
| 字段 | 关注什么 |
|---|---|
| URL | API 路径 pattern(如 /i/api/graphql/xxx/ListsManagePinTimeline) |
| Method | GET / POST |
| Headers | 有 Cookie? Bearer? CSRF? 自定义签名? |
| Response | 数据在哪个路径(如 data.list.lists) |
在 browser_evaluate 中用 fetch 复现请求:
// Tier 2 (Cookie): 大多数情况
fetch('/api/endpoint', { credentials: 'include' }).then(r => r.json())
// Tier 3 (Header): 如 Twitter 需要额外 header
const ct0 = document.cookie.match(/ct0=([^;]+)/)?.[1];
fetch('/api/endpoint', {
headers: { 'Authorization': 'Bearer ...', 'X-Csrf-Token': ct0 },
credentials: 'include'
}).then(r => r.json())如果 fetch 能拿到数据 → 用 TS adapter(cli() pipeline 或 func())。
如果 fetch 拿不到(签名/风控)→ 用 intercept 策略(TS func() + installInterceptor)。
根据 Step 3 判定的策略,选一个模板生成文件。
fetch(url) 直接能拿到? → Tier 1: public (TS pipeline, browser: false)
fetch(url, {credentials:'include'})? → Tier 2: cookie (TS pipeline 或 func())
加 Bearer/CSRF header 后拿到? → Tier 3: header (TS func())
都不行,但页面自己能请求成功? → Tier 4: intercept (TS func(), installInterceptor)func() 模式)// clis/<site>/<name>.ts
import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'mysite',
name: 'mycommand',
description: '一句话描述',
domain: 'www.example.com',
strategy: Strategy.COOKIE, // 或 Strategy.PUBLIC (加 browser: false)
browser: true,
args: [
{ name: 'limit', type: 'int', default: 20 },
],
columns: ['rank', 'title', 'value'],
func: async (page, kwargs) => {
await page.goto('https://www.example.com/target-page');
const data = await page.evaluate(`(async () => {
const res = await fetch('/api/target', { credentials: 'include' });
const d = await res.json();
return (d.data?.items || []).map(item => ({
title: item.title,
value: item.value,
}));
})()`);
return (data as any[]).slice(0, kwargs.limit).map((item, i) => ({
rank: i + 1,
title: item.title || '',
value: item.value || '',
}));
},
});// clis/<site>/<name>.ts
import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'mysite',
name: 'mycommand',
description: '一句话描述',
domain: 'www.example.com',
strategy: Strategy.INTERCEPT,
browser: true,
args: [
{ name: 'limit', type: 'int', default: 20 },
],
columns: ['rank', 'title', 'value'],
func: async (page, kwargs) => {
// 1. 导航
await page.goto('https://www.example.com/target-page');
await page.wait(3);
// 2. 注入拦截器(URL 子串匹配)
await page.installInterceptor('target-api-keyword');
// 3. 触发 API(滚动/点击)
await page.autoScroll({ times: 2, delayMs: 2000 });
// 4. 读取拦截的响应
const requests = await page.getInterceptedRequests();
if (!requests?.length) return [];
let results: any[] = [];
for (const req of requests) {
const items = req.data?.data?.items || [];
results.push(...items);
}
return results.slice(0, kwargs.limit).map((item, i) => ({
rank: i + 1,
title: item.title || '',
value: item.value || '',
}));
},
});import { cli, Strategy } from '@jackwener/opencli/registry';
cli({
site: 'twitter',
name: 'mycommand',
description: '一句话描述',
domain: 'x.com',
strategy: Strategy.HEADER,
browser: true,
args: [
{ name: 'limit', type: 'int', default: 20 },
],
columns: ['rank', 'name', 'value'],
func: async (page, kwargs) => {
await page.goto('https://x.com');
const data = await page.evaluate(`(async () => {
const ct0 = document.cookie.match(/ct0=([^;]+)/)?.[1];
if (!ct0) return { error: 'Not logged in' };
const bearer = 'AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D...';
const res = await fetch('/i/api/graphql/QUERY_ID/Endpoint', {
headers: {
'Authorization': 'Bearer ' + decodeURIComponent(bearer),
'X-Csrf-Token': ct0,
'X-Twitter-Auth-Type': 'OAuth2Session',
},
credentials: 'include',
});
return res.json();
})()`);
// 解析 data...
return [];
},
});npm run build # 语法检查
opencli list | grep mysite # 确认注册
opencli mysite mycommand --limit 3 -v # 实际运行写完文件 → build → run → 提交。有问题再看 opencli-explorer skill。
© joeseesun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in qiaomu-opencli-oneshot of joeseesun/qiaomu-opencli-skills.
Open the folder on GitHubat commit 4d9a08e
Qiaomu Opencli Oneshot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Qiaomu Opencli Oneshot this skilljoeseesun/qiaomu-opencli-skills | 993 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT | |
| Nestjs Best Practicesrolling-scopes/rsschool-app | 10k | 6 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Sub2API AdminWei-Shaw/sub2api | 44k | 1 repos | ~717 | Automated safety check: Pass | LGPL-3.0 | |
| Firecrawl Build Onboardingfirecrawl/firecrawl | 190k | 1 repos | ~1.4k | Automated safety check: Notes | ISC | |
| Obsidian BasesAtmosphere/atmosphere | 3.8k | 22 repos | ~3.2k | Automated safety check: Pass | Apache-2.0 |
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
rolling-scopes/rsschool-app
NestJS best practices and architecture patterns for building production-ready applications.
Wei-Shaw/sub2api
Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.
firecrawl/firecrawl
Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.
Atmosphere/atmosphere
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.
coollabsio/coolify
ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.
joeseesun/qiaomu-opencli-skills
A skill your agent uses when running OpenCLI commands to interact with websites (Bilibili, Twitter, Reddit, Xiaohongshu, etc.), desktop apps (Cursor, Notion), or public APIs (HackerNews, arXiv).
joeseesun/qiaomu-opencli-skills
A skill your agent uses when creating a new OpenCLI adapter from scratch, adding support for a new website or platform, exploring a site's API endpoints via browser DevTools, or when a user asks to…
joeseesun/qiaomu-opencli-skills
Automatically fix broken OpenCLI adapters when commands fail.
joeseesun/qiaomu-opencli-skills
Make websites accessible for AI agents. An agent skill from joeseesun/qiaomu-opencli-skills.
Categories
A skill your agent uses when quickly generating a single OpenCLI command from a specific URL and goal description. Qiaomu Opencli Oneshot is an agent skill from joeseesun/qiaomu-opencli-skills. Use when quickly generating a single OpenCLI command from a specific URL and goal description.
Qiaomu Opencli Oneshot fits situations like: quickly generating a single OpenCLI command from a specific URL and goal description.
Run `npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a claude-code`. Or copy the skill folder (qiaomu-opencli-oneshot in joeseesun/qiaomu-opencli-skills) into .claude/skills/qiaomu-opencli-oneshot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a codex`. Or copy the skill folder (qiaomu-opencli-oneshot in joeseesun/qiaomu-opencli-skills) into .agents/skills/qiaomu-opencli-oneshot in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add joeseesun/qiaomu-opencli-skills --skill qiaomu-opencli-oneshot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qiaomu-opencli-oneshot, .gemini/skills/qiaomu-opencli-oneshot, .github/skills/qiaomu-opencli-oneshot and .opencode/skills/qiaomu-opencli-oneshot in your project.
Going by SKILL.md and its folder, Qiaomu Opencli Oneshot needs the command-line tools its instructions call (npm).
SKILL.md names 1 domain. In commands or code: x.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Qiaomu Opencli Oneshot is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Qiaomu Opencli Oneshot: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 44k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
joeseesun (a GitHub user) maintains it in joeseesun/qiaomu-opencli-skills, which has 993 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on April 9, 2026.
Source: joeseesun/qiaomu-opencli-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.