Developer ideation is often chaotic. Thoughts, bugs, and feature ideas strike at random times, and jotting them down in a daily scratchpad is easy. The hard part is turning that unstructured brain-dump into organized, actionable tasks. This process is manual, tedious, and ripe for automation.
This lesson demonstrates how to build a powerful, end-to-end pipeline in Cursor that bridges the gap between ideation and execution. By combining the quick-capture convenience of the Foam extension for daily notes with a custom, reusable AI rule, you can create a seamless workflow that automatically parses your thoughts, categorizes them, and generates structured issue files in your project.
You will learn to:
fix/, feature/, etc.) to keep tasks organized.This workflow transforms a messy but necessary habit—jotting down daily notes—into the first, automated step of your development lifecycle, saving you time and ensuring no good idea gets lost.
By default, the Foam VS Code extension creates daily notes in your project root, which can be messy. A simple configuration in your workspace settings.json directs these notes into a dedicated folder.
// .vscode/settings.json
{
"foam.openDailyNote.directory": "notes"
}
With this and a keyboard shortcut, you have an instant-access scratchpad to capture thoughts without cluttering your project.
Before automating, we need a destination. We can instruct the AI to set up a structured "memory project" to house our organized tasks.
Create a new memory project called issues in the root of my directory with a few. Folders that are named after conventional commit messages like fix and feature and chore and refactor and perf.
This creates a clear, conventional structure for our automated workflow to target.
This is the core of the automation. We prompt the agent to read the daily note, identify distinct tasks, and file them correctly in our issues project.
Please extract the content from my daily note and organize it into files inside the proper folders in my issues project. Please make sure to switch to the issues project first.
To make this process repeatable, we capture it in a Cursor Rule. The initial rule might be too general, leading the AI to perform actions manually instead of using more robust, structured tools (MCPs).
We iterate and refine the rule by making it more explicit, including the exact MCP tool names for each step. This ensures the AI follows the exact, reliable procedure every time.
Refining the rule with a more specific prompt:
Please also include all the exact MCP tools that need to be used in each of the steps.
The final rule becomes a reliable, one-command solution to process your daily notes.
Once the refined rule is in place, the daily workflow is simple:
@create-issues-from-today).The agent will execute the precise, multi-step process, turning your raw notes into perfectly structured and filed issues, complete with front matter and permalinks, ready for you to start working.
[00:00] Foam has a keyboard shortcut for creating a note for today, but if you run it, it's going to create this file in the root of your project. So let's delete that and start over by opening our workspace settings, the JSON version, go down to the bottom of the file and we'll say foam open daily note and set this to a notes directory. Now once we run that today note shortcut which was option D it'll pop open this file and we can jot down whatever thoughts we just had working on our project. I noticed a bug where a user created duplicate scripts with the same title and I'd also like to address the performance in the pagination to get to the last page faster. So we'll jot those down, then anytime or in any other file if we want to jot down a note, it's just option D.
[00:47] It pops you right back to that file no matter what. Even if it's closed, option D. You can just jot down notes. Now what you can do with this is go into your agent, we'll start a fresh conversation, and tell it to create a new memory project called issues in the root of my directory with a few folders that are named after conventional commit messages like fix and feature and chore and refactor and perf. Then this can use the mcp to ping off of basic memory and if we check out the result from the MCP, you'll see create memory project.
[01:19] It created a project named issues inside of our current project here. I would say that if you're going to support multiple projects with basic memory, you probably want to have something like script-generator-issues as a project name. Then once it added this project we now have all these folders which we can check on in here and then I can tell it to please extract the content from my daily note and organize it into files inside the proper folders in my issues project. Please make sure to switch to the issues project first. Then we'll let this run and you can see it switched over to our issues project.
[01:54] So now our notes are extracted into issues. We have a fix here, we have a perf here, and we've essentially started this pipeline of a quick ideation of the things that we need to work on. Then we can take these issues, push them up to GitHub, start working on them, and once we learn from the work we can store that back into our memories. It's definitely worth taking the time in a workflow like this where you want your agent to accomplish a specific task with specific folders to create a rule for this. So I'm going to generate a new rule, I'm going to call it create issues from today.
[02:30] Then I'm going to drag this rule in here and say, please update this rule with the steps required to take today's note and organize it as we did in this conversation. So let's check out our result, switch the issues project, find the daily note, extract actionable items. I'm going to go ahead and list the available folders here. So I'll tell it with command-I, bring that part over, please create a bulleted list of all the available folders so it's more explicit. So I'll go ahead and accept this change where I added the folders up here.
[03:04] And so now in the future, once we start a new agent conversation, if we just hop over to our scratchpad with option D, I'll go ahead and get rid of this. I'll come up with some scenario like I want to add a chat feature so that users can message each other about their scripts. And there's this bug if you click on the submit button five times too quickly a pop-up window alert shows up. Kind of a non-set scenario. I'm going to open the agent.
[03:28] I'm going to bring in our focused Recent rule with reset context. I'll reference our rule for create issues. We'll go ahead and hit enter here and let it do its work. Unfortunately, it looks like our rule was not clear enough because it created these files manually instead of using the MCP. So even though these got to the right place, it didn't add things like the front matter which the MCP API would have created.
[03:54] So we're going to reject all of these. We're going to update our rule to be a bit more specific. So I'm going to navigate back to our previous conversation and tell it to please also include all the exact MCP tools that need to be used in each of the steps. And now looking through this you can see the exact tools it's referencing. So we'll accept this and let's ditch this extra front matter, some weird formatting there.
[04:18] We'll swap back to our previous conversation that failed, scroll back up, we can rerun this, and this time it should call the mcp-tools. Now we have in our issues directory, we have feature, here's our chat feature request, now it has the proper front matter and permalinks. We have a fix request about submit button presses, and now these are queued up to move the project forward.