objective

Objectives are coordination documents for goals requiring multiple plans/PRs to complete. Unlike erk-plans (single executable implementations), objectives track progress across related work and capture lessons learned along the way.

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 "objective" with this command: npx skills add dagster-io/erk/dagster-io-erk-objective

Objective Skill

Overview

Objectives are coordination documents for goals requiring multiple plans/PRs to complete. Unlike erk-plans (single executable implementations), objectives track progress across related work and capture lessons learned along the way.

Scope range:

  • Small: Feature requiring 2-3 related PRs

  • Medium: Refactor spanning several plans

  • Large: Long-running strategic direction emitting many plans

Objective vs Erk-Plan

Aspect Erk-Plan Objective

Purpose Single executable implementation Coordinate 2+ related plans/PRs

Scope One PR or tightly-coupled change Multiple plans toward coherent goal

Body Machine-parseable metadata Human-readable markdown

Comments Session context dumps Action logs + lessons

Label erk-plan

erk-objective

Tooling erk pr dispatch/implement

Manual updates via comments

Key Design Principles

  • Human-first - Plain markdown, no machine-generated metadata

  • Incremental capture - Each action gets its own comment

  • Lessons as first-class - Every action comment includes lessons learned

  • Clear roadmap - Status visible at a glance in the body

  • Body stays current via reconciliation - After every PR landing, agents audit prose sections against what was actually implemented and correct stale information

  • Steelthread-first - Each phase starts with minimal vertical slice proving the concept works

  • One PR per phase - Each phase is sized for a coherent single PR

  • Always shippable - System remains functional after each merged PR

  • Body is source of truth - Body always contains complete current state; comments are the changelog

  • Two-step for all changes - Every addition (context, decisions, phases) gets a comment AND body update

  • Context over code - Provide references to patterns, not prescriptive implementations

  • Session handoff ready - Body should be self-contained for any session to pick up and implement

Quick Reference

Creating an Objective

gh issue create --title "Objective: [Title]" --label "erk-objective" --body "$(cat <<'EOF'

Objective: [Title]

[1-2 sentence summary]

Goal

[What success looks like - concrete end state]

Design Decisions

  1. [Decision name]: [What was decided]

Roadmap

Phase 1: [Name] Steelthread (1 PR)

Minimal vertical slice proving the concept works.

NodeDescriptionStatusPR
1.1[Minimal infrastructure]pending
1.2[Wire into one command]pending

Test: [End-to-end acceptance test for steelthread]

Phase 2: Complete [Name] (1 PR)

Fill out remaining functionality.

NodeDescriptionStatusPR
2.1[Extend to remaining commands]pending
2.2[Full test coverage]pending

Test: [Full acceptance criteria]

EOF )"

Logging an Action

Post an action comment after completing work. See format.md for full template.

gh issue comment <issue-number> --body "$(cat <<'EOF'

Action: [Brief title]

Date: YYYY-MM-DD | PR: #123 | Phase/Node: 1.2

What Was Done

Lessons Learned

Roadmap Updates

EOF )"

After posting, update the issue body (roadmap statuses, reconcile stale prose sections).

Updating Node Details

Update node description, slug, or reason using update-objective-node :

Update description

erk exec update-objective-node 8470 --node 1.3 --description "Revised description"

Set slug

erk exec update-objective-node 8470 --node 1.3 --slug "revised-slug"

Skip with comment

erk exec update-objective-node 8470 --node 1.3 --status skipped --comment "Superseded by new approach"

Combine multiple updates

erk exec update-objective-node 8470 --node 2.1 --description "New desc" --slug "new-slug" --status planning

Adding Nodes

Add new nodes to an existing objective's roadmap:

Add to existing phase (auto-assigns next ID, e.g., 1.4)

erk exec add-objective-node 8470 --phase 1 --description "Clean up dead code"

With explicit slug and dependencies

erk exec add-objective-node 8470 --phase 2
--description "Integration tests"
--slug integration-tests
--depends-on 2.1 --depends-on 2.2

With comment for adding

erk exec add-objective-node 8470 --phase 1
--description "Handle edge case"
--comment "Discovered during re-evaluation"

Updating Node Status

Always use the programmatic command — never manually edit YAML or prose tables:

erk exec update-objective-node <issue> --node <id> --status <status> erk exec update-objective-node <issue> --node <id> --pr '#1234'

Then validate: erk objective check <issue-number>

Viewing an Objective

View an objective's dependency graph, dependencies, and next node:

CLI

erk objective view <issue-number>

Slash command (in-session)

/local:objective-view <issue-number>

Spawning an Erk-Plan

To implement a specific roadmap node, create an erk-plan that references the objective:

erk pr create --file plan.md --title "Implement [node description]"

Workflow Summary

  • Create objective - When starting multi-plan work

  • Inspect progress - View dependency graph and next node

  • Log actions - After completing each significant piece of work

  • Update body - Keep roadmap status current, reconcile stale prose after each PR landing

  • Spawn erk-plans - For individual implementation nodes

  • Close - When goal achieved or abandoned (proactively ask when all nodes done)

Resources

references/

  • format.md

  • Complete templates, examples, and update patterns

  • workflow.md

  • Creating objectives, spawning plans, steelthread structuring

  • updating.md

  • Quick reference for the two-step update workflow

  • closing.md

  • Closing triggers and procedures

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

learned-docs

No summary provided by upstream source.

Repository SourceNeeds Review
General

fake-driven-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-feedback-classifier

No summary provided by upstream source.

Repository SourceNeeds Review