learned-docs

Learned Documentation Guide

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "learned-docs" with this command: npx skills add dagster-io/erk/dagster-io-erk-learned-docs

Learned Documentation Guide

Overview: docs/learned/ contains agent-focused documentation with:

  • YAML frontmatter for routing and discovery

  • Hierarchical category organization (categories listed in index below)

  • Index files for category navigation

  • Routing tables in AGENTS.md

Core Knowledge (ALWAYS Loaded)

@learned-docs-core.md

Document Registry (Auto-Generated)

@docs/learned/index.md

Frontmatter Requirements

Every markdown file (except index.md) MUST have:


title: Document Title read_when:

  • "first condition"
  • "second condition"

Required Fields

Field Type Purpose

title

string Human-readable title for index tables

read_when

list[string] Conditions when agent should read this doc

Writing Effective read_when Values

  • Use gerund phrases: "creating a plan", "styling CLI output"

  • Be specific: "fixing merge conflicts in tests" not "tests"

  • Include 2-4 conditions covering primary use cases

  • Think: "An agent should read this when they are..."

Good:

read_when:

  • "creating or closing plans"
  • "understanding plan states"
  • "working with .erk/impl-context/ directories"

Bad:

read_when:

  • "plans" # Too vague
  • "the user asks" # Not descriptive

Documentation Structure

Read the master index for current categories and documents:

docs/learned/index.md

The index contains:

  • All category paths and descriptions

  • Root-level documents

  • Document listings with "Read when..." conditions

Category Placement Guidelines

  • Match by topic - Does the doc clearly fit one category? (see index above for categories)

  • Match by related docs - Are similar docs already in a category?

  • When unclear - Place at root level; categorize later when patterns emerge

  • Create new category - When 3+ related docs exist at root level

Distinguishing cli/ vs architecture/

This is the most common confusion:

cli/: Patterns for building CLI commands - how users interact with the tool

  • Fast-path patterns (skipping expensive ops)

  • Output formatting and styling

  • Script mode behavior

  • Command organization

architecture/: Internal implementation patterns - how the code works

  • Gateway ABCs and dependency injection

  • Dry-run via wrapper classes

  • Shell integration constraints

  • Protocol vs ABC decisions

Document Structure Template


title: [Clear Document Title] read_when:

  • "[first condition]"
  • "[second condition]"

[Title Matching Frontmatter]

[1-2 sentence overview]

[Main Content Sections]

[Organized content with clear headers]

Related Topics

Index File Template

Each category has an index.md following this pattern:


title: [Category] Documentation read_when:

  • "[when to browse this category]"

[Category] Documentation

[Brief category description]

Quick Navigation

When you need to...Read this
[specific task]doc.md

Documents in This Category

[Document Title]

File: doc.md

[1-2 sentence description]

Related Topics

Reorganizing Documentation

When moving files between categories:

Step 1: Move Files with git mv

cd docs/learned git mv old-location/doc.md new-category/doc.md

Step 2: Update Cross-References

Find all references to moved files:

grep -r "old-filename.md" docs/learned/

Update relative links:

Step 3: Update Index Files

Update Quick Navigation tables in affected index files.

Step 4: Update AGENTS.md

If the doc was in the routing table, update the path.

Step 5: Validate

Run make fast-ci to catch broken links and formatting issues.

Updating Routing Tables

AGENTS.md contains the Quick Routing Table for agent navigation.

When to Add Entries

  • New category additions

  • High-frequency tasks

  • Tasks where wrong approach is common

Entry Format

| [Task description] | → [Link or skill] |

Examples:

  • | Understand project architecture | → Architecture |

  • | Write Python code | → Load
    dignified-python skill FIRST |

Validation

Run before committing:

make fast-ci

This validates:

  • YAML frontmatter syntax

  • Required fields present

  • Markdown formatting (prettier)

⚠️ Generated Files - Do Not Edit Directly

The following files are auto-generated from frontmatter metadata:

File Source

docs/learned/index.md

Frontmatter from all docs

docs/learned/<category>/index.md

Frontmatter from category

docs/learned/<category>/tripwires.md

tripwires: field in category docs

docs/learned/tripwires-index.md

Category tripwires with routing hints

Never edit these files directly. Changes will be overwritten.

Workflow for Changes

  • Edit the source frontmatter in the relevant documentation file(s)

  • Run sync: erk docs sync

  • Verify changes in the generated files

  • Commit both the source and generated files

Adding a New Tripwire

To add a tripwire rule:

  • Add to the tripwires: field in the relevant doc's frontmatter: tripwires:

    • action: "doing something dangerous" warning: "Do this instead."
  • Run erk docs sync to regenerate tripwires.md

Quick Reference

  • Full navigation: docs/learned/guide.md

  • Category index: docs/learned/index.md

  • Regenerate indexes: erk docs sync

  • Run validation: make fast-ci

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

session-inspector

No summary provided by upstream source.

Repository SourceNeeds Review
General

fake-driven-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

ci-iteration

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-feedback-classifier

No summary provided by upstream source.

Repository SourceNeeds Review