Skip to content

thomask33/personal-plugins

v0.5.0

Thomas Kosiewski's agent skills: deliver-reviewable-changes for small, reviewable increments, refactor-split-stack for behaviour-preserving refactors delivered as stacked PRs, and thomas-mode for his working rules on top of pstack in Xum.

Personal plugins

An Agent Plugins 1.0.0 package for coding agents. The repository root is the plugin root, with plugin.json and skills/ directly inside it.

Included skills

SkillWhen to use it
deliver-reviewable-changesWhen planning or implementing code changes, including executing an existing plan, to choose reviewable increments before coding.
refactor-split-stackWhen planning or running a behaviour-preserving refactor that splits long methods or a large file across several stacks of PRs, written by sub-agent workers.
thomas-modeWhen invoked as /thomas-mode. Its amendments to pstack and egm steps also apply to pstack or egm runs started without it, such as Using skill poteto-mode and /reflect. Runs the pstack plugin's poteto-mode in the Xum agent harness with Thomas's working rules, a Xum adapter for pstack's Cursor tool names, and amendments to pstack and egm playbook steps.

The short core skill defines five delivery rules: split before coding, freeze each established layer's scope, stabilize PRs from the bottom up, parallelize against stable prerequisites, and merge a ready phase through its configured gates. The scope freeze starts when a delivery increment is committed or its stacked PR is created, including drafts. Review fixes, CI fixes, and necessary integration updates stay with the owning layer; new scope belongs elsewhere.

Detailed delivery guidance, review prompts, PR-writing examples, and repository onboarding live in references loaded only when needed. The core remains usable on its own and can use an installed stack-tool skill for mechanics. Later phases do not hold up a finished phase just because they share a stack.

Use it while creating a plan and when starting implementation of that plan, even if the request only says "implement the plan." The executing agent checks delivery boundaries before editing; an approved milestone does not automatically become one PR. Small, cohesive changes keep a lightweight workflow.

On first use in a repository, it reads existing rules, asks only about missing review gates and merge authority, and saves confirmed choices in repository-scoped agent memory. Later tasks reuse that policy. A repository can choose "Codex code review reports no issues, required checks pass, then the agent merges automatically" without an extra human-approval step. Repositories that require human approval retain it. Memory storage depends on the agent's available capabilities; the skill does not change repository controls.

Use the plugin

git clone https://github.com/thomask33/personal-plugins.git

Install from https://github.com/thomask33/personal-plugins in a client that supports Agent Plugins skills. For local installation, use the cloned personal-plugins directory itself as the plugin root. No repository subpath is needed. Installation and activation are client-specific; follow your client's setup instructions.

Once the skill is available, give the agent this instruction at task start:

Use the deliver-reviewable-changes skill before planning or implementing this change. Choose the next independently shippable increment, identify its required validation, and carry that scope through the PR handoff.

If your client supports Agent Skills but cannot yet load this plugin format, import the complete skills/deliver-reviewable-changes directory through its skill installation mechanism. Keep the references/ directory with SKILL.md.

The description is written for early discovery. Explicitly invoking the skill makes the intended use clear; installation alone does not guarantee that an agent will select it for every task. The plugin needs no MCP server, credentials, or executable hooks.

Package layout

personal-plugins/
├── plugin.json
└── skills/
    ├── deliver-reviewable-changes/
    │   ├── SKILL.md
    │   ├── agents/openai.yaml
    │   └── references/
    ├── refactor-split-stack/
    │   └── SKILL.md
    └── thomas-mode/
        ├── SKILL.md
        ├── PINNED
        └── scripts/check-drift.sh

The repository distributes one plugin, named personal-plugins in its manifest. thomas-mode needs the pstack plugin and the pstack-in-xum skill from coder/fux-plugins, and works best with egm and the egm-in-xum skill from the same plugin. Its scripts/check-drift.sh compares the installed pstack and egm files with the commits in PINNED and reports the playbook steps whose upstream text changed. Skills live directly under the standard's fixed skills/ discovery location. The skill's optional agents/openai.yaml carries UI metadata for clients that understand it.

Validate changes

Use Python 3.11 or newer:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements-dev.txt
.venv/bin/python scripts/validate_plugins.py

Validation requires a manifest at the repository root, validates it against the official versioned JSON Schema, checks skill frontmatter, argument placeholders ($ARGUMENTS and $1 to $9) in SKILL.md bodies, and package containment, and verifies local Markdown references. It reads the committed schema copy at scripts/plugin.schema.json, so it needs no network, and verifies a pinned SHA-256 digest. To use another copy, pass --schema /path/to/plugin.schema.json.

These are packaging checks. They do not establish that the instructions improve agent behavior or that every client has been tested. GitHub Actions runs the same checks on pushes and pull requests.

To add another skill to this plugin, create skills/<skill-name>/SKILL.md and add it to the table above. Keep the single plugin.json at the repository root. Client-specific extensions must follow the standard's extension conventions.