Linux Service Triage
aAAaqwq/AGI-Super-Team
Diagnoses common Linux service issues using logs, systemd/PM2, file permissions, Nginx reverse proxy checks, and DNS sanity checks.
Manage Ghost CMS content over the Admin API — browse posts, pages, and tags, draft and publish content, schedule posts, and inspect site info from the terminal.
$ npx skills add magnus919/agent-skills --skill ghost -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install magnus919/agent-skills ghost --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/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ghost .claude/skills/ghost && 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 "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .claude/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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/magnus919/agent-skills/tree/main/ghostType 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 magnus919/agent-skills --skill ghost -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install magnus919/agent-skills ghost --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/ghost .agents/skills/ghost && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .agents/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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 magnus919/agent-skills --skill ghost -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install magnus919/agent-skills ghost --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/ghost .cursor/skills/ghost && 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 "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .cursor/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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/magnus919/agent-skills.git --path ghost--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 magnus919/agent-skills --skill ghost -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install magnus919/agent-skills ghost --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/ghost .gemini/skills/ghost && 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 "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .gemini/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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 magnus919/agent-skills ghostInstalls 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 magnus919/agent-skills --skill ghost -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/ghost .github/skills/ghost && 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 "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .github/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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 magnus919/agent-skills --skill ghost -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install magnus919/agent-skills ghost --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/ghost .opencode/skills/ghost && 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 "ghost" agent skill from https://github.com/magnus919/agent-skills/tree/main/ghost into .opencode/skills/ghost/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ghost", 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.
ghostManage Ghost CMS content over the Admin API — browse posts, pages, and tags, draft and publish content, schedule posts, and inspect site info from the terminal.
Ghost is an agent skill from magnus919/agent-skills. Manage Ghost CMS content over the Admin API — browse posts, pages, and tags, draft and publish content, schedule posts, and inspect site info from the terminal. Do not use this skill for Ghost server installation or site administration (installing, nginx, SSL, systemd, updates); those belong to the official npm ghost-cli tooling.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/admin-auth-and-basics.md`). Compatibility notes: Requires GHOSTURL and GHOSTADMINKEY env vars. Admin key in "id:secret" format from Ghost Admin → Integrations. Python 3.8+ and the requests library.
It sits in DevOps & Cloud, covering Cloud networking and Linux administration. It works with NGINX, npm and Linux. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c545c2b. 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.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
jqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GHOST_ADMIN_KEYRECORD_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires GHOST_URL and GHOST_ADMIN_KEY env vars. Admin key in "id:secret" format from Ghost Admin → Integrations. Python 3.8+ and the `requests` library.
From compatibility in the SKILL.md frontmatter.
Ghost loads about 2.4k tokens when it runs, and up to ~8.9k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 804 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); the scripts in this folder are not scanned.
The full file from magnus919/agent-skills at commit c545c2b, republished under its MIT licence (© magnus919). 804 words, ~2,353 tokens.
.claude/skills/ghost/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Drive a Ghost CMS site's Admin API (v5/v6, Accept-Version: v6.0): list posts by status including drafts, create and publish pages and posts, manage tags, and check site info. Drafts, scheduled posts, and published content are all visible here because every call authenticates with a per-request Admin JWT built from your id:secret integration key.
export GHOST_URL="https://your-ghost-site.com"
export GHOST_ADMIN_KEY="<RECORD_KEY>" # id:secret from Ghost Admin → Integrationsid:secret). The separate Content API key from the same screen will NOT let you see drafts; see Known Gotchas.kid header carrying the id half, audience /admin/, exp five minutes after iat, sent as Authorization: Ghost <token>. You never handle the token yourself.--help and --dry-run work without credentials (lazy auth).ghost site # title, url, description, version
ghost get-post POST_ID # full record incl. exact updated_at for editsghost posts # latest 20
ghost posts --status draft # unpublished work queue
ghost posts --status scheduled # what publishes next
ghost posts --limit 100 --page 2 # paginate (max page size 100)
ghost posts --order "updated_at desc" # SQL-style ordering
ghost pages # static pages
ghost tags # tags with usage countsghost create-post --title "Notes" # safe default: draft
ghost create-post --title "Hello" --html "<p>Hi</p>"
ghost create-post --title "Launch" --status published --html "<p>We're live</p>"
ghost create-post --title "Later" --status scheduled \
--published-at "2026-09-01T09:00:00.000Z" # future ISO-8601 required together
ghost create-page --title "About" --html "<p>…</p>" --slug about
ghost create-tag --name "Engineering" --description "Technical posts"ghost update-post POST_ID --title "New title" \
--updated-at "<RECORD_UPDATED_AT>" # REQUIRED: latest updated_at, re-read first
ghost update-post POST_ID --status published --updated-at "<RECORD_UPDATED_AT>"
ghost delete-post POST_ID # permanent, 204-style removalghost --json create-post --title "Release notes" > /tmp/post.json
id=$(jq -r '.post.id // .post_id // empty' /tmp/post.json)
ghost get-post "$id" # read fresh updated_at
ghost update-post "$id" --status published \
--updated-at "<exact string from get-post output>"Never fabricate updated_at; copy it verbatim from a fresh read or Ghost rejects the edit with HTTP 409 UpdateCollisionError.
for s in draft scheduled; do
ghost posts --status "$s" --json | jq -r '.posts[] | "\(.status)\t\(.title)\t\(.slug)"'
doneLoop pages by meta.pagination.next (surfaced as .page.next) instead of trusting totals:
page=1
while :; do
ghost posts --limit 100 --page "$page" --json > "/tmp/posts-$page.json"
jq -r '.posts[].id' "/tmp/posts-$page.json"
next=$(jq -r '.page.next // empty' "/tmp/posts-$page.json")
[ -z "$next" ] && break
page=$next; sleep 0.2
done--json works before or after the subcommand:
ghost --json posts # same as: ghost posts --jsonJSON shapes worth knowing:
{"total", "page": {pagination}, "posts": [...]}; detail/create emit the resource under its noun (post, page, tag, site)..page = {"page", "limit", "pages", "total", "next", "prev"}; next/prev are numbers or null.--dry-run --json emits the executed plan instead of results: {"dry_run": true, "method", "url", "params"/"json"} — preview the exact request before running it live.| Flag | Effect |
|---|---|
--json | Machine-readable JSON (position-independent) |
--dry-run | Print the planned API call (method, URL, payload) without executing |
--quiet | Suppress diagnostics |
--verbose | Debug logging |
status:draft are ignored rather than rejected. Everything this CLI does goes through the Admin API precisely so drafts and scheduled posts stay reachable.GHOST_ADMIN_KEY) signs mutations and reaches drafts. Never point scripts at the Content key and expect draft visibility.exp ≤ iat + 300) and the verifier caps token age too, so long batch jobs must re-sign per request (the CLI does). Skewed clocks break signing windows; keep NTP healthy.Authorization: Ghost, not Bearer. Bearer scheme answers 401 INVALID_AUTH_HEADER.updated_at fail with 409; relation arrays (tags, authors) replace wholesale rather than merge.--html requires source=html and stays lossy. Every write carrying an html payload (create-post, update-post, create-page) must send the ?source=html query flag — the CLI attaches it automatically, and dry-run plans show it in params — or Ghost parses the body as mobiledoc/lexical. Even with the flag, conversion is lossy: send proper Lexical, or wrap fixed markup in HTML card comments.limit=all; oversized limits silently return ≤100 rows, so always loop by next.Use this skill whenever the task is content workflow against a running Ghost site: browsing or exporting posts, drafting, publishing, scheduling, tag upkeep, page creation, or diagnosing those flows (auth errors, pagination, missing drafts).
Do not use it to install, host, or operate a Ghost server (ghost install, nginx/SSL/systemd setup, upgrades, backups) — that is Ghost's official npm ghost-cli site-management tool, unrelated despite the shared name. Not for other publishing platforms (WordPress, Hugo have their own tooling), not for theme development, and not for site configuration better done once in the Admin dashboard (staff accounts, membership tiers).
| File | Use it for |
|---|---|
| references/admin-auth-and-basics.md | Full JWT signing walkthrough, key format, audience/expiry rules, auth error table |
| references/content-vs-admin-api.md | Choosing between planes; the draft-visibility trap; diagnostic checklist |
| references/posts-pages-tags-endpoints.md | Endpoint map, field semantics, pagination loop, error envelope |
| references/worked-recipes.md | Copy-paste workflows: draft→publish, exports, scheduling, triage |
| references/gotchas-field-guide.md | Symptom-first incident lookup for auth, editing, volume problems |
scripts/ghost — executable Python CLI (stdlib + requests only). Flags above; lazy auth; structured logging.scripts/test_ghost.py — offline test suite (mocked HTTP, zero network).requests. Nothing listens, nothing installs; scope limited to one configured site via GHOST_URL.© magnus919, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts, references) in ghost of magnus919/agent-skills.
Open the folder on GitHubat commit c545c2b
Ghost 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 |
|---|---|---|---|---|---|---|
| Ghost this skillmagnus919/agent-skills | 116 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Linux Service TriageaAAaqwq/AGI-Super-Team | 105 | 2 repos | ~799 | Automated safety check: Pass | MIT | |
| Setup Cpu Proxy Serverdrawthingsai/draw-things-community | 582 | — | ~3.8k | Automated safety check: Pass | GPL-3.0 | |
| Aliyun Swas Managecinience/alicloud-skills | 397 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Frappe Ops DeploymentImpertio-Studio/Frappe_Claude_Skill_Package | 188 | — | ~2.4k | Automated safety check: Notes | MIT | |
| npm Proxysundial-org/awesome-openclaw-skills | 663 | — | ~440 | Automated safety check: Pass | None |
aAAaqwq/AGI-Super-Team
Diagnoses common Linux service issues using logs, systemd/PM2, file permissions, Nginx reverse proxy checks, and DNS sanity checks.
drawthingsai/draw-things-community
Set up and verify a new Draw Things CPU proxy and Envoy server using the scripts in Scripts/ServerManagement/CPUScript.
cinience/alicloud-skills
A skill your agent uses when managing Alibaba Cloud Simple Application Server (SWAS OpenAPI 2020-06-01) resources end-to-end, including querying instances, starting/stopping/rebooting, executing…
Impertio-Studio/Frappe_Claude_Skill_Package
A skill your agent uses when deploying Frappe/ERPNext to production, configuring Nginx or Supervisor, setting up Docker, enabling SSL, or hardening security.
sundial-org/awesome-openclaw-skills
Manage Nginx Proxy Manager (NPM) hosts, certificates, and access lists.
BagelHole/DevOps-Security-Agent-Skills
Apply CIS benchmarks and secure Linux servers. An agent skill from BagelHole/DevOps-Security-Agent-Skills.
magnus919/agent-skills
Organize durable agent research outputs as summaries, analysis, and evidence dossiers.
magnus919/agent-skills
Build portable, first-person colored ASCII city engines and small GIS-derived city packs.
magnus919/agent-skills
Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.
magnus919/agent-skills
A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…
magnus919/agent-skills
Use Docker Compose to define, run, debug, and harden multi-container applications.
magnus919/agent-skills
Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.
Categories
Manage Ghost CMS content over the Admin API — browse posts, pages, and tags, draft and publish content, schedule posts, and inspect site info from the terminal. Ghost is an agent skill from magnus919/agent-skills. Manage Ghost CMS content over the Admin API — browse posts, pages, and tags, draft and publish content, schedule posts, and inspect site info from the terminal.
Ghost fits situations like: ghost server installation; site administration (installing; those belong to the official npm ghost-cli tooling.
Run `npx skills add magnus919/agent-skills --skill ghost -a claude-code`. Or copy the skill folder (ghost in magnus919/agent-skills) into .claude/skills/ghost in your project. Claude Code loads it when a task matches its description.
Run `npx skills add magnus919/agent-skills --skill ghost -a codex`. Or copy the skill folder (ghost in magnus919/agent-skills) into .agents/skills/ghost 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 magnus919/agent-skills --skill ghost -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ghost, .gemini/skills/ghost, .github/skills/ghost and .opencode/skills/ghost in your project.
Going by SKILL.md and its folder, Ghost needs Python for the scripts in its folder, the command-line tools its instructions call (jq) and credentials named GHOST_ADMIN_KEY and RECORD_KEY. Our summary lists: Python 3; A credential in GHOST_ADMIN_KEY; A credential in RECORD_KEY. Compatibility (from SKILL.md): Requires GHOST_URL and GHOST_ADMIN_KEY env vars. Admin key in "id:secret" format from Ghost Admin → Integrations. Python 3.8+ and the `requests` library..
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Ghost is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ghost: Linux Service Triage (aAAaqwq/AGI-Super-Team, 105 stars), Setup Cpu Proxy Server (drawthingsai/draw-things-community, 582 stars), Aliyun Swas Manage (cinience/alicloud-skills, 397 stars) and Frappe Ops Deployment (Impertio-Studio/Frappe_Claude_Skill_Package, 188 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 116 GitHub stars. The repository holds 130 skills in this directory. The repository was last updated on October 8, 2026.
Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.