pivoshenko
Userπ§ββοΈ My AI workspace focused on developer productivity and agentic efficiency
Categories
Indexed Skills (26)
spec-dispatch
Run an OpenSpec change's tasks in parallel β read the task queue, plan file-disjoint waves, dispatch one agent per task, verify, tick the boxes, commit. Use when the user says "dispatch the tasks", "run these tasks in parallel", "fan out the change", "/spec-dispatch", "implement this change with agents", or wants an OpenSpec change implemented by more than one agent at once. Fills the gap in OpenSpec's own `openspec-apply-change`, which is strictly serial and single-agent. Works with or without Herdr; chains to `herdr-dispatch` for the pane mechanics when inside it.
wiki-capture
Route anything into the Obsidian vault (second brain) β a thought, URL, concept, snippet, or the 00 INBOX backlog. Use when the user says "add to my wiki", "capture this", "note this down", "save to vault", "process my inbox" β and also on wiki-free phrasings like "jot this down", "remember this idea", "TIL", "interesting:", or whenever the user drops durable knowledge worth keeping. Files it under the right folder with template + frontmatter + wikilinks, updates INDEX.md and LOG.md.
wiki-lint
Maintenance sweep of the Obsidian vault β orphan notes, missing/invalid frontmatter, dead wikilinks, stale project statuses, INDEX.md drift, unprocessed inbox. Use when the user says "lint my wiki", "vault health check", "clean up my vault", "is my wiki up to date", or on a periodic review.
wiki-project
Create or update project pages in the Obsidian vault's 03 PROJECTS β status changes, decision log entries, milestones, meeting notes, future-project ideas. Use when the user says "log a decision for <project>", "update <project> status", "new project page", "what's the state of <project>", "we had a meeting about <project>", "add a project idea", or finishes a chunk of project work worth recording in the wiki.
blog-write
Write and edit blog posts for pivoshenko.dev β interrogate for raw material, outline as a dependency graph, confirm sections, draft section-by-section, run anti-slop edit passes, ship as MDX. Use when the user says "write a blog post", "draft a post about X", "edit/revise/improve this article", "tighten this draft", "turn this into a post", "publish to my blog", or shares notes/an experience meant for pivoshenko.dev. The goal is bespoke practitioner writing, not generic AI prose.
cloudflare-hygiene
Audit + harden + optimize live Cloudflare zones/domains β read-only sweep of each zone (SSL/TLS mode, HSTS, min TLS, TLS 1.3, Always-Use-HTTPS, Brotli, HTTP/3, 0-RTT, Early Hints, caching, security level, Bot Fight Mode, WAF, DNS proxy/TTL + SPF/DKIM/DMARC hygiene, DNSSEC) -> ok/attention/action report grouped by category -> per-category confirm -> apply via Cloudflare MCP. Use when the user says "harden my cloudflare", "optimize my cloudflare zones", "audit my domains", "check my cloudflare settings", "secure my dns", "harden my dns", "hide my origin IP", "set up HSTS/DNSSEC", "am I leaking my origin", "is my cloudflare config optimal", or "tune cloudflare". For BUILDING on Cloudflare (Workers/Pages/KV/D1/Terraform) use the cloudflare skill instead.
git-branch-create
Create a new git branch using a conventional naming scheme. Use when the user asks to create a branch, start a new branch, /git-branch-create, or begin work on a feature/fix. Also trigger on "start work on X", "spin up a branch for Y", "new ticket", "let's start Z", or whenever the user signals they're beginning a discrete new piece of work. Creates and checks out the branch immediately without asking for confirmation.
git-branch-sync
Fetch the latest base branch and rebase the current branch onto it, surfacing conflicts clearly. Use when the user asks to sync, rebase, update from main, pull latest changes, or /git-branch-sync. Also trigger on "catch up with main", "rebase onto main", "update my branch", or whenever the user signals their branch is stale vs base. Runs immediately without asking for confirmation.
git-branches-cleanup
Delete local git branches whose remote tracking branch is gone or whose changes are already merged into the base branch. Use when the user asks to clean up branches, prune branches, delete stale branches, or /git-branches-cleanup. Also trigger on "tidy git branches", "remove old branches", "I'm done with these branches", "branch graveyard", or whenever the user complains about local branch clutter. Reports what will be deleted and asks before deleting anything.
git-commit
Run git commit using Angular conventional commit format. Use when the user asks to commit, create a commit, /git-commit, or save changes to git. Also trigger on "snapshot this", "save my work", "check in changes", "wrap up", "ship this locally", or whenever the user finishes a logical unit of work and the tree is dirty. Boundary with `git-pr-create`: this skill owns only the explicitly local framing β bare "ship this" / "ship it" / "send for review" means the work should leave the machine, which is `git-pr-create`'s flow. Stages relevant files and commits immediately without asking for confirmation.
git-issue-create
Open one standalone GitHub issue with `gh` - duplicate-checked first, conventional title, repo-template-aware body, auto-resolved labels. Use for every issue-filing request no matter how casual: "open an issue", "file a bug", "create issue", "/git-issue-create", "track this", "make a ticket", "raise an issue", "note this down as an issue", "we should fix X later", or whenever the user describes a defect or a wanted capability that is clearly not being built right now. A one-liner ask still counts - this skill owns the whole flow (duplicate search, label resolution, title grammar, body caps), so a raw `gh issue create` skips all of it. Boundary: work starting NOW is not an issue - "let's start X" / "new ticket, begin" goes to `git-branch-create`, and picking up an issue that already exists goes to `git-issue-start`. Breaking one piece of work into a parent plus sub-issues is `git-spec-plan`. Creates the issue immediately without asking for confirmation.
git-issue-start
Take a GitHub issue from open to a checked-out branch - resolve it, assign it to you, mark it in progress if the repo has such a label, derive a conventional branch name from its `type: *` label, branch off the detected base. Use for "start issue 42", "work on #42", "/git-issue-start 42", "let's do 42", "pick up that issue", "take the oauth issue", "I'll take this one", or whenever the user points at a tracked issue and signals they are about to write code for it. Resolves an issue named by title instead of number via `gh issue list --search`. Boundary with `git-branch-create`: that skill owns branch naming and base detection and is the right call when there is no issue; this one is the issue-to-branch bridge and delegates naming to it. Assigns and branches immediately without asking for confirmation.
git-issue-triage
Groom an open GitHub backlog with `gh` - one read-only sweep, every open issue bucketed into exactly one category (unlabeled, unprioritized, stale, likely duplicate, closeable, blocked, healthy), a per-issue report, per-category confirmation, then batched label / state / comment edits. Use when the user says "triage issues", "groom the backlog", "clean up issues", "/git-issue-triage", "what's in the backlog", "any stale issues", "review my open issues", "the backlog is a mess", "nothing in here is labelled", or otherwise complains about issue clutter. Boundary with `git-issue-create`: that one writes a single new issue, this one only grooms issues that already exist. Boundary with `git-issue-start`: that one picks one issue up and branches, this one never starts work. Destructive - previews everything and confirms per category before touching anything.
git-pr-create
Open a GitHub pull request for the current branch using `gh` β conventional title, repo-template-aware body, auto-derived labels, push if needed. Use for every PR-creation request no matter how casual: "create/open/make/raise a PR", "PR this", "PR please", "send PR", "/git-pr-create", "open pull request", "ship this", "ship it", "send for review", "ready for review", "submit this", "publish this branch", or whenever the user signals work on a feature branch should leave their machine and go to GitHub. A one-liner ask still counts β this skill owns the whole flow (push, label derivation, title format, body template, safety rules), so reaching for a raw `gh pr create` skips all of it. Boundary with `git-commit`: an explicitly local framing ("commit this", "save my work", "ship this locally") stops at a commit and is `git-commit`'s, not this skill's. Pushes the branch and opens the PR immediately without asking for confirmation.
git-spec-dispatch
Execute a GitHub spec issue tree in parallel - read the parent's sub-issues, parse each Contract block, plan file-disjoint waves, dispatch one agent per sub-issue, verify, PR, close, repeat. Use when the user says "dispatch the spec", "run spec 40", "implement #40", "/git-spec-dispatch", "fan out that issue tree", "work the sub-issues in parallel", or hands over a parent issue and expects more than one agent on it. Boundary with `git-spec-plan`: that skill writes the tree (parent, sub-issues, Contract blocks) and this one runs it - a request to break work down, scope a spec, or draft sub-issues is `git-spec-plan`'s, not this skill's. Works with or without Herdr; chains to `herdr-dispatch` for the pane mechanics when inside it.
git-spec-plan
Turn a plan, design discussion, or feature request into a GitHub issue tree - one parent `spec:` issue plus native sub-issues, one per task, each carrying a machine-readable Contract block (`files:` / `needs:` / `verify:`) so the tasks can later be fanned out to parallel agents provably safely. Use when the user says "spec this out", "plan this as issues", "break this into tickets", "/git-spec-plan", "turn this into a spec", "decompose this", "what are the tasks for X", or whenever a design discussion has converged and needs to become tracked work. This is the planning half of spec-driven development; `git-spec-dispatch` is the execution half and reads exactly what this skill writes. Boundary with `git-issue-create`: one indivisible piece of work is a single issue, not a tree.
herdr-dispatch
Run a task list across parallel Herdr panes β measure the pane budget, split, start one agent per task, brief them, collect results from files, handle blocked workers, clean up. Use when the user says "dispatch these", "run these in parallel", "fan this out", "spin up agents", "/herdr-dispatch", or whenever work is delegated while `HERDR_ENV=1` and the `Herdr` instruction sends it to panes. The mechanics layer β `spec-dispatch` chains to this for OpenSpec changes. Requires HERDR_ENV=1.
humanize
Remove AI-writing tells from any prose, normalize punctuation to plain ASCII (em dash -> hyphen, curly quotes -> straight, ellipsis char -> "..."), and raise headings to Title Case. Use when the user says "humanize this", "make it sound human", "de-AI this", "this reads like ChatGPT", "remove AI patterns", or when editing/reviewing any prose (doc, README, PR description, commit message, email, post) that shows AI tells. The general-purpose de-AI pass for any prose, in any format, unless a more specific writing workflow already owns the piece. Skips agent-instruction files (CLAUDE.md, AGENTS.md, context.md, llms.txt, cursor rules) unless the user aims it at one - their terse fragment style is the working format, not a tell.
macos-cleanup
Deep-clean macOS β user/system junk (caches, logs, trash, iOS backups), leftovers from deleted apps, dev-tool junk (brew, docker, Xcode, npm/pnpm/uv/cargo caches, stale node_modules), disk-space breakdown + login-items audit. Use when the user says "clean my mac", "free up disk space", "disk is full", "what's eating my storage", "remove app leftovers", "my mac is slow", or any macOS storage/cleanup complaint. Health checks, updates, tune-up ("optimize/maintain my mac") -> macos-maintenance instead. Always scans read-only first, reports sizes, deletes only after explicit per-category confirmation.
macos-maintenance
Periodic macOS maintenance + optimization β read-only health sweep (pending OS/brew updates, disk health + SMART, memory pressure + swap, battery condition, Time Machine recency, Spotlight indexing state, crash/panic reports, uptime, login-item load) -> ok/attention/action report -> confirmed fixes. Use when the user says "maintain my mac", "mac health check", "tune up my mac", "optimize my mac", "run maintenance", "is my mac healthy", "update everything", or wants a periodic once-over. Also covers targeted fixes when a check or the user flags an issue β Spotlight reindex, Launch Services rebuild, DNS/font cache flush, frozen Finder/Dock, runaway process triage. Storage/junk/leftovers/disk-space -> macos-cleanup instead.
obsidian-markdown
Obsidian Flavored Markdown syntax reference β wikilinks, embeds, callouts, properties/frontmatter, tags, comments, block IDs. Use when creating or editing .md files in an Obsidian vault, when linking or embedding notes, when writing callouts or note frontmatter, or when the user mentions wikilinks, backlinks, block references, or Obsidian notes. Also use before hand-writing Obsidian syntax from memory β the extensions here are not standard markdown and the near-misses (markdown links to vault notes, wrong callout keywords) fail silently in the app.
pivoshenko-brand
Central brand system for Volodymyr Pivoshenko β voice, type, color, layout, iconography. Self-contained; covers any output format (web UI, PDF, slide deck, README, social card, email, terminal/theme port, throwaway mock). Trigger even when the user doesn't say "brand" β any visual or copy decision touching pivoshenko surfaces counts. Also trigger on "make this on brand", "style this", "design a mock", "apply pivoshenko style", "needs to feel like my site", "generate a PDF / slide / poster / card", or any styling work on pivoshenko-adjacent content.
vercel-hygiene
Audit and harden the 4 pivoshenko brand sites on Vercel (pivoshenko.dev, pivoshenko.startpage, pivoshenko.wallpapers, pivoshenko.ai), team `pivoshenko`. Read-only sweep -> per-site report (ok/attention/action) -> confirmed fixes. Emphasizes security headers and analytics coverage. Use when the user says "audit vercel", "check vercel hygiene", "harden the sites", "vercel security", "check analytics coverage", "vercel health check", or wants a periodic once-over of the Vercel setup. Delegates perf/cost -> `vercel-optimize`, CLI ops -> `vercel-cli`, deployments -> `deploy-to-vercel`.
kst-ai-assets-usage
Report which kasetto-installed skills and MCP servers are actually being used across the AI agents on this machine, and render a branded HTML dashboard of the result. Use whenever the user asks what agent assets they actually use, which skills or MCPs are dead weight, what to prune or clean up from kasetto.yaml, why their context is bloated with unused MCP servers, whether a skill has ever been invoked, or wants a usage report, audit, or dashboard of their agent setup. Also trigger on "kst ai assets usage", "ai asset usage", "what skills do I actually use", "which MCPs are worth keeping", "audit my agent assets", "am I using all these skills", or any request to review, trim, or justify an installed agent toolkit.
wiki-summarize
Turn rough notes, a transcript, or a URL of a talk/video/book/article/paper into a polished source note in the Obsidian vault's 05 SOURCES. Use when the user says "summarize this talk/video/book/article for my wiki", dumps watch/read notes, shares a YouTube link to digest β and also on wiki-free phrasings like "I just watched/read/finishedβ¦", "great talk about X", "notes from the conference". Updates the concept pages the source touches.
wiki-write
Draft blog posts and project announcement posts (reddit/HN style) in the Obsidian vault's 06 WRITING. Use when the user says "draft a blog post about X", "write an announcement for <project>", "reddit post for my project", or wants to turn wiki/project material into publishable writing.
Bio shown is the top-scored skill's repo description as a fallback β real GitHub bios land in a future update.