~ / rigs / meccin / sleipnir

meccin/sleipnir

A minimal harness for disciplined AI-assisted development for Claude Code. Two ravens, one contract.

↗ GitHub ★ 2 MIT updated 5mo ago project Claude CodeCodex
share on X
ARCHETYPE
Pragmatist
A balanced, no-drama setup: some rules, some tools, nothing extreme.
CONTEXT TAX · EVERY TURN
~1.9k tokens
Featherweight · median rig: 2.3k · breakdown
GUARDRAILS
1/5
No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit meccin/sleipnir/template/.claude ./rig-sleipnir  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ curl -fsSL --create-dirs -o .claude/agents/huginn.md https://raw.githubusercontent.com/meccin/sleipnir/main/template/.claude/agents/huginn.md
$ curl -fsSL --create-dirs -o .claude/agents/muninn.md https://raw.githubusercontent.com/meccin/sleipnir/main/template/.claude/agents/muninn.md

This rig commits no guardrails. Here is the community baseline instead — the deny/ask rules most often found across all 7,204 rigs:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(**/.env)",
      "Read(~/.ssh/**)",
      "Bash(rm -rf *)",
      "Read(**/*.pem)",
      "Bash(rm -rf /)",
      "Bash(git push --force:*)",
      "Bash(sudo *)",
      "Read(.env)",
      "Bash(rm -rf /*)",
      "Read(./.env.*)",
      "Read(~/.aws/**)",
      "Bash(git push --force*)",
      "Bash(rm -rf:*)",
      "Read(**/*.key)",
      "Read(**/.env.*)",
      "Bash(sudo:*)",
      "Bash(git reset --hard*)",
      "Bash(git reset --hard:*)",
      "Read(.env.*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(git push *)",
      "Bash(git commit:*)",
      "Bash(rm *)",
      "Bash(rm:*)",
      "Bash(git rebase *)",
      "Bash(wget *)",
      "Bash(npm publish:*)",
      "Bash(git commit *)",
      "Bash(gh pr merge *)"
    ]
  }
}

Subagents (2)

huginn
model: inherit
Sleipnir's implementer. Reads spec.md, contract.md, and progress.md; implements the current task; updates progress.md. Never marks a task done — that's Muninn's job. Use after a feature folder exists
muninn
model: inherit
Sleipnir's evaluator. Reads the implementation, runs sensors, and writes a verdict to evaluation.md with file:line evidence for every score. Use after Huginn marks a task as ready_for_review. NEVER wr

Slash commands (3)

/harness-evaluate/harness-implement/harness-plan

Similar rigs

copied ✓