.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) <noreply@anthropic.com>
This commit is contained in:
parent
fb8f45e9fa
commit
d2c3c3b534
4 changed files with 0 additions and 128 deletions
|
|
@ -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
|
|
||||||
|
|
@ -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;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
@ -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/<package> 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"
|
|
||||||
```
|
|
||||||
|
|
@ -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."
|
|
||||||
Loading…
Add table
Reference in a new issue