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

groundwork

about 1,600 tokens

groundwork as it installs, every line written by greenline, with no upstream source.

  • Written by greenline100%
  • 2 files
  • 0 edits
  • 0 sentences left out
  • 0 sources
  • last changed 2026-10-21

The text

SKILL.md

about 1,200 tokens
  • greenline

---

name: "groundwork"

description: "Establish the missing engineering baseline for a repository's purpose and prove first green. Use for a request to set a repo up properly or bring it to a working baseline; preserve established components and avoid unnecessary infrastructure."

source: "greenline native setup workflow; the work guide and the ledger guide own its integration."

---

greenlineOpens groundwork: read the repository first, then run setup as a change

# Groundwork

Groundwork is the start for a setup request: set this repository up properly, or bring it to a working baseline. Read the existing repository and settled decisions first, and establish the purpose and the choices before any edit. Then hand the work to a mode: propose it and wait, as AGENTS.md says, open the change record with a `## start` section naming groundwork and the combination it recommends, and run the line from `frame`. Compare choices only where this component lacks an established answer. The setup request authorizes ordinary reversible work in its scope; clarify only consequential choices the request and evidence leave open.

On an empty tree groundwork is also the orientation AGENTS.md names: its own change, proposed before the feature a first request asks for, or that request's own change when it asks to set the repository up.

greenlinePoints at the skill's references page for paths and commands

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.

greenlineRuns greenline init as the change's first edit when the request asks

## Establish configuration

If initialization is part of the request, it is the change's first edit, at its build step: install the practice for the harnesses the owner works in, as groundwork's references page says. An existing initialized repository is not reset because a request fails.

greenlineFinds the first real use and constraints before recommending a combination

## Establish purpose and constraints

Identify the first real use, deployment constraints, component roots, existing tools, collaborators, and relevant environment boundaries. An established tree may need a repaired check rather than a new stack. A disposable script may need only its lightweight execution form. Recommend a coherent combination where choices are open, with its meaningful trade-offs and compatibility evidence. Ask about an unresolved license or consequential platform choice before choosing it; leave an unanswered choice open. Do not infer publication or paid services from a request for local setup. On an empty repository the toolchain is this method's to choose from the brief and the runtime: decide it, record it as the toolchain decision in the book with its rationale row, and name it in the reply in one line.

greenlineThe build step adds only the baseline parts the purpose needs

## Build the missing baseline

The change's build step builds the baseline. Its plan step splits the work into tickets only where distinct outcomes or dependencies need them; The work guide says where those files live, and no fixed ticket count or extra grant artifact is required.

Assess which of these outcomes the purpose actually needs:

- A coherent language and tool combination, with current compatible versions and its scoped rationale recorded once in the decisions book. Write its explicit root statement using the exact `greenline-roots` format the work guide gives under Repository memory. The rationale field is `decision`. Unknown purpose stays null; unknown choices stay empty. Keep siblings separate.

- A reproducible check that exercises the actual code and relevant failure paths. Use the repository's dependency resolution and execution conventions.

- Appropriate ignores, editor settings, and environment boundaries where those are needed. Secret values belong outside repository evidence.

- A clear starting README and the owner's licensing choice.

- Domain vocabulary or architectural decisions when there is something durable to name or explain; empty documents do not improve the baseline.

Preserve established choices outside the requested change. Resolve volatile compatibility from primary sources when it matters. Choose only roles the component needs; an option is not an obligation to install a dependency or invent a service.

greenlineRuns the pinned tools through greenline check, fixing failures at their cause

## Prove first green

Run the actual pinned tools and frozen dependency resolution as the check will use them, each recorded as a check, so the change's record keeps the facts of every run. Preserve failed runs and fix their causes. Commit a coherent result, each commit carrying the change's trailer, for the review step at the depth its mode gives, then verify the change's acceptance against that result at the verify step's depth. Shared measurements are cited, not represented as separate runs.

Reconcile relevant changes to repository choices in the same work. Report what is usable, the important choices and evidence, and any open owner decision. A remote-less repository can finish with a local check. Forge protection, secrets, hosting, and publication require their own authority when needed; prepare a concrete next action without turning them into setup busywork.

greenlineHands over the recommended combination and open choices; next is frame

## Handoff

Consumes: the repository as found and its settled decisions Produces: the recommended combination and the owner's open choices, in the reply and the change record's start section; through the change, the toolchain, check, ignore and README baseline, a rationale row and an explicit greenline-roots root statement in .greenline/DECISIONS.md Next: frame, under the mode the owner approves

SKILL.md as installed, byte for byte SHA-256 da2f2a4f1a49cff53c538f9333587e5ab52aeffcaf1f2750b2fedcdf7ce23b99

references/greenline.md

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

# Groundwork: the practice's mechanics

This page holds where groundwork'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 install command, the work guide and the decisions book

## Where its work lands

