eliteforge-prd-generator
Draft or refine a concise product requirements document from a rough product idea, then write a Typst source file and sibling PDF to a resolved output path.
What this skill does
# PRD Generator Use this skill to turn a rough product idea into a concise, searchable PRD. Prefer direct, decision-oriented writing. The PRD is the product fact source for later feature delivery, not a duplicate brainstorming memo. ## Environment Variables - `ELITEFORGE_SKILL_PRD_OUTPUT_PATH` [optional] Default Typst source output path for the PRD when the user does not explicitly provide one. ## When To Use This Skill - A new product or feature needs a formal PRD - A broad idea needs product-level scope, priorities, and user goals - The team needs a stable product input before design clarification or feature planning - An existing PRD needs to be tightened, simplified, or updated ## Output Path Resolve the Typst source path in this order: 1. explicit user-provided path for the current task 2. `ELITEFORGE_SKILL_PRD_OUTPUT_PATH` 3. `<project>/docs/prd.typ` Normalize the resolved path as follows: - if it is a directory, write `<that-directory>/prd.typ` - if it is a file path without a `.typ` suffix, keep the basename and append or replace the suffix with `.typ` - create missing parent directories before writing After writing the Typst source, export a sibling PDF with the same basename in the same directory. Do not write `prd.md`. ## Operating Rules - Inspect local context first when relevant: existing docs, product notes, adjacent PRDs, specs, and feature folders - Ask only for missing product decisions that materially change scope, priority, or sequencing - Draft early, revise until decisions are stable, then write the Typst source to the resolved path - Use `assets/prd-template.typ` as the starting structure when creating a new PRD - Use `prd.typ` as the source of truth and export a sibling PDF in the same directory - Keep the PRD compact but implementation-ready: every selected feature must expose enough functional, page, rule, exception, and acceptance detail for downstream feature specs - Do not duplicate implementation detail, test plans, or long design prose - Do not create relationship explosion; keep only dependencies that change scope, priority, or sequencing - Use searchable headings. A downstream agent must be able to locate one feature, page, rule, exception, or acceptance slice with `rg` by heading text instead of loading the whole PRD - Do competitor research only when the user asks for it or it materially changes positioning, scope, or priority - If Typst compilation is unavailable or fails, report the blocker instead of claiming PDF output - End at a stable PRD; follow-up design clarification and implementation planning belong to later workflows ## Template Contract Use `assets/prd-template.typ` as the canonical PRD structure. Keep all top-level sections unless the topic is explicitly not applicable, and replace placeholder rows with concrete product facts before final output. Preserve the template's searchable heading prefixes: - `Module:` - `Feature:` - `Page:` - `Interaction:` - `Rule:` - `Exception:` - `Acceptance:` Use business terms after those prefixes. Do not hide feature names in prose-only paragraphs or generic headings such as `Details`. ## Content Boundaries Avoid repeating the brainstorming artifact. - Brainstorming owns why this is needed, alternatives considered, rejected options, and unresolved design choices. - PRD owns what the product must do: functional requirements, entry points, page behavior, business rules, exceptions, boundaries, acceptance, dependencies, and order. Rules: - If the feature has no UI, keep the page section concise and name the API, job, event, or integration entry point. - Business rules must be precise enough for backend service, database, API, and test design; do not bury them inside page copy. - Exception coverage must include realistic empty, denied, invalid, stale, duplicate, upstream failure, timeout, partial success, and boundary cases when they can occur. - Shared requirements are only real cross-feature needs such as auth, roles, audit, search, notifications, shared data model, or shared workflow infrastructure. - Feature inventory should usually contain 3-7 bounded features, each pointing back to its source feature/page/rule/exception headings. - Dependency map records only direct blocking dependencies; `A --> B` means `B depends on A`. - Acceptance is product-level completion, not test cases and not `AC-*`.
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.