Agent skill
maestro:note
Capture decisions, constraints, and context to persistent notepad. Priority notes are injected into every session and implementation run.
Install this agent skill to your Project
npx add-skill https://github.com/ReinaMacCredy/maestro/tree/main/.codex/skills/maestro:note
SKILL.md
Note -- Persistent Working Memory
Notes are the cross-cutting memory layer. They persist across sessions, survive context resets, and -- for Priority Context -- are automatically injected into every worker prompt.
Core principle: If a future session needs this to avoid a mistake, capture it. If not, skip it.
Mental Model
Two-tier system:
- Priority Context = pinned message in a channel. Every agent sees it, every time. Hard constraints that, if violated, produce wrong code. Workers cannot ask clarifying questions -- they need these upfront.
- Working Memory = searchable thread history. Insights, learnings, and soft observations accumulated during implementation. Available on demand, pruned periodically.
- Manual = user sticky notes. Never auto-touched, never pruned. The user manages these directly.
When to Capture
Always:
- Decisions that constrain future work (API choice, library version, architecture direction)
- Constraints discovered mid-implementation (rate limits, API quirks, platform bugs)
- User decisions on blockers (the "why" behind the choice, so no one re-asks)
- Cross-track dependencies ("track X depends on auth refactor from track Y")
Never:
- Status updates ("started task 3") -- use
task-update - Things already in spec or plan -- don't duplicate
- Temporary debugging notes ("tried X, didn't work") -- ephemeral, discard
- Obvious codebase facts -- use
context-writefor codebase knowledge
Decision heuristic: "Will a future session need this to avoid a mistake?" Yes = capture. No = skip.
Priority Context vs Working Memory
| Attribute | Priority Context | Working Memory |
|---|---|---|
| Injection | Every session + every worker prompt | On-demand (show/prune) |
| Audience | All agents, including workers who cannot ask | Orchestrator only |
| Content | Hard constraints, blocking decisions | Insights, learnings, soft preferences |
| Lifespan | Until feature ships or constraint lifts | Until pruned |
| Volume | 3-7 bullets max (more = noise) | Unlimited (prune periodically) |
| Format | Imperative constraint | Dated insight with track context |
Promoting to Priority: If a Working Memory note keeps causing mistakes across sessions, promote it to Priority Context. If a Priority note no longer applies, demote or delete it.
Good Notes vs Bad Notes
See reference/note-patterns.md for more examples across decisions, constraints, discoveries, and dependencies.
Arguments
$ARGUMENTS
| Input | Target Section |
|---|---|
<content> (no flag) |
Working Memory |
--priority <content> |
Priority Context |
--manual <content> |
Manual |
--show |
Display full notepad (read-only) |
--prune |
Remove stale Working Memory entries |
--clear <section> |
Clear a section (priority, working, all) |
Execution
Step 1: Ensure Notepad Exists
If .maestro/notepad.md does not exist, create it with section headers:
# Notepad
## Priority Context
## Working Memory
## Manual
Step 2: Parse and Execute
Add (default, --priority, --manual):
- Read
.maestro/notepad.md - Find the target section header
- Append
- <content>after the header, before the next## - Write the updated file
- Display the updated section to confirm
Show (--show):
- Read and display
.maestro/notepad.md - If missing: "No notepad found. Use
/maestro:note <content>to start."
Prune (--prune):
- Review each bullet in
## Working Memory - Remove items that are stale, resolved, or superseded
- Keep
## Priority Contextand## Manualintact - Show what was removed and what was kept
- If uncertain about an item, ask the user
Clear (--clear <section>):
- Parse section:
priority,working, orall - If clearing Priority Context or all: confirm with user first
- Remove all bullets from specified section(s), keep headers intact
Note Lifecycle
Create --> Review (session start) --> Update (constraint changes) --> Archive/Delete (resolved)
| Trigger | Action |
|---|---|
| New decision or constraint discovered | Create note (choose tier) |
| Session start | Review Priority Context -- still accurate? |
| Constraint changed | Update the note in place (don't append a duplicate) |
| Feature shipped | Prune Working Memory, demote/delete Priority notes |
| Constraint lifted | Delete the Priority note |
| Reasoning might matter later | Archive to context-write before deleting |
Anti-Patterns
| Anti-Pattern | Why It Hurts | Fix |
|---|---|---|
| Notes too vague ("the API thing") | Future sessions cannot act on it | Include specifics: which API, what behavior, what constraint |
| Notes too long (full paragraphs) | Agents skim or skip long bullets | One line per note. Details go in context-write |
| Duplicating spec/plan content | Two sources of truth that drift apart | Reference the spec; don't copy it |
| Priority Context bloat (>7 items) | Agents stop reading; noise drowns signal | Prune aggressively. Only hard constraints belong here |
| Never pruning Working Memory | Graveyard of stale insights misleads agents | Prune after each feature completion |
| Using notes for codebase knowledge | Notes are ephemeral memory, not documentation | Use context-write for durable codebase knowledge |
| Status updates as notes | Notes are for decisions and constraints, not progress | Use task-update for status |
Section Contracts
| Section | Written By | Read By | Persistence |
|---|---|---|---|
| Priority Context | User via --priority |
maestro:implement Step 3.8, team-mode worker prompts |
Until manually cleared |
| Working Memory | Default /maestro:note, auto-capture during implementation |
Sessions, prune | Pruned periodically |
| Manual | User via --manual |
Sessions | Until manually cleared |
Relationship to Other Commands
/maestro:setup-- Scaffold project context (run first)/maestro:new-track-- Create a feature/bug track with spec and plan/maestro:implement-- Execute implementation (reads Priority Context at Step 3.8)/maestro:review-- Verify implementation correctness/maestro:status-- Check progress across all tracks/maestro:note-- You are here. Capture decisions and context to persistent notepad
Priority Context is automatically loaded by /maestro:implement at execution start and injected into worker prompts in team mode. Working Memory accumulates insights from both manual notes and auto-capture during implementation. Use --prune after each feature completion to keep Working Memory relevant.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
maestro-skill-author
Create, update, or debug maestro built-in skills. Covers SKILL.md frontmatter, reference directory structure, step-file architecture, build-time embedding, naming conventions, alias management, and registry validation. Use when creating a new maestro built-in skill, modifying an existing SKILL.md, adding reference files, debugging skill loading failures, updating the skills registry, or working on the skills full port. Also use when frontmatter validation fails, skills don't appear in skill-list, or reference files fail to load.
maestro:brainstorming
Use before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
maestro:plan-review-loop
Deep-review any plan (maestro, Codex, Claude Code plan mode, or plain markdown) using iterative subagent review loops with BMAD-inspired adversarial edge-case discovery. Spawns reviewer subagents that find issues using pre-mortem, inversion, and red-team techniques, auto-fixes them with structured fix strategies, and re-reviews until the plan passes with zero actionable issues. Use when the user says 'review the plan', 'deep review', 'check the plan thoroughly', 'review loop', 'validate before approving', or wants rigorous plan validation before execution. Also use proactively before plan-approve when the plan is complex or high-risk.
maestro:research
Structured research workflow for maestro features. Guides tool selection across three tiers (codebase exploration, Context7 for library docs, NotebookLM for deep analysis), defines research patterns, finding organization via memory_write, and completion criteria. Use during the research pipeline stage after feature_create and before plan_write. Also use when investigating a problem space, comparing technical approaches, gathering context on unfamiliar code, or needing to understand external library APIs before making architectural decisions.
cli-for-agents
Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples, stdin/pipelines, fast actionable errors, idempotency, dry-run, and predictable structure. Use when building a CLI, adding commands, writing --help, or when the user mentions agents, terminals, or automation-friendly CLIs.
Didn't find tool you were looking for?