By jupi-co
Decision skills backed by the Jupi MCP: search-decisions, log-decision, submit-decision.
Record a decision the user has ALREADY made into Jupi (the team's decision platform) as a finalized, searchable entry — the title, the chosen path, and the rationale. Use whenever a choice gets settled and the user wants it captured: "log this decision", "record that we're going with X", a validated trade-off, a meeting outcome, an ADR-style note, or the conclusion of a discussion you just had together. Lean toward offering it the moment a decision crystallizes in conversation — decisions captured in the flow of work are the ones that stay searchable later; the ones everyone "will write up afterward" evaporate. This finalizes the decision in one step, so use it only for calls that are actually made, not open questions (for those, use submit-decision).
Surface prior decisions recorded in Jupi (the team's decision platform) that relate to what the user is working on, and report their insights, chosen outcomes, and any contradictions with the current direction. Use this whenever the user is loading context for a piece of work — starting a project, drafting a spec/PRD, prepping for a meeting, reviewing an architectural or product choice — or asks anything like "have we decided X?", "what did we choose for Y?", "is there prior art on Z?", "why did we go with…". Lean toward using it proactively at the start of any substantial task: a two-second check against past decisions prevents re-litigating settled questions and catches conflicts early. Read-only — it never changes anything in Jupi.
Open a decision in Jupi (the team's decision platform) that the user can't settle alone and hand it to the right person to decide. Use whenever a question needs someone else's call — a blocker in a spec, an unresolved trade-off, anything needing a lead's or owner's sign-off — or when the user says "ask X to decide this", "escalate this", "this needs approval from…", "raise this with the team". Lean toward offering it the moment an open question surfaces that isn't the user's to close: capturing it as an assigned decision (with framing) beats leaving it buried in a doc where it stalls. This creates the decision and assigns a decider but deliberately does NOT finalize it — closing it is the assignee's job (for decisions the user has already made themselves, use log-decision instead).
External network access
Connects to servers outside your machine
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
The source of truth for the Agent Skills that talk to Jupi — the team's decision platform. Install once; updates flow automatically.
These skills let an agent (in Claude Code, Cowork, or Cursor) work with your team's decisions through the Jupi MCP:
| Skill | What it does |
|---|---|
| search-decisions | Surface prior decisions related to what you're working on — precedents and contradictions. Read-only. |
| log-decision | Record a decision you've already made as a finalized, searchable entry (title + chosen path + rationale). |
| submit-decision | Open a decision you can't settle alone and assign it to the right decider. Creates but never finalizes. |
All three are bundled in a single plugin, jupi-skills.
The skills call the Jupi MCP server (
https://apis.jupi.co/mcp). In Claude Code & Cowork it's bundled with the plugin — nothing to install separately. Cursor needs it added manually (see Cursor).
/plugin marketplace add jupi-co/jupi-skills
/plugin install jupi-skills@jupi-skills
CLI equivalent (handy for scripting / Cowork setup):
claude plugin marketplace add jupi-co/jupi-skills
claude plugin install jupi-skills@jupi-skills
Invoke a skill (namespaced by plugin):
/jupi-skills:search-decisions
/jupi-skills:log-decision
/jupi-skills:submit-decision
The plugin bundles the Jupi MCP, so it's registered automatically when the plugin installs — no separate MCP setup, no .mcp.json, no claude.ai connector. On first use, approve the one-time authentication prompt.
They also auto-trigger from natural phrasing — e.g. "have we decided X?" (search), "log that we're going with Y" (log), "escalate this to the eng lead" (submit).
Versioning: none, by design. Consumers track
main(the default branch); the effective version is its latest commit SHA. Every commit that lands onmainis one clean update for everyone — no version bumps, no release bookkeeping. So keepmainshippable.
jupi-skills-staging)The catalog also exposes a jupi-skills-staging plugin that tracks the
staging branch instead of main — use it to try a change before it merges.
Point staging at the branch you want to test, then install:
git branch -f staging origin/<pr-branch> && git push -f origin staging
/plugin install jupi-skills-staging@jupi-skills
It installs under its own namespace (/jupi-skills-staging:…), so it runs
alongside the production plugin. Refresh the plugin after each push to
staging. The branch is disposable — don't develop on it.
Enable per-marketplace auto-update for jupi-skills in the /plugin interface. Because this repo is public, no token is needed — Claude Code pulls the latest at session start and reinstalls changed plugins. Without auto-update, refresh manually:
/plugin marketplace update jupi-skills
Cursor doesn't read marketplace.json or load Claude Code plugins, so it can't use the marketplace above. Install the same skills straight from this repo with the open skills CLI (one installer, works across Cursor and ~80 other agents):
# from your project root — installs all three into .agents/skills/ (which Cursor reads)
npx -y skills add jupi-co/jupi-skills --skill '*' -a cursor
# pull the latest from this repo anytime
npx -y skills update
-g to install globally for all your projects. Add --copy to vendor independent copies instead of symlinking to a canonical store.No-CLI alternatives:
https://github.com/jupi-co/jupi-skills. Per-user; stays synced with this repo..cursor/skills/<skill>/ (or .claude/skills/<skill>/, which Cursor also reads), then reload.Cursor also needs the MCP. Plugins don't reach Cursor, so the bundled server doesn't apply here — add the Jupi MCP once to .cursor/mcp.json (or global ~/.cursor/mcp.json), then reload the window. Without it the skills load but their Jupi calls have nothing to reach.
{
"mcpServers": {
"Jupi": { "url": "https://apis.jupi.co/mcp" }
}
}
A repo that wants these skills available to everyone who clones it can add to its .claude/settings.json:
{
"extraKnownMarketplaces": {
"jupi-skills": {
"source": { "source": "github", "repo": "jupi-co/jupi-skills", "ref": "main" }
}
},
"enabledPlugins": {
"jupi-skills@jupi-skills": true
}
}
npx claudepluginhub jupi-co/jupi-skills --plugin jupi-skills-stagingPermanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Production-grade vibe coding suite. Structured workflows from discovery to deployment: start, build, ship, fix, refactor.
Semantic search for Claude Code conversations. Remember past discussions, decisions, and patterns.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.