The practice is installed with `greenline init --targets <harness>...`; `greenline init --help` lists the targets. The work guide is `.greenline/WORK.md`, which says where the files of the work live and gives the `greenline-roots` root statement under Repository memory; the decisions book is `.greenline/DECISIONS.md`. Each pinned tool's first run goes through `greenline check -- <command>`.

greenlineThe setup change commits every file init wrote, named

## The setup change's commit

The setup change commits the installed practice with its own work, so a teammate's clone holds the practice its records are made under: every file `greenline init` wrote, the paths `.greenline/lock.json` lists, with the lock and `.greenline/manifest.json`. That is AGENTS.md and CLAUDE.md, the harness folders init wrote (`.agents/`, `.claude/`, `.codex/` and any other), `agents/openai.yaml`, and under `.greenline/` `WORK.md`, `ledger/README.md`, `hooks/`, `tmp/.gitignore` and `THIRD_PARTY_NOTICES.md`, beside the decisions book and the change's record. Stage them by name as any commit of the change; after the commit, `git status` shows none of them untracked. Open the setup change's record before that commit, never after it: the commit that records the practice carries the record, `.greenline/ledger/<id>.md`, and the change's trailer, and while no change is open the hooks refuse it.

What greenline wrote

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

  1. SKILL.md:7 method

    The title and opening: carry a setup request through a usable, verified baseline after reading the repository and its settled decisions; re-cut at S17: the start establishes the purpose and the choices, then the setup runs as a change on the line, its checks through greenline check, with no ticket lifecycle, execution account or harness named; on an empty tree it is the orientation, its own change before a feature request or the request's own when it asks for setup. R1

  2. SKILL.md:23 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:25 method

    Establish configuration: the harness trees greenline init establishes when initialization is part of the request; re-cut at S17: the start establishes the purpose and the choices, then the setup runs as a change on the line, its checks through greenline check, with no ticket lifecycle, execution account or harness named. 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:31 method

    Establish purpose and constraints: the first real use, deployment constraints, component roots and boundaries the baseline serves. R3

  5. SKILL.md:45 method

    Build the missing baseline: the work's size, one compact ticket or an initiative, and the baseline components it adds; re-cut at S17: the start establishes the purpose and the choices, then the setup runs as a change on the line, its checks through greenline check, with no ticket lifecycle, execution account or harness named. 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

  6. SKILL.md:71 method

    Prove first green: run the pinned tools as the check will, fix failures at their cause, and commit a coherent verified baseline; re-cut at S17: the start establishes the purpose and the choices, then the setup runs as a change on the line, its checks through greenline check, with no ticket lifecycle, execution account or harness named. 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

  7. SKILL.md:87 method

    The handoff: what the skill consumes, what it produces and what follows it; re-cut at S17: the start establishes the purpose and the choices, then the setup runs as a change on the line, its checks through greenline check, with no ticket lifecycle, execution account or harness named. R4

  8. 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.

  9. references/greenline.md:5 relocate

    groundwork's mechanics: the install command and its targets, the work guide and the decisions book its rationale and root statement land in, and the recorder, held apart since J-93 S2.

  10. references/greenline.md:9 method

    The setup change commits the files init wrote; the comparison J-60 S3b saw the records committed and the practice left untracked through seven changes, so a clone held the records without AGENTS.md, the skills, the ledger guide, the lock or the hooks. J-102 S2: the setup record opens before the setup commit, so that commit carries the record and its trailer. R5

The ledger entry

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

2026-10-21 2026-10-21-groundwork-record-before-setup-commit

The setup record opens before the setup commit

The setup change's record opens before the setup commit, so the commit that records the practice carries the record and its trailer, as the hooks require while no change is open (J-102 S2).

