Write a spec with the edge cases
Turn a feature idea into a spec that includes the cases the code already handles.
Product · Software · When you ask · Updated
Works with
- Slack
- Notion
- Confluence
- Box
How do you write a product requirements document with edge cases?
To write a product requirements document with edge cases, send Maito the feature idea. It reads your code to find behavior the feature has to respect, such as cascading deletes, writes the flows and edge cases, lists decisions that need an owner, and attaches the spec. It can also read your Notion, Confluence or Box docs.
How it's done today
Specs miss cases engineers find mid-build.
What Maito does
- Read the idea
- Check the current product behavior
- Draft goals, flows, edge cases and open questions
Example
@Maito Write a spec for archiving projects.
Draft attached: archive-projects-spec.pdf. It has 4 flows (archive, view archived, restore, auto-archive after 90 days idle), 9 edge cases and 3 decisions for you. One edge case the code already handles that specs usually miss: deleting a project cascades to its 6 webhook subscriptions. An archived project would keep firing them unless we pause them too. Other cases I wrote up: • Archiving a project with open invites • A user who is the only admin of an archived project • Restoring when the project name was reused Decisions for you • Do archived projects count toward the seat limit? • Can editors archive, or only admins? • Should restoring be unlimited? I read the current project code and the permissions in the Notion roles page.
@Maito Admins only, not counted toward seats, unlimited restores.
Updated the spec with all three and removed the open questions. Version 2 attached.
Leo (2:05 PM):
Write a spec for archiving projects.
Maito (2:11 PM):
Draft attached: archive-projects-spec.pdf. It has 4 flows (archive, view archived, restore, auto-archive after 90 days idle), 9 edge cases and 3 decisions for you.
One edge case the code already handles that specs usually miss: deleting a project cascades to its 6 webhook subscriptions. An archived project would keep firing them unless we pause them too. Other cases I wrote up:
• Archiving a project with open invites
• A user who is the only admin of an archived project
• Restoring when the project name was reused
Decisions for you
• Do archived projects count toward the seat limit?
• Can editors archive, or only admins?
• Should restoring be unlimited?
I read the current project code and the permissions in the Notion roles page.
Leo (2:30 PM):
Admins only, not counted toward seats, unlimited restores.
Maito (2:32 PM):
Updated the spec with all three and removed the open questions. Version 2 attached.
How to set it up
- Set up
Nothing to set up. Ask in Slack or by email whenever you need it.
- Connect docs
- Notion
- Confluence
- Box
Not connected yet? Your agent sends you a link to sign in.
What it won't do
The spec covers what it finds in code and docs. Customer needs, priority and scope remain the product lead's call.
Questions
By reading what the code already does, for example what happens on delete, invite or permission changes, not from a generic checklist.
Yes. It reads Notion, Confluence or Box pages for background and follows your template if you share it.
No. It lists them as open questions for you to answer.