writing-spec

Creates product and tech specs for new Streamlit features from templates.

45.7k|4.4k|Updated Aug 24, 2019
One-click install
npx skills add https://github.com/streamlit/streamlit --skill writing-spec
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: writing-spec
Source: https://github.com/streamlit/streamlit/tree/main/.claude/skills/writing-spec
Command: npx skills add https://github.com/streamlit/streamlit --skill writing-spec

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing new Streamlit API commands, widgets, or significant changes requires structured documentation that the team can review before implementation, and this Skill standardizes how those product and tech specs are written.

Core Features & Use Cases

  • Spec Scaffolding: Copies a dated spec template into the specs/ directory to start a new feature proposal.
  • Dual Spec Support: Guides the creation of both product-spec.md and tech-spec.md documents following team guidelines in specs/AGENTS.md.
  • Use Case: When planning a new Streamlit widget, use this Skill to generate a dated spec folder, then fill in the product rationale and technical design so the team can review the change before any code is written.

Quick Start

Ask the assistant to write a spec for your proposed Streamlit feature, providing the feature name and your design notes as the basis.

Frequently Asked Questions about writing-spec

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a spec for a new Streamlit feature?

Copy the dated template with `cp -r specs/YYYY-MM-DD-template specs/$(date +%Y-%m-%d)-feature-name`, then fill in product-spec.md and tech-spec.md following the guidelines in specs/AGENTS.md.

What is the difference between a product spec and a tech spec?

A product spec describes the user-facing problem, goals, and behavior of a feature, while a tech spec covers the implementation approach and technical design. The template supports writing either or both depending on the change.

When should I write a spec before implementing a Streamlit change?

Write a spec when designing new API commands, widgets, or significant changes that need team review before implementation. Small fixes or internal refactors typically do not require one.

Where are Streamlit spec templates stored?

Spec templates live in the `specs/` directory of the Streamlit repository, with authoring guidelines defined in `specs/AGENTS.md`. New specs are created by copying the dated template folder.