Back to list
agude

johnny-decimal

by agude

Linux configuration files.

0🍴 1📅 Jan 25, 2026

SKILL.md


name: johnny-decimal description: > Helps organize files in a Johnny Decimal system at ~/Documents. Use this skill when filing documents, finding files, creating folders, taking notes about JD items, or understanding where something belongs in the system.

Johnny Decimal File Organization

Skill base directory: {baseDir}

This skill helps you work with the Johnny Decimal (JD) file system located at ~/Documents (or $XDG_DOCUMENTS_DIR).

Quick Reference

The system has 10 areas:

AreaPurpose
00-09 SystemMeta-management (inbox, templates, scripts, archive)
10-19 PersonalPeople (Self, Spouse, Kids, Parents, Friends, Pets)
20-29 FinancesBanks, investments, credit, taxes, insurance
30-39 Home and PropertyHomes, vehicles, major assets
40-49 Career and EducationEducation, research, employers
50-59 Health and WellnessGeneral health resources (not personal records)
60-69 Hobbies and RecreationGames, computing, creative works, travel
70-79 Legal and RecordsLegal documents and archival records
80-89 Household and ServicesServices, products, utilities, meals
90-99 ReferenceLibrary, research, manuals, datasets

Structure Format

XX-XX Area Name/           # Area (decade range)
└── XX Category Name/      # Category (two digits)
    └── XX.YY Subcategory/ # Subcategory (ID)

Example path:

~/Documents/20-29 Finances/21 Banks/21.10 Example Bank/

Key Principles

  1. One place for everything - Each item has exactly one correct location
  2. Person-first for personal records - A spouse's health records go in 12 Spouse, not 50 Health
  3. Purpose determines area - A bill goes in 27 Bills, not with the service provider
  4. JDex is the brain - Notes and decisions live in 00.00 JDex for System

Finding Where Things Go

Before filing, consult:

  • Flowchart: 00-09 System/00 System/00.00 JDex for System/flowchart.md
  • Full structure: 00-09 System/00 System/00.00 JDex for System/overview.md

Or use your judgment with the filing hierarchy:

  1. Is it about a specific person? → 10-19 Personal under their folder
  2. Is it about yourself specifically? → 11 Self
  3. Otherwise, match by purpose → Areas 20-99

Notes System

Notes about JD items live as markdown files in the JDex:

00-09 System/00 System/00.00 JDex for System/
├── overview.md      # System structure documentation
├── flowchart.md     # Filing decision tree
├── 31.14.md         # Notes about current home
├── 21.10.md         # Notes about a bank account
└── ...

Use jd-note to add timestamped entries to these files.

Naming Conventions

Folders:

  • Areas: XX-XX Name (e.g., 20-29 Finances)
  • Categories: XX Name (e.g., 21 Banks)
  • Subcategories: XX.YY Name (e.g., 21.10 Example Bank)

Files:

  • Date-prefixed for transient items: 2024-12-27_statement.pdf
  • Descriptive for permanent items: policy_declaration.pdf
  • Statements: statements/YYYY/MM.pdf or cc_MM.pdf for credit cards

Available Scripts

Scripts are located in {baseDir}/scripts/. Use the full path when invoking:

ScriptPurpose
{baseDir}/scripts/jd-list.sh [ID]List contents of an area, category, or ID
{baseDir}/scripts/jd-tree.sh [-L depth] [ID]Show directory structure using tree
{baseDir}/scripts/jd-validate.sh <filename>Check if filename follows conventions
{baseDir}/scripts/jd-mkdir.sh <category> <name>Create a new subcategory folder (auto-numbers)
{baseDir}/scripts/jd-move.sh <file> <ID>Move a file to a JD location (with validation)
{baseDir}/scripts/jd-note.sh [ID] [text]Add a timestamped note (browse if no ID given)
{baseDir}/scripts/jd-read.sh [ID] [--edit]Display notes for an ID (browse if no ID given)

Also available: jd <query> for navigation (in ~/bin/).

Interactive Features

When run by a human (not an agent), these commands have interactive modes:

  • jd-note (no args) - Hierarchical browse (Area → Category → ID), then opens editor
  • jd-note <ID> (without text) - Opens editor to write a note
  • jd-read (no args) - Hierarchical browse (Area → Category → ID), then displays notes
  • jd-read --edit (no args) - Hierarchical browse, then opens editor
  • jd-read <ID> --edit - Opens the note file for editing

All properly handle TTY redirection for compatibility with any editor.

Agent Usage (--porcelain)

All scripts support a --porcelain flag for machine-readable output:

{baseDir}/scripts/jd-list.sh 21 --porcelain                # Full paths, no colors
{baseDir}/scripts/jd-tree.sh -L3 --porcelain               # Full structure, no colors
{baseDir}/scripts/jd-mkdir.sh 21 "Name" --porcelain        # Outputs created path
{baseDir}/scripts/jd-move.sh file.pdf 21.10 --porcelain    # Outputs destination path
{baseDir}/scripts/jd-note.sh 21.10 "text" --porcelain      # Adds note (text required)
{baseDir}/scripts/jd-read.sh 21.10 --porcelain             # Outputs note file path
{baseDir}/scripts/jd-validate.sh file.pdf --porcelain      # Machine-readable validation

When using these scripts as an agent:

  • Always use --porcelain for reliable parsing
  • Paths are absolute and suitable for further operations
  • Errors go to stderr with exit code 1
  • jd-note requires text argument in agent mode (no editor)
  • jd-read --edit is not available in agent mode (requires TTY)
  • All scripts auto-detect agent mode when stdout/stdin are not TTYs

Safety Rules

  • Scripts will refuse to overwrite existing files
  • Scripts validate paths before operations
  • Always confirm destructive operations with the user
  • When uncertain about filing location, ask rather than guess

When to Explore

If you need current structure details not covered here, read:

  1. overview.md in the JDex for full category breakdown
  2. flowchart.md in the JDex for filing decisions
  3. Use {baseDir}/scripts/jd-list.sh to see what exists in a location

References

For more detailed guidance, use the Read tool to load:

  • {baseDir}/references/FILING-GUIDE.md - Detailed filing decisions and examples
  • {baseDir}/references/NAMING.md - File and folder naming conventions

Score

Total Score

55/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon