personal-ops-manual
Native macOS manual for your own setup: one Markdown page per machine, service and agent, read by every agent through MCP, written by one operator.
Install / Use
claude mcp add aka-kika -- npx -y github:aka-kika/personal-ops-manualIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Content & MediaSupported Platforms
Tags
Our assessment of personal-ops-manual
personal-ops-manual scores 76/100 on our quality scale, 1052nd of 1,177 Content & Media skills we index.
Its MCP Server is 8.3 KB long, well organised into 11 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so personal-ops-manual is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
personal-ops-manual compared with similar skills
All 4 of these similar skills score higher than personal-ops-manual; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| personal-ops-manual (this skill)by aka-kika | 76 | 10 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 98.8k | 1d ago | MCP Server |
Frequently asked questions
- How do I install personal-ops-manual?
- Run
claude mcp add aka-kika -- npx -y github:aka-kika/personal-ops-manual. The install tabs above show the steps for each supported agent. - Which AI agents does personal-ops-manual work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is personal-ops-manual safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is personal-ops-manual still maintained?
- The repository was last updated today, so personal-ops-manual is actively maintained.
Skill content
View source on GitHubPersonal Ops Manual
<p align="center"> <img alt="macOS 26 or newer" src="https://img.shields.io/badge/macOS-26%2B-000000?logo=apple&logoColor=white"> <img alt="Swift 6" src="https://img.shields.io/badge/Swift-6-F05138?logo=swift&logoColor=white"> <img alt="SwiftUI" src="https://img.shields.io/badge/SwiftUI-native-0A84FF"> <img alt="Notarized" src="https://img.shields.io/badge/Developer%20ID-notarized-2DA44E"> <img alt="MCP server" src="https://img.shields.io/badge/MCP-7%20tools-6E56CF"> <img alt="Markdown files" src="https://img.shields.io/badge/data-Markdown%20%2B%20YAML-555555"> <img alt="Version" src="https://img.shields.io/badge/release-2.2.4-blue"> <img alt="MIT license" src="https://img.shields.io/badge/license-MIT-green"> </p> <p align="center"><a href="https://ops-manual.akakika.com/">ops-manual.akakika.com</a> · <a href="https://github.com/aka-kika/personal-ops-manual/releases/latest">latest release</a></p>A native macOS app and an MCP server over one folder of Markdown pages that describe your setup: machines, services, launch agents, agents, MCP servers, domains, backups, recovery steps. The folder is the truth; the app and the server are two windows onto it. One operator writes, every other agent reads and reports.

- macOS 26 or newer. Swift 6, SwiftUI, XcodeGen, swift-markdown.
- Three columns: categories, pages, reader. Wiki links between pages, "Linked from", agent glyphs, a New and Edit sheet, search, settings.
mcp/server.mjs: seven tools for any MCP client, read-only on pages (list_categories,list_documents,search_documents,get_document,get_stale) plus an inbox (report_changeappends a line,list_reportsreads it) so readers can tell the operator what changed. Node 18 or newer.
One page per thing
Every machine, service, agent or domain gets exactly one page, and every page looks the same: one line that says what it is, a few short sections, links to the pages that belong with it, and a last line that says when someone last checked the facts and how.

Pages point at each other with [[links]]. Open a page and the app also
shows you which other pages point back at it, so nothing is ever a dead end.
At the bottom, a small Frontmatter section shows the page's properties: its
category, tags, dates and id.

The manual describes itself
The manual has a page about itself: where the files live, how to connect an agent, and who is allowed to change things. Anyone who opens the folder for the first time can read the rules right there.

Anything you have shipped gets a page too, under GitHub: what it is, where the website and the code are, the latest version, and how to install it. One place to look instead of five browser tabs.

