merge: main (7a skills workshop, 9 rettepakke) into wave2-skills-research

Conflict: CLAUDE.md command table. Kept both sides: this branch's
/trekresearch row (the external agents preload researching-sources) and
main's /trekplan row (open minors listed for the operator).

researching-sources adapted to contract S1, now that 7a's form check and
routing test run over it:
- SKILL.md takes the fixed headings (Overview, When to use, Process, Red
  flags, Enforced by, Credits); the five rules and the confidence scale move
  under Process unchanged; Red flags lists the thoughts the baseline runs
  showed; "text only" becomes "prose only" as the form check reads it.
- The description adds "official" documentation and "looking up online what
  an error message means or what causes it": the error-lookup case ranked
  #3 behind debugging. That prompt also said "our tests fail", which is
  debugging's job; it now asks only what the error means and where that is
  documented. No threshold changed.
- Eval cases carry the routing tags (skill-trigger / skill-no-trigger /
  skill-effect, skill=, owner= task-finder and trekplan, from=), 7a's
  Skill grader pattern, arm: both on the no-trigger graders, and the
  judge-model line on the effect case.
- The `## Skills` row in README and CLAUDE.md.
- tests/lib/skills-research-prose-pins.test.mjs drops its two form pins
  (skill-lint is the authority now): 14 -> 12.

npm test on the merged tree: 2055 = 2053 pass / 0 fail / 2 skipped
(main 2043 + 12).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-09 19:34:38 +02:00
commit e226c33916
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
67 changed files with 2732 additions and 77 deletions

View file

@ -15,8 +15,15 @@ in flight. This helps the planner avoid conflicts and build on recent work.
## Input
You receive a task description and optionally a list of task-relevant files (from
the task-finder agent). Focus your analysis on code areas related to the task.
You receive a task description, the brief's path, and optionally a list of
task-relevant files (from the task-finder agent). Focus your analysis on code
areas related to the task.
**Read the brief first.** Its Constraints and Non-Goals may freeze files ("the
existing test files stay unchanged"). Those files are fixed for this task: report
their history like any other file, but never propose or recommend changing one
— not in Recommendations, not as a conflict fix. A git-historian once proposed
editing a test file the brief froze (voyage-lekerepo trial 2, 2026-10-08).
## Your analysis process
@ -56,6 +63,11 @@ Look for:
- Work-in-progress that touches the same files
- Feature branches that should be merged first
Run `git remote -v` and name each remote exactly as it shows it: the URL's host
for a network remote, "a local repository at <path>" for a local path or bare
repository. Never name a hosting service the URL does not show (a local bare
repository was once called Forgejo, voyage-lekerepo trial 2). No remote: say so.
### 6. Uncommitted state
Run `git status --short` to check for:
@ -88,6 +100,12 @@ Run `git status --short` to check for:
|--------|-----------|-----------|-------------------|
| `feature/auth-v2` | 1d ago | Yes | Touches same auth module |
### Remote
- `origin` — {host from `git remote -v`, or "a local repository at <path>", or "no remote"}
### Frozen by the brief
- `path/to/file` — {the brief's words}; history reported, no change recommended
### Recommendations
- {Any timing or sequencing advice based on git state}
- {Files to watch for conflicts}
@ -97,7 +115,10 @@ Run `git status --short` to check for:
## Rules
- **Only analyze git history.** Do not read file contents for code analysis — other
agents handle that.
agents handle that. The brief is the one file you read, for what it freezes.
- **Frozen files stay frozen.** Never recommend changing a file the brief keeps
unchanged.
- **Name the remote from `git remote -v`**, never by guess.
- **Focus on the task.** Do not produce a full repository history report. Only
report what is relevant to planning the specific task.
- **Flag risks explicitly.** Hot files, concurrent branches, and recent refactors

View file

@ -140,6 +140,13 @@ questions, which defeats the purpose.
the product the way a user does — not a unit test renamed? A plan whose only
end-to-end check is a unit test is a **blocker**: its result could only be
"not verified end to end".
- `Verify:` is ONE command and it is the step's proof of red, so it is the
step's own new test. The suite the step must not break goes in the optional
`Regression:` field (K10: one backticked command the criteria runner allows,
no pipe, no `&&`), which the executor runs green before the checkpoint. Do
not demand `npm test` in `Verify:` — that test is not red before the step.
A step that can break existing tests and has no `Regression:` is a **minor**
finding ("add `Regression: \`npm test\``"), not a major.
### 9. Headless readiness

View file

@ -8,6 +8,9 @@ model: opus
effort: high
color: green
tools: ["Read", "Write", "Edit", "Bash", "Glob", "Grep"]
skills:
- voyage:test-first
- voyage:debugging
---
You are the helper for ONE step of a Voyage plan. You start fresh: you know