Skip to content

Logs, question and github come with every run - #2048

Merged
suleimansh merged 2 commits into
mainfrom
basic-skills
Oct 10, 2026
Merged

suleimansh merged 2 commits into
mainfrom
basic-skills

Conversation

@suleimansh

Copy link
Copy Markdown
Member

The second step of @openagt/init (#2023): an agent in any project can ask a question, with nothing committed.

👤

  • Four basic skills come with every run, with no commit: branches, logs, question, and github on a GitHub project.

🤖 automated · Opus 5.5, effort high

The problem

  • A person adds a project and starts an agent. The agent's checkout starts from the default branch, so it has only the skills committed there. In a new project that is none.
  • One skill escaped this: branches, which the tool links into every checkout. So the agent could work, but it could not ask the person a question in the way the dashboard shows as one.

What changed

  • The runner now links three more skills into every agent checkout, hidden from git like branches: logs and question always, github when the project's origin is on GitHub.
  • Each comes with its command, linked the way the branches command is. So npx @openagt/skill-logs@0.1 in the checkout runs the dashboard's own copy: nothing downloaded, nothing to publish first.
  • A project that has its own copy of one of them keeps it.
  • A checkout that stayed from an earlier run gets the same links when its agent is continued.
  • Removing a project with its files takes the new hidden-from-git rules back.
  • The "Add project" screen says it: "gives each agent four basic skills in its own copy, hidden from git: branches, logs, question, and github when the project is on GitHub".

Picks of mine

  • Which host a project is on is asked of the github package itself (its home command), the way the dashboard already asks. The runner spells no host.
  • The runner now names three skill packages, in one list. It named none before.
  • A hidden-from-git rule is written only when a link is made. It used to be written also over a project's own tracked copy, where it would hide a file a person adds there.
  • A link left pointing at an install that has since moved is made again. Only a link to an absolute path that is gone counts; a project's own links are relative and are left.

Known

  • The rules hide these names for the whole repository. A person who later creates their own untracked .claude/skills/github in such a project does not see it in git status until a project removal lifts the rules. The same was already true for branches.
  • In a project with tools of its own, the links to the logs and github commands land in the project's own node_modules/.bin, as the one to branches does today, and nothing removes them. If the project later installs another tool of that name there, a checkout that stayed can run that tool.
  • When a project lists the runner before the branches package in its own package.json, a removal runs their clean-ups in that order and the new rules stay until a second removal. The next pull request stops reading a project's package.json, which ends this.
  • A skill with no network still needs the host: logs reads origin's records where the project shares them.

Checked

  • Full root CI alone. The runner's and the branches tests once more without my git settings.
  • A rig, three projects: with no remote the checkout holds branches, logs and question; with a GitHub remote also github; with a GitLab remote not. The three commands run with the network dead, and git status is empty in the checkout and the project.
  • One real agent on a fresh rig project (an empty folder with one commit): it had branches, logs and question, ran npx @openagt/skill-logs@0.1, and asked its question, so the run ended waiting.
  • Broken on purpose six ways (github linked everywhere, no skills for a new run, no relink of a kept checkout, no rule lifted, a stale link kept, the rule written over a tracked copy): the tests caught each.
  • One fresh reviewer: a test that counted three list lines, a test that reached github.com, the rule over a tracked copy, stale links, and three sentences. All acted on, except the two "Known" points above that come with one exclude file per repository and one .bin per project.

DECISIONS.md

packages/agent-runner/DECISIONS.md, where it said "The runner names no skill and reads no schedule":

The runner reads no schedule: a run is the prompt it is given. It names skills in one place, the basic skills every run gets: logs and question, and github where the project is on GitHub. Their texts are linked into each agent's checkout, hidden from git like the branches skill, each with its command when it has one, so an agent in any project can read earlier runs, ask the person a question and open a pull request with nothing committed. A project's own copy of one is left alone. Picked over every skill coming from the project's own committed files, where a person who cannot change the default branch got agents that could not ask a question.

The same file's list of what the runner depends on gains "the question and github packages for the skills every run gets".

packages/skill-branches/DECISIONS.md, the end of the bullet about skill links, where it said "temporary, until the project commits its own skill files":

A caller may name further skills to link in beside it, each under its own name and with its package and command when it has one, not from the command line: the skills that come with every run, whatever the project committed.

packages/skill-orchestration/DECISIONS.md no longer gives "the runner names no skill" as a reason.

suleimansh and others added 2 commits October 10, 2026 05:08
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e again, tests off the network

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@suleimansh
suleimansh enabled auto-merge (squash) October 10, 2026 02:25
@suleimansh
suleimansh merged commit 2fa70ce into main Oct 10, 2026
6 checks passed
@suleimansh
suleimansh deleted the basic-skills branch October 10, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant