agentleFS
tadoEngtadoEng/web-starter/.claude/skills/product-shaping/SKILL.md

product-shaping

Skill2 starsChanged 3 months agoMITView on GitHub

Turn a vague product idea into a bounded implementation contract before any code is written. Use when a request is broad or underspecified — "build project management", "add a customer dashboard", "we need reporting" — and whenever scope, permissions, or success criteria are unclear. Produces a specification only; it never implements.

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Not prose. Something like:

    line 48
  2. Distinctive:

    If the brief can't be built in one reasonable change, split it.

    line 85
  3. Very specific:

    If shaping changes the product's shape, update docs/PRODUCT.md.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 4 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 Shaping

The most expensive vibe-coding failure happens before architecture: excellent code for the wrong product. This skill removes ambiguity first, so the build can then go fast.

This skill does not implement

Its output is a written brief — a section of docs/PRODUCT.md or a feature brief. No endpoints, no components, no migrations. If you find yourself writing code, you've left this skill.

Hand off to the feature skill once the brief is agreed.

The questions

Answer all nine. Short answers are fine; missing answers are not.

  1. Who is the user? A specific role, not "users".
  2. What are they trying to accomplish? In their words, not in features.
  3. What is the primary transaction? The one thing. If there are three, name the first and treat the rest as later.
  4. What data is required? The minimum fields that make the transaction work.
  5. Who may read it? Who may change it? This becomes the backend authorization tests.
  6. What is success? Observable — what is true, and how would we see it?
  7. What are the important failure and empty states? First-run, no permission, nothing matching, the operation failed.
  8. What is explicitly NOT being built? As important as the scope itself.
  9. How will we know it's done? Acceptance criteria someone else could check.

Ask, don't invent

Where an answer genuinely changes the build — permissions, scope boundaries, what counts as success — ask the user. Guessing here is what produces the wrong product efficiently.

Where a routine convention will do, choose it, say you chose it, and move on. Don't turn shaping into an interrogation.

Output shape

Not prose. Something like:

User
  Internal team member

Primary transaction
  Create a project and assign an owner.

Required data
  name · owner · status

Permissions
  authenticated users may read
  project owner may edit
  nobody else may mutate

Success
  New project appears in the project list immediately.

Empty / failure states
  no projects yet → teach + create action
  not the owner → read-only, edit control absent
  create failed → form preserved, error shown on the field

Out of scope
  comments · notifications · attachments · templates

Acceptance
  create / list / edit work on desktop and mobile
  unauthorized mutation rejected by the backend, with a test

That is enough for feature to build against without further guessing.

Size check

If the brief can't be built in one reasonable change, split it. Name the first slice and list the rest as follow-ups — don't silently build a smaller thing than was asked, and don't build all of it at once because the request was one sentence.

Update the record

If shaping changes the product's shape, update docs/PRODUCT.md. If it forces an architectural decision, that is the stop condition in AGENTS.md — raise it here, before implementation, which is the cheapest possible moment.

Download now (ZIP)

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. magnus919/agent-skills★ 162same name
    2. ferminrp/agent-skills★ 39same name
    3. shreyas-makes/agent-skills★ 2same name
    4. kiku-jw/codex-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository9 other files it gives its agents.

Does it work?

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

Reviews can't be read right now.

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.