agentleFS
frameforgedframeforged/technical-documentation-framework/product-discovery/SKILL.md

product-discovery

Skill2 starsChanged 4 months agoApache-2.0View on GitHub

Analyzes the product, problem, users, components, integrations, boundaries, assumptions, and missing information before documentation is written.

  • Reads credentials

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use product-strategy.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • yannickYamoSkill

    product-strategy

    Build product strategy that drives real choices. Use when defining where to play and how to win, creating strategy canvases, defining ICP/Anti-ICP, positioning products, setting pricing strategy, planning GTM motions, or structuring strategic bets. Part of the Modern Product Operating Model collection.

    Also in 4 projects that use this

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 5 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 21 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the repository is too large to read fully, say what was covered and what was not.

    line 72
  2. Distinctive:

    Do not invent facts.

    line 92
  3. Distinctive:

    If the product is broad, scope the documentation based on the user's request.

    line 94
  4. Distinctive:

    If the user provides only minimal information, create a best-effort discovery report and list open questions.

    line 95
  5. Distinctive:

    Keep the report technical, not promotional.

    line 96

“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Product Discovery Skill

Purpose

Understand the product before writing documentation.

This phase prevents vague documentation by identifying what the product is, why it exists, who uses it, what it connects to, and what is known or unknown.

Inputs

The user may provide:

  • Product name
  • Product description
  • Repository content
  • API specification
  • Architecture notes
  • Screenshots
  • Meeting notes
  • Rough ideas
  • Existing documentation
  • A short domain description

Output format

# Product Discovery Report

## Product Summary

## Problem Statement

## Target Users

## Main Use Cases

## Core Capabilities

## Core Components

## Integration Points

## Inputs and Outputs

## Runtime or Operating Model

## Product Boundaries

## Assumptions

## Open Questions

Source-driven discovery

The most common real request is "document this repository", with little or no prose description. In that case the codebase is the primary source, and discovery means reading it deliberately rather than asking the user to retype what the code already says. Work through the repository in this order:

  1. Orientation files first: README, CHANGELOG, existing docs/, package manifests (package.json, pyproject.toml, go.mod, Cargo.toml, ...). The manifest gives the product name, declared dependencies, entry points, and scripts — often the fastest honest summary of what the product is.
  2. Entry points: the main/bin/cmd files, the HTTP route table, the CLI argument parser, or the exported public API of a library. The entry points define the product surface; everything else is implementation.
  3. Configuration: config schemas, environment variable reads, example .env or YAML files. Every configuration key is a documentation obligation.
  4. The data model: schema migrations, ORM models, protobuf/OpenAPI definitions. Core entities found here become glossary candidates.
  5. Tests: integration and end-to-end tests show intended usage more truthfully than comments do, including setup order and expected failure behavior.
  6. Error paths: raised exceptions, error enums, retry/timeout constants. These feed the troubleshooting and edge-case sections directly.

While reading, keep the boundary between observation and inference visible. "The service retries five times" is a fact if a constant says MAX_RETRIES = 5; "the service appears designed for multi-tenant use" is an inference and enters the report as an assumption. Version numbers, limits, and defaults must be quoted from code, not recalled from similar products.

If the repository is too large to read fully, say what was covered and what was not. A discovery report based on three of nine modules must list the other six under open questions, not silently generalize from the three.

Analysis questions

Answer as many as possible:

  • What is the product?
  • What problem does it solve?
  • Who uses it?
  • What does the user do with it?
  • What are the main features?
  • What are the main components?
  • What systems does it integrate with?
  • What data enters and leaves the product?
  • What happens at runtime?
  • What is explicitly out of scope?
  • What information is missing?

Rules

  • Do not invent facts.
  • Clearly label assumptions.
  • If the product is broad, scope the documentation based on the user's request.
  • If the user provides only minimal information, create a best-effort discovery report and list open questions.
  • Keep the report technical, not promotional.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.