CtrlK
BlogDocsLog inGet started
Tessl Logo

pantheon-ai/implementation-planner

Converts a PRD or requirements document into a structured, phased implementation plan with individual phase files and granular per-task files written to .context/plans/. Also restructures existing monolithic planning documents into digestible, hierarchical directory structures. Creates a root plan index summarising all phases, a numbered phase file per phase, and a numbered task file per task inside each phase directory.

92

3.25x
Quality

93%

Does it follow best practices?

Impact

91%

3.25x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Agent was asked to create a plan for an E-commerce Checkout Redesign. This scenario specifically evaluates naming, slug format, and P{NN}T{NN} identifier compliance throughout all generated files.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "plan-slug-is-kebab-case",
      "description": "The plan root directory slug is lowercase kebab-case (e.g. plan-ecommerce-checkout-redesign). Violation: PlanEcommerceCheckout, plan_ecommerce_checkout, plan-Ecommerce-Checkout, PLAN-CHECKOUT",
      "max_score": 8
    },
    {
      "name": "phase-slugs-are-kebab-case",
      "description": "All phase directory slugs are lowercase kebab-case and describe the phase outcome (e.g. phase-01-cart-review-component, phase-03-payment-integration). No numeric-only slugs (e.g. phase-1/)",
      "max_score": 8
    },
    {
      "name": "task-identifier-format-all-files",
      "description": "Every task file uses the P{NN}T{NN} format with zero-padded 1-based numbers for both phase and task. Examples: task-P01T01-*.md, task-P02T03-*.md. Violations: task-1-1.md, task-p1t1.md, task-01-03.md",
      "max_score": 12
    },
    {
      "name": "task-numbering-starts-at-01",
      "description": "Task numbering within each phase starts at T01 (not T00). Phase numbering starts at P01 (not P00). Confirmed by inspecting all task filenames",
      "max_score": 8
    },
    {
      "name": "task-numbering-sequential-no-gaps",
      "description": "Task numbers within each phase are sequential with no gaps (e.g. P01T01, P01T02, P01T03 — not P01T01, P01T03, P01T05)",
      "max_score": 8
    },
    {
      "name": "phase-numbering-sequential-no-gaps",
      "description": "Phase numbers are sequential with no gaps across the plan (e.g. P01, P02, P03 — not P01, P03, P05)",
      "max_score": 6
    },
    {
      "name": "no-spaces-or-underscores-in-slugs",
      "description": "No directory or file name contains spaces, underscores, or mixed case. All paths use hyphens as word separators",
      "max_score": 6
    },
    {
      "name": "phase-and-task-zero-padding-two-digits",
      "description": "All phase and task numbers use two-digit zero-padding (01, 02, ... 10, 11 — not 1, 2, 10). This applies to both the directory prefix and the P{NN}T{NN} identifier in the filename",
      "max_score": 8
    },
    {
      "name": "task-slug-after-identifier-is-descriptive",
      "description": "The slug portion of each task filename (after P{NN}T{NN}-) is descriptive and reflects the task content (e.g. task-P01T02-cart-item-quantity-component.md — not task-P01T02-task.md or task-P01T02-step.md)",
      "max_score": 8
    },
    {
      "name": "root-readme-is-index",
      "description": "Root README.md links to phases but contains no task-level implementation detail",
      "max_score": 5
    },
    {
      "name": "phase-readmes-include-goal-gate",
      "description": "Every phase README.md includes a goal statement and a concrete, runnable gate",
      "max_score": 8
    },
    {
      "name": "validate-plan-run",
      "description": "Agent ran validate-plan.sh <plan-slug> after creating all files",
      "max_score": 8
    },
    {
      "name": "completion-summary-includes-paths",
      "description": "Completion summary lists all file paths including directory-separated structure (not just a count)",
      "max_score": 5
    },
    {
      "name": "slug-length-reasonable",
      "description": "Slugs are concise — no single slug segment exceeds 5 words (50 characters). Overly long slugs reduce readability",
      "max_score": 2
    }
  ]
}

evals

SKILL.md

tile.json