This has fixed just about EVERY SINGLE problem for me with Claude 3.7 in Cursor - It has turned my development into a CRACKED BEAST - I code about 12 hours a day, and I work on about 2 different Cursor windows at a time on extremely complex workflows/code and this specific MODE I have fine tuned with trial and error and this is the best -
How to use: Just paste this in your RULES or save it as a text file in your cursor and when you start any project simple drag it in:
COPY THE EXACT TEXT BELLOW THE DOTTED LINE
(RIPER 5 stands for the 5 modes (research, innovate, plan, execute, review)
RIPER-5 MODE: STRICT OPERATIONAL PROTOCOL
CONTEXT PRIMER
You are Claude 3.7, you are integrated into Cursor IDE, an A.I based fork of VS Code. Due to your advanced capabilities, you tend to be overeager and often implement changes without explicit request, breaking existing logic by assuming you know better than me. This leads to UNACCEPTABLE disasters to the code. When working on my codebase—whether it’s web applications, data pipelines, embedded systems, or any other software project—your unauthorized modifications can introduce subtle bugs and break critical functionality. To prevent this, you MUST follow this STRICT protocol:
META-INSTRUCTION: MODE DECLARATION REQUIREMENT
YOU MUST BEGIN EVERY SINGLE RESPONSE WITH YOUR CURRENT MODE IN BRACKETS. NO EXCEPTIONS.Format: [MODE: MODE_NAME]Failure to declare your mode is a critical violation of protocol.
I keep it on the Project based rules, coz sometimes if I want to fire off a new cursor window for a simple task I dont need it to go thru the RIPER-5 mode - but if its my main project then I will paste it in the project based rules which is different than the Default Rules on the upper half in the Rules page in settings - Sometimes also if I skip to do mini tasks that are very simple and I dont want to create a new window, in that case I keep a folder called Docs and I paste this as riper_5_mode.txt and I just drag to PRIME a specific chat thread - this way if I create a new thread it wont be riper primed and I can get something done quickly - so like very customizable based on your workflow - adapt it to work for you, its just those 5 modes pretty much have the basic logical approach to development but everybody is different. You can also have a DEFAULT starting mode - many things but once you start implementing MODES you will quickly find yourself tweaking it to your exact workflow - so start with Riper-5 then with trial and error tweak it - goodluck
Cool, yeah doing similar with a few for my workflow optimized modes, mostly as separate mode.md files to reference easier, some as project rules as well.
Tried rn on a large codebase and it’s simply not working. Claude fails to follow even the basic rule of waiting for my permission before switching mode or to not write code in PLAN mode.
Then you might need some serious encapsulation to your code base to be prepped to be developed on by A.i based system. You can’t have a large codebase that is NOT optimized for A.I workflow, you have to always have the 200k window context in mind. Therefore your code might have to be restructured and redesigned to be super MODULAR. Where it works by decoupling it into the smallest possible units of modules and separation of concerns, and then this way you can tackle it one module at a time where it well fit inside of the context and be productive. And if it "instantly " loosing context then it means it’s still not as modular as you think and you are feeding it beyond it’s max tokens.
Working with A.I based systems means you have to completely re think your entire structure and architecture to rewrite it in a way that’s optimized for this.
Follow a simple private / public design where you create for each specific component/feature a private folder and that specific component is further broken down to the smallest possible units of concern, like following a strict “separation of concern” approach. Then you create a simple PUBLIC API that handles the orchestration of THAT specific feature. Then create another script that only handles the orchestration of the smaller orchestrations. And so on until in the end the higher up codes will be smaller n smaller where now u have this super hierarchial TREE MODULAR structure, where u can easily develop well within any modern LLM(by modern I mean within the last 3 months!)
When using it, I’m not sure about the difference between [MODE: RESEARCH] and [MODE: INNOVATE]. In what situations should I use each mode? It seems they don’t make much difference in my workflow. By the way, I’m doing artificial intelligence development.
AI made the transition cursor is just a local program. But yes this happened to me too. AI sometimes pretends to be user and outputs fake user Chat part with such large prompts
nice! I like how everybody will basically start to like really embrace MODES and will soon each person adapt it and tweak it to their exact liking! I even sometimes have MULTIPLE modes I trigger at will, almost like MODES nested in MODES if you will! - However I must say that I know that this is NOT the most efficient way still, the actual absolute real efficient way would be to have a STARTING MODE that will guide an AGENTIC workflow - this way the MODE is only orchestrating the AGENTIC triggers - and if you wanted to be super efficient you would actually create an AGENTIC MODE that is way more dynamic that static text primed at the initial instance - but you know that might be overkill (which I really doubt it is as the second your code goes beyond 10 files you basicaly need this advanced agentic mode appraoch vs just a pure static text mode)
Research is PURELY COLLECTING informatoin, reading your codebase, understanding it, gathering information, THATS IT - u r NOT creating anything, u r not brainstorming, u r purely understanding the PURE FULL state of your project. THEN the Innovate MODE is when u ACTUALLY brainstorm and INNOVATE new ideas, fixes, refactoring, adding features you know its the MAIN developing part - and this is where the actual development happens, and u go between this and once u feel u have a solid idea u go to PLAN mode and u SKETCH it out like a GAME PLAN - then u go BACK to Innovate and check it and see if it makes sense and go back n forth - UNTILL the PLAN is fully sound THEN u switch to EXECUTE MODE where now no more thinkin and pure execution of the exact checklist in MODE PLAN - then finaly in the end u review the ACTUAL CHANGE against the PLAN and the reviewer checks if u deviated etc
GOT IT! But I still have a question. This workflow seems to have a very high requirement for context. Even if I only stay in the previous MODE for only one conversation, the editor during PLAN MODE still often shows “no changes made”
But to be honest, this afternoon (actually it was yesterday, LOL), Claude’s service had a malfunction, and the frequently updated Cursor also had numerous bugs. I don’t know whether it’s because my code is not modular enough, taking up too much context space, or simply a problem with the service provider.
yes same here, this was just you know certain high overload or something u get occasional glitches or the system just skips, in that case try switching like to Agent or something - but this has nothing to do with the MODES like RIPER-5 i was describing, that is solely to FULLY TAME IT to make it steerable like a HORSE, you are like aggressively tying “REINS” on the horse so it does exactly what you want and account for its weird overly-eager random tendencies. Its like this new found undesired behaviour that came as a trade-off from its potential much improved intelligent. Like Claude 3.5 was no where as near as eager and randomly takes off in unrequested side tangents but then again 3.5 is NOT as capable as 3.7. You know so its like with every improvement you get a side effect you must “tame” and that is just simply what the RIPER-5 aims to do that is it. Use in combination with other like “grounding” techniques, Cursor is already implementing rules and project based rules all in the same hope of taming these WILD BEASTS!