github rebelytics/one-skill-to-rule-them-all v3.11.0
v3.11.0: test-line merge, the skill moves to skills/task-observer/

one hour ago

Everything below was tested on the release/v3.11.0 line before it reached main, or carries its own test fixture. The eval set and the live CLI/plugin install of the new layout run on the maintainer's machine as part of the release.

What changes for you

The skill now lives in skills/task-observer/ inside the repository, the layout plugin installs expect: installing by npx skills add or /plugin install copies only the skill, not the whole repository, and the release bundle is built from that folder. If you install from a clone or a ZIP, copy the skills/task-observer/ folder; paths like references/environments.md are relative to it.

The activation block is shorter — only what must fire before the skill loads — with the rest moved to where it applies once the skill is running. In Claude Code, start with the session-start hook in references/environments.md; it injects the activation and the review state, and it reports when the skill bundle is not actually installed instead of telling every session to invoke a skill it cannot. Replace an older activation block whole rather than merging paragraphs into it, and re-diff it against the template on every upgrade.

Reviews leave more of a record and ask for less of your attention: the session-start checklist is written to skill-observations/session-starts.log and the first reply carries only an item that failed or needs you, rather than a wall of ticks. A session that used tools but logged nothing is still caught by the backstop.

The repository now carries an eval set (evals/): cases that run a skill headlessly against small fixture workspaces and check what the agent does, so a behaviour change can be compared old-against-new before a merge. It is repository content, not part of the installed skill, and works for any skill you log observations for.

Smaller fixes, each with its reporter credited: an observation is extended by its id across the active log and archive, never by a remembered path; a staged patch that repeats a heading the live file already has is refused; the scan names the installed skill with --skill-dir and prints a NOTE rather than skipping; the compare and digest helpers pick a Python 3 that actually runs, so a Windows Store alias no longer turns an identical copy into an error; a title over 200 characters is refused; the review checks a skill's install provenance before treating it as your own; a permission error is split by whether the write allowlist names the path; the bundle validator refuses a core-size ceiling above the one the last release shipped, so the core cannot grow release over release; the seed snippet quotes an unquoted name so the pack step changes nothing after your review; and a published skill rewrites an example taken from an observation into an invented one before it ships.

Thanks to everyone who reported, measured and tested: @3coloresrdpv-cmd, @AceAchillez, @albertobolio, @BBS-Comunicaciones, @coding-ben, @holyshine11, @jonathanb3421-coder, @jsc2304, @LucasTchitdjian, @maushdev, @nblandin, @Nicolas-Demoulin75, @robertocorreiadev, @roylee0546, @slamp, @Trellib and @yehuda2030.

Full list of changes: the commit history from v3.10.0 to v3.11.0.

Don't miss a new one-skill-to-rule-them-all release

NewReleases is sending notifications on new releases.