alpslisted
Install: claude install-skill alps-asd/app-state-diagram
# ALPS Profile Assistant
Generate, validate, and improve ALPS profiles for RESTful API design.
## Ideal ALPS Profile
**Goal: An ALPS that someone unfamiliar with the app can read and understand.**
### What Makes a Good ALPS
1. **States = What the user sees**
- `ProductList` - viewing a list of products
- `ProductDetail` - viewing one product
- `Cart` - viewing cart contents
2. **Transitions = What the user does**
- `goProductDetail` - select a product
- `doAddToCart` - add to cart
3. **Self-documenting**
- `title` explains the purpose
- `doc` describes behavior and side effects
- No need to read code to understand
4. **No unreachable states**
- Every state has an entry point
- Orphan states indicate design mistakes
5. **Necessary and sufficient**
- No over-abstraction
- Describes semantics, not implementation
- No HTTP methods or URLs
### What to Avoid
- Mechanical CRUD listings without meaning
- Implementation details leaking in
- States without transitions (can't draw a diagram)
- Excessive documentation nobody reads
## How to Use
This skill responds to natural language requests:
### Generate ALPS from Natural Language
- "Create an ALPS profile for a blog application"
- "Generate ALPS for an e-commerce cart system"
- "Design an ALPS profile for user authentication"
### Generate ALPS from Website (NEW - alps-surveyor mode)
- "Crawl https://example.com and generate ALPS profile"
- "Survey website structure and create ALPS"