~ / rigs / Kanevry / session-orchestrator

Kanevry/session-orchestrator

A repeatable Plan, Go, Close workflow for AI coding sessions. Open source for Claude Code, Codex, Cursor and Pi.

↗ GitHub ★ 53 mit updated 7d ago project Claude CodeCodexCursor Claude plugin
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~11.3k tokens
Heavy · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit Kanevry/session-orchestrator/.claude ./rig-session-orchestrator  # 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.

$ npx degit Kanevry/session-orchestrator/.agents/skills/architecture .claude/skills/architecture
$ npx degit Kanevry/session-orchestrator/.agents/skills/autopilot .claude/skills/autopilot
$ npx degit Kanevry/session-orchestrator/.agents/skills/bootstrap .claude/skills/bootstrap
$ npx degit Kanevry/session-orchestrator/.agents/skills/brainstorm .claude/skills/brainstorm
$ npx degit Kanevry/session-orchestrator/.agents/skills/claude-md-drift-check .claude/skills/claude-md-drift-check
$ npx degit Kanevry/session-orchestrator/.agents/skills/close .claude/skills/close
$ npx degit Kanevry/session-orchestrator/.agents/skills/convergence-monitoring .claude/skills/convergence-monitoring
$ npx degit Kanevry/session-orchestrator/.agents/skills/debug .claude/skills/debug
$ npx degit Kanevry/session-orchestrator/.agents/skills/discovery .claude/skills/discovery
$ npx degit Kanevry/session-orchestrator/.agents/skills/dispatcher .claude/skills/dispatcher
$ npx degit Kanevry/session-orchestrator/.agents/skills/docs-orchestrator .claude/skills/docs-orchestrator
$ npx degit Kanevry/session-orchestrator/.agents/skills/ecosystem-health .claude/skills/ecosystem-health
$ npx degit Kanevry/session-orchestrator/.agents/skills/eli5 .claude/skills/eli5
$ npx degit Kanevry/session-orchestrator/.agents/skills/eval .claude/skills/eval
$ npx degit Kanevry/session-orchestrator/.agents/skills/evolve .claude/skills/evolve
$ npx degit Kanevry/session-orchestrator/.agents/skills/frontmatter-guard .claude/skills/frontmatter-guard
$ npx degit Kanevry/session-orchestrator/.agents/skills/gitlab-ops .claude/skills/gitlab-ops
$ npx degit Kanevry/session-orchestrator/.agents/skills/gitlab-portfolio .claude/skills/gitlab-portfolio
$ npx degit Kanevry/session-orchestrator/.agents/skills/go .claude/skills/go
$ npx degit Kanevry/session-orchestrator/.agents/skills/grill .claude/skills/grill
$ npx degit Kanevry/session-orchestrator/.agents/skills/harness-audit .claude/skills/harness-audit
$ npx degit Kanevry/session-orchestrator/.agents/skills/hook-development .claude/skills/hook-development
$ npx degit Kanevry/session-orchestrator/.agents/skills/mcp-builder .claude/skills/mcp-builder
$ npx degit Kanevry/session-orchestrator/.agents/skills/memory-cleanup .claude/skills/memory-cleanup
$ npx degit Kanevry/session-orchestrator/.agents/skills/mode-selector .claude/skills/mode-selector
$ npx degit Kanevry/session-orchestrator/.agents/skills/npm-publish .claude/skills/npm-publish
$ npx degit Kanevry/session-orchestrator/.agents/skills/peekaboo-driver .claude/skills/peekaboo-driver
$ npx degit Kanevry/session-orchestrator/.agents/skills/persona-panel .claude/skills/persona-panel
$ npx degit Kanevry/session-orchestrator/.agents/skills/plan .claude/skills/plan
$ npx degit Kanevry/session-orchestrator/.agents/skills/playwright-driver .claude/skills/playwright-driver
$ npx degit Kanevry/session-orchestrator/.agents/skills/portfolio .claude/skills/portfolio
$ npx degit Kanevry/session-orchestrator/.agents/skills/quality-gates .claude/skills/quality-gates
$ npx degit Kanevry/session-orchestrator/.agents/skills/reconcile .claude/skills/reconcile
$ npx degit Kanevry/session-orchestrator/.agents/skills/release .claude/skills/release
$ npx degit Kanevry/session-orchestrator/.agents/skills/remote-offload .claude/skills/remote-offload
$ npx degit Kanevry/session-orchestrator/.agents/skills/repo-audit .claude/skills/repo-audit
$ npx degit Kanevry/session-orchestrator/.agents/skills/session-end .claude/skills/session-end
$ npx degit Kanevry/session-orchestrator/.agents/skills/session-plan .claude/skills/session-plan
$ npx degit Kanevry/session-orchestrator/.agents/skills/session-start .claude/skills/session-start
$ npx degit Kanevry/session-orchestrator/.agents/skills/session .claude/skills/session
$ curl -fsSL --create-dirs -o .claude/agents/analyst.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/analyst.md
$ curl -fsSL --create-dirs -o .claude/agents/architect-reviewer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/architect-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/code-implementer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/code-implementer.md
$ curl -fsSL --create-dirs -o .claude/agents/db-specialist.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/db-specialist.md
$ curl -fsSL --create-dirs -o .claude/agents/dialectic-deriver.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/dialectic-deriver.md
$ curl -fsSL --create-dirs -o .claude/agents/docs-writer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/docs-writer.md
$ curl -fsSL --create-dirs -o .claude/agents/eval-judge.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/eval-judge.md
$ curl -fsSL --create-dirs -o .claude/agents/qa-strategist.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/qa-strategist.md
$ curl -fsSL --create-dirs -o .claude/agents/security-reviewer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/security-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/session-reviewer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/session-reviewer.md
$ curl -fsSL --create-dirs -o .claude/agents/skill-applied-judge.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/skill-applied-judge.md
$ curl -fsSL --create-dirs -o .claude/agents/test-writer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/test-writer.md
$ curl -fsSL --create-dirs -o .claude/agents/ui-developer.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/ui-developer.md
$ curl -fsSL --create-dirs -o .claude/agents/ux-evaluator.md https://raw.githubusercontent.com/Kanevry/session-orchestrator/main/agents/ux-evaluator.md

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "permissions": {
    "deny": [
      "Bash(rm -rf /)",
      "Bash(git push --force origin main)",
      "Bash(git push --force origin master)",
      "Bash(git reset --hard)",
      "Bash(git push --force)",
      "Bash(DROP TABLE *)",
      "Bash(TRUNCATE TABLE *)",
      "Bash(docker system prune)",
      "Bash(supabase *)"
    ]
  },
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "INPUT=$(cat); if command -v jq >/dev/null 2>&1; then CMD=$(printf '%s' \"$INPUT\" | jq -r '.tool_input.command // empty' 2>/dev/null); if echo \"$CMD\" | grep -qE 'rm\\s+-rf\\s+/|DROP\\s+(DATABASE|TABLE)|TRUNCATE\\s+TABLE|format\\s+c:|git\\s+push\\s+-"
          }
        ]
      }
    ]
  }
}

