You are creating a new plan file in the .agents/plans/ directory.
First, read .agents/ARCHITECTURE.md to understand the project's layered architecture and design principles. This is crucial for planning features that fit into the high-level/low-level API structure.
Your Task
- •Read ARCHITECTURE.md - Understand the layer structure and design principles
- •Determine the slug - Based on the conversation context and intent, determine an appropriate file slug (kebab-case recommended). Ask the user if unclear.
- •Gather content - Collect or generate the plan content from the discussion
- •Create the file - Use the create-plan script to generate the file
Architecture Considerations
When planning features, consider the two API layers:
- •High-level API: Simple, task-focused interfaces (
PDF,PDFPage,PDFForm) - •Low-level API: Full control via COS objects (
PdfDict,PdfArray,PdfStream)
Most features should follow this pattern:
- •Implement low-level functionality first (direct PDF object manipulation)
- •Build high-level adapters that provide ergonomic APIs
- •Ensure the high-level API is what most users interact with
Example: A gradient feature might have:
- •Low-level:
createAxialShading(),registerShading()- direct PDF object creation - •High-level:
page.drawGradient()- user-friendly method on PDFPage
Usage
The script will automatically:
- •Generate a unique three-word ID (e.g.,
happy-blue-moon) - •Create frontmatter with current date and formatted title
- •Save the file as
{id}-{slug}.mdin.agents/plans/
Creating the File
Option 1: Direct Content
If you have the content ready, run:
bun scripts/create-plan.ts "<slug>" "Your plan content here"
Option 2: Multi-line Content (Heredoc)
For multi-line content, use heredoc:
bun scripts/create-plan.ts "<slug>" << HEREDOC Your multi-line plan content goes here HEREDOC
Option 3: Pipe Content
You can also pipe content:
echo "Your content" | bun scripts/create-plan.ts "<slug>"
File Format
The created file will have:
--- date: 2026-01-21 title: Plan Title --- Your content here
The title is automatically formatted from the slug (e.g., my-feature → My Feature).
Guidelines
- •Use descriptive slugs in kebab-case (e.g.,
user-authentication,api-integration) - •Include clear, actionable plan content
- •The unique ID ensures no filename conflicts
- •Files are automatically dated for organization
Begin
Create a plan file using an appropriate slug based on the conversation context and content for the planning task.