Install
Paste this into your coding agent:
Install my-llm-kit from https://github.com/badmuriss/my-llm-kit.
1. Detect native Windows, macOS, or Linux. Do not use WSL for a native Windows install.
2. Clone the repo, or preserve local changes if it already exists.
3. Read AGENTS.md and README.md.
4. Preview with .\setup.ps1 -DryRun on Windows or ./setup.sh --dry-run on macOS/Linux.
5. Fix safe prerequisites. Do not delete user-owned configuration.
6. Run the matching installer, then run it again to verify idempotence.
7. Confirm that spec, impl, grill-me, and spec-council are available to the installed agents.
8. Report changes, skips, backups, failures, and anything left unverified.
Manual fallback for Linux and macOS:
git clone https://github.com/badmuriss/my-llm-kit
cd my-llm-kit
./setup.sh --dry-run
./setup.sh
Manual fallback for native Windows PowerShell:
git clone https://github.com/badmuriss/my-llm-kit
Set-Location my-llm-kit
Set-ExecutionPolicy -Scope Process Bypass
.\setup.ps1 -DryRun
.\setup.ps1
How the harness works
The harness separates decisions from code. It researches uncertain facts, writes an explicit plan, implements approved tasks, and keeps evidence for the result.
research, when facts are uncertain
↓
$spec: proposal.md + design.md + tasks.md
↓
$impl: code + checks + evidence grades
| Skill | Job | Output |
|---|---|---|
research |
Routes each query to the narrowest provider, adjudicates sources per claim, and optionally runs one bounded council. | An audited finding under research/. |
spec |
Resolves decisions and writes an executable plan. A --council flag adds one bounded review. |
proposal.md, design.md, tasks.md, and an optional council report. |
impl |
Executes localized work directly, delegates when isolation or parallelism pays, and grades recorded checks. | Code, checks, evidence grades, and resumable state. |
writing |
Keeps docs, commits, PR descriptions, and errors short and concrete. | A clear record of what changed, why, and how it was checked. |
Start a change:
Use $spec to plan <change>. Resolve the important decisions with me and create the OpenSpec files. Do not implement yet.
Implement the approved plan:
Use $impl <slug> to implement the OpenSpec change. Execute every task check and report its evidence grade.
Claude Code also has /spec and /impl wrappers for the same workflow. Council review is opt-in with $spec --council <change>. It challenges the completed draft once and remains advisory; executable checks decide acceptance.
What impl records
Every run stores crash-safe state under openspec/impl-state/. A resumed run reports interrupted tasks, current diffs, and active processes before work continues.
Each OpenSpec task carries one Check: command. The state records its result, exit code, duration, and attempt count. Check: missing validation evidence remains unobserved and cannot become pass.
Validation is proportional to risk. The harness reuses the smallest relevant check and does not add tests merely to pin constants, defaults, toggles, deletions, trivial passthroughs or guarantees already enforced by the type system. MVP changes prefer a clean rewrite over compatibility layers unless the repository shows an active external contract.
Frontend tasks pair a reasoned Visual-Scope: with Visual: contracts for each changed route and state. General responsive UI covers desktop, notebook, tablet and mobile; platform-specific UI covers only its declared targets. impl requires PNG screenshots inspected by a vision-capable tool and a validated manifest before the task can pass. A final guard detects frontend file changes and blocks a successful run when the plan omitted visual expectations entirely. The frontend-visual-validation skill defines the capture and review workflow.
The loop stops when no verified, unchecked, in-scope task remains.
After normal completion, learning.py can snapshot those observed checks and compile recurring support or opposition into openspec/impl-learning/DRAFT_CANDIDATES.md. This shadow-mode file is never loaded by impl, never creates a rule or skill, and never blocks completion. Activation requires a reviewed change or a validated executable gate; paired memory_off and memory_on states can be compared without an automatic verdict. See the trajectory-learning audit.
Codex model routing
impl keeps one localized task in the current context. It uses Luna for independent mechanical work, Terra for ambiguous integration, and Sol for architecture, security, or unresolved high-risk failures. Effort rises after observed failure or increased risk; xhigh is not a default lane.
What's included
Core skills in this repo
| Skill | Purpose |
|---|---|
research |
Source-first research with provider provenance, claim adjudication, and optional council review. |
ingest |
Converts received documents and repos before analysis. |
writing |
Technical writing rules based on Zinsser. |
spec |
Architecture-first OpenSpec planning. |
impl |
Evidence-graded implementation with executable task checks. |
grill-me |
Decision interview used by spec. |
grill-with-docs |
Decision interview that also updates context and ADRs. |
scrapingdog |
Paid public-web data provider. Requires SCRAPINGDOG_API_KEY. |
readme-pass |
Concise, scannable README with agent-first installation. |
Skills linked from their own repos
| Skill | Purpose | Repo |
|---|---|---|
unslop |
Writes, edits, detects, and scores prose, including Brazilian Portuguese. | badmuriss/unslop |
incredibly-pretty-websites |
Research-driven frontend design system. | badmuriss/incredibly-pretty-websites |
site-audit |
UX, SEO, AEO, GEO, and Core Web Vitals audit for a running site. | badmuriss/site-audit |
spec-council |
Bounded multi-perspective review for OpenSpec drafts. | badmuriss/spec-council |
Community design and diagram skills
| Skill | Purpose | Repo |
|---|---|---|
refero-design |
Leads UI research through Refero styles, screens, and flows, then produces a reference lock and decision ledger. $incredibly-pretty-websites consumes that direction for implementation craft and frontend constraints. |
referodesign/refero_skill |
drawio-skill |
Creates editable architecture, flow, UML, ER, and system diagrams, validates their structure, exports common formats, and requires visual review. | Agents365-ai/drawio-skill |
Web fallback
| Skill | Purpose | Source |
|---|---|---|
firecrawl suite |
Search, scrape, crawl, and map through the Firecrawl CLI. | firecrawl/cli |
Web MCP
The setup installs and registers scrapingdog-mcp with Claude Code and Codex. Until the YouTube Search fix ships in an npm release, installation is pinned to the immutable tarball for the tested fork commit. It performs an MCP handshake and checks the tool catalog without consuming API credits. OpenCode receives the equivalent JSON to add manually.
The server reads SCRAPINGDOG_API_KEY from the agent process at runtime. The installer never writes the key to host configuration. Export the variable before starting the agent.
Credentials are optional during setup. A skill stays dormant until its key or login is available.
Optional plugins
Claude Code and Codex receive these plugins when the host is installed:
| Plugin | Purpose | Marketplace |
|---|---|---|
cloudflare |
Workers, Pages, storage, Durable Objects, and Wrangler workflows. | cloudflare/skills |
last30days |
Recent community research across Reddit, HN, X, GitHub, and arXiv. | mvanhorn/last30days-skill |
Supported agents
Skills live once in ~/.agents/skills/. Hosts that need their own directory receive links to the same files. Unix uses symlinks; Windows uses directory junctions.
| Host | Skill setup | Plugins | MCP | dcg hooks | Pipelock |
|---|---|---|---|---|---|
| Claude Code | linked to ~/.claude/skills/ |
yes | yes | yes | action hooks |
| Codex CLI | linked to ~/.codex/skills/ |
yes | yes | yes | MCP proxy |
| Gemini CLI | reads shared root | no marketplace | manual | yes | not configured |
| GitHub Copilot CLI | reads shared root | no marketplace | manual | yes | not configured |
| OpenCode | reads shared root | no marketplace | JSON printed | not supported | not configured |
The installer only configures hosts it finds. It reports real directories instead of overwriting them.
AGENTS.md also has one source. Unix links host-specific instruction files to it. Windows installs managed copies because file symlinks may require extra privileges.
To install one public skill without the full setup:
npx skills add badmuriss/site-audit --global --agent '*' -y
Setup details
setup.sh handles Linux and macOS. setup.ps1 handles native Windows. Both read install-manifest.json, support a preview mode, preserve user-owned configuration, and can run more than once.
The installers:
- Detect installed agent hosts and required tools.
- Install the shared skills and link them into each host.
- Clone the owned and community skill repos when missing, including skills stored in a repository subdirectory.
- Install Firecrawl, optional plugins, and the
paper-searchand ScrapingDog MCP servers where supported. - Verify the ScrapingDog MCP handshake and tool catalog without API credits.
- Verify the
paper-searchexecutable, version, and one real arXiv query. A failure declares the web fallback. - Install the shared
AGENTS.md, with backups for different existing files. - Install and verify
dcg, the destructive-command guard. - Install
agent-resource-guardon Linux. Windows records an explicit skip. - Install the pinned Pipelock release after verifying its checksum, then configure detected Codex and Claude hosts.
Safety tools
dcg blocks destructive shell commands before they run. This repo installs a shared configuration from dcg/.
agent-resource-guard allows up to 20 active agent sessions by default and can still deny work earlier for memory or heavy-command pressure. It also cleans up tagged child processes after their owner exits. Manual processes and persistent terminal shells are excluded.
Pipelock scans agent actions at supported host boundaries. The Codex installer wraps existing MCP servers with pipelock mcp proxy. The Claude installer adds its action hooks. Run setup again after adding a Codex MCP server so Pipelock can wrap the new entry.
This integration does not intercept every process on the machine. A child process that opens its own connection can bypass an application proxy. Use Pipelock sandbox or operating-system containment when all outbound traffic must be mediated.
Reduced Claude Code install
Claude Code users can install only the native commands, worker profiles, and their required skills:
./install.sh
./install.sh --link
From a bare shell:
curl -fsSL https://raw.githubusercontent.com/badmuriss/my-llm-kit/main/install.sh | bash
The reduced install includes $trim-code-comments for manual comment cleanup and an independent, read-only maintainability review that $impl runs after code changes.
Not included
The setup skips private, client-specific, account-bound, and narrow single-workflow skills. Install those separately when a project needs them.
Heavy converters such as MinerU and docling are opt-in.
Credits
researchandingestare adapted from research-stack by Netto, under MIT.last30dayscomes from mvanhorn/last30days-skill, under MIT.unslopis original work under CC BY-SA.thermo-nuclear-code-quality-reviewis adapted from Cursor Team Kit, under MIT.- The cross-agent skill layout follows vercel-labs/skills.
Community projects keep their own licenses.
License
MIT. See LICENSE.
No comments yet
Be the first to share your take.