wellactually

Reference

MCP tools

The plugin serves these tools to your agent. They are what your agent rates advice, switches principles and writes principles with.

Using principles#

ToolInputsWhat it does
showprinciple: expert/principle, a bare principle id, or its linkReads a principle's advice, with its author, tags, visibility and link. Follows a link that one principle's advice makes to another. A private principle reads only for those it is shared with.
rate_principleid, rating: up, down or not_applicableTells the expert how the advice went, after it was shown. Sends only the principle, the rating, and the agent and model as the agent reports them.
disable_principleid, scope: project or global, dirSwitches a principle off, when you ask for it.
enable_principleid, scope, dirSwitches it on again, in the scope it was switched off in.
set_statson: true or false, left out to report the current settingSwitches off, or on again, what this machine reports: the daily counts and the ratings. Only when you ask.

A bare principle id is one of yours first, then one on your advisory board. @3 after an id, or ?v=3 on a link, reads an earlier revision. The agent is asked to rate once per principle and task, when it knows how the advice went. It is told not to switch advice off on its own, but to say that it does not fit and rate it not_applicable.

Writing principles#

These need esbuild to build a principle. It comes with the SDK in the repository that holds your principles:

bash
npm install --save-dev github:passsy/wellactually#sdk vitest

Write with an agent shows how they fit together.

ToolInputsWhat it does
scaffoldslug, parentCreates a principle folder that already passes run_tests.
run_testsdirBuilds the principle and runs its tests in the isolate, with the publish checks and the warnings about the advice.
trydir, one of file, prompt or command, and read or outputShows one input to the detector and returns the findings and the text the agent would read.
probedir, repoRuns the detector over a repository and reports how often it fires, with timings and samples.
pullid, dir, forceDownloads a principle's files: the current draft, or the newest release. @3 for a revision.
historyidThe principle's revisions, newest first, including an unreleased draft.
publish_draftdir, visibilityUploads the principle and releases it as its next revision. A package licence that needs your approval keeps it a draft. visibility is public or private, and left out keeps it as it is.
releaseidReleases a principle's waiting draft.
set_visibilityid, visibilityMakes one of your principles public or private.

All paths are absolute. The server also hands the agent a guide to how a principle is built, so it needs no docs to start.