The secret to Cursor agent mode is not a better model, it is a better spec. In an April 2025 live demonstration, the Full Cycle channel built a Go rate limiter by first writing ADRs and context documents with AI assistants, then parsing them into explicit tasks. The agent implemented each task in scope, one chat per task, with validation after every step.
Why Cursor agent mode fails without structure
Cursor agent mode fails without structure because the model loses context, abandons half-finished features and edits code outside the requested scope. The Full Cycle channel's April 2025 live session, a 143-minute walkthrough of AI-assisted development, showed the alternative: prepare specifications, architecture decision records and a task list before the agent writes a line of code.
The presenter's core argument matches common experience. Ask a model to 'fix this bug' or 'develop this feature' with no context and you get superficial output. Give it documented decisions and an ordered task list, and the same model follows a workflow: read the next task, mark it in progress, implement only what is in scope, then mark it done for human review.
The video was published on April 15, 2025, and used Cursor, an AI-first code editor built on VS Code, together with ChatGPT for specification work. For readers comparing structured courses on this topic, resources such as Crazystack Typescript and the Bootcamp do Dev Doido, listed at crazystack.com.br, cover adjacent prompt-engineering material.
Which prompt types matter before you touch the agent
Four prompt types matter before you touch the agent: zero-shot, few-shot, chain of thought and skeleton of thought. The live session treats the first two as baseline and the last two as the practical foundation for specification work.
- Zero-shot: a direct request with little context, like 'translate this to English'. Fine for small tasks, weak for software design.
- Few-shot: you provide examples of the desired response format, giving the model a contextual base.
- Chain of thought (CoT): you ask the model to reason step by step and justify each point, producing an explicit chain of reasoning.
- Skeleton of thought (SoT): you prescribe the structure of the answer itself, so the model fills a defined outline instead of choosing its own shape.
A concrete chain of thought example from the session: 'You are a software engineer with 10 years of experience in concurrent distributed systems. Review this code, identify flaws, think step by step justifying each point with Go best practices, then review your own sequence of steps.' The model returned a numbered analysis: function signature, validation logic, standard types, concurrency, testability, improvement proposals, conclusion. That reasoning trace becomes documentation you can reuse when writing a specification.
The techniques have research origins rather than marketing ones: chain-of-thought prompting was described by Google researchers in a 2022 paper, and skeleton-of-thought came from a 2023 paper on accelerating parallel decoding. The session's point is simpler: know which structure you are invoking, and compose them. Asking the model to explain its step-by-step reasoning inside a skeleton you defined combines both.
Tree of thought and self-consistency for design decisions
Tree of thought and self-consistency help when a design decision has several valid answers. Instead of asking for one solution, you ask the model to generate multiple reasoning branches, expose pros and cons for each, and then pick the best one against explicit criteria.
In the session, the prompt asked for multiple approaches to a rate limiter for an API receiving 100,000 requests per second, with five pros and five cons per approach, excluding external gateways but allowing Redis. The model produced branches: token bucket in memory, fixed window with a counter in Redis, sliding window log, and leaky bucket, then recommended one based on scalability, reliability and latency.
Self-consistency is the verification step. You re-test the chosen strategy against different scenarios: a mail notification system that must spread 100 requests per minute across the minute instead of bursting them, a public API with 60 requests per minute for free clients and 1,000 for premium ones. If the model keeps confirming the same strategy across differently framed scenarios, confidence rises; models hallucinate, so repeated probes from different angles are the safeguard.
The comparison the session produced is worth restating as a reference table:
Rate limiter strategies compared in the session
The tree-of-thought exercise surfaced four main strategies for a per-client rate limiter, each with a distinct fit:
| Strategy | Best fit | Main trade-off |
|---|---|---|
| Token bucket in memory | Low latency, single instance | No shared state across replicas |
| Fixed window with Redis counter | Simple distributed limits | Burst at window boundaries |
| Sliding window log | Precise limits | Heavy memory use per client |
| Leaky bucket | Smoothing bursts over time | Queuing behavior adds latency |
The session's example project settled on leaky bucket with Redis for the final specification, chosen precisely because the goal was to spread a burst of requests across the window rather than allow them all in the first second. The strategy choice itself was documented as an ADR before any implementation started.
Generating ADRs and project context with AI assistants
ADRs, or architecture decision records, document why each architectural choice was made, whether it is still active, and its consequences. They are tedious to write by hand, and the session's argument is that they now pay off twice: humans read them, and the AI agent reads them before implementing anything.
The presenter used a custom ChatGPT assistant that interviews the user before writing an ADR: system name, existing technologies, whether the project is new or a migration, whether ADRs already exist. Answering interactively, it produced a record for 'choosing Go as the development language' with context, decision, status and consequences, in about two minutes. The project's docs folder then held ADRs for libraries, environment variables, Go conventions and testing practices.
A second assistant generated the project context document: what the system is, who uses it, what problem it solves, what is in and out of scope, dependencies, restrictions and risks. For the example rate limiter, the context covered the per-minute limit, the API stability problem, Docker and Redis dependencies, and memory and concurrency constraints.
The information-gain step in the session was consolidation: a prompt told Cursor in agent mode to read every file in the docs folder plus a PRD template, reason step by step about how to merge the ADRs and context into one PRD without losing granular details like the Go 1.24 version, and store the granular material in an appendix. The resulting prd.md became the single input for task generation.
Task management in agent mode with Task Master
Task management is the component that keeps agent mode on rails, and the session used Task Master, an open-source task workflow tool that runs inside Cursor and can call models from Anthropic and Perplexity for research-backed task expansion.
The workflow ran as follows:
- Initialize Task Master in the project and add API keys for Anthropic Perplexity.
- Run the parse command on prd.md; the tool read the document, did Perplexity research, and generated 10 ordered tasks with dependencies and priorities.
- Run complexity analysis per task; the report flagged high-complexity tasks and recommended how many subtasks each needed.
- Expand complex tasks into numbered subtasks, then review them, because generated subtasks still need human judgment.
- Prompt the agent: 'check the next task via Task Master and start implementing; do not implement anything outside the task scope.'
During implementation the agent marked tasks in progress, created the Go module with the requested namespace, set up environment variables, wrote main.go, a Dockerfile and docker compose. It made mistakes the presenter corrected live, like an outdated Go version and an obsolete compose field, which he framed as the point: the developer pilots, the agent types. After each task, a verification prompt asked the agent to deep-check the code against the task requirements and produce a checklist.
Two operating rules from the session: one chat per task, so context does not rot, and resume explicitly in a new session by asking the agent to verify where it stopped before continuing.
What stays human in the workflow
Code review, scope control and architectural judgment stay human in this workflow. The presenter estimated he does not run 100% of development in agent mode; every generated task ends as a commit, a test and a reviewed pull request. The productivity claim in the video is first-hand experience, not a benchmark: scaffolding a project this way took minutes of agent time that would otherwise take a developer hours.
For large legacy projects, the session's advice was to index and summarize the existing codebase into context documents and ADRs, possibly using a long-context model like Gemini to read a large share of the files, then apply the same task workflow per module. The presenter reported doing this on real projects, again as personal experience rather than measured data.
The broader lesson generalizes well: agent mode amplifies the quality of your specification. Developers who understand architecture, algorithms and their stack write stronger ADRs and task descriptions, and the agent's output quality tracks that strength directly.
FAQ
- What is Cursor agent mode? It is the mode of the Cursor in which the AI autonomously plans and executes multi-file changes, not just single completions. It works best when given explicit tasks, project context and documentation to read first.
- Which prompt techniques does the workflow use? Chain of thought for step-by-step reasoning, skeleton of thought to fix the output structure, tree of thought to generate and compare alternative solutions, and self-consistency to re-test a chosen strategy against different scenarios.
- What is Task Master and is it free? Task Master is an open-source task management tool on GitHub that parses a PRD into ordered tasks with dependencies and priorities. The tool itself is free, but it calls paid model APIs from Anthropic Perplexity the presenter mentioned paying around 5 cents for deeper analysis runs.
- Why write ADRs if the AI writes the code? ADRs record why decisions were made and whether they are still valid, and the agent reads them before implementing. That keeps test conventions, library choices and environment configuration consistent across tasks.
- Does this workflow replace the developer? No. The presenter emphasized that every task ends with human review, a commit, tests and a pull request, and that mistakes like wrong tool versions still require a developer who can spot them.
This article itself shows the pattern the workflow celebrates: turn a long, unstructured source, here a 143-minute live stream, into a documented, searchable artifact. If you have valuable explanations, interviews or lessons sitting in your own YouTube videos, Skala Blog turns them the same way: paste the URL, get the transcription, and generate a structured article ready to review and publish.
Fork this article
Start a new branch from the same video, shaped your way. You keep the credit; the original keeps the attribution.
A fork in another language is filed as a translation of this article, so the two pages point at each other. You can unlink it later from the editor.
0/240
You are creating
- Format
- For
- Language
- Source
- Your angle
You will be asked to sign in before it is generated.
Buy credits