Mac Fleet Maintenance
steipete/agent-scripts
Inventories and maintains a fleet of Macs from a desired-state file: package updates, repo and Xcode sync, and disk, backup and security health reports.
Check DeepSeek API usage (balance, this month's spending, token breakdown by model, daily breakdown, and cache hit rate).
$ npx skills add OpenMinis/MinisSkills --skill deepseek-usage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OpenMinis/MinisSkills deepseek-usage --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/OpenMinis/MinisSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/deepseek-usage .claude/skills/deepseek-usage && 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 "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .claude/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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/OpenMinis/MinisSkills/tree/main/deepseek-usageType 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 OpenMinis/MinisSkills --skill deepseek-usage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OpenMinis/MinisSkills deepseek-usage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/deepseek-usage .agents/skills/deepseek-usage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .agents/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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 OpenMinis/MinisSkills --skill deepseek-usage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OpenMinis/MinisSkills deepseek-usage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/deepseek-usage .cursor/skills/deepseek-usage && 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 "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .cursor/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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/OpenMinis/MinisSkills.git --path deepseek-usage--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 OpenMinis/MinisSkills --skill deepseek-usage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OpenMinis/MinisSkills deepseek-usage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/deepseek-usage .gemini/skills/deepseek-usage && 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 "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .gemini/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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 OpenMinis/MinisSkills deepseek-usageInstalls 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 OpenMinis/MinisSkills --skill deepseek-usage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/deepseek-usage .github/skills/deepseek-usage && 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 "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .github/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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 OpenMinis/MinisSkills --skill deepseek-usage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OpenMinis/MinisSkills deepseek-usage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/deepseek-usage .opencode/skills/deepseek-usage && 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 "deepseek-usage" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/deepseek-usage into .opencode/skills/deepseek-usage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deepseek-usage", 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.
deepseek-usageCheck DeepSeek API usage (balance, this month's spending, token breakdown by model, daily breakdown, and cache hit rate).
Deepseek Usage is an agent skill from OpenMinis/MinisSkills. Check DeepSeek API usage (balance, this month's spending, token breakdown by model, daily breakdown, and cache hit rate). Access the DeepSeek Open Platform through browseruse, automatically log in, and export monthly data. Users must configure their DeepSeek account in local environment variables. Triggered when the user says "check usage," "view token consumption," "check spending," "how much balance is left," or "how much was used today."
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires python3. DEEPSEEKEMAIL and DEEPSEEKPASSWORD env vars.
It sits in DevOps & Cloud, covering Secrets management and Browser automation. It works with DeepSeek. The repository describes itself as: Skills collection for Minis. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cb72d91. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml, bash and javascript).
From 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:
platform.deepseek.comcdnjs.cloudflare.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DEEPSEEK_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires python3. DEEPSEEK_EMAIL and DEEPSEEK_PASSWORD env vars.
From compatibility in the SKILL.md frontmatter.
Deepseek Usage loads about 2.1k tokens when it runs. Until then it costs about 115 tokens; SKILL.md has 535 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 OpenMinis/MinisSkills at commit cb72d91, republished under its MIT licence (© OpenMinis). 535 words, ~2,058 tokens.
.claude/skills/deepseek-usage/SKILL.md (or your agent's skills folder).⚠️ Security Notice This skill requires DeepSeek login credentials to work. Credentials are stored only in local environment variables. Minis does not upload them to any server. If you do not trust this method, delete this skill or do not set any credentials.
Add the following two variables in Minis Settings → Environment Variables:
| Variable Name | Description | Example Value |
|---|---|---|
DEEPSEEK_EMAIL | Your DeepSeek platform login email address | user@example.com |
DEEPSEEK_PASSWORD | Your DeepSeek platform login password | your_password_here |
🔗 Click here to open the environment variable settings
If your account uses a third-party login such as Google or WeChat, you cannot use this skill.
[ -n "$DEEPSEEK_EMAIL" ] && [ -n "$DEEPSEEK_PASSWORD" ] && echo "Configured" || echo "Not configured"Action:
- set_user_agent: desktop_chrome
- navigate: https://platform.deepseek.com/usage
- If not logged in, fill DEEPSEEK_EMAIL / DEEPSEEK_PASSWORD from environment variables and submit the login form
- wait_for_dom_stableexecute_js)The following JS script completes all logic: get token → download ZIP → unzip → parse CSV → output.
Run the entire JS script as the argument to execute_js --script in a single execution.
(async () => {
// === Get summary text ===
// Extract with get_readable (done outside execute_js)
// === Get Token ===
const token = JSON.parse(localStorage.getItem('userToken')).value;
if (!token) return JSON.stringify({ error: 'no_token' });
// === Download zip ===
const resp = await fetch('https://platform.deepseek.com/api/v0/usage/export?month=5&year=2026', {
headers: { 'Authorization': 'Bearer ' + token }
});
const blob = await resp.blob();
// === Load JSZip ===
const script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js';
await new Promise(r => { script.onload = r; document.head.appendChild(script); });
// === Unzip ===
const zip = await JSZip.loadAsync(blob);
const costText = await zip.file('cost-2026-5.csv').async('text');
const amountText = await zip.file('amount-2026-5.csv').async('text');
// === Parse cost (fees) ===
// ⚠️ Header: user_id, utc_date, model, wallet_type, cost, currency
const costLines = costText.trim().split('\n').slice(1);
const modelCost = {};
let totalCost = 0;
for (const line of costLines) {
const p = line.split(',');
const model = p[2], cost = parseFloat(p[4]) || 0;
modelCost[model] = (modelCost[model] || 0) + cost;
totalCost += cost;
}
// === Parse amount (usage, filter by date as needed) ===
// ⚠️ Header: user_id, utc_date, model, api_key_name, api_key(sensitive!), type, price, amount
// ⚠️ Security warning: Column 5 is the plaintext api_key. Do not print entire lines! You must use index references.
const allLines = amountText.trim().split('\n').slice(1);
// Filtering rule: if the user asks about today's usage, filter to today; if the user asks about this month's usage, use the full month
// Default is today. For today's usage, uncomment the following line:
// const targetDate = 'current date in YYYY-MM-DD format';
// const filteredLines = targetDate ? allLines.filter(l => l.split(',')[1] === targetDate) : allLines;
const filteredLines = allLines; // Default: full month
const models = {};
for (const line of filteredLines) {
const p = line.split(',');
const model = p[2], type = p[5], amount = parseInt(p[7]) || 0;
if (!models[model]) models[model] = { requests: 0, cache_hit: 0, cache_miss: 0, output: 0 };
if (type === 'request_count') models[model].requests += amount;
else if (type === 'input_cache_hit_tokens') models[model].cache_hit += amount;
else if (type === 'input_cache_miss_tokens') models[model].cache_miss += amount;
else if (type === 'output_tokens') models[model].output += amount;
}
// === Summary output ===
let result = '';
let gr = 0, go = 0, gh = 0, gm = 0;
for (const [m, d] of Object.entries(models)) {
const ti = d.cache_hit + d.cache_miss;
const hr = ti > 0 ? (d.cache_hit / ti * 100).toFixed(1) : '0.0';
const co = modelCost[m] || 0;
result += `${m}|${d.requests}|${d.output}|${d.cache_hit}|${d.cache_miss}|${ti}|${hr}|${co.toFixed(2)}\n`;
gr += d.requests; go += d.output; gh += d.cache_hit; gm += d.cache_miss;
}
const ti = gh + gm;
const hr = ti > 0 ? (gh / ti * 100).toFixed(1) : '0.0';
result += `TOTAL|${gr}|${go}|${gh}|${gm}|${ti}|${hr}|${totalCost.toFixed(2)}`;
return result;
})();⚠️ Note:
execute_jsreturns text wrapped in JSON. The AI needs to parsedata.textto get the actual result.
screenshot: current pageWhether to write the results to the daily log is decided by the user. Write only when the user explicitly asks.
Balance: ¥X.XX | Spent This Month: ¥X.XX
Image: Usage Screenshot
| Model | Requests | Output Tokens | Cache Hits | Cache Misses | Total Input Tokens | Cache Hit Rate | Cost |
|---|---|---|---|---|---|---|---|
| deepseek-v4-pro | X | X | X | X | X | X% | ¥X.XX |
| deepseek-v4-flash | X | X | X | X | X | X% | ¥X.XX |
| Total | X | X | X | X | X | X% | ¥X.XX |
Column 5 (index 4) of the amount CSV is the api_key field and contains the user's DeepSeek API Key in plaintext.
Requirements:
p[2], p[5], and p[7]; do not reference the entire lineapi_key content in any reply, log, or screenshot| Issue | Cause | Solution |
|---|---|---|
| Export button click has no effect | The export button is a <div>, not a <button> | Use querySelector to match the text "Export", then call .click() |
| browser_use fetch returns Missing Token | fetch does not include page cookies | Use execute_js instead to run fetch in the page context |
| JSZip fails to load | The import() method is not supported | Use document.createElement('script') to dynamically load the CDN |
| CSV parses to 0 records | Incorrect field indexes were guessed | First confirm the headers (8 columns for amount, 6 columns for cost), then reference by index |
| amount.csv contains plaintext API Key | Column 5 is api_key | Use column indexes during parsing; do not print the entire row |
| minis-browser-use CLI loses state across calls | Each call is a separate process | Put all JS logic in a single execute_js execution; do not pass state across navigate and execute_js |
© OpenMinis, 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 deepseek-usage of OpenMinis/MinisSkills.
Open the folder on GitHubat commit cb72d91
Deepseek Usage 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 |
|---|---|---|---|---|---|---|
| Deepseek Usage this skillOpenMinis/MinisSkills | 440 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Mac Fleet Maintenancesteipete/agent-scripts | 7.3k | — | ~4.8k | Automated safety check: Pass | MIT | |
| BrowserWing AdminMemTensor/MemOS | 12k | — | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| TabbitTabbit-Browser/dsh-tabbit | 102 | — | ~780 | Automated safety check: Pass | MIT | |
| Access Protected Vercel Deploymentvercel/vercel-plugin | 301 | — | ~1.9k | Automated safety check: Notes | Custom licence | |
| Live Debugmacro-inc/macro | 4.6k | — | ~2.4k | Automated safety check: Notes | AGPL-3.0 |
steipete/agent-scripts
Inventories and maintains a fleet of Macs from a desired-state file: package updates, repo and Xcode sync, and disk, backup and security health reports.
MemTensor/MemOS
Installs, configures and operates BrowserWing, a browser automation platform, covering Chrome setup, LLM provider configuration, and creating or running automation scripts.
Tabbit-Browser/dsh-tabbit
Control Tabbit Browser in a task-isolated Playwright workspace; never switch browser backends.
vercel/vercel-plugin
Access and test Vercel deployments protected by Vercel Authentication, SSO, or Deployment Protection.
macro-inc/macro
Debug the running local stack with traces, logs, and a shared headless browser.
czlonkowski/n8n-skills
Deploys a production n8n instance to a fresh Linux server over SSH with Docker Compose and Caddy HTTPS, in single or queue mode, and covers updates, backups and hardening.
OpenMinis/MinisSkills
Automate Android apps that have no public API or web version by driving the UI layer through the Accessibility Service.
OpenMinis/MinisSkills
Install and run OpenAI Codex CLI inside the Minis/iSH Alpine sandbox on iOS, where rustls TLS and async sockets are broken.
OpenMinis/MinisSkills
Score a claim against the evidence behind it. An agent skill from OpenMinis/MinisSkills.
OpenMinis/MinisSkills
HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.
OpenMinis/MinisSkills
Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.
OpenMinis/MinisSkills
Generate a mobile-first, immersive, Amap(Gaode)-style custom landmark marker HTML map for travel itinerary planning, place showcasing, location sharing, etc.
Works with
Categories
Check DeepSeek API usage (balance, this month's spending, token breakdown by model, daily breakdown, and cache hit rate). Deepseek Usage is an agent skill from OpenMinis/MinisSkills. Check DeepSeek API usage (balance, this month's spending, token breakdown by model, daily breakdown, and cache hit rate).
Deepseek Usage fits situations like: says check usage; view token consumption; how much balance is left; how much was used today.
Run `npx skills add OpenMinis/MinisSkills --skill deepseek-usage -a claude-code`. Or copy the skill folder (deepseek-usage in OpenMinis/MinisSkills) into .claude/skills/deepseek-usage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OpenMinis/MinisSkills --skill deepseek-usage -a codex`. Or copy the skill folder (deepseek-usage in OpenMinis/MinisSkills) into .agents/skills/deepseek-usage 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 OpenMinis/MinisSkills --skill deepseek-usage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deepseek-usage, .gemini/skills/deepseek-usage, .github/skills/deepseek-usage and .opencode/skills/deepseek-usage in your project.
Going by SKILL.md and its folder, Deepseek Usage needs credentials named DEEPSEEK_PASSWORD. Compatibility (from SKILL.md): Requires python3. DEEPSEEK_EMAIL and DEEPSEEK_PASSWORD env vars..
SKILL.md names 2 domains. In commands or code: platform.deepseek.com and cdnjs.cloudflare.com; the agent is likely to contact these 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.
Deepseek Usage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.2k 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 Deepseek Usage: Mac Fleet Maintenance (steipete/agent-scripts, 7.3k stars), BrowserWing Admin (MemTensor/MemOS, 12k stars), Tabbit (Tabbit-Browser/dsh-tabbit, 102 stars) and Access Protected Vercel Deployment (vercel/vercel-plugin, 301 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OpenMinis (a GitHub organization) maintains it in OpenMinis/MinisSkills, which has 440 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: OpenMinis/MinisSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.