jarvis
Skill2 starsChanged 7 months agoMITView on GitHub
Proactive AI assistant mode for Claude Code targeting Opus 4.7. v3.0 overhaul makes Jarvis ACTUALLY useful from day one: lowered anticipation threshold (3 observations instead of 10), session-start awareness cards showing your top patterns, plugin monitors auto-arm without explicit invocation, first-run onboarding wizard. Anticipates next steps, auto-invokes relevant skills, and learns user workflow patterns via ROSETTA + auto-memory dual-layer. Three phases: Observation (1-3), Anticipation (3-15), Autonomous (15+). Passive observation ALWAYS ON in every session (zero overhead). Active proactive mode via "/llm-language:jarvis". WARNING: active mode is invasive — it reads, plans, and acts beyond what was explicitly asked.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- thatmike1/claude-skillstheir own version, first seen Oct 26, 2026
- jacobgreenwald21/claude-skillstheir own version, first seen Oct 15, 2026
- aleks-drozy/jarvistheir own version, first seen Oct 11, 2026
- affaan-m/JARVIStheir own version, first seen Oct 8, 2026
- thiagofinch/mega-braintheir own version, first seen Oct 8, 2026
- pinguding/Project-Machine-in-the-looptheir own version, first seen Jul 6, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- affaan-m/JARVIS★ 484same name
- thiagofinch/mega-brain★ 95same name
- thatmike1/claude-skills★ 10same name
- pinguding/Project-Machine-in-the-loop★ 4same name
- aleks-drozy/jarvis★ 0same name
- jacobgreenwald21/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository3 other files it gives its agents.
- llm-languageSkill
- refine-skillsSkill
- updateSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
35 rules. 0 are common, 31 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
31
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 42
Do NOT activate active mode automatically.
- Distinctive: line 127
Post-task sequences: After "implement function" → user usually does what?
- Distinctive: line 129
Correction patterns: When does the user say "no, I wanted X instead"?
- Distinctive: line 152
Instead of silent Phase 1 (old: "Ho osservato N pattern finora.
- Distinctive: line 166
Only show patterns with confidence ≥60% AND hit_count ≥2.
- Distinctive: line 181
If confidence ≥ 60%: propose the next step
- Very specific: line 217
After 15+ sessions (was 30 in v2.0), IF the user explicitly opts in (/llm-language:jarvis autonomous), Jarvis:
- Distinctive: line 220
After implementing → auto-runs tests
- Distinctive: line 221
After fixing a bug → auto-checks invariants
- Distinctive: line 222
After writing LaTeX → auto-compiles
- Distinctive: line 223
After completing a feature → auto-runs code-review
- Distinctive: line 232
When a useful new skill/plugin is found: "Ho trovato {skill} che potrebbe aiutare con {pattern}.
- Distinctive: line 235
If the user always runs tests after editing src/ → propose a PostToolUse hook
- Distinctive: line 236
If the user always checks git status before committing → propose a Stop hook
- Distinctive: line 237
If the user always compiles LaTeX after editing .tex → propose auto-compile
- Distinctive: line 240
NEVER auto-commit or auto-push (irreversible)
- Distinctive: line 242
NEVER auto-install packages without explicit approval
- Distinctive: line 243
NEVER modify CLAUDE.md autonomously (human-curated)
- Distinctive: line 244
Always show what was done and why in a brief log
- Distinctive: line 252
Read ROSETTA.md (full, including § Jarvis Patterns)
- Distinctive: line 253
Read CLAUDE.md (codebase awareness)
- Distinctive: line 254
Check Jarvis phase: observation / anticipation / autonomous
- Very specific: line 258
Run the standard llm-language pipeline (Phase 0-6) for the user's actual request
- Distinctive: line 260
Use ultrathink for complex/critical tasks
- Distinctive: line 265
Update ROSETTA § Jarvis Patterns
- Distinctive: line 268
Check if current task matches a known pattern
- Distinctive: line 269
If match with sufficient confidence: propose next step
- Distinctive: line 270
If no match: observe silently
- Distinctive: line 278
If the current workflow could benefit from an unused skill: mention it
- Very specific: line 279
If /llm-language:update has found relevant new tools: mention them
- Distinctive: line 280
If a recurring manual action could be automated with a hook: propose the hook
- Distinctive: line 305
All Jarvis data lives in a dedicated ROSETTA section.
- Distinctive: line 314
When Jarvis detects significant codebase changes (new modules, new tests, changed architecture), it proposes updating CLAUDE.md.
- Very specific: line 329
When Jarvis detects an adversarial + cross-cutting task pattern (security review, full-stack feature, debugging with competing hypotheses), …
- Distinctive: line 336
Remove redundant emphasis markers from proposals
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
llm-language:jarvis — Proactive AI Assistant Mode
Overview
Jarvis transforms Claude Code from a reactive tool into a proactive partner. Instead of waiting for explicit instructions, Jarvis:
- Anticipates what comes next — after completing a task, predicts the user's likely next request based on learned patterns
- Auto-invokes skills — uses /brainstorming before creative work, /code-review after implementation, /paper after LaTeX edits, etc.
- Proposes workflow continuations — "Ho implementato la funzione. Vuoi che la testi, faccia un audit, o aggiorni il CLAUDE.md?"
- Learns from observation — patterns are NOT hardcoded. Jarvis watches what the user does after each task and builds a personalized workflow model in ROSETTA
- Discovers useful tools — proposes new marketplace plugins and skills when /llm-language:update finds relevant ones
When to Use
Active Mode (explicit invocation)
The ACTIVE mode (anticipation + autonomous execution) runs ONLY when explicitly invoked via /llm-language:jarvis.
Active mode is deliberately opt-in because it is invasive:
- It executes tasks the user didn't explicitly request
- It dispatches agents proactively
- It may invoke skills the user hasn't used before
Do NOT activate active mode automatically. Only from explicit invocation.
Passive Observation (ALWAYS ON)
Jarvis's observation layer runs ALWAYS, in EVERY session, even without explicit invocation. This is analogous to ROSETTA Phase 6b (passive update) — it learns silently.
Passive observation does NOT:
- Propose next steps
- Execute any action
- Invoke any skill
- Interrupt the user in any way
Passive observation DOES:
- Record what task was completed (inferred from tool calls and conversation)
- Record what the user asked next (the follow-up message)
- Record which skills were invoked and in what order
- Record time between tasks (immediate vs delayed)
- Append observations to ROSETTA § Jarvis Patterns silently
This is non-invasive and zero-overhead — it piggybacks on the existing ROSETTA Phase 6b update mechanism. The only difference is that it also logs the task→next_action sequence, not just user preferences.
Why always-on: The Observation phase (sessions 1-10) would take months if it only counted sessions where /llm-language:jarvis was explicitly invoked. By observing passively, Jarvis accumulates pattern data from EVERY interaction, reaching the Anticipation threshold (10 observations) much faster.
Session counting for phase transitions:
- Passive observations count toward the session threshold for Phase 1→2 transition
- But Phase 2 (Anticipation) and Phase 3 (Autonomous) only activate when explicitly invoked via
/llm-language:jarvis - This means: Jarvis LEARNS always, but ACTS only when asked
Activation Banner
When activated, display:
★ JARVIS MODE ACTIVE ───────────────────────
Phase: {observation|anticipation|autonomous}
Sessions observed: {N} | Patterns learned: {N}
Confidence threshold: {%} | Skills available: {N}
Next-step prediction: {enabled|learning}
────────────────────────────────────────────Three Evolutionary Phases
Phase 0 (v3.0 NEW): FIRST-RUN ONBOARDING
Runs on the FIRST /llm-language:jarvis invocation per user. Shows a quick onboarding flow to demonstrate value IMMEDIATELY, instead of silently observing for 10 sessions.
🤝 Welcome to Jarvis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Jarvis is a proactive assistant that learns your workflow and anticipates
your next step. I'll ask 3 quick questions to seed your pattern library —
then Jarvis can help from session 1 instead of session 10.
1. What do you typically work on? (coding / writing / research / mixed)
2. Do you prefer short sessions or long deep-work blocks?
3. Would you like me to suggest next steps proactively, or only when I'm confident?
After these, I'll enable passive observation so I learn your style as you work.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Answers pre-populate ROSETTA § Jarvis Patterns with initial "seed patterns" so Phase 2 (Anticipation) can activate as early as session 2-3 instead of session 11.
User can skip onboarding with jarvis skip — defaults to conservative mode.
Phase 1: OBSERVATION (Sessions 1-3 — v3.0 shortened)
Jarvis watches. Jarvis learns. Jarvis does NOT act proactively.
During every task completion, Jarvis silently records in ROSETTA's Jarvis section:
OBSERVATION LOG:
- Task completed: {what was done}
- User's next action: {what the user asked for next}
- Time between tasks: {immediate / delayed / new session}
- Skills the user invoked: {list}
- Pattern match: {does this match a previous observation?}What Jarvis observes:
- Post-task sequences: After "implement function" → user usually does what? (test? commit? review?)
- Skill invocation patterns: Which skills does the user call most? In what order?
- Correction patterns: When does the user say "no, I wanted X instead"?
- Session structure: Does the user work in bursts? Long sessions? Specific times?
- Tool preferences: Does the user prefer agents or inline work? Parallel or sequential?
- Domain switching: How often does the user switch between projects?
- Quality signals: What makes the user say "perfetto" vs "no, rifai"?
At the end of each observed session, Jarvis appends to ROSETTA § Jarvis Patterns:
| Date | Task Done | Next Action | Confidence | Pattern |
|------|-----------|-------------|:----------:|---------|
| {date} | Implemented auth module | Ran tests | — | implement→test |
| {date} | Fixed bug in metrics.py | Checked invariants | — | fix→verify_invariants |
| {date} | Wrote paper intro | Compiled LaTeX | — | write_latex→compile |Phase 1 output to user: At the end of each session, Jarvis shows a brief summary: "Ho osservato {N} pattern finora. Ancora {10-N} sessioni prima di iniziare ad anticipare."
Phase 1.5 (v3.0 NEW): SESSION-START AWARENESS CARDS
Runs at every SessionStart (via hook) for Jarvis-enabled users, starting session 2+.
Instead of silent Phase 1 (old: "Ho osservato N pattern finora. Ancora 10-N sessioni..."), show a USEFUL card:
🔮 Jarvis — Session awareness
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Top 3 patterns I've observed for you:
1. implement → test → commit (seen 4/5 times, 80% confidence)
2. edit .tex → compile (seen 3/3 times, 100% confidence)
3. debug → add logging → verify (seen 2/3 times, 67% confidence)
Ready to help proactively. Say "jarvis pause" to disable this session.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━Only show patterns with confidence ≥60% AND hit_count ≥2. If no patterns yet, show a brief observation summary ("You've been working on {topic} — I'm learning your patterns.").
Renders at SessionStart via the rosetta-load.sh hook (shipped in plugin hooks/).
Phase 2: ANTICIPATION (Sessions 3-15 — v3.0 lowered threshold)
Jarvis proposes. The user decides.
v3.0 threshold change: anticipation activates at 3 observations (was 10), or earlier if onboarding seeded patterns. Rationale: old 10-observation floor meant users didn't see value for weeks. New 3-observation floor shows value within the first session.
Once Jarvis has 3+ observations, it starts predicting:
- After each task completion, Jarvis checks ROSETTA patterns:
- Find matching pattern (e.g., "implement→test" seen 7/10 times)
- Calculate confidence:
frequency / total_observations - If confidence ≥ 60%: propose the next step
- Proposal format (in Italian, matching ROSETTA language preference):
🔮 Jarvis anticipa:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ho completato: {task description}
Basandomi su {N} osservazioni, il prossimo passo più probabile è:
→ {anticipated action} (confidence: {X}%)
Vuoi che proceda, o preferisci altro?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━- User response handling:
- User says "sì" / "procedi" / "vai" → execute anticipated action, log SUCCESS in ROSETTA
- User says "no" / does something else → log MISS in ROSETTA, record what user actually wanted
- User ignores → log SKIP, no confidence change
- Confidence evolution:
- Each SUCCESS: confidence += 5%
- Each MISS: confidence -= 10% (asymmetric — misses are more informative)
- Pattern drops below 30% confidence: mark as deprecated, stop proposing
- Skill auto-discovery:
During this phase, Jarvis also observes which skills COULD help:
- User writes code but doesn't test → propose: "Ho notato che non usi /test-driven-development. Vuoi che lo integri nel workflow?"
- User implements features without brainstorming → propose: "Per task creativi, /brainstorming potrebbe migliorare il risultato. Provo?"
- User never reviews code → propose: "/code-review potrebbe trovare issue prima del commit."
Phase 3: AUTONOMOUS (Sessions 15+, explicit opt-in required — v3.0 lowered threshold)
Jarvis acts. The user oversees.
After 15+ sessions (was 30 in v2.0), IF the user explicitly opts in (/llm-language:jarvis autonomous), Jarvis:
- Auto-executes high-confidence patterns (≥90% confidence):
- After implementing → auto-runs tests
- After fixing a bug → auto-checks invariants
- After writing LaTeX → auto-compiles
- After completing a feature → auto-runs code-review
- Pre-loads context for the next task:
- Reads files the user is likely to need next
- Prepares a draft prompt for the anticipated next request
- Has agents on standby for parallel work
- Proposes marketplace discoveries:
- Runs /llm-language:update periodically
- When a useful new skill/plugin is found: "Ho trovato {skill} che potrebbe aiutare con {pattern}. Vuoi installarlo?"
- Sets up recurring automations:
- If the user always runs tests after editing src/ → propose a PostToolUse hook
- If the user always checks git status before committing → propose a Stop hook
- If the user always compiles LaTeX after editing .tex → propose auto-compile
- Safety rails for autonomous mode:
- NEVER auto-commit or auto-push (irreversible)
- NEVER auto-delete files
- NEVER auto-install packages without explicit approval
- NEVER modify CLAUDE.md autonomously (human-curated)
- Always show what was done and why in a brief log
- User can say "jarvis stop" at any time to drop back to Anticipation phase
Jarvis Pipeline (on every invocation)
Step 1: Load Context
- Read ROSETTA.md (full, including § Jarvis Patterns)
- Read CLAUDE.md (codebase awareness)
- Check Jarvis phase: observation / anticipation / autonomous
- Count sessions and pattern confidence levels
Step 2: Execute Requested Task
- Run the standard llm-language pipeline (Phase 0-6) for the user's actual request
- Apply codebase awareness, ROSETTA patterns, scientific principles
- Use ultrathink for complex/critical tasks
Step 3: Observe & Record
- Log what task was completed
- Log what the user does next (if observable in same session)
- Update ROSETTA § Jarvis Patterns
Step 4: Anticipate (Phase 2+)
- Check if current task matches a known pattern
- If match with sufficient confidence: propose next step
- If no match: observe silently
Step 5: Act (Phase 3 only, high-confidence)
- For patterns ≥90% confidence: execute without asking
- For patterns 60-90%: propose and wait for approval
- For patterns <60%: observe only
Step 6: Discover & Propose
- If the current workflow could benefit from an unused skill: mention it
- If /llm-language:update has found relevant new tools: mention them
- If a recurring manual action could be automated with a hook: propose the hook
Skill Auto-Invocation Rules
Jarvis invokes skills BEFORE the user asks, but only when the pattern is clear:
| Trigger | Skill to Invoke | When |
| User asks to build a new feature | /brainstorming | BEFORE implementation |
| User completes implementation | /code-review or /simplify | AFTER implementation |
| User edits .tex files | /paper (compile + verify) | AFTER edits |
| User asks to fix a bug | /systematic-debugging | BEFORE fixing |
| User completes a major task | /verification-before-completion | BEFORE claiming done |
| User is about to commit | Check test status | BEFORE commit |
| User starts a new feature branch | /using-git-worktrees | AT branch creation |
CRITICAL: These are DEFAULT suggestions, not hardcoded rules. If ROSETTA shows the user never uses /brainstorming, Jarvis stops suggesting it. If ROSETTA shows the user always compiles LaTeX manually, Jarvis adapts.
Integration with Other llm-language Components
ROSETTA.md § Jarvis Patterns (dedicated section)
All Jarvis data lives in a dedicated ROSETTA section. See the ROSETTA update below for structure.
Auto-Memory (v2.0 NEW — project-level patterns)
Jarvis writes project-specific workflow patterns to ~/.claude/projects/<project>/memory/ with type: project frontmatter, distinguishing from user-level patterns in ROSETTA.
/llm-language:update
Jarvis checks for updates periodically and proposes new skills/plugins when they match observed workflow gaps.
Phase 0.6 (CLAUDE.md Maintenance)
When Jarvis detects significant codebase changes (new modules, new tests, changed architecture), it proposes updating CLAUDE.md.
Standard llm-language pipeline
Jarvis uses the full pipeline (Phase 0-6) for every task. The anticipation layer wraps AROUND the pipeline, not inside it.
v2.0 NEW — Background Plugin Monitors
Jarvis can register as a plugin monitor via top-level monitors manifest key (Claude Code v2.1.100+) — auto-arms at session start. Enables passive observation WITHOUT requiring explicit /llm-language:jarvis invocation each session.
v2.0 NEW — Push Notifications
In autonomous mode (Phase 3), Jarvis sends push notifications via "Push when Claude decides" config when: autonomous action executed, confidence dropped below threshold, or marketplace discovered relevant new skill.
v2.0 NEW — Agent Teams Mode
When Jarvis detects an adversarial + cross-cutting task pattern (security review, full-stack feature, debugging with competing hypotheses), propose Agent Teams mode. Requires CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. Only propose when pattern genuinely benefits from peer-to-peer coordination (MAD literature warns against overuse on strong models).
v2.0 NEW — Opus 4.7 Proactive Adjustments
Opus 4.7 spawns fewer subagents and follows instructions literally. Jarvis adjusts:
- More explicit subagent directives when anticipating parallel work
- Concise one-line persona framing
- Remove redundant emphasis markers from proposals
- Suggest
effort: xhigh+task_budget: 200kas default for long autonomous runs
Anti-Patterns
| Anti-Pattern | Why It's Dangerous | Prevention |
| Hardcoded workflow patterns | Every user is different | LEARN from observation, never assume |
| Acting without confidence data | Premature automation causes annoyance | Require 10+ observations AND 60%+ confidence |
| Auto-committing/pushing | Irreversible actions | NEVER auto-commit. Safety rail is absolute |
| Ignoring "no" signals | Erodes trust | Each "no" reduces confidence by 10% |
| Over-proposing | Notification fatigue | Max 1 proposal per task completion |
| Proposing skills the user rejected | Annoying repetition | Log rejections, don't re-propose for 30 days |
| Running in sessions where not invoked | Privacy/resource violation | ONLY runs when explicitly activated |
Token Cost
| Phase | Overhead | Justification |
| Observation | ~2K/session | Just logging to ROSETTA |
| Anticipation | ~5K/task | Pattern matching + proposal generation |
| Autonomous | ~15K/task | Pattern match + execution + verification |
These are ON TOP of the standard llm-language pipeline cost.
Deactivation
At any time:
jarvis stop→ drops to Anticipation phasejarvis pause→ stops all Jarvis activity for this sessionjarvis reset→ clears all learned patterns (requires confirmation)jarvis status→ shows current phase, pattern count, top-5 patterns with confidence
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

