dotai skill
Eleven skills for Claude Code and Codex: test audit, git worktree cleanup, plan pages, screen recording transcripts and 1Password sign-in
- 1,158 ★ on the repository
- Last commit
Broad access
Why this level
- `cleanup` removes git worktrees and cache folders with git worktree remove --force, and `test-audit` deletes and rewrites tests
- `passwords` works with passwords and one-time codes through 1Password and a Keychain token
- `video-transcripts` uploads video to Gemini and, for private attachments, uses GitHub tokens and Linear cookies
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/dotaiDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- `cleanup` removes git worktrees and cache folders with git worktree remove --force, and `test-audit` deletes and rewrites tests
- `passwords` works with passwords and one-time codes through 1Password and a Keychain token
- `video-transcripts` uploads video to Gemini and, for private attachments, uses GitHub tokens and Linear cookies
This is third-party code. Review the repository files before installing.
What it does
dotai is a set of 11 skills for Claude Code and Codex that the author built around his own workflow with the pstack plugin. The `test-audit` skill checks existing tests: it looks for assertion-free checks, copied fixtures, duplicates and tests that only keep test-only code alive. It confirms each candidate by mutating a scratch copy of the code and proposes to delete or rewrite a test only after the proof. The `cleanup` skill frees disk: from the session list and running processes it finds unused git worktrees and Next.js caches, and saves changes missing from the repository as a patch before removal. The other skills cover neighboring jobs. `plan-page` renders project plans into local HTML pages and publishes them to claude.ai for comments. `walkthrough` turns final screenshots into an annotated walkthrough. `video-transcripts` transcribes a screen recording through the Gemini Files API and returns XML with timestamps. `chips` keeps a list of suggested tasks, and `redo` reruns a past run at a higher effort or on a stronger model. `sync-pstack` sets pstack up in a project through an interview and keeps all projects on one version. `pstack-pulse` shows Claude Code and Codex sessions on the iPhone lock screen and in the Mac menubar. `rca` turns Remote Control on in every non-archived session of the Claude app, and `passwords` sets up 1Password sign-in without repeated approvals.
Who it is for. For developers who already use the pstack plugin or want to take single skills, above all the test audit and worktree cleanup.
Good fit when
- The test suite has grown and you need to find useless checks and remove each one with proof
- Git worktrees and Next.js caches from past agent sessions pile up on disk
- An agent's result should be handed back as a plan page published to claude.ai for comments
- A ticket has a screen recording and you need its text with timestamps
- Several pstack projects need to be aligned on one version and one block of rules
Not a fit when
- You need one universal skill for every case: the set is tailored to the author's workflow and some skills rely on pstack
- You need to write new tests: `test-audit` does not write them, it audits existing ones
- The system is not macOS: `passwords` and `pstack-pulse` are built around the Keychain and launchd
- You have no Gemini access: `video-transcripts` cannot transcribe a recording without it
Example request
Run /test-audit on the src/api folder and show for each candidate which failure the test really catchesLimitations
- The author did not state a license, so rights to use and copy are undefined; ask the author. The exception is `test-audit`: it is adapted from an openclaw skill and ships with its own MIT license file.
- The engineering method (poteto-mode, playbooks, principles) is not part of dotai: the `pstack@pstack-claude` plugin from michael-denyer/pstack-claude provides it. `chips`, `plan-page` and `sync-pstack` rely on files and helpers that `sync-pstack` installs.
- Requirements differ per skill. Node.js 22 and Git are needed for `chips`, `cleanup`, `plan-page`, `sync-pstack`. `passwords` needs macOS, the Keychain, the 1Password CLI and an account with service-account access. `pstack-pulse` needs macOS, launchd, sqlite3, an ActivitySmith account and Tailscale Funnel. `video-transcripts` needs ffmpeg, curl, jq and Gemini access.
- Installing a skill does not supply tools: when one is missing, the skill reports the action as unavailable instead of marking it passed.
- Skills are installed one at a time with an agent named. The default is a project install; the `--global` flag installs for the whole user.
How to disable. Delete the skill folder from the agent's skills directory: in the project or, if installed with `--global`, in the home folder. If you connected `pstack-pulse` or `passwords`, also check the launchd jobs and Keychain entries they require.
FAQ
How do I audit tests in Claude Code or Codex?
Call `/test-audit` and name a folder or files. The skill reads the test rules from `AGENTS.md`, splits a large scope into read-only lanes and builds a record for each candidate: the test name, the failure it catches according to a mutant, the calling code and the check command. Code is edited only after a report with evidence.
How do I safely remove unused git worktrees after agent sessions?
`/cleanup scan` only prints a table and removes nothing. Each row is marked `SAFE`, `ASK` or `KEEP` with a size and a reason. Worktrees where a session or process works stay. `/cleanup` removes the safe set and first saves changes missing from the repository as a patch in the `cleanup/` folder inside git.
Do I need the pstack plugin to use dotai?
Not for `test-audit`, `cleanup`, `walkthrough` and `video-transcripts`: install them separately with `npx skills add`. The `chips`, `plan-page` and `sync-pstack` skills rely on files and helpers that `sync-pstack` sets up, and the engineering method comes from the plugin itself.
How do I transcribe a ticket's screen recording with Gemini?
The `video-transcripts` skill runs a script with the recording URL or a local file and a short title. For private GitHub attachments the script uses `GITHUB_TOKEN`, `GH_TOKEN` or the `gh` token, and for private Linear uploads on macOS it tries the cookies of the local Linear app. The result is XML with timestamps.
What does the passwords skill do and what access does it get?
It signs in to sites and apps through 1Password: it takes a read-only service-account token from the macOS Keychain, finds the item by domain and account details and passes the password and one-time code straight into the verified form without printing them. It does not approve payments, account creation or consent: those need the owner's separate permission.
Discussion
No questions or reviews yet.
Related
SkillsA set of Claude Code utilities: background skills, expert agents, slash commands and prompt templates for development
Claude Code Skills and Agents
Claude Code Skills & Agents
A Claude Code plugin bundling skills and sub-agents: deep research, image generation, GitHub work, code review and model switching
The author's personal set: shared agent rules and dozens of skills for GitHub, the browser, macOS, messaging and releases, plus a sync script
A mirror of Lauren Tan's pstack set from Cursor: over 50 skills, the poteto-mode with 23 playbooks and 24 principles for strict agent work on code
A Claude Code plugin: 39 commands for PRs, review, commits and specs, nine expert roles and hooks, in eight language versions
A Claude Code skill that delegates tasks to OpenAI's Codex CLI for code analysis, review and edits
README in short
The documentation explains what each part owns. The `skills/` folder holds methods without product names or personal paths, `sync-pstack` installs pstack and keeps the shared rules block in `assets/block.md`, and project rules stay in the projects. The script `build-workflow.mjs` generates SKILLS.md: the list of skills by group, their requirements and install commands. Next to it sit a skill validation script and a manifest with file checksums.
README badge
Original SKILL.md
--- name: test-audit description: "Audit existing tests for low-value, duplicated or implementation-coupled cases and the test-only code they keep alive, then remove or rewrite them on evidence. Use for test-audit, /test-audit <scope>, a test sweep, or pruning tests. Not for writing a new test; the project's Tests rule gates that." --- # Test audit Adapted from openclaw's `test-audit` skill (MIT, OpenClaw Foundation; see [LICENSE](LICENSE)). Judge the result by how much the remaining tests can be trusted, never by how many were deleted. A test is worth keeping when it protects observable behavior, a credible regression, or an independent contract: a public API, protocol, config, migration, storage, security, platform, default, generated, package, release or architecture contract. Static or slow is never a reason to delete. ## Scope Take the user's scope, or the files they name. Read the root and scoped `AGENTS.md` first; their Tests rule is the bar for every test this audit keeps, rewrites or moves. Leave out skills and code installed from another repository. ## Discover, read-only 1. For a broad scope, split it into read-only lanes by owner area and run them in parallel. 2. For each candidate, read the whole test, its production owner, the owner's callers, the overlapping tests, CI routing and history. When a test claims behavior a dependency provides, read that dependency. 3. Prove what a test catches by mutating a scratch copy of its owner and running the test against it, never by editing the checkout. 4. Prefer a few high-confidence candidates over a long speculative list. Report the evidence before editing. ## Junk patterns - Assertion-free coverage probes. - Self-comparisons and identity copiers. - Copied fixtures, inventories, manifests or export lists. - Exact source, import or string greps, and regexes over prose. - Private predicate or call-shape tests that a test at the real boundary duplicates. - Duplicate invocations of the same contract, including a test this run just added and a test that builds its own fixture to recheck what a shared fixture already covers. - Tests whose only purpose is keeping a test-only export, global or wrapper alive. - Dead production code whose only callers are tests. - Expected values produced by the helper or renderer under test. - Mocks that implement the asserted behavior, or one mock standing in for different APIs. - Fixtures that supply what the owner should produce, or persistence asserted against a store the path never writes. - Assertions on a value the code returns as a constant, unless users are promised that value. - Negative controls that pass for an unrelated reason, such as a crash or a denial from a different guard. - Names or fixtures that promise more than the input exercises. - Tests coupled to historical documents or plans whose content keeps changing.