with one click
write-about
Use when the user prompts "write about for".
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Use when the user prompts "write about for".
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Use when the user prompts "code doc" to create or update internal Orchid ORM code documentation from changes/ specs, short-code feature folders, or existing implementation code.
Use when the user prompts "implementation note" for an existing change idea.
Use when the user prompts "write spec" or "make spec".
Use when the user prompts "do task".
Use when the user prompts "changeset".
Use when the user prompts "write ideas" or "make ideas".
| name | write-about |
| description | Use when the user prompts "write about for". |
Write a new about.md for a specific feature and save it in that feature's folder.
Input: The argument after /write-about should identify the feature. It may be:
Examples:
/write-about joins/write-about order: a functionality reflecting Postgres ORDER BYCore behavior
public vs internal as supporting context that helps explain the feature's roleabout.md inside the relevant feature folderSteps
Identify the target feature
If the user did not clearly specify the feature, use the AskUserQuestion tool to ask what feature they want documented.
If the user provided only a loose name, search the repo to find the most likely feature folder. Prefer the narrowest cohesive directory that represents the feature.
Good signals:
packages/*/src/If multiple candidate folders match, stop and ask the user to choose. Do not guess when the choice is ambiguous.
Confirm the write location
The output file must be <feature-folder>/about.md.
If the user named a feature that is implemented across scattered files without an obvious folder:
about.md, ask the user where they want it storedDo not create an arbitrary new feature structure just to place the document.
Read the feature thoroughly
Read the code in the feature folder first. Then read nearby tests, public exports, and adjacent supporting files that define how the feature behaves.
You should understand:
Capture the feature's role in the product
Decide how this feature contributes to the end product so you can explain its purpose and use cases accurately.
One useful lens is whether it is primarily public or internal:
This distinction is not the goal by itself. Use it only to sharpen the explanation of:
Examples:
soft-delete is best explained through the user-visible behavior it adds: configuration, query behavior changes, and related query methodsmutative-queries-select-relations is best explained through the public features it enables: selecting relations from create/update/delete flowsIf the feature looks mixed, focus on the dominant purpose and mention the secondary role only if it helps understanding.
Map dependencies
Inspect imports and direct usage inside the feature to identify what it depends on.
Focus on meaningful dependencies:
Avoid listing every trivial helper unless it is essential to understand the feature.
Map dependents
Search for usages of the feature outside its own folder to learn what depends on it.
Look for:
Prefer feature-level dependents over raw file lists. Group related callers into a single feature when possible.
Also identify which user-visible functionality is affected by this feature, whether directly or indirectly.
Distill intent
Before writing, explicitly decide:
public or internal helps clarify its roleThe Purpose section must capture intent, not mechanics. Work backwards from code, tests, names, and call sites to infer the real reason this feature exists. If the feature is public or internal in an important way, mention that as part of the explanation, but do not let that replace the explanation.
If intent is still unclear after investigation, ask a targeted clarifying question instead of writing vague filler.
Ask clarifying questions when needed
You must stop and ask if any of these are unclear:
about.md should be replaced when the situation is ambiguousAsk only the minimum questions needed to proceed.
Write about.md
Create or replace <feature-folder>/about.md with a concise, factual document.
Use this structure:
# <Feature Name>
## Purpose
<Explain why this feature exists, what problem it solves, and the intent behind it. Mention whether it is primarily public or internal when that helps clarify its role.>
## Use cases
<List the real ways this feature is used or matters in the product.>
<If it is public, focus on user-visible usage and include brief examples.>
<If it is internal, focus on the public functionality it enables or affects and explain how it supports that functionality at a principle level.>
- **<Use case name>**: <One-sentence description of the case.>
<For public> Example: <Brief example of public usage.>
How: <Brief explanation of how the feature is used in this case.>
- **<Affected public functionality>**: <One-sentence description of the public behavior affected by this internal feature.>
How: <Brief explanation of how this feature supports that public functionality.>
## Used by
- <Feature or capability that depends on this feature>
- <Feature or capability that depends on this feature>
## Dependencies
- <Feature or capability this feature depends on>
- <Feature or capability this feature depends on>
Notes:
public or internal only when it clarifies the explanationUsed by and Dependencies may say None identified if truly emptySanity check the document
Before finishing, verify:
Used by and Dependencies reflect feature-level relationships, not noiseGuardrails
public vs internal label