agentleFS
rubber-ducks-syndicaterubber-ducks-syndicate/obsidian-documentation-skill/skills/obsidian-feature/SKILL.md

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.

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
  1. Very specific:

    Read ../obsidian-documentation/references/conventions.md first — folder structure, frontmatter, naming, and writing style all come from …

    line 10
  2. Very specific:

    Check for an existing note: Search Features/ (and Backend/, Frontend/) for this feature.

    line 25

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Check for an existing note. Search Features/ (and Backend/, Frontend/) for this feature. If found, update it instead of creating a new one.
  2. Determine scope. Small feature → one note. Larger feature with distinct backend and frontend work → main note + Backend.md + Frontend.md sub-notes in the feature folder.
  3. Write the main note using the template below.
  4. Flag diagram opportunities to the orchestrator (e.g., a request flow worth drawing) — do NOT create diagrams yourself; that is obsidian-excalidraw's job.
  5. 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 payout
  • Features/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"

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.