Skip to content

Support project-level context files in PRD and design workflows #63

Description

@eranco74

Summary

The PRD and design workflows should natively support loading project-specific context files that extend (not replace) the workflow's built-in behavior. This enables projects to inject domain knowledge — personas, cross-cutting dimensions, review expectations, decomposition heuristics — that the generic workflows can't know about.

Motivation

In the OSAC project, we found that PRDs and design documents consistently missed important project-specific dimensions:

  • Services — Features apply to different service tiers (BMaaS, CaaS, VMaaS) with different behavior per service
  • Personas — OSAC has 4 canonical personas (Cloud Provider Admin, Cloud Infrastructure Admin, Tenant Admin, Tenant User) that user stories must address
  • Cross-cutting concerns — Tenant onboarding, inventory backends, networking backends, storage integration, installation impact — each feature must declare what's in/out of scope for each
  • Review patterns — Institutional knowledge about common reviewer feedback themes and anti-patterns
  • Decomposition heuristics — Project-specific complexity assessment dimensions and cross-repo dependency mapping

None of this belongs in the generic workflow — it's OSAC-specific. But without it, PRDs and designs are incomplete and get caught in review.

Current workaround

We added a CLAUDE.md instruction telling both workflows to read files from .design/context/:

### Feature Dimensions Context

Both `/prd:ingest` and `/design:ingest` must read all files in `.design/context/` during their ingest phase:

- **`osac-dimensions.md`** — Cross-cutting dimensions, services, personas
- **`review-patterns.md`** — Common EP reviewer feedback themes and anti-patterns

This works because both controllers read CLAUDE.md at startup. But it's fragile — it relies on the AI following an indirect instruction rather than having a built-in convention.

Proposal

Add a conventional lookup path for project-level context files, similar to how .design/templates/ already works for template overrides:

Convention: .design/context/*.md

Any markdown file in .design/context/ is project-level context that extends the workflow's behavior. These files are additive — they don't replace any built-in behavior, they provide additional context for the AI to consider.

Integration points

The context files should be loaded at these phases:

Phase How context is used
/prd:ingest After ingesting requirements, check context files for dimensions the requirements don't address. Flag gaps in Initial Observations.
/prd:clarify Use dimensions/personas from context files to generate targeted clarifying questions (e.g., "Which services are in scope?", "What does each persona see?")
/prd:draft Use review patterns to anticipate reviewer expectations. Ensure all declared dimensions are addressed.
/design:ingest Load context files alongside CLAUDE.md and docs/ in Step 4 (Read Project Configuration)
/design:draft Cross-check dimension coverage. Use review patterns for self-review.
/design:decompose Use decomposition heuristics (if present) for complexity assessment and dependency mapping

Implementation

The changes are small and surgical:

  1. prd/skills/ingest.md — Add a step after compiling raw requirements: "Check for .design/context/*.md files. If they exist, read them and use their dimensions to identify gaps in the Initial Observations section."

  2. prd/skills/clarify.md — In Step 2 (Gap Analysis), add: "If .design/context/ files exist, also check requirements against any project-specific dimensions, personas, or checklists they define."

  3. design/skills/ingest.md — In Step 4 (Read Project Configuration), add .design/context/*.md to the list alongside CLAUDE.md and docs/.

  4. design/skills/draft.md — In Step 2 (Read Source Material), add: "Read .design/context/*.md files if they exist — use review patterns for self-review and dimension checklists for coverage verification."

  5. design/skills/decompose.md — Add: "If .design/context/ contains decomposition heuristics, use them to inform complexity assessment and task extraction."

Key principles

  • Extension, not override — Context files add to the workflow's behavior, they never replace built-in steps or templates
  • Optional — Projects without .design/context/ work exactly as before
  • Convention over configuration — No config file needed, just drop .md files in the directory
  • Project-specific — The content is domain knowledge that varies by project, not generic workflow logic

Example context files

From OSAC (already in use via CLAUDE.md workaround):

  • osac-dimensions.md — Services, personas, cross-cutting dimensions (tenant onboarding, inventory, networking, storage, installation), milestone scoping
  • review-patterns.md — Common reviewer feedback themes, anti-patterns, EP reference library, key reviewers by domain

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions