Start · chosen once, from the situation a request begins in

wayfinder

about 3,600 tokens

wayfinder as it installs, each line coloured by where its words came from.

  • 2 files
  • 12 edits
  • 34 sentences left out
  • 1 source
  • last changed 2026-10-19

The text

SKILL.md

about 3,500 tokens
  • Matt Pocock's skills
  • greenline

---

name: "wayfinder"

description: "Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets in a plan directory's map.md, and resolve them one at a time until the way to the destination is clear."

---

greenlineOpens wayfinder: it maps a decision space too large for one session

wayfinder is the start for a decision space too large for one session, spanning more than one context: it charts that space as the map of a plan directory, and works it down until the way is clear. The map belongs to one planning change: propose its mode, careful, and wait, as AGENTS.md says for work that will be split, open its record with a `## start` section naming wayfinder and its front matter's `plan:` naming the plan directory, and chart and work the map as its frame step, which spans the sessions the map needs; at every stop the record's "next" line names the frontier item that resumes it. A single design that needs stress-testing is one change's frame; a settled compact change needs no map. The map's decision tickets are checklist items in `map.md`, never the plan's tickets: they become delivery work only through the plan step's `tickets.md` once the way is clear. The methods a ticket needs, frame's interview and its research and prototype references, are loaded through the harness's skill mechanism; when it has none, read the installed SKILL.md and its reference files.

Matt Pocock's skillswayfinder/SKILL.md

A loose idea has arrived, too big for one agent session, and wrapped in fog: the way from here to the **destination** isn't visible yet. Wayfinding is about finding that way, not charging at the destination. This skill charts the way as a **shared map** in the plan directory's `map.md`, then works its **decision tickets** (questions whose resolution is a decision, not slices of a build to execute) one at a time until the route is clear.

The destination varies per effort, and naming it is the first act of charting: it shapes every ticket. It might be a spec to hand off and iterate on, a decision to lock before planning starts, or a change made in place like a data-structure migration. The map is domain-agnostic: engineering work, course content, whatever fits the shape.

## Plan, don't do

Wayfinder is **planning** by default: each ticket resolves a decision, and the map is done when the way is clear, with nothing left to decide before someone goes and does the thing. The pull to just do the work is usually the signal you've reached the edge of the map and it's time to hand off. An effort can override this in its **Notes**, carrying execution into the map itself, but absent that, produce decisions, not deliverables.

greenlinePoints at the skill's references page for paths and commandsgreenlineDone means map.md complete and the plan step reading its decisions

Greenline's paths and commands for this skill stand on its references page, [references/greenline.md](references/greenline.md): read it when the work lands in the workspace. When the way is clear, mark the map complete and hand off to the planning change's plan step, which reads the resolved decisions into the plan directory's `spec.md` and `tickets.md`; a now-compact effort needs no tickets: its plan section carries it, the map, its decisions and its research move into the planning change's folder, the frame section's links follow them, `plan:` leaves the record's front matter, and the plan directory is removed, since a plan directory exists only when the plan step splits the work into tickets.

greenlineItems carry no id or URL, so the id-wrapping rule goesMatt Pocock's skillswayfinder/SKILL.md

Every ticket has a **name**: the bolded label on its checklist item. In everything the human reads (narration, the map's Decisions-so-far), refer to it by that name, never by a bare number or slug. A wall of `#42, #43, #44` is illegible; names read at a glance.

greenlineThe map is one file, map.md, its tickets checklist items inside it

The map is one file, the plan directory's map, the canonical artifact. Its tickets are checklist items inside it.

Matt Pocock's skillswayfinder/SKILL.mdgreenlineThe map is one file, map.md, its tickets checklist items inside it

The map is an **index**, not a store. It lists the decisions made and points at the artifacts that hold their detail; a decision lives in exactly one place, its entry in the plan directory's `decisions.md` or a note under its `research/`, so the map never restates it, only gists it and links.

greenlineWith no tracker to query, the map lists its open tickets itself

The whole map at low resolution, loaded once per session, tickets included: the open ones are the unchecked items under **Tickets**.

Matt Pocock's skillswayfinder/SKILL.md

```markdown

## Destination

<what reaching the end of this map looks like: the spec, decision, or change this effort is finding its way to. One or two lines; every session orients to it before choosing a ticket.>

## Notes

<domain; skills every session should consult; standing preferences for this effort>

## Decisions so far

<!-- the index: one line per closed ticket, enough to judge relevance, then zoom the link for the detail the ticket holds -->

- [<closed ticket title>](link): <one-line gist of the answer>

## Not yet specified

<!-- see "Fog of war": in-scope fog you can't ticket yet; graduates as the frontier advances -->

## Out of scope

<!-- see "Out of scope": work ruled beyond the destination; closed, never graduates -->

```

### Tickets

greenlineChecklist items, names and after: lines replace child issues, assignees and linksMatt Pocock's skillswayfinder/SKILL.md

Each ticket is a **checklist item** under the map's **Tickets** section; its bolded name is its identity. The item states the question, sized to one 100K token agent session:

greenlineChecklist items, names and after: lines replace child issues, assignees and links

```markdown

- [ ] **<name>** (`<type>`): <the decision or investigation this ticket resolves> after: <name>, <name> [claimed: <session>]

```

Matt Pocock's skillswayfinder/SKILL.md

The `<type>` is one of `research`, `prototype`, `grilling`, `task` (see [Ticket Types](#ticket-types)).

greenlineA session claims a ticket by writing its name beside the item

A session **claims** a ticket by writing its name beside the item, **first**, before any work, so a later session sees it taken. That name _is_ the claim: an open item with no name beside it is unclaimed.

greenlineChecklist items, names and after: lines replace child issues, assignees and links

Blocking is item prose: `after: <name>, <name>`, naming the tickets this one waits on. A ticket is **unblocked** when every ticket it names is checked; the **frontier** is the first open, unblocked, unclaimed item, the edge of the known.

Matt Pocock's skillswayfinder/SKILL.md

The answer isn't part of the item; it's recorded on resolution (see [Work through the map](#work-through-the-map)). Assets created while resolving a ticket are linked from the item, not pasted in.

## Ticket Types

Every ticket is either **HITL** (human in the loop, worked _with_ a human who speaks for themselves) or **AFK**, driven by the agent alone. A HITL ticket only resolves through that live exchange; the agent never stands in for the human's side of it (a grilling agent that answers its own questions has broken this).

greenlineLoads frame and its research reference instead of calling a Skill tool

- **Research** (AFK): Reading documentation, third-party APIs, or local resources like knowledge bases to surface a fact a decision waits on. Resolved by reading the sources as frame's research reference says, yourself or through one agent the harness's delegation starts, one research ticket after another. Use when knowledge outside the current working directory is required.

Matt Pocock's skillswayfinder/SKILL.md

- **Prototype** (HITL): Raise the fidelity of the discussion by making a cheap, rough, concrete artifact to react to (an outline, a rough take, a stub, or UI/logic code) by loading frame's prototype reference. Links the prototype as an asset. Use when "how should it look" or "how should it behave" is the key question.

greenlineLoads frame and its research reference instead of calling a Skill tool

- **Grilling** (HITL): Conversation. The default case. Always load frame, whose interview settles the domain's terms as it goes.

Matt Pocock's skillswayfinder/SKILL.md

- **Task** (HITL or AFK): Manual work that must happen before a _decision_ can be made: nothing to decide, prototype, or research, but the discussion is blocked until it's done. Signing up for a service so its API can be judged, provisioning access, moving data so its shape can be seen. This is the one type that _does_ rather than decides, and it earns its place by unblocking a decision, not by delivering the destination. The agent drives it alone where it can (AFK); otherwise it hands the human a precise checklist (HITL). Resolved when the work is done; the answer records what was done and any resulting facts (credentials location, new URLs, row counts) later tickets depend on.

## Fog of war

The map is _deliberately_ incomplete: don't chart what you can't yet see. Beyond the live tickets lies the **fog of war**: the dim view of decisions and investigations you can tell are coming but can't yet pin down, because they hang on questions still open. Resolving a ticket clears the fog ahead of it, graduating whatever's now specifiable into fresh tickets, one at a time, until the way to the destination is clear and no tickets remain.

The map's **Not yet specified** section is where that dim view is written down: the suspected question, the area to revisit later. It's the undiscovered frontier _toward_ the destination: everything here is in scope, just not sharp enough to ticket. Write as loosely or as fully as the view allows; it doubles as a signpost for collaborators reading where the effort is headed.

**Fog or ticket?** The test is whether you can state the question precisely now, _not_ whether you can answer it now.

- **Ticket when** the question is already sharp, even if it's blocked and you can't act on it yet.

- **Not yet specified when** you can't yet phrase it that sharply. Don't pre-slice the fog into ticket-sized pieces: it's coarser than a ticket, and one patch may graduate into several tickets, or none, once the frontier reaches it.

**Not yet specified** excludes what's already decided (Decisions so far), what's already a live ticket, and what's out of scope (the next section).

## Out of scope

Fog only ever gathers _toward_ the destination. The destination fixes the scope, so work beyond it is **out of scope**: it isn't fog, and it doesn't belong in **Not yet specified**. It gets its own **Out of scope** section on the map: work you've consciously ruled out of _this_ effort. Scope, not sharpness, lands it here.

Out-of-scope work never graduates (the frontier stops at the destination), so it returns only if the destination is redrawn, and then as a fresh effort, not a resumption.

greenlineA mis-scoped ticket leaves the list and keeps one out-of-scope line

Ruling something out of scope is a scoping act, not a step on the route. When a ticket that already exists turns out to sit past the destination (mis-scoped in while charting, or exposed by a resolution), **delete its item from Tickets** (an item off the list is unambiguously off the frontier) and leave one line in the **Out of scope** section: the gist plus why it's out of scope. It stays out of **Decisions so far**, which records the route actually walked; a scope boundary isn't a step on it.

Matt Pocock's skillswayfinder/SKILL.md

## Invocation

Two modes. Either way, **never resolve more than one ticket per session**, with the exception of research tickets.

### Chart the map

User invokes with a loose idea.

1. **Name the destination.** Load frame to pin down what this map is finding its way to: the spec, decision, or change. The destination fixes the scope, so it's settled first.

2. **Map the frontier.** Grill again, **breadth-first** this time: fan out across the whole space rather than deep on any one thread, surfacing the open decisions and the first steps takeable now. **If this surfaces no fog** (the way to the destination is already clear, the whole journey small enough for one session), you don't need a map. Stop and ask the user how they'd like to proceed.

greenlineCharting writes map.md and its items; research notes go under research/

3. **Write the map** to the plan directory's `map.md` (its front matter marking it a draft and nothing else): Destination and Notes filled in, Tickets and Decisions-so-far empty, the fog sketched into **Not yet specified**.

Matt Pocock's skillswayfinder/SKILL.md

4. **Add the tickets you can specify now** as checklist items under **Tickets**, then write their `after:` edges once every item has a name. The edges sort them into the frontier and the blocked; everything you can't yet specify stays in the fog: the **Not yet specified** section.

greenlineCharting writes map.md and its items; research notes go under research/

5. **Resolve the research tickets in turn.** For each `research` ticket you just created, one after another, resolve it by reading the sources as frame's research reference says, yourself or through one fresh agent the harness's delegation starts, briefed and named as that reference says, whose report you wait for; capture the findings in a note under the plan directory's `research/`, named for the ticket, linking the agent's report where one read, which the planning change's frame section cites as that reference says, with a context pointer from the ticket. Each delegated agent is named in the planning change's frame section and counted in no cost.

Matt Pocock's skillswayfinder/SKILL.md

6. Stop: charting is one session's work; it hand-resolves nothing.

### Work through the map

greenlineInvoked with the plan directory or a ticket's name, not a URLMatt Pocock's skillswayfinder/SKILL.md

User invokes with a map (the plan directory, or a ticket's name). A ticket is **optional**: without one, you pick the next decision, not the user.

greenlineLoading, claiming and resolving all happen in map.md, item by item

1. Load the **map**: `map.md` whole, which is already the low-res view.

Matt Pocock's skillswayfinder/SKILL.mdgreenlineLoading, claiming and resolving all happen in map.md, item by item

2. Choose the ticket. If the user named one, use it. Otherwise take the first frontier item in order. **Claim it**: write your session's name beside the item and save, before any work.

Matt Pocock's skillswayfinder/SKILL.md

3. Resolve it. **Zoom as needed**: read the landed decision behind any related or checked ticket on demand; load whichever skills the `## Notes` block names. If in doubt, load frame.

greenlineRecords the answer in decisions.md, then checks the item with a gist

4. Record the resolution: write the answer where it lives, an entry in the plan directory's `decisions.md` (a research ticket's answer is its note under `research/`), then **check the item**, replacing its question with a one-line gist of the answer, and **append a context pointer** to the map's Decisions-so-far.

Matt Pocock's skillswayfinder/SKILL.md

5. Add newly-surfaced tickets (item first, `after:` edges once they all have names); graduate any fog the answer has made specifiable, clearing each graduated patch from **Not yet specified** so it lives only as its new item. If the answer reveals that a ticket (this one or another) sits beyond the destination, **rule it out of scope** rather than resolving it on the route. If the decision invalidates other parts of the map, update or delete those items.

greenlineThe handoff gives map.md and its decisions, with plan as next step

## Handoff

Consumes: a loose idea too big for one session; the planning change's record and its plan directory's existing decisions.md when one exists Produces: the plan directory's map.md, status draft while charting and complete when the way is clear; each resolved ticket's answer in the plan directory's decisions.md or a note under its research/; the frame section of the planning change's record citing the map Next: plan, the planning change's step once the way is clear, which reads the resolved decisions into the plan directory's spec.md and tickets.md

SKILL.md as installed, byte for byte SHA-256 4f6ff0758194241182b7767127e844aac7f7379a0d42af5e5170a7ac63d16340

references/greenline.md

about 100 tokens
  • greenline
greenlineOpens the skill's mechanics page, read with SKILL.md

# Wayfinder: the practice's mechanics

This page holds where wayfinder's work lands in the workspace and the commands it runs, which `SKILL.md` names by their nouns. Read it with `SKILL.md` when the work lands in the workspace.

greenlineThe map's path and its marks

## Where its work lands

The map is `.greenline/plans/<NNN-name>/map.md`, its front matter `status: draft` while it is written and `status: complete` once the way is clear.

The edits

Red is upstream's text; green is what greenline shipped in its place.

What the edit kinds mean
method
changes what the method does, under a recorded ruling
correction
fixes an error
scope
fits the text to this skill
pointer
re-points a reference
smaller edits
rename, relocate or adjust tool details
  1. Edit 3 pointer SKILL.md:41

    Upstream: ## Decisions so far

    Shipped: ## Tickets <!-- see "Tickets": one checklist item per ticket, unchecked while open --> - [ ] **<name>** (`grilling`): <the question> after: <name> ## Decisions so far

    With no tracker to query, the map lists its open tickets itself

    Full reason

    with no tracker to query, the open tickets have to be visible in the map body; the template gains the section that holds them.

  2. Edit 4 pointer SKILL.md:64

    Upstream: Its body is the question, sized to one 100K token agent session:

    Shipped: The item states the question, sized to one 100K token agent session:

    Checklist items, names and after: lines replace child issues, assignees and links

    Full reason

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  3. Edit 5 pointer SKILL.md:70

    Upstream: Each ticket carries a `wayfinder:<type>` label, one of `research`, `prototype`, `grilling`, `task` (see [Ticket Types](#ticket-types)).

    Shipped: The `<type>` is one of `research`, `prototype`, `grilling`, `task` (see [Ticket Types](#ticket-types)).

    Checklist items, names and after: lines replace child issues, assignees and links

    Full reason

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  4. Edit 6 pointer SKILL.md:76

    Upstream: The answer isn't part of the body; it's recorded on resolution (see [Work through the map](#work-through-the-map)).

    Shipped: The answer isn't part of the item; it's recorded on resolution (see [Work through the map](#work-through-the-map)).

    Checklist items, names and after: lines replace child issues, assignees and links

    Full reason

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  5. Edit 7 pointer SKILL.md:76

    Upstream: Assets created while resolving a ticket are linked from the issue, not pasted in.

    Shipped: Assets created while resolving a ticket are linked from the item, not pasted in.

    Checklist items, names and after: lines replace child issues, assignees and links

    Full reason

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  6. Edit 11 pointer SKILL.md:128

    Upstream: Otherwise take the first frontier ticket in order.

    Shipped: Otherwise take the first frontier item in order.

    Loading, claiming and resolving all happen in map.md, item by item

    Full reason

    Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.

  7. Edit 12 pointer SKILL.md:131

    Upstream: If the decision invalidates other parts of the map, update or delete those tickets.

    Shipped: If the decision invalidates other parts of the map, update or delete those items.

    Loading, claiming and resolving all happen in map.md, item by item

    Full reason

    Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.

5 smaller edits

Renames, locations and tool details, each with its reason.

  1. Edit 1 relocate SKILL.md:8

    Upstream: This skill charts the way as a **shared map** on the repo's issue tracker, then works its **decision tickets** (questions whose resolution is a decision, not slices of a build to execute) one at a time until the route is clear.

    Shipped: This skill charts the way as a **shared map** in the plan directory's `map.md`, then works its **decision tickets** (questions whose resolution is a decision, not slices of a build to execute) one at a time until the route is clear.

    The shared map is the plan directory's map.md, not an issue tracker

    Full reason

    The shared map is the plan directory's map.md, a plan document of the planning change, where upstream kept it on the repo's issue tracker.

  2. Edit 2 rename SKILL.md:20

    Upstream: In everything the human reads (narration, the map's Decisions-so-far), refer to it by that name, never by a bare id, number, or slug.

    Shipped: In everything the human reads (narration, the map's Decisions-so-far), refer to it by that name, never by a bare number or slug.

    Items carry no id or URL, so the id-wrapping rule goes

    Full reason

    checklist items carry a name and no id or URL, so the id-wrapping rule has nothing to wrap.

  3. Edit 8 tool details SKILL.md:83

    Upstream: **Prototype** (HITL): Raise the fidelity of the discussion by making a cheap, rough, concrete artifact to react to (an outline, a rough take, a stub, or UI/logic code) by calling the Skill tool with "prototype".

    Shipped: **Prototype** (HITL): Raise the fidelity of the discussion by making a cheap, rough, concrete artifact to react to (an outline, a rough take, a stub, or UI/logic code) by loading frame's prototype reference.

    Prototyping loads frame's prototype reference, which replaced the prototype skill

    Full reason

    Upstream's prototype skill is frame's prototype reference file (R22).

  4. Edit 9 tool details SKILL.md:116

    Upstream: Call the Skill tool twice, for "grilling" and "domain-modeling", to pin down what this map is finding its way to: the spec, decision, or change.

    Shipped: Load frame to pin down what this map is finding its way to: the spec, decision, or change.

    Loads frame, whose interview now holds grilling and domain-modeling's questioning

    Full reason

    Upstream's grilling and domain-modeling questioning are frame's interview (R22).

  5. Edit 10 relocate SKILL.md:119

    Upstream: Wiring sorts them into the frontier and the blocked; everything you can't yet specify stays in the fog: the **Not yet specified** section.

    Shipped: The edges sort them into the frontier and the blocked; everything you can't yet specify stays in the fog: the **Not yet specified** section.

    Writes the map with its items rather than wiring issues by id

    Full reason

    Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively.

What greenline wrote

The full reason for every passage greenline wrote, in the order of the text.

  1. SKILL.md:6 method

    The opening paragraph in the skill's own voice: wayfinder fires for a decision space too large for one session and spanning contexts, defers a single design to grilling or grill-with-docs and a settled compact change to implement, keeps its decision tickets as map.md checklist items with no TKT id that reach delivery only through to-tickets, and names how its methods are loaded; the diff aligns it against upstream's first paragraph, which survives as the next hunk; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. R1

  2. SKILL.md:16 pointer

    The front points at the skill's references page, where greenline's paths and commands for it stand since J-93 S2, so the front holds the method alone.

  3. SKILL.md:16 method

    Where the body says the map is done and it is time to hand off, the copy says what done is in the artifact system: map.md at status complete, the initiative decided, to-spec reading the resolved decisions, and a now-compact effort taking one ticket through implement; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page. R2

  4. SKILL.md:20 rename

    checklist items carry a name and no id or URL, so the id-wrapping rule has nothing to wrap.

  5. SKILL.md:24 relocate

    names map.md and its checklist items directly, and retires the tracker-doc lookup that sends the map to a location the artifact contract does not recognise; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page.

  6. SKILL.md:26 relocate

    names map.md and its checklist items directly, and retires the tracker-doc lookup that sends the map to a location the artifact contract does not recognise; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads.

    Credits: Matt Pocock's skills

  7. SKILL.md:30 pointer

    with no tracker to query, the open tickets have to be visible in the map body; the template gains the section that holds them.

    Credits: Matt Pocock's skills

  8. SKILL.md:64 pointer

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  9. SKILL.md:66 pointer

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  10. SKILL.md:72 method

    The claim is a name written beside the item, where upstream assigned the issue, and it tells a later session the ticket is taken, since no session works the map beside another (R20). R3

    Credits: Matt Pocock's skills

  11. SKILL.md:72 pointer

    child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.

  12. SKILL.md:82 method

    Every 'call the Skill tool' sentence (the research, prototype and grilling ticket types, chart step 1, and the load of Notes-named skills) now loads the roster method through the harness's native skill mechanism, whose fallback to the installed SKILL.md the opening paragraph states once; no consumer install carries a tool by that name; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. R3

  13. SKILL.md:84 method

    Every 'call the Skill tool' sentence (the research, prototype and grilling ticket types, chart step 1, and the load of Notes-named skills) now loads the roster method through the harness's native skill mechanism, whose fallback to the installed SKILL.md the opening paragraph states once; no consumer install carries a tool by that name; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. R4

  14. SKILL.md:106 pointer

    there is no issue to close; a mis-scoped ticket leaves the checklist and lives on as one Out-of-scope line.

    Credits: Matt Pocock's skills

  15. SKILL.md:118 relocate

    Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively, each delegated reader named in the frame section and counted in no cost; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. Since J-93 S2 the front names greenline's homes and commands by their nouns, their paths and commands on the skill's references page.

    Credits: Matt Pocock's skills

  16. SKILL.md:120 method

    Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively, each delegated reader named in the frame section and counted in no cost; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads. R5

    Credits: Matt Pocock's skills

  17. SKILL.md:125 pointer

    claiming, resolving, and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads.

  18. SKILL.md:127 pointer

    Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.

  19. SKILL.md:128 pointer

    Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.

  20. SKILL.md:129 pointer

    Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads.

    Credits: Matt Pocock's skills

  21. SKILL.md:133 pointer

    the handoff section: map.md as the product, the initiative directory and initiative.md created at shaping when none exists, resolved answers in decisions.md or research records, to-spec and to-tickets as the readers; re-cut at S17: the map lives in the planning change's plan directory, its decisions in that directory's decisions.md and research notes, frame and its references carrying the methods a ticket loads.

  22. references/greenline.md:1 scope

    The skill's references page opens: greenline's mechanics for the skill, the paths and commands its front names by their nouns, held apart from the upstream prose since J-93 S2.

  23. references/greenline.md:5 relocate

    wayfinder's mechanics: the map's path in its plan directory and its marks, held apart since J-93 S2.

What it left out

Matt Pocock's skills

Matt Pocock's skills, wayfinder/SKILL.md: 34 of 114 sentences left out
  1. Every map and ticket is an issue, so it has a **name**: its title. left out: checklist items carry a name and no id or URL, so the id-wrapping rule has nothing to wrap.
  2. 2 sentences taken
  3. The id and URL don't vanish; a name wraps its link, but they ride _inside_ the name, never stand in for it. left out: checklist items carry a name and no id or URL, so the id-wrapping rule has nothing to wrap.
  4. 1 sentence taken
  5. The map is a single issue on this repo's issue tracker, labelled `wayfinder:map`, the canonical artifact.
  6. Its tickets are child issues of the map. 2 sentences left out: names map.md and its checklist items directly, and retires the tracker-doc lookup that sends the map to a location the artifact contract does not recognise.
  7. 1 sentence taken
  8. It lists the decisions made and points at the tickets that hold their detail; a decision lives in exactly one place, its ticket, so the map never restates it, only gists it and links. left out: names map.md and its checklist items directly, and retires the tracker-doc lookup that sends the map to a location the artifact contract does not recognise. replaced by line 26 of SKILL.md
  9. **Where the map, its child tickets, blocking, and frontier queries physically live is tracker-specific.**
  10. The issue tracker should have been provided to you.
  11. If not, tell the user to run `/setup-matt-pocock-skills`.
  12. Consult the tracker doc's "Wayfinding operations" section for how _this_ repo expresses them.
  13. If no tracker has been provided, default to the local-markdown tracker. 5 sentences left out: names map.md and its checklist items directly, and retires the tracker-doc lookup that sends the map to a location the artifact contract does not recognise.
  14. 1 sentence taken
  15. The whole map at low resolution, loaded once per session. left out: with no tracker to query, the open tickets have to be visible in the map body; the template gains the section that holds them. replaced by line 30 of SKILL.md
  16. Open tickets are **not** listed: they are open child issues, found by query. left out: with no tracker to query, the open tickets have to be visible in the map body; the template gains the section that holds them.
  17. 2 sentences taken
  18. Each ticket is a **child issue** of the map; the tracker's issue id is its identity. left out: child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.
  19. 1 sentence taken
  20. ```markdown ## Question <the decision or investigation this ticket resolves> ``` left out: child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.
  21. 1 sentence taken
  22. A session **claims** a ticket by assigning it to the dev driving the map, **first**, before any work, so concurrent sessions skip it. left out: The claim is a name beside the item that tells a later session the ticket is taken; concurrent sessions skipping it are gone with parallel work (R20). R3 replaced by line 72 of SKILL.md
  23. That assignee _is_ the claim: an open, unassigned ticket is unclaimed.
  24. Blocking uses the tracker's **native** dependency relationship: essential because it renders the frontier _visually_ in the tracker's own UI, so the human sees what's takeable without opening the map.
  25. Only a tracker that lacks native blocking falls back to a body convention.
  26. A ticket is **unblocked** when every ticket blocking it is closed; the **frontier** is the open, unblocked, unclaimed children, the edge of the known. 4 sentences left out: child issues, assignees, and native dependency links have no home in a single file; the item, the name beside it, and the after: prose carry the same three jobs.
  27. 6 sentences taken
  28. Resolved by a subagent that calls the Skill tool with "research". left out: Every 'call the Skill tool' sentence (the research, prototype and grilling ticket types, chart step 1, and the load of Notes-named skills) now loads the roster method through the harness's native skill mechanism, whose fallback to the installed SKILL.md the opening paragraph states once; no consumer install carries a tool by that name.
  29. 6 sentences taken
  30. Always call the Skill tool twice, for "grilling" and "domain-modeling". left out: Every 'call the Skill tool' sentence (the research, prototype and grilling ticket types, chart step 1, and the load of Notes-named skills) now loads the roster method through the harness's native skill mechanism, whose fallback to the installed SKILL.md the opening paragraph states once; no consumer install carries a tool by that name.
  31. 25 sentences taken
  32. When a ticket that already exists turns out to sit past the destination (mis-scoped in while charting, or exposed by a resolution), **close it** (a closed ticket is unambiguously off the frontier) and leave one line in the **Out of scope** section: the gist plus why it's out of scope, linking the closed ticket. left out: there is no issue to close; a mis-scoped ticket leaves the checklist and lives on as one Out-of-scope line. replaced by line 106 of SKILL.md
  33. 13 sentences taken
  34. **Create the map** (label `wayfinder:map`): Destination and Notes filled in, Decisions-so-far empty, the fog sketched into **Not yet specified**. left out: Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively. replaced by line 118 of SKILL.md
  35. **Create the tickets you can specify now** as child issues of the map, then wire blocking edges in a **second pass** (issues need ids before they can reference each other). left out: Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively.
  36. 1 sentence taken
  37. **Fire the research subagents.** left out: Firing research subagents in parallel gives way to the research tickets resolved one after another (R20, R21). R3 replaced by line 120 of SKILL.md
  38. For each `research` ticket you just created, spin up a subagent that calls the Skill tool with "research" to resolve it in parallel, capturing its findings on a throwaway `research/<name>` branch with a context pointer from the ticket. left out: Charting writes one file, so the map is created with its frontmatter and the tickets are added as items rather than created and then wired by id; step 5's research subagent captures its findings in the initiative's research/RSRCH-NNN.md, the one research home WORK.md defines, instead of a throwaway branch, and loads research natively. replaced by line 120 of SKILL.md
  39. 2 sentences taken
  40. User invokes with a map (URL or number). left out: claiming, resolving, and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing.
  41. 1 sentence taken
  42. Load the **map**: the low-res view, not every ticket body. left out: Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.
  43. 3 sentences taken
  44. **Claim it**: assign it to yourself before any work. left out: Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.
  45. 1 sentence taken
  46. **Zoom as needed**: fetch the full body of any related or closed ticket on demand; call the Skill tool for whichever skills the `## Notes` block names.
  47. If in doubt, call the Skill tool twice, for "grilling" and "domain-modeling". 2 sentences left out: Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively.
  48. Record the resolution: post the answer as a **resolution comment**, **close** the issue, and **append a context pointer** to the map's Decisions-so-far.
  49. Add newly-surfaced tickets (create-then-wire); graduate any fog the answer has made specifiable, clearing each graduated patch from **Not yet specified** so it lives only as its new ticket. 2 sentences left out: Claiming, resolving and concurrency all happen in map.md: a name beside the item, a checked box with its gist, one file two sessions may be editing; step 4 restores upstream's resolution comment as the answer's greenline home, an entry in the initiative's decisions.md or, for a research ticket, its research/RSRCH-NNN.md, and step 3 loads Notes-named skills natively. replaced by line 129 of SKILL.md
  50. 2 sentences taken
  51. The user may run unblocked tickets in parallel, so expect other sessions to be editing the tracker concurrently. left out: Running unblocked tickets in parallel is declined: one agent works the map at a time (R20). R3

The ledger entry

greenline's ledger logs how each skill was made and changed, with a reason for each entry.

2026-10-19 2026-10-19-wayfinder-front-and-references

wayfinder's paths and commands move to a references page

The front names greenline's homes and commands by their nouns and points at a references page, which holds their paths and commands (J-93 S2).

Authorised by
2026-10-18 The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours"; and J-93 S2's finalise words of 2026-10-19, "Fast route, merged slices, parallel jobs (Recommended)": a skill's front is the upstream prose its recipe cuts, and its mechanics, where its work lands, its section's form, its depths at each mode and its commands, stand on its references page
Pages it touched
SKILL.md, references/greenline.md
Rulings, R1 to R17
  1. The operator's rulings of 2026-10-04, "cool then lock everything in", and R12 of that day ("two wait is good"): work that will be split into tickets is one planning change, its mode high or max proposed and waited on, its plan directory holding the plan documents with a status of draft or complete, and the plan step writing the spec and the tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in; and R22 of 2026-10-08, "yes amend, with one change", grilling, research and prototype being frame and its reference files; the operator's card of 2026-10-19 naming the three modes, "quick, regular, careful (Recommended)": the old names and the trial step in a skill's prose are corrected by the smallest substitution; The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours": a skill's front is the upstream prose its recipe cuts, and greenline's mechanics, where the step's work lands, its section's form, its commands and its depths at each mode, stand on its references page (J-93 S2)
  2. The operator's rulings of 2026-10-04, "cool then lock everything in", and R12 of that day ("two wait is good"): work that will be split into tickets is one planning change, its mode high or max proposed and waited on, its plan directory holding the plan documents with a status of draft or complete, and the plan step writing the spec and the tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in; and R22 of 2026-10-08, "yes amend, with one change", grilling, research and prototype being frame and its reference files; The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours": a skill's front is the upstream prose its recipe cuts, and greenline's mechanics, where the step's work lands, its section's form, its commands and its depths at each mode, stand on its references page (J-93 S2)
  3. The operator's ruling R21 of 2026-10-08 on orchestration ("orchestration related skills ... have be re thought in to being usable on all harnesses") and the R3 ruling of that day, "yes go ahead", on the portable forms: wayfinder resolves its research tickets one after another, by its own reading or through one delegated agent at a time, and no session works the map beside another (R20: "greenline should not support parralel subs right now at all .. only linear sub flow")
  4. The operator's rulings of 2026-10-04, "cool then lock everything in", and R12 of that day ("two wait is good"): work that will be split into tickets is one planning change, its mode high or max proposed and waited on, its plan directory holding the plan documents with a status of draft or complete, and the plan step writing the spec and the tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in; and R22 of 2026-10-08, "yes amend, with one change", grilling, research and prototype being frame and its reference files
  5. The operator's ruling R21 of 2026-10-08 on orchestration ("orchestration related skills ... have be re thought in to being usable on all harnesses") and the R3 ruling of that day, "yes go ahead", on the portable forms: wayfinder resolves its research tickets one after another, by its own reading or through one delegated agent at a time, and no session works the map beside another (R20: "greenline should not support parralel subs right now at all .. only linear sub flow"); The operator's cards of 2026-10-14 on part 3 of the-whole-change, each "Rule as proposed": one agent at a time through the harness's delegation, in the change's one checkout and never a worktree; one brief for every fresh agent, the change's front matter, its acceptance, its id, the path of its report and the skill it works by, then the step's extras, and no fresh agent delegates; every fresh agent's report is <step>-<n>.md in the change's folder; the fix rounds are per step, and a fix after verify is not reviewed again outside a loop without the owner's word; verify's verdicts stand as the agent gave them; and where the harness has no delegation the block's fallback runs every depth above written; The operator's cards of 2026-10-14 on part 5 of the-whole-change, the walk's cures: "A branch of its own", a change's commits never going to another change's branch, the new change taking greenline/<id> from the default branch where a remote exists and the default branch itself where there is none; "At the proposal", the change's id chosen when the proposal is written, its branch, working folder and record taking the same id; "Yes, every stop commits", every stop committing the record with the change's trailer, so a stopped change is found from any branch and after a clone and resumes on the branch that commit sits on; "Not counted", an agent a step's method starts named in that step's section and counted nowhere; "The one brief, the method's extras", that agent getting the one brief with the extras the page that starts it names; and "Settle in S6" for the orientation's edges and the setup's, the default branch being origin/HEAD, else init.defaultBranch, else the branch HEAD names, and a remote that is no forge offering the local merge or the branch left, never a pull request
  6. Its retention under the minimum is the copy as it stands, moved under the operator's ruling of 2026-10-04 on Q1 (modes-records-recipes), in the operator's words "okay then lock in what you recommend", and inventoried, not remediated, under the docs/DECISIONS.md row of 2026-10-01 on existing divergence (with R1 and C2), whose remediation is separately authorized work
  7. The method items carry the operator's ruling R21 of 2026-10-08 on harness-bound and orchestration content ("harness specific skills have be re thought in to being usable on all harnesses") and the R3 ruling of that day, "yes go ahead", on the portable forms, the research tickets resolved one after another and no session beside another (R20: "greenline should not support parralel subs right now at all .. only linear sub flow")
  8. the operator's ruling R12 of 2026-10-04, "two wait is good"
  9. the operator's rulings of 2026-10-04, "cool then lock everything in": a start hands the job to a mode the owner approves, every change has one record with its working files and its folder, and a start that edits no file needs no mode and no record
  10. R16 of 2026-10-07, a start chosen from the situation a request begins in ("update the agents md created by greenline product to mention the kind with the skill table and also prose about when to use what kind skill")
  11. the operator's ruling R22 of 2026-10-08 on the re-cut brief, "yes amend, with one change": the roster table's names stand, router, diagnose and architecture-survey among them, with the trial names idea-refine, constraint-driven-development, correct and improve-instructions
  12. its retention under the minimum is the copy as it stood, moved under the operator's ruling of 2026-10-04 on Q1, "okay then lock in what you recommend", and inventoried under the docs/DECISIONS.md row of 2026-10-01 on existing divergence, and the portable edits of R21 are its re-cut's
  13. J-59, on the operator's words of 2026-10-09 ('okay then implement all of this'): a gist of at most twelve words on every account whose reason is stated; no text, measure or method changes
  14. The operator's cards of 2026-10-14 on part 3 of the-whole-change, each "Rule as proposed": one agent at a time through the harness's delegation, in the change's one checkout and never a worktree; one brief for every fresh agent, the change's front matter, its acceptance, its id, the path of its report and the skill it works by, then the step's extras, and no fresh agent delegates; every fresh agent's report is <step>-<n>.md in the change's folder; the fix rounds are per step, and a fix after verify is not reviewed again outside a loop without the owner's word; verify's verdicts stand as the agent gave them; and where the harness has no delegation the block's fallback runs every depth above written
  15. The operator's cards of 2026-10-14 on part 5 of the-whole-change, the walk's cures: "A branch of its own", a change's commits never going to another change's branch, the new change taking greenline/<id> from the default branch where a remote exists and the default branch itself where there is none; "At the proposal", the change's id chosen when the proposal is written, its branch, working folder and record taking the same id; "Yes, every stop commits", every stop committing the record with the change's trailer, so a stopped change is found from any branch and after a clone and resumes on the branch that commit sits on; "Not counted", an agent a step's method starts named in that step's section and counted nowhere; "The one brief, the method's extras", that agent getting the one brief with the extras the page that starts it names; and "Settle in S6" for the orientation's edges and the setup's, the default branch being origin/HEAD, else init.defaultBranch, else the branch HEAD names, and a remote that is no forge offering the local merge or the branch left, never a pull request
  16. The operator's card of 2026-10-19 naming the three modes, "quick, regular, careful (Recommended)": the old names and the trial step in a skill's prose are corrected by the smallest substitution
  17. The operator's words of 2026-10-18 on the redesign (N-56, items 2 and 7), "we need the upstream prose upfront and references hold how to work meaning the artefacts etc" and, on the ingest procedures, "we wanna have there prose .. what we don't wanna have is there artefact system and fit them to use ours"; and J-93 S2's finalise words of 2026-10-19, "Fast route, merged slices, parallel jobs (Recommended)": a skill's front is the upstream prose its recipe cuts, and its mechanics, where its work lands, its section's form, its depths at each mode and its commands, stand on its references page
7 earlier entries
  1. 2026-10-19 2026-10-19-wayfinder-three-modes

    Wayfinder proposes careful for its planning change

    Pages it touched: SKILL.md

  2. 2026-10-14 2026-10-14-wayfinder-reader-not-counted

    Wayfinder's research reader is named, and counted in no cost

    Pages it touched: SKILL.md

  3. 2026-10-14 2026-10-14-wayfinder-research-agent-brief

    Research tickets' agents are briefed and named as frame's reference says

    Pages it touched: SKILL.md

  4. 2026-10-09 2026-10-09-wayfinder-gists

    Every account gets a short gist for the website

  5. 2026-10-08 2026-10-08-wayfinder-recut

    Re-cut as a start: its map lives in one planning change

    Pages it touched: SKILL.md

  6. 2026-10-07 2026-10-07-wayfinder-refresh

    Upstream unchanged; the recipe re-anchors as it stands

  7. 2026-10-07 2026-10-07-wayfinder-recipe

    Moves to its recipe byte for byte, nothing changed