Doc Add

Table of Contents

1. When to use this skill

Creating a document. Every type follows the same four beats — scaffold, fill, wire, commit — so this is one skill and a table, and the table says what differs per type.

This verb creates the artefact and nothing else. Picking up a unit of work is compass-agile-start-task: that one branches, stamps the journal, and moves state.

2. How to use this skill

  1. Pick the type. Unsure which document a thing is? Take the first match in the placement procedure in Skill naming conventions. Then find its row in the table below.
  2. Scaffold it with the row's command. Compass fills the frontmatter and generates the :ID:, so never hand-write either.

    ./projects/ores.compass/compass.sh add knowledge --slug my_topic --title "My topic"
    

    The row's Lands in column says where it goes. Where that column names a default, compass derives the parent from where you are, and --parent-dir overrides it.

  3. Fill every section the row names. A scaffold left with its placeholder prose is worse than no document: it reads as content and says nothing. Use the real generated :ID: values in any links you add.
  4. Wire the parent index. A document nothing links to is invisible to search and to the graph, whatever its content. A story wires into the sprint's * Stories table, a task into its story's * Tasks table, knowledge into its topic index, a recipe into its topic page.
  5. Commit per commit conventions, with the component bracket the type calls for: [agile] for a story or task, the bucket name for a capture, [doc] for the rest.

2.1. Types

One row per document type. The scaffold command, where it lands, and the sections the template leaves for you to fill.

Type Scaffold Lands in Sections to fill
archetype compass add archetype --parent-dir Summary, The {{slug}} archetype, See also
capture compass add capture doc/agile/product_backlog/inbox What, Why, References, See also
component compass add component --parent-dir Diagram, Summary, Inputs, Outputs, Entry points, Dependencies, See also
dataset compass add dataset projects/ores.seeder/datasets/<name>/ Summary, Contents, Why this dataset, See also
entity_org compass add entity_org projects/ores.<component>/modeling/ Flags, Primary key, Natural keys, Columns, SQL, Foreign keys, Insert trigger, C++, See also
facet compass add facet projects/ores.codegen/library/templates Summary, The {{slug}} facet, Mustache incantations, Templates, See also
facet_group compass add facet_group projects/ores.codegen/library/templates Summary, Facets, Shared conventions, See also
feature compass add feature projects/modeling/ Identity, Effect, Structural consequence, Used by, See also
field_group compass add field_group projects/ores.<component>/modeling/ Includes, Fields
investigation compass add investigation --parent-dir Context, Methodology, Paths taken, Conclusions, Recommendations, See also
junction compass add junction --parent-dir Left, Right, Columns, SQL, Repository, C++, See also
knowledge compass add knowledge --parent-dir Summary, Detail, See also
lookup_entity compass add lookup_entity --parent-dir Primary key, Columns, Artefact indexes, See also
manual compass add manual doc/manual/user_guide —
memory compass add memory doc/llm/memory —
product_identity compass add product_identity --parent-dir Vision, Out of scope, Relationship to versions
profile compass add profile projects/modeling/ Purpose, Reference entity, Assignments, See also
recipe compass add recipe --parent-dir Question, Answer, Script, Tested by, See also
release_notes compass add release_notes --parent-dir 🎬 Demo, ✅ Highlights, 🛠️ Key Improvements, ⚠️ Known Issues & Postponed, 📈 Sprint Charts, 📊 Time Summary
runbook compass add runbook --parent-dir Goal, Preconditions, Steps, Postconditions, See also
service_registry compass add service_registry --parent-dir ores.example.service
skill compass add skill doc/llm/skills When to use this skill, How to use this skill, Recipes, Reference
sprint compass add sprint the current version Mission, Status, Stories, Achievements, Captures, Health Review, Charts, Retrospective
story compass add story the current sprint Goal, Status, Acceptance, Tasks, Decisions, Out of scope
task compass add task --parent-dir Goal, Status, Acceptance, Plan, Notes, Test Scenarios, PRs, Review, Result
technical_space compass add technical_space --parent-dir Summary, Facets, See also
test_scenario compass add test_scenario --parent-dir Before you start, Scenario Info, Steps, Results, Notes
user_journey compass add user_journey --parent-dir Goal, Actor and trigger, Steps, Screens and wireframes, Prototype, Entities composed, Operations and messages, What is missing, Related journeys, Related knowledge, See also
version compass add version --parent-dir Identity, Mission, Definition of done, Status, Sprints, Release scope

Some types are worth their own skill because their procedure genuinely differs, not because their artefact does: writing a memory is mostly the judgement of whether to write one at all (compass-doc-add-memory), a recipe carries a testable script (compass-doc-add-recipe), and a skill has registers to parse and a bundle to rebuild (compass-skill-add).

3. Recipes

4. Reference

Emacs 29.3 (Org mode 9.6.15)