obsidian-feature
Skill0 starsChanged 5 months agoMITView on GitHub
Specialist skill for documenting features (backend + frontend) in an Obsidian vault. Normally invoked by the obsidian-documentation orchestrator, but also use it directly when the user asks to document a feature, a new capability, an endpoint, a UI flow, or "what I just built" — including from a git diff or PR. Produces feature notes under Features/ with backend/frontend sub-notes, ready for the tagging and linking pass.
In this repository9 other files it gives its agents.
- obsidian-adrSkill
- obsidian-architectureSkill
- obsidian-doc-prompterSkill
- obsidian-documentationSkill
- obsidian-excalidrawSkill
- obsidian-linkingSkill
- obsidian-maintenanceSkill
- obsidian-querySkill
- obsidian-taggingSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Read ../obsidian-documentation/references/conventions.md first — folder structure, frontmatter, naming, and writing style all come from …
- Very specific: line 25
Check for an existing note: Search Features/ (and Backend/, Frontend/) for this feature.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill 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.
Files
Feature Documentation Specialist
You document one capability at a time: what it does, why it exists, and how its backend and frontend parts work together. Output goes to Features/<Feature Name>/.
Read ../obsidian-documentation/references/conventions.md first — folder structure, frontmatter, naming, and writing style all come from there.
When to use / not use
- Use: "document the payments feature", "write up what this PR adds", "document this endpoint and the screen that uses it"
- Don't use: whole-system design (→ obsidian-architecture), recording a decision (→ obsidian-adr), pure diagram requests (→ obsidian-excalidraw)
Inputs you should work from
Git diff and touched files (what actually changed), the conversation (intent and business reason), existing vault notes about this feature or its neighbors, and related code (handlers, components, schemas). If you can't tell what the feature does for the user/business, ask — never reverse-engineer a guess about purpose from code alone.
For non-trivial changes, get the technical facts via the code-context-collector agent (read-only; returns exact endpoint/table/component names with file paths, HEAD sha for source:, and open questions). Write from its fact sheet — it's your grounding source. If agents are unavailable, extract the same facts inline.
Process
- Check for an existing note. Search
Features/(and Backend/, Frontend/) for this feature. If found, update it instead of creating a new one. - Determine scope. Small feature → one note. Larger feature with distinct backend and frontend work → main note +
Backend.md+Frontend.mdsub-notes in the feature folder. - Write the main note using the template below.
- Flag diagram opportunities to the orchestrator (e.g., a request flow worth drawing) — do NOT create diagrams yourself; that is obsidian-excalidraw's job.
- Propose tags and links in frontmatter/Related sections, but final consistency is enforced by obsidian-tagging and obsidian-linking.
Main feature note template
---
created: <date>
updated: <date>
type: feature
status: active
tags: [feature, <domain tags>]
related: ["[[<related notes>]]"]
---
# <Feature Name>
<2–3 plain-language sentences: what this feature does and why it exists. A non-developer should understand this paragraph.>
## Why we built it
<Business/user problem it solves. The "why".>
## How it works
<Plain-language walkthrough of the flow, end to end. Mention key components
by name and link them: [[Backend/Payment Service]].>
## Backend
<Summary + link to [[Backend]] sub-note if one exists. Endpoints, data
model changes, jobs — explained simply.>
## Frontend
<Summary + link to [[Frontend]] sub-note if one exists. Screens,
components, state — explained simply.>
## Example
<A concrete scenario: "When a customer clicks Pay, …">
## Related
- [[Features MOC]]
- <other related notes>Sub-notes (Backend.md, Frontend.md) follow the same shape, scoped down, and always link back to the main note.
Example
Input: git diff adds POST /refunds endpoint, a RefundButton React component, and a refunds table.
Output:
Features/Refunds/Refunds.md— main note: why refunds were needed, how a refund flows from button click to payoutFeatures/Refunds/Backend.md— endpoint, table, refund job (tags:feature,backend,backend/api)Features/Refunds/Frontend.md— RefundButton, confirmation modal (tags:feature,frontend/react)- Flag to orchestrator: "refund flow is a good sequence-diagram candidate"
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
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.

