Skip to content

Templates for product, design, docs, and research

Snodo includes templates for work that produces written deliverables. Each role asks the coder to create reviewable Markdown files in the repository, then checks the work with role-specific LLM validators, acceptance, and protocol. The quality validator runs a project command; its shipped default records that no tests were executed. Each template defaults to change_request delivery so a person can review the proposed documents before they are merged.

Start with snodo init --template <name>. Give the task a clear deliverable path and acceptance criteria so both the coder and the validators know what to check.

Product

The coder writes product documents as Markdown under docs/product/. Work may include problem statements, evidence, measurable outcomes, scope and non-goals, user stories, acceptance criteria, or user-facing release notes.

The product-quality conventions validator checks that the problem and its evidence are clear, outcomes are measurable, scope is explicit, user stories follow INVEST and have testable acceptance criteria, and the document describes user needs without prescribing a technical solution. It also checks release notes for clear user-visible changes. acceptance compares the artifacts with the task's acceptance criteria, while protocol checks that the request is product documentation rather than implementation or design work.

Design

The coder produces Markdown design artifacts, such as a design brief, UX specification, UI copy, or component specification, under docs/design/.

The design_quality conventions validator looks for a clear user goal and context, applicable empty/loading/error/success states, accessibility notes including WCAG-related notes, contrast, and keyboard use, consistency with the repository's design system and terminology, and plain, kind, concise UI copy. acceptance checks the task criteria. The protocol validator confirms the requested work is a design deliverable, names a Markdown artifact in docs/design/, and can be reviewed before merge.

Documentation

The coder writes Markdown in the repository's existing documentation tree, following the task's specified page or section.

The docs_quality conventions validator checks factual accuracy against repository behavior, task-oriented guidance, runnable examples, and working links. acceptance checks the task criteria. The protocol validator confirms the request is technical documentation, identifies a file in the existing docs tree, and leaves the change request open for human review.

Research

The coder writes evidence-led research reports or decision memos as Markdown under docs/research/.

The research_quality LLM validator checks that factual claims have verifiable sources, facts are distinguished from analysis and assumptions, relevant counter-evidence and limitations are considered, and recommendations follow from the evidence while accounting for uncertainty. acceptance checks the task criteria, and protocol_adherence checks that the request fits research or decision-memo work and places the Markdown artifact under docs/research/.

Configure the documentation quality check

Each template's quality validator is deliberately harmless in a new project: it reports that no tests were executed. Replace its tooling.test_command in .snodo/protocol.yml with documentation tools already installed in your project. For example, a project with MkDocs can use:

validators:
  - validator_id: quality
    validator_type: quality
    evaluation_phase: post_execute
    tooling:
      test_command: "mkdocs build --strict"

Choose a command that matches the project's tooling and deliverable paths. A Markdown lint and link checker can be used where those tools are available. The quality result reports that command's outcome; the role-specific validator continues to review the document content.

Human review and sign-off

With the default change_request delivery, Snodo pushes the verified task branch and opens a change request through the configured code-host provider. The request contains the Markdown diff for review. A human reads the documents and validator feedback, asks for changes or approves the request, and merges it according to the repository's review practice. The default keeps sign-off with the person responsible for the work; it does not merge the documents automatically.

Change-request delivery needs the appropriate provider plugin and credentials. See running Snodo in CI and the protocol reference for delivery details.