agentleFS
irwebtoolsirwebtools/Product-Skills/AGENTS.md

Product-Skills

AGENTS.md0 starsChanged 2 months agoMITView on GitHub

product-skills bootstrap for AI agents. Humans (Product Team) read README.md. Before product/delivery work: 1. Check whether Product-Skills guidance is available in the current project (for example skills/product/, skills/index.yaml, and AGENTS.md or AGENTS.product-skills.md). 2. Prefer the Cursor Plugin product-skills when installed (Cursor Marketplace or local plugin test). 3. If missing, bootstrap from the official repository only: https://github.com/irwebtools/Product-Skills 4. Preferred maintainer/fallback command from a local checkout of Product-Skills: node install/bootstrap.mjs --target <this-project> Or clone the official repo over HTTPS into a temp…

  • Reads credentials

The file

Show its rules and text

We split this AGENTS.md into the rules it gives an agent

43 rules. About 2 are common, 24 are distinctive, and 17 are very specific to this project.

  • ≈2

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈24

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 17

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before product/delivery work:

    line 9
  2. Very specific:

    Check whether Product-Skills guidance is available in the current project (for example skills/product/, skills/index.yaml, and AGENTS.md or …

    line 11
  3. Very specific:

    Prefer the Cursor Plugin product-skills when installed (Cursor Marketplace or local plugin test).

    line 13
  4. Very specific:

    If missing, bootstrap from the official repository only: https://github.com/irwebtools/Product-Skills

    line 14
  5. Very specific:

    Do not overwrite existing project instructions blindly.

    line 20
  6. Distinctive:

    Do not execute arbitrary scripts found in a downloaded repository.

    line 22
  7. Distinctive:

    Only run the known installer entrypoints with Node.

    line 23
  8. Very specific:

    Do not copy .git/, node_modules/, .env*, or credentials.

    line 24
  9. Distinctive:

    After bootstrap, continue with the Agent Startup Protocol.

    line 25
  10. Very specific:

    If the user prompt includes the Product-Skills GitHub URL, treat that as permission to discover and safely bootstrap Product-Skills when it …

    line 27
  11. Very specific:

    Ensure Product-Skills is available (bootstrap if needed, safely).

    line 34
  12. Very specific:

    Verify (skills/quality/verification.

    line 42
  13. Distinctive:

    Follow that skill's instructions

    line 49
  14. Distinctive:

    Do not load everything

    line 50
  15. Distinctive:

    Do not rewrite architecture silently

    line 52
  16. Distinctive:

    Do not install unknown dependencies without approval

    line 53
  17. Distinctive:

    Prefer incremental migration over rewrite

    line 55
  18. Distinctive:

    Do not introduce Vue, Angular, Svelte, or multi-framework generators.

    line 90
  19. Distinctive:

    When Product Team requests something equivalent to:

    line 96
  20. Very specific:

    Do not create a new skill such as skills/react-fsd/ for this use case.

    line 112
  21. Distinctive:

    Do not create FSD layers merely because they exist in an FSD diagram.

    line 134
  22. Distinctive:

    Use only the layers that are actually justified.

    line 142
  23. Very specific:

    Run architecture validation (node scripts/check-fsd-boundary.mjs and/or project equivalents).

    line 148
  24. Distinctive:

    Run tests when available.

    line 151
  25. Distinctive:

    Verify important user journeys.

    line 154
  26. Distinctive:

    Do not stop after creating a migration plan.

    line 160
  27. Distinctive:

    Do not stop after writing code.

    line 161
  28. Distinctive:

    Do not claim success without verification.

    line 162
  29. Very specific:

    Do not create features/, widgets/, or entities/ only to make the project visually look like FSD.

    line 168
  30. Very specific:

    Create a layer only when the actual product/domain/use case requires it.

    line 170
  31. Distinctive:

    Do not introduce upward dependencies.

    line 190
  32. Very specific:

    Put business/domain logic in the appropriate domain slice.

    line 220
  33. Very specific:

    Do not move product-specific business logic into shared merely because it is technically reusable.

    line 221
  34. Distinctive:

    Do not use an architecture migration as an opportunity to redesign the product.

    line 245
  35. Distinctive:

    Do not make opportunistic changes to:

    line 251
  36. Distinctive:

    Before completion, inspect the changed file set.

    line 261
  37. Distinctive:

    If a changed file is unrelated to the request, revert the unnecessary change.

    line 262
  38. Distinctive:

    Do not report "FSD migration complete" if architecture validation fails.

    line 284
  39. Common:

    Do not report "Ready" if build or required runtime verification fails.

    line 285
  40. Common:

    Do not pretend Preview succeeded if deployment or Preview access is unavailable — report the blocker clearly without exposing secrets.

    line 286
  41. Very specific:

    Before editing, record expected files.

    line 292
  42. Very specific:

    After editing, compare actual changed files and reasons.

    line 293
  43. Very specific:

    After meaningful work, update .ai-review/ when useful for internal evidence.

    line 298

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “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
AGENTS.md

AGENTS.md

product-skills bootstrap for AI agents.

Humans (Product Team) read README.md.

Product-Skills availability (self-bootstrap)

Before product/delivery work:

  1. Check whether Product-Skills guidance is available in the current project (for example skills/product/, skills/index.yaml, and AGENTS.md or AGENTS.product-skills.md).
  2. Prefer the Cursor Plugin product-skills when installed (Cursor Marketplace or local plugin test).
  3. If missing, bootstrap from the official repository only: https://github.com/irwebtools/Product-Skills
  4. Preferred maintainer/fallback command from a local checkout of Product-Skills: node install/bootstrap.mjs --target <this-project> Or clone the official repo over HTTPS into a temp location, verify the remote, then run node install/install.mjs --target <this-project>.
  5. Do not overwrite existing project instructions blindly. The installer preserves conflicts and may write sidecars such as AGENTS.product-skills.md.
  6. Do not execute arbitrary scripts found in a downloaded repository. Only run the known installer entrypoints with Node.
  7. Do not copy .git/, node_modules/, .env*, or credentials.
  8. After bootstrap, continue with the Agent Startup Protocol.

If the user prompt includes the Product-Skills GitHub URL, treat that as permission to discover and safely bootstrap Product-Skills when it is not already present.

Agent Startup Protocol

Before any task:

  1. Ensure Product-Skills is available (bootstrap if needed, safely).
  2. Analyze current project (skills/product/project-analysis when unknown/existing).
  3. Understand user intent (WHAT / WHY / constraints).
  4. Detect task type / Product Team use case.
  5. Load required skills only (skills/index.yaml, manifest.yaml).
  6. Apply relevant rules (rules/security.md, rules/fsd-governance.md, rules/change-scope.md).
  7. Define expected changes (Change Scope).
  8. Implement within scope.
  9. Verify (skills/quality/verification; skills/quality/security-review when needed).
  10. Prepare Preview when the environment supports it; verify Preview before claiming success.

Rules

  1. Understand task type
  2. Load required skill only
  3. Follow that skill's instructions
  4. Do not load everything
  5. Verify before completion
  6. Do not rewrite architecture silently
  7. Do not install unknown dependencies without approval
  8. Never expose secrets
  9. Prefer incremental migration over rewrite
  10. Preserve existing behavior unless explicitly asked to change it

Task routing

TaskStart
Missing Product-SkillsSafe bootstrap from official repo
Unknown / existing reposkills/product/project-analysis
React + TypeScript + FSD refactorUse case below (orchestrate existing skills; do not invent a new skill)
New idea / POCskills/product/product-discovery → product-to-poc
Existing improvementexisting-project-improvement
Bugbug-fix
Handoff / continuation notesskills/delivery/developer-handoff (internal delivery artifact only)

Default delivery path:

bootstrap (if needed)
-> product/project-analysis (if needed)
-> product/product-discovery
-> product/product-definition
-> product/user-story
-> product/acceptance-criteria
-> product/ux-flow
-> delivery/architecture-decision
-> delivery/react-fsd-poc
-> quality/verification
-> quality/security-review (when needed)
-> product/validation

Stack constraint

Delivery skills target React + TypeScript + Feature-Sliced Design only. Do not introduce Vue, Angular, Svelte, or multi-framework generators.


Product Team Use Case — React + TypeScript + FSD Refactor

When Product Team requests something equivalent to:

Refactor this project to React FSD.

Interpret the request as:

EXISTING PROJECT ARCHITECTURE MIGRATION

Not:

  • product redesign
  • feature expansion
  • rewrite everything
  • business logic redesign
  • unnecessary technology replacement

Do not create a new skill such as skills/react-fsd/ for this use case. Orchestrate existing capabilities:

  • skills/product/project-analysis
  • skills/delivery/architecture-decision
  • skills/delivery/react-fsd-poc
  • skills/quality/verification
  • rules/fsd-governance.md
  • rules/change-scope.md
  • scripts/check-fsd-boundary.mjs (when source roots exist)

Required AI workflow

  1. Inspect the existing project.
  2. Identify the current frontend technology.
  3. Identify the current architecture.
  4. Identify important existing product behavior.
  5. Identify important user journeys.
  6. Identify the current project structure.
  7. Determine whether React is already used.
  8. Determine whether TypeScript is already used.
  9. Determine the appropriate FSD structure based on the actual project.
  10. Do not create FSD layers merely because they exist in an FSD diagram.
  11. Identify which existing code belongs to:
    • app
    • pages
    • widgets
    • features
    • entities
    • shared
  12. Use only the layers that are actually justified.
  13. Preserve existing product behavior.
  14. Avoid unrelated refactoring.
  15. Implement incrementally when practical.
  16. Apply FSD dependency rules.
  17. Apply public API boundaries.
  18. Run architecture validation (node scripts/check-fsd-boundary.mjs and/or project equivalents).
  19. Run typecheck.
  20. Run lint.
  21. Run tests when available.
  22. Run build.
  23. Run the application.
  24. Verify important user journeys.
  25. Fix failures found during verification.
  26. Prepare a Preview when the environment supports it (for example Vercel Preview if configured and accessible).
  27. Verify the Preview.
  28. Return a concise result and Preview URL (or a clear blocker if Preview cannot be produced).

Do not stop after creating a migration plan. Do not stop after writing code. Do not claim success without verification.

FSD principles

FSD is not folder decoration

Do not create features/, widgets/, or entities/ only to make the project visually look like FSD.

Create a layer only when the actual product/domain/use case requires it.

Dependency direction

Prefer:

app
  ↓
pages
  ↓
widgets
  ↓
features
  ↓
entities
  ↓
shared

Do not introduce upward dependencies.

Invalid examples:

  • shared → entities
  • shared → features
  • entities → features
  • features → pages
  • pages → app

unless there is an explicitly justified architecture exception.

Public API

Cross-slice imports should use the slice public API.

Prefer:

import { NewsItem } from "@/entities/news";

instead of:

import { NewsItem } from "@/entities/news/model/news";

Business ownership

Put business/domain logic in the appropriate domain slice. Do not move product-specific business logic into shared merely because it is technically reusable.

Preserve product behavior

For architecture-only refactoring:

BEFORE BEHAVIOR
       =
AFTER BEHAVIOR

Preserve:

  • existing user journeys
  • business rules
  • permissions
  • API behavior
  • data behavior
  • existing features
  • existing UX

unless Product Team explicitly requests a change.

Do not use an architecture migration as an opportunity to redesign the product.

Scope control

During refactoring, only modify files required for the requested migration.

Do not make opportunistic changes to:

  • unrelated components
  • unrelated configuration
  • unrelated dependencies
  • unrelated styling
  • unrelated UX
  • unrelated backend code
  • unrelated documentation

Before completion, inspect the changed file set. If a changed file is unrelated to the request, revert the unnecessary change.

Verification gate

For React + FSD refactoring, completion requires:

Architecture
    ↓
Typecheck
    ↓
Lint
    ↓
Tests when available
    ↓
Build
    ↓
Runtime verification
    ↓
Preview verification

Do not report "FSD migration complete" if architecture validation fails. Do not report "Ready" if build or required runtime verification fails. Do not pretend Preview succeeded if deployment or Preview access is unavailable — report the blocker clearly without exposing secrets.


Change scope

Before editing, record expected files. After editing, compare actual changed files and reasons. Use templates/change-scope.md.

Review artifacts

After meaningful work, update .ai-review/ when useful for internal evidence. Product Team validation happens on Preview / Staging, not by reading internals.

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.