Skip to main content
Use selftune sets to keep reusable project configurations separate from the global skill registries. Skill packages are copied into a content-addressed local Library when the set is created. Applying the set links those immutable revisions into the selected project’s supported harness registries.

Suggest and classify

suggest classifies every local Library skill and finds repeated ordered workflows, unordered co-usage, and project-specific patterns in trusted session observations. It runs locally without an LLM, does not include transcript text in its output, and never creates or applies a set automatically. Protected SelfTune control packages and admin/system skills are classified but excluded from project recommendations. SelfTune discovers candidates in the oldest sessions and validates them against the newest 25% of eligible sessions. A recommendation is validated after it recurs in at least two held-out sessions and meets its pattern-quality floor, supported after one later recurrence, or exploratory when there is not yet enough history to form a holdout window. Once a holdout window exists, patterns with no recent recurrence are omitted. The default discovery floor is three sessions and 0.35 Jaccard affinity. Use --min-occurrences, --min-affinity, --holdout-ratio, --min-validation-occurrences, --min-evidence-score, and --max to tune a review. The holdout ratio must be between 0.1 and 0.5. Existing sets containing the same skills are omitted. Accepted, edited, and dismissed reviews are retained by algorithm version. SelfTune reports acceptance rate, edit rate and distance, dismissal reasons, and category corrections. It does not change the evidence floor until it has at least 20 usable reviews, including at least five positive and five structural negative labels. An explicit --min-evidence-score overrides the calibrated floor for that command only.

Create a Skill Set

Each selected package is verified after it enters the Library. The manifest pins its content hash rather than a mutable source directory. Packages must be self-contained; package-internal symbolic links are rejected so a pinned revision cannot change with an external file.

Capture the current project

capture defaults to the current directory, derives a readable name from its folder, and detects the supported harness registries that contain skills. It deduplicates identical packages installed for multiple harnesses and blocks same-name packages with conflicting contents. Repeating an identical capture returns the existing set without creating another revision. Override any inferred value when needed:
The local dashboard exposes observed project workspaces under Detected Projects. Capture as Skill Set runs this operation directly; the existing Capture Project dialog remains available for custom folders and settings.

Preview and apply

plan reports every create, unchanged destination, and conflict without mutating the project. apply blocks before any mutation if one destination contains another revision. Repeating a successful apply is a no-op. On another device, run selftune library sync first. Sync adds hosted Skill Set manifests that are not already local without replacing existing sets. The plan shows how many pinned revisions are missing. Apply downloads only those exact revisions from SelfTune Cloud or the configured self-hosted server, verifies their remote object and package hashes, stores them in the local Library, and then continues normally. A download, authentication, offline, or integrity failure leaves the project unchanged. Applying already-local revisions does not download skill packages. When a workspace is configured, apply first attempts to refresh its installation policies, falling back to verified cached policies if the workspace is unavailable. A damaged or unreadable cache stops installation; reconnect and retry to refresh it. Personal libraries without a workspace policy cache do not require this cache. SelfTune targets .agents/skills/, .claude/skills/, .opencode/skills/, .openclaw/skills/, or .pi/agent/skills/ for the selected harnesses. It prefers directory symlinks and verifies a copied fallback when the platform cannot create links. Existing project registry directories must resolve inside the selected project. SelfTune blocks links that redirect materialization elsewhere.

Inspect and roll back

Rollback removes only paths owned by the receipt. It blocks when a link target or copied package changed after apply. The immutable Library revision and Skill Set definition remain available after rollback. outcomes compares matched project sessions before and after an accepted set revision is applied. It follows the immutable revision recorded by the apply receipt even if the set is edited later, and includes sessions run in project subdirectories. It reports completion quality, errors, trigger coverage, token use, and grading results. A result is improved or regressed only after at least five sessions on each side and at least two metrics move consistently without a metric moving the other way; otherwise it is inconclusive. This is an observational comparison, not a causal claim.