Authorised by
2026-10-21 The operator's cards of 2026-10-21, "Fix first, then ship (Recommended)" and the scope card naming 1 to 7 (docs/DECISIONS.md, the rows of 2026-10-21): 0.1.0 ships with its hooks whole, and frame, groundwork and build say what the owner's yes is, that the setup record precedes the setup commit, that a trailer-shaped line of another key after a refusal is no answer to it, and that scratch goes under the change's own id
Pages it touched
references/greenline.md
Rulings, R1 to R15
  1. docs/DECISIONS.md, the row of 2026-08-30: "Groundwork owns repository setup as one compressed decision round followed by an authorized setup arc to first green"; and practice-without-guidance-2026-09-26, the old chain's native entry written for the split of 2026-09-26, under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling: the guidance and its publication are garden's, reached only through the optional garden connector; The operator's rulings of 2026-10-04, "cool then lock everything in": every change has one record and runs the steps its mode gives, the checks run through greenline check, the execution account goes, and a plan directory exists only where the plan step splits the work into tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in and handing the job to a mode; R21 of 2026-10-08, no harness named ("greenline is supposed to work in any harness cli"); and the contradiction 29 of R3, ruled that day ("yes go ahead"), groundwork's side: an option is not an obligation to install; 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
  2. docs/DECISIONS.md, the row of 2026-08-30: "Groundwork owns repository setup as one compressed decision round followed by an authorized setup arc to first green"; and practice-without-guidance-2026-09-26, the old chain's native entry written for the split of 2026-09-26, under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling: the guidance and its publication are garden's, reached only through the optional garden connector; The operator's rulings of 2026-10-04, "cool then lock everything in": every change has one record and runs the steps its mode gives, the checks run through greenline check, the execution account goes, and a plan directory exists only where the plan step splits the work into tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in and handing the job to a mode; R21 of 2026-10-08, no harness named ("greenline is supposed to work in any harness cli"); and the contradiction 29 of R3, ruled that day ("yes go ahead"), groundwork's side: an option is not an obligation to install; 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. docs/DECISIONS.md, the row of 2026-08-30: "Groundwork owns repository setup as one compressed decision round followed by an authorized setup arc to first green"; and practice-without-guidance-2026-09-26, the old chain's native entry written for the split of 2026-09-26, under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling: the guidance and its publication are garden's, reached only through the optional garden connector
  4. docs/DECISIONS.md, the row of 2026-08-30: "Groundwork owns repository setup as one compressed decision round followed by an authorized setup arc to first green"; and practice-without-guidance-2026-09-26, the old chain's native entry written for the split of 2026-09-26, under docs/DECISIONS.md's row of 2026-09-26, the operator's word of the decoupling: the guidance and its publication are garden's, reached only through the optional garden connector; The operator's rulings of 2026-10-04, "cool then lock everything in": every change has one record and runs the steps its mode gives, the checks run through greenline check, the execution account goes, and a plan directory exists only where the plan step splits the work into tickets; R16 of 2026-10-07, a start chosen from the situation a request begins in and handing the job to a mode; R21 of 2026-10-08, no harness named ("greenline is supposed to work in any harness cli"); and the contradiction 29 of R3, ruled that day ("yes go ahead"), groundwork's side: an option is not an obligation to install
  5. The operator's card of 2026-10-20 that opened J-98, "All of it: a two-slice fast job before 0.1.0 (Recommended)" (docs/DECISIONS.md, the rows of 2026-10-20): the cold review REV-lean-design and the comparison J-60 S3b found the installed practice never committed, so a clone held the records without it; the setup change commits it; The operator's cards of 2026-10-21, "Fix first, then ship (Recommended)" and the scope card naming 1 to 7 (docs/DECISIONS.md, the rows of 2026-10-21): 0.1.0 ships with its hooks whole, and frame, groundwork and build say what the owner's yes is, that the setup record precedes the setup commit, that a trailer-shaped line of another key after a refusal is no answer to it, and that scratch goes under the change's own id
  6. The method items carry docs/DECISIONS.md's row of 2026-08-30, "Groundwork owns repository setup as one compressed decision round followed by an authorized setup arc to first green", and the old chain's native entry practice-without-guidance-2026-09-26, written for the split of 2026-09-26 under the operator's word of the decoupling (the row of 2026-09-26)
  7. 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
  8. 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")
  9. 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, no harness named
  10. the contradiction 29 of R3, ruled that day ("yes go ahead"), groundwork's side
  11. 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
  12. 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
  13. 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
  14. The operator's card of 2026-10-20 that opened J-98, "All of it: a two-slice fast job before 0.1.0 (Recommended)" (docs/DECISIONS.md, the rows of 2026-10-20): every finding of the cold review REV-lean-design and the comparison J-60 S3b is fixed before 0.1.0
  15. The operator's cards of 2026-10-21, "Fix first, then ship (Recommended)" and the scope card naming 1 to 7 (docs/DECISIONS.md, the rows of 2026-10-21): 0.1.0 ships with its hooks whole, and frame, groundwork and build say what the owner's yes is, that the setup record precedes the setup commit, that a trailer-shaped line of another key after a refusal is no answer to it, and that scratch goes under the change's own id
7 earlier entries
  1. 2026-10-20 2026-10-20-groundwork-commits-the-practice

    The setup change commits every file init wrote

    Pages it touched: references/greenline.md

  2. 2026-10-19 2026-10-19-groundwork-split-review-fixes

    The install's targets flag moves to the references page

  3. 2026-10-19 2026-10-19-groundwork-front-and-references

    groundwork's paths and commands move to a references page

  4. 2026-10-14 2026-10-14-groundwork-the-orientation

    On an empty tree groundwork is the orientation, its own change

    Pages it touched: SKILL.md

  5. 2026-10-09 2026-10-09-groundwork-gists

    Every account gets a short gist for the website

  6. 2026-10-08 2026-10-08-groundwork-recut

    Re-cut as a start whose setup runs as a change

    Pages it touched: SKILL.md

  7. 2026-10-07 2026-10-07-groundwork-recipe

    A native skill moves to its recipe, its body unchanged