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.