Only the operator writes, and the folder can enforce it
Readers get no page write tools, but an agent with plain file access could
still edit a page. scripts/ops-lock.sh closes that gap with the macOS locked
flag (the Locked box in Finder's Get Info) on every page and on the folder
itself. Every app and agent on the Mac then gets "Operation not permitted" on
a write, whatever tool it uses. _inbox/ stays open, so report_change keeps
working.
scripts/ops-lock.sh status # locked or unlocked
scripts/ops-lock.sh unlock # for the operator; locks again after 30 min
scripts/ops-lock.sh lock # lock now
The app itself only reads (since 2.4.0): no editing, no new page, no trash.
Its one write is the inbox's "Out of date" sections, described below. list_reports also returns lines
someone typed into the inbox by hand under malformed, so none go unseen.
Drift: does the page still match the Mac?
A page can list the facts this Mac can confirm under checks: in its
frontmatter, one per line, and name its repo and folder:
repo: aka-kika/personal-ops-manual
path: ~/_KIKA_MAIN/_INFRA/apps/ops-manual
checks:
- app "Personal Ops Manual" 2.4.0 notarized
- mcp personal-ops-manual
- port 4319 node
- launchd com.akakika.socials running
- cli gh 2.103.3
The Drift row checks them (installed app version and notarization, MCP servers
in ~/.claude.json, listening ports, launch jobs, CLI versions) and, for
GitHub pages, the latest release and the repo folder. It lists the pages that
no longer match, with a score and what drags it down. Each check runs one fixed
program with fixed arguments; the page text never reaches a shell.
What is out of date goes into the inbox by itself, once, under
## Out of date: GitHub and ## Out of date: this Mac, placed before the
readers' reports. Every line has the report_change shape. A fact that holds
again leaves by itself; ticked lines are left for the operator. Drift never
edits a page.
The check also runs without the window, for the operator's run and the weekly maintenance:
scripts/opsmanual check # or: "/Applications/Personal Ops Manual.app/Contents/MacOS/Personal Ops Manual" --check
The app checks when Drift opens, by itself once a day (Settings > General > Drift), and again with the button in the window's top-right corner or Cmd-R. The score card follows the Health page of Cortex (MIT); ideas only, no code copied.
GitHub, MCP, Inbox
GitHub pages show as one A to Z list, a lock or globe before each name and
one dot when work is not saved yet; a repo's page shows its branch, uncommitted and unpushed
work, latest tag, open pull requests and, when the repo has GitHub Actions, its last build. The data comes from the
gh login already on the Mac and local git; the app holds no token. The two
MCP categories share one row and one A to Z list (a small person mark on your
own servers). A category with no page open shows what lives there, one status
line with a small ring, segments or date line, and the newest changes; without an
"<Category> overview" page it uses the category's page tagged index. The App Store
category reads each app's state from asc status (on sale, waiting for review, in
review, pending release, rejected) with days, version and price, when it opens and
on Cmd-R. The Inbox row shows the reports inside the app; with no line picked, it
shows _inbox/reports.md itself as a page.
Pages with status: parked or archived sit under one Parked row.
Install
brew install --cask aka-kika/tap/personal-ops-manual
Or download the zip from Releases, unzip, drop the app into /Applications.
Or build it: ./build.sh --install (ad hoc signed, for the machine you
build on).
Everything else, from the MCP install lines to the skills, is in the app's
Settings and in docs/FIRST-SETUP.md.
Docs
docs/FIRST-SETUP.md— standing the manual up on a new machinedocs/PHILOSOPHY.md— why only one agent writesdocs/HANDOFF.md— the code, how to build, known gapsdocs/AGENT-ICONS.md— the glyphs and where they came fromskill/— the reader skill for every agent and the operator skill for oneCONTRIBUTING.md— how to build, test, and send a change;LICENSEis MIT
Release
./release.sh builds with Developer ID, notarizes, staples, and zips;
--install replaces the installed app, --publish creates the GitHub
release. It reads the signing identity from a git-ignored release.env; the
script header says what goes in it.
Contributing
Issues and pull requests are welcome; CONTRIBUTING.md has the build steps
and the house style.
License
MIT. See LICENSE.
Related Skills
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
98.8k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
