From d2c3c3b534f79953562bdd8f18a600d017e22365 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Mon, 11 May 2026 20:09:03 +0200 Subject: [PATCH] .agents/skills: drop SF-internal skills (forge-*, nix-build, smoke-test) The .agents/ template was seeded from singularity-forge which carries its own internal skills. They don't apply to this repo; removing so each repo's skills/ reflects only what's relevant here. .gitkeep remains so the (required-per-spec) directory still exists. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../skills/forge-autonomous-runtime/SKILL.md | 37 -------------- .agents/skills/forge-command-surface/SKILL.md | 48 ------------------- .agents/skills/nix-build/SKILL.md | 26 ---------- .agents/skills/smoke-test/SKILL.md | 17 ------- 4 files changed, 128 deletions(-) delete mode 100644 .agents/skills/forge-autonomous-runtime/SKILL.md delete mode 100644 .agents/skills/forge-command-surface/SKILL.md delete mode 100644 .agents/skills/nix-build/SKILL.md delete mode 100644 .agents/skills/smoke-test/SKILL.md diff --git a/.agents/skills/forge-autonomous-runtime/SKILL.md b/.agents/skills/forge-autonomous-runtime/SKILL.md deleted file mode 100644 index 40c0f005..00000000 --- a/.agents/skills/forge-autonomous-runtime/SKILL.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: forge-autonomous-runtime -description: Explains SF autonomous loop, UOK gates, installed-runtime drift, and recovery paths. -user-invocable: false -model-invocable: true -side-effects: none -permission-profile: restricted -triggers: - - "*" ---- - -# forge-autonomous-runtime - -## Context - -SF's autonomous mode is governed by the Unified Operation Kernel (UOK): - -1. **State reading** — UOK reads canonical project state from `.sf/sf.db` -2. **Ledger recording** — Each run is recorded in the DB-backed ledger -3. **Projection** — Runtime files under `.sf/runtime/` are generated projections -4. **Dispatch** — UOK determines the next unit of work and creates a fresh agent session -5. **Execution** — LLM executes with focused prompt and pre-inlined context -6. **Reconciliation** — UOK reconciles ledger and projections before next dispatch - -## Recovery Paths - -- **Crash recovery** — Lock file tracks current unit; next `/autonomous` reads surviving state -- **Stuck detection** — Loop detects stuck iterations and emits `stuck-detected` journal events -- **Health gates** — Pre-dispatch gates check state integrity before execution -- **Parity reports** — Ledger parity ensures no orphaned or missing unit records - -## Rules - -- Never modify `.sf/sf.db` directly — use UOK APIs -- Never trust `.sf/runtime/` files as authoritative — they are projections -- Always check `runControl` and `permissionProfile` before tool invocation -- Journal events are best-effort; absence is a failure signal diff --git a/.agents/skills/forge-command-surface/SKILL.md b/.agents/skills/forge-command-surface/SKILL.md deleted file mode 100644 index 0d7654a8..00000000 --- a/.agents/skills/forge-command-surface/SKILL.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -name: forge-command-surface -description: Use when changing SF slash commands, browser command parity, or headless command dispatch. -user-invocable: true -model-invocable: true -side-effects: code-edits -permission-profile: normal -triggers: - - build - - code - - "*" ---- - -# forge-command-surface - -## When to Use - -This skill applies when: -- Adding or modifying SF slash commands (`/mode`, `/tasks`, `/skills`, etc.) -- Changing command handlers in `src/resources/extensions/sf/commands/handlers/` -- Updating command catalog descriptions -- Ensuring web/TUI/headless command parity -- Modifying command dispatch routing - -## Instructions - -1. **Check existing handlers** — Look in `commands/handlers/core.js` and `commands/handlers/ops.js` for the pattern -2. **Update catalog** — Add to `commands/catalog.js` `TOP_LEVEL_SUBCOMMANDS` -3. **Update help text** — Add to `showHelp()` in `commands/handlers/core.js` -4. **Wire dispatch** — Add routing in `handleCoreCommand()` or `handleOpsCommand()` -5. **Test** — Verify with `node --check` and manual test - -## Verification - -- [ ] Command appears in `/help` -- [ ] Command appears in `/help all` -- [ ] Handler file passes `node --check` -- [ ] No `/sf` prefix in user-facing strings - -## Examples - -```javascript -// Adding a new command -if (trimmed === "mycommand" || trimmed.startsWith("mycommand ")) { - await handleMyCommand(trimmed.replace(/^mycommand\s*/, "").trim(), ctx); - return true; -} -``` diff --git a/.agents/skills/nix-build/SKILL.md b/.agents/skills/nix-build/SKILL.md deleted file mode 100644 index bb97901a..00000000 --- a/.agents/skills/nix-build/SKILL.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: nix-build -description: Build any @singularity-forge/* package (or the full stack) via nix develop. Pass a package name like "pi-coding-agent", "native", "daemon", or "all" for a full core build. ---- - -All build commands in this repo must run inside `nix develop`. Never use bare cargo/rustc. - -For a single package: -``` -nix develop --command bash -c "npm run --workspace=@singularity-forge/ build" -``` - -For the full core build (native + all TS packages): -``` -nix develop --command bash -c "npm run build:core" -``` - -For typecheck only: -``` -nix develop --command bash -c "tsc --noEmit -p tsconfig.json" -``` - -For extensions typecheck: -``` -nix develop --command bash -c "tsc --noEmit -p tsconfig.extensions.json" -``` diff --git a/.agents/skills/smoke-test/SKILL.md b/.agents/skills/smoke-test/SKILL.md deleted file mode 100644 index dc2c016c..00000000 --- a/.agents/skills/smoke-test/SKILL.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -name: smoke-test -description: Run the standard sf-run smoke tests (--version, --help, --print). All three must pass before shipping a build. ---- - -#!/bin/bash -set -e -echo "=== --version ===" -node dist/loader.js --version - -echo "=== --help (first 5 lines) ===" -node dist/loader.js --help 2>&1 | head -5 - -echo "=== --print (graceful degradation) ===" -node dist/loader.js --print 2>&1 | head -5 - -echo "All smoke tests passed."