{"id":50453393,"url":"https://github.com/bryanbarton525/prism","last_synced_at":"2026-06-03T03:00:40.840Z","repository":{"id":361703770,"uuid":"1251884776","full_name":"bryanbarton525/prism","owner":"bryanbarton525","description":"Just as a prism separates light into distinct colors, this delegation layer separates complex workflows into focused, single-purpose local agents.","archived":false,"fork":false,"pushed_at":"2026-06-02T01:05:05.000Z","size":5311,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T02:03:18.620Z","etag":null,"topics":["ai","artificial-intelligence","developer-tools","llm","open-source","software-engineering"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bryanbarton525.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T02:00:42.000Z","updated_at":"2026-06-01T14:45:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bryanbarton525/prism","commit_stats":null,"previous_names":["bryanbarton525/prism"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/bryanbarton525/prism","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanbarton525%2Fprism","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanbarton525%2Fprism/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanbarton525%2Fprism/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanbarton525%2Fprism/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bryanbarton525","download_url":"https://codeload.github.com/bryanbarton525/prism/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanbarton525%2Fprism/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33845770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","artificial-intelligence","developer-tools","llm","open-source","software-engineering"],"created_at":"2026-06-01T01:04:02.495Z","updated_at":"2026-06-03T03:00:40.815Z","avatar_url":"https://github.com/bryanbarton525.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prism\n\n![Prism logo](docs/img/prism-logo.png)\n\n**Keep your AI editor or MCP host as the orchestrator. Offload narrow work to local Ollama specialists.**\n\nPrism is an MCP server + CLI that runs tool-specific agents on [Ollama](https://ollama.com/) — GitHub CI, Kubernetes, Argo, docs lookup, Go codegen — and returns compact JSON summaries. Your paid model sees a short brief, not every skill, constitution, and evidence dump.\n\n## Why use it\n\n- **Lower orchestrator cost** — **94% orchestrator input reduction** on a live todo-app coding task ([benchmarks](#proof-it-saves-tokens))\n- **Local specialists at $0** — Ollama runs absorb skill bodies and domain context; the orchestrator synthesizes from summaries\n- **Editor stays in charge** — no autonomous swarm; you pick agent + skills per subtask\n- **Progressive disclosure** — only attached [Agent Skills](https://agentskills.io/) per call, enforced by allowlists\n- **Native runtime plugins** — read-only evidence collectors, such as Kubernetes diagnostics, run through Prism plugins instead of ad hoc shell calls\n- **Repo-native specs** — agents, skills, and constitutions are versioned Markdown in this tree\n\n## Quick start\n\n**Requires:** Go 1.25+, [Ollama](https://ollama.com/) at `http://127.0.0.1:11434`, model from agent specs (default `llama3.1:8b`).\n\n```bash\ngo install ./cmd/prism\nollama pull llama3.1:8b\n\ncd /path/to/prism          # or pass --root everywhere\nprism config doctor        # Ollama + agent registry check\nprism agent list\n\n# CLI: one specialist run\necho \"Summarize PR #42 CI status\" | \\\n  prism run github-cli --skills gh-pr-triage\n```\n\n## Use with an MCP host\n\nRegister Prism as an MCP server in your AI editor. Example for Cursor (`~/.cursor/mcp.json`; other MCP hosts use equivalent config — see [docs/usage.md](docs/usage.md)):\n\nUse the full path to your `prism` binary:\n\n```json\n{\n  \"mcpServers\": {\n    \"prism\": {\n      \"command\": \"/absolute/path/to/prism\",\n      \"args\": [\"mcp\", \"serve\", \"--root\", \"/absolute/path/to/prism\"],\n      \"env\": { \"PRISM_OLLAMA_HOST\": \"http://127.0.0.1:11434\" }\n    }\n  }\n}\n```\n\nReload MCP servers in your editor, then call `**run_agent**` with `agent_id`, `task`, and `skill_names`.\n\nFor local Gemini MCP setup, review and run `scripts/install_mcp.py` from the repo root.\n\nAvailable tools include:\n\n- core: `list_agents`, `run_agent`, `get_constitution`, `doctor`\n- prompt/resource compatibility: `list_prompts`, `get_prompt`, `list_resources`, `get_resource`\n\nTypical flow: paste a **short brief** → delegate evidence-heavy subtasks to specialists → synthesize their compact summaries. Do not paste all skills and evidence into chat.\n\nWhen an agent declares `tools:` in its spec, Prism resolves those names through its runtime plugin registry before the local model runs. The Kubernetes agent declares `kubernetes`, so Prism collects bounded read-only cluster evidence with the native Kubernetes client and returns it as a `runtime-plugin:kubernetes` artifact for the specialist to analyze.\n\nFull setup, flags, troubleshooting: **[docs/usage.md](docs/usage.md)**\n\n## Built-in agents\n\n\n| Agent              | Use for                                          |\n| ------------------ | ------------------------------------------------ |\n| `github-cli`       | PR triage, GitHub Actions failures               |\n| `kubectl`          | Kubernetes pod/rollout diagnostics via native plugin |\n| `argo`             | Argo CD sync, workflow debug                     |\n| `web-docs-search`  | Docs harvest, release notes                      |\n| `go-helper`        | Small Go helpers and utilities                   |\n| `go-scaffold`      | Package boilerplate, test scaffolds              |\n| `frontend-builder` | Vanilla HTML/CSS/JS UI subtasks                  |\n\n\nAdd your own under `agents/` and `skills/`. See [agents/README.md](agents/README.md) and [skills/README.md](skills/README.md).\n\n## Install skills via skills CLI\n\nYou can install Prism skills with the [skills.sh](https://www.skills.sh) CLI:\n\n```bash\n# List discoverable skills from this repo\nnpx skills add github.com/bryanbarton525/prism -l --full-depth\n\n# Install a specific skill (example: MCP orchestration playbook)\nnpx skills add github.com/bryanbarton525/prism --skill prism-mcp-orchestrator --full-depth\n```\n\nUseful skill for parent-model delegation behavior:\n\n- `prism-mcp-orchestrator` — tells the orchestrator **when** to delegate and **how** to call Prism MCP tools/resources/prompts in the correct sequence.\n\nNote: `prism-mcp-orchestrator` is for your editor/host orchestrator only — it is not in any agent `allowed_skills`, so Prism runtime specialists will not attach it during `run_agent`.\n\n## How it compares\n\n\n| Capability                    | Prism | Claude subagents | Cursor Skills+MCP | CrewAI/LangGraph |\n| ----------------------------- | ----- | ---------------- | ----------------- | ---------------- |\n| Orchestrator stays in editor  | ✓     | ✓                | ✓                 | ✗                |\n| Specialist isolation          | ✓     | ✓                | partial           | ✓                |\n| Local Ollama specialists      | ✓     | ✗                | ✗                 | optional         |\n| Token/cost benchmarks         | ✓     | ✗                | ✗                 | ✗                |\n| Ops specialists (gh/k8s/argo) | ✓     | DIY              | DIY               | DIY              |\n\n\nFull breakdown: **[docs/comparison.md](docs/comparison.md)**\n\n## Proof it saves tokens\n\n\n\n### Benchmark view\n\n\u003c!-- benchmark-showcase:start --\u003e\n### Executive benchmark view\n\n**Workload assumption (per engineer):** 20 coding prompts/day, 400 prompts/month, 4800 prompts/year.\n\n**Task definition:** one completed coding request equal to `todo-spa-build` (live run on 2026-05-31), including implementation output + README.\n\nOrchestrator token footprint per task: **without Prism** `6,191 in / 811 out` → **with Prism** `363 in / 1,072 out` (**94.1% input reduction**).\n\n| Model | Monthly cost without Prism | Monthly cost with Prism | Monthly savings | Annual savings |\n|---|---:|---:|---:|---:|\n| `gpt-5.4` | $11.04 | $6.80 | $4.24 | $50.88 |\n| `gpt-5.5` | $22.12 | $13.60 | $8.52 | $102.24 |\n| `claude-opus-4.7` | $20.48 | $11.44 | $9.04 | $108.48 |\n| `claude-opus-4.6` | $20.48 | $11.44 | $9.04 | $108.48 |\n| `claude-sonnet-4.6` | $12.28 | $6.88 | $5.40 | $64.80 |\n\n| Model | Without ($/task) | With ($/task) | Savings/task | Daily savings |\n|---|---:|---:|---:|---:|\n| `gpt-5.4` | $0.0276 | $0.0170 | $0.0107 | $0.2120 |\n| `gpt-5.5` | $0.0553 | $0.0340 | $0.0213 | $0.4260 |\n| `claude-opus-4.7` | $0.0512 | $0.0286 | $0.0226 | $0.4520 |\n| `claude-opus-4.6` | $0.0512 | $0.0286 | $0.0226 | $0.4520 |\n| `claude-sonnet-4.6` | $0.0307 | $0.0172 | $0.0136 | $0.2700 |\n\nPricing sources: [OpenAI](https://openai.com/api/pricing/) and [Anthropic](https://www.anthropic.com/pricing/) list rates configured in `testdata/benchmarks/orchestrator-models.yaml`. Token counts come from `testdata/benchmarks/results.yaml`. Regenerate with `prism benchmark project --write`.\n\n\u003c!-- benchmark-showcase:end --\u003e\n\n\n\n```bash\nprism benchmark run todo-spa-build\nprism benchmark project --write\n```\n\nMore scenarios: **[docs/benchmark-scale.md](docs/benchmark-scale.md)**\n\n## Documentation\n\n\n| Doc                                                        | What's inside                                |\n| ---------------------------------------------------------- | -------------------------------------------- |\n| [docs/usage.md](docs/usage.md)                             | CLI/MCP reference, examples, troubleshooting |\n| [docs/comparison.md](docs/comparison.md)                   | Landscape vs Claude, Cursor, frameworks      |\n| [docs/benchmark-scale.md](docs/benchmark-scale.md)         | At-scale scenarios, monthly projections      |\n| [docs/workflow-token-diagrams.md](docs/workflow-token-diagrams.md) | Why token savings happen (visual diagrams) |\n| [docs/blog-prism-launch.md](docs/blog-prism-launch.md)     | Launch post / product narrative              |\n| [docs/implementation-plan.md](docs/implementation-plan.md) | Architecture and design                      |\n| [docs/success-metrics.md](docs/success-metrics.md)         | Benchmark targets and report format          |\n\n\n## Develop\n\n```bash\ngo test ./...\ngo build -o prism ./cmd/prism\n```\n\n### Prevent direct pushes to main\n\nInstall `pre-commit` and enable both commit checks and the push guard:\n\n```bash\npre-commit install\npre-commit install --hook-type pre-push\n```\n\nRun all commit-stage hooks manually:\n\n```bash\npre-commit run --all-files\n```\n\nCommit hooks include `go test ./...`, `go build ./cmd/prism`, and basic file checks. The pre-push hook in `.pre-commit-config.yaml` runs `scripts/hooks/pre-push-block-main.sh` to block direct pushes to `main`.\n\nIf you need an emergency one-off bypass:\n\n```bash\nPRISM_ALLOW_MAIN_PUSH=1 git push origin \u003cref\u003e\n```\n\n## License\n\nSee [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanbarton525%2Fprism","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbryanbarton525%2Fprism","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanbarton525%2Fprism/lists"}