MCP servers (1)

serversourceest. tokens
session-orchestrator local / custom 2.5k

Skills (52)

Subagents (14)

analyst
model: inherit
Use this agent for read-only PRD-quality review. Checks acceptance-criteria specificity, scope drift detection, and completeness of /plan output. <example>Context: /plan feature produced a PRD. user:
architect-reviewer
model: inherit
Use this agent for read-only architectural audits between waves. Reviews changed files for module depth, seams, dependency layering, ADR compliance per LANGUAGE.md vocabulary. <example>Context: After
code-implementer
model: inherit
Use this agent for feature implementation, API development, refactoring, and general code changes. Handles backend logic, API routes, service layers, and cross-cutting concerns. <example>Context: Wave
db-specialist
model: inherit
Use this agent for database work — schema design, migrations, queries, indexes, and database functions. Handles SQL, ORMs, and database architecture decisions. <example>Context: New feature requires d
dialectic-deriver
model: haiku
Use this agent when reasoning over top-N learnings + last-K sessions + existing peer cards to derive updates to USER.md / AGENT.md. Called via /evolve --dialectic mode by the evolve skill. Reads input
docs-writer
model: inherit
Use this agent when documentation needs to be generated or updated as part of a session — user-facing READMEs, dev-focused CLAUDE.md sections, or vault narratives (context.md, decisions.md, people.md)
eval-judge
model: haiku
Use this agent during the /eval Skill Phase 3 (Epic #803, issue #810; re-aimed by #1381) to judge — from a session-eval record's dimension evidence, kpis, session_id and a pre-computed facts block — t
qa-strategist
model: inherit
Use this agent for read-only test-coverage gap analysis between waves. Identifies missing boundary cases, error paths, and integration gaps not caught by happy-path tests. <example>Context: Impl-Core
security-reviewer
model: inherit
Use this agent for security analysis — OWASP checks, authentication flows, input validation, authorization, and vulnerability assessment. Read-only analysis with actionable findings. Prioritizes high-
session-reviewer
model: inherit
Use this agent between waves or at session end to verify work quality against the session plan. Checks implementation correctness, test coverage, TypeScript health, security basics, and issue tracking
skill-applied-judge
model: haiku
Use this agent at session-end Phase 3.6.6 (#645 L3) to judge — from the session transcript evidence (excerpts) — whether each selected skill was actually APPLIED and whether its work COMPLETED. Dispat
test-writer
model: inherit
Use this agent to close NAMED test gaps and to consolidate redundant tests. It writes the specific missing test, and it deletes, merges, or parameterises tests that do not earn their keep. <example>Co
ui-developer
model: inherit
Use this agent for frontend implementation — UI components, pages, styling, accessibility, and responsive design. Handles React/Next.js components, CSS, and design system work. <example>Context: Imple
ux-evaluator
model: opus
Use this agent for read-only UX evaluation of test-runner driver artifacts (Playwright AX-tree snapshots, screenshots, console output). Applies the 4-check UX rubric (onboarding-step-count ≤7, axe-vio

Hooks (6)

eventmatcherruns
SessionStart.git fetch --quiet 2>/dev/null; BRANCH=$(git branch --show-current 2>/dev/null); if [ -n "$BRANCH" ]; then BEHIND=$(git rev-list --count HEAD..origin/$BRANCH 2>/dev/null || echo 0); if [ "$BEHIND" -gt 0 ]; then echo "Branch $BRANCH is $BEHIN
PostToolUseWrite|Editif command -v jq >/dev/null 2>&1; then INPUT=$(cat); FILEPATH=$(printf '%s' "$INPUT" | jq -r '.tool_input.file_path | select(type == "string")' 2>/dev/null); if [ -n "$FILEPATH" ] && printf '%s\n' "$FILEPATH" | grep -qE '\.(ts|tsx|js|jsx)$'
PostToolUseWrite|Editif command -v jq >/dev/null 2>&1; then INPUT=$(cat); FILEPATH=$(printf '%s' "$INPUT" | jq -r '.tool_input.file_path // empty' 2>/dev/null); if [ -n "$FILEPATH" ] && echo "$FILEPATH" | grep -qE '\.env\.example$'; then echo '.env.example modi
PostToolUseWrite|Editif command -v jq >/dev/null 2>&1; then INPUT=$(cat); FILEPATH=$(printf '%s' "$INPUT" | jq -r '.tool_input.file_path // empty' 2>/dev/null); if [ -n "$FILEPATH" ] && echo "$FILEPATH" | grep -qE '\.(ts|tsx)$' && ! echo "$FILEPATH" | grep -qE
PreToolUseBashINPUT=$(cat); if command -v jq >/dev/null 2>&1; then CMD=$(printf '%s' "$INPUT" | jq -r '.tool_input.command // empty' 2>/dev/null); if echo "$CMD" | grep -qE 'rm\s+-rf\s+/|DROP\s+(DATABASE|TABLE)|TRUNCATE\s+TABLE|format\s+c:|git\s+push\s+-
Notification.osascript -e 'display notification "Claude Code wartet auf Input" with title "Claude Code"' 2>/dev/null || true

Slash commands (2)

/session/templates-ack

Cursor rules (9)

000-session-orchestrator · always010-session-workflow020-quality-gates030-wave-execution040-discovery050-plan060-evolve070-gitlab-ops080-ecosystem-health

Permissions

deny (9)
Bash(rm -rf /)
Bash(git push --force origin main)
Bash(git push --force origin master)
Bash(git reset --hard)
Bash(git push --force)
Bash(DROP TABLE *)
Bash(TRUNCATE TABLE *)
Bash(docker system prune)
Bash(supabase *)
ask (0)
—
allow (41)
Bash(git status:*)
Bash(git add:*)
Bash(git commit:*)
Bash(git diff:*)
Bash(git log:*)
Bash(git fetch:*)
Bash(git pull:*)
Bash(git push:*)
Bash(git checkout:*)
Bash(git branch:*)
Bash(git stash:*)
Bash(git show:*)
Bash(git rev-parse:*)
Bash(git remote:*)
Bash(git merge:*)
Bash(npx:*)
Bash(node:*)
Bash(jq:*)
Bash(glab:*)
Bash(docker:*)
Bash(docker compose:*)
Bash(ssh:*)
Bash(ls:*)
Bash(cat:*)
Bash(head:*)
Bash(tail:*)
Bash(wc:*)
Bash(grep:*)
Bash(which:*)
Bash(gh issue list:*)
Bash(gh issue view:*)
Bash(gh pr list:*)
Bash(gh pr view:*)
Bash(gh api repos/*/issues*:*)
Bash(gh api repos/*/pulls*:*)
mcp__sequential-thinking__sequentialthinking
mcp__Ref__ref_search_documentation
mcp__Ref__ref_read_url
mcp__context7__*
mcp__playwright__*
WebSearch

Similar rigs

copied ✓