Skip to content
Back to skills

Working Docs

ASecurity

Manage working documents in an Obsidian vault using a two-tier system — Inbox for quick dumps, Dev/Claude for persistent docs. Creates, finds, promotes, updates, and completes working documents with proper naming, headers, and lifecycle.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentsgobashreactdebugginggit

Works with

  • claude code
  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add edloidas/skills --skill working-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Working Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Working Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/edloidas-working-docs/badge)](https://www.skillsdirectory.com/skills/edloidas-working-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: working-docs
description: >
  Manage working documents in an Obsidian vault using a two-tier system — Inbox for quick
  dumps, Dev/Claude for persistent docs. Creates, finds, promotes, updates, and completes
  working documents with proper naming, headers, and lifecycle.
when_to_use: >
  When creating notes for a multi-step task, looking up previous work, or carrying state
  across sessions. Also on "write this to Obsidian", "put this in my vault", or "find my note
  about X".
license: MIT
compatibility: Claude Code, Codex, OpenCode, Pi
allowed-tools: Read Write Edit Glob Grep Bash(ls:*)
metadata:
  author: edloidas
---

# Obsidian Working Documents

Manage working documents in the Obsidian vault for cross-session, cross-project memory.

**Vault path:** `~/Documents/Obsidian Vault/`

This skill creates, edits, and — when promoting an Inbox note — deletes files under that vault
path, and updates the index. It touches nothing outside the vault: no repo files, no commits.
Edit an existing document with targeted edits to the lines that change; never rewrite a whole
document to update a header field.

Prefer the `obsidian:obsidian-cli` skill for vault interactions (read, create, search, manage notes). Fall back to reading and writing the vault path directly only if that skill is unavailable.

## When to Use

- Multi-step or multi-session tasks — create a working document
- Starting work on a topic that may span sessions — check for existing docs first
- Research findings, implementation plans, PRDs — persistent Claude docs
- Quick findings during debugging or exploration — inbox dump

**Skip** for one-off questions, quick fixes, or trivial tasks.

## Two-Tier System

### Inbox (ephemeral, quick dumps)

- **Location:** `~/Documents/Obsidian Vault/Inbox/`
- **Format:** `YYYY-MM-DD <scope> - <Description>.md`
- **Scope:** freeform short topic — `react`, `auth`, `xp-debugger`, `contentstudio`
- Always `Draft` status
- Promote to `Dev/Claude/` when structured, or delete when stale

### Claude (persistent working documents)

- **Location:** `~/Documents/Obsidian Vault/Dev/Claude/`
- **Format:** `<Type> - <Scope> - <Description>.md`
- **Type:** `PRD` | `Plan` | `Note` | `Research` | `Log`
- **Scope:** freeform — repo name (`app-contentstudio`), skill name (`init-permissions`), tool name (`xp-debugger`), or `general`
- No date in filename — dates in frontmatter only (Created/Updated)
- **Status:** `Draft` | `Active` | `Completed` | `Archived`

### Index

The index file at `~/Documents/Obsidian Vault/Dev/Claude/Claude Working Docs.md` lists all persistent Claude docs. Update it whenever you create, promote, or complete a document.

## Document Header Template

Every working document (both Inbox and Claude) uses this header:

```markdown
# [Description]

#claude #[type] #[scope]

**Project**: [name]
**Repo**: [url or path]
**Created**: YYYY-MM-DD
**Updated**: YYYY-MM-DD
**Status**: Draft | Active | Completed | Archived

---
```

For Inbox docs, status is always `Draft`. Omit `**Repo**` if not project-specific.

Filled in, as `Dev/Claude/Plan - app-contentstudio - Search filter rework.md`:

```markdown
# Search filter rework

#claude #plan #app-contentstudio

**Project**: app-contentstudio
**Repo**: https://github.com/enonic/app-contentstudio
**Created**: 2026-09-02
**Updated**: 2026-09-02
**Status**: Active

---

## Goal
Replace the three separate filter widgets with one query bar.
```

## Operations

### Find Existing Documents

Before creating a document, check whether one already exists. Run every step below that applies
before concluding there is none — the index goes stale, so step 1 alone does not settle it:

1. Read the index: `~/Documents/Obsidian Vault/Dev/Claude/Claude Working Docs.md`
2. Glob by type: `~/Documents/Obsidian Vault/Dev/Claude/Note - *`
3. Glob by scope: `~/Documents/Obsidian Vault/Dev/Claude/* - app-contentstudio - *`
4. Inbox by date: `~/Documents/Obsidian Vault/Inbox/2026-03*`
5. Grep for status: search `**Status**: Active` in `~/Documents/Obsidian Vault/Dev/Claude/`

If a matching document exists, update it instead of creating a new one.

### Create Inbox Note

Use for quick dumps during active work — findings, partial research, debug notes.

1. Determine scope from current context (repo name, topic, tool)
2. Write to `~/Documents/Obsidian Vault/Inbox/YYYY-MM-DD <scope> - <Description>.md`
3. Use the header template with `Status: Draft`
4. Write content below the `---` separator

### Create Claude Document

Use for structured, persistent documents that will be referenced across sessions.

1. Check for existing docs first (see **Find** above)
2. Determine type (`PRD`, `Plan`, `Note`, `Research`, `Log`) from content purpose
3. Determine scope from project/topic context
4. Write to `~/Documents/Obsidian Vault/Dev/Claude/<Type> - <Scope> - <Description>.md`
5. Use the header template with `Status: Draft` or `Active`
6. Write content below the `---` separator
7. Update the index file — add a line entry for the new document
8. Print one line naming the file and the index update:
   `Created Dev/Claude/Plan - app-contentstudio - Search filter rework.md, index updated`

### Update Existing Document

1. Read the document
2. Update content as needed
3. Bump `**Updated**: YYYY-MM-DD` in frontmatter to today's date
4. Update `**Status**` if it changed (e.g., `Draft` → `Active`)

### Promote from Inbox to Claude

When an Inbox note has grown into structured content worth keeping long-term:

1. Read the Inbox note
2. Determine the appropriate Type and Scope for Claude naming
3. Write the new file at `~/Documents/Obsidian Vault/Dev/Claude/<Type> - <Scope> - <Description>.md`
4. Update the header: set proper status, bump `**Updated**` date
5. Delete the original Inbox file
6. Update the index file
7. Print one line naming both paths: `Promoted Inbox/<old> -> Dev/Claude/<new>, index updated`

### Complete a Document

When the work described in a document is done:

1. Update `**Status**: Completed` and bump `**Updated**` date
2. Update the index file — mark as completed or move to a completed section
3. Print one line: `Completed <filename>, index updated`

### Archive a Document

When a completed document is no longer actively referenced:

1. Update `**Status**: Archived` and bump `**Updated**` date
2. Update the index file accordingly

Files in this skill

  • SKILL.md6.2 KB
  • agents/openai.yaml258 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.