Repository navigation
Conversation
Contributor
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
elsand
force-pushed
the
feat/agent-builder
branch
from
October 30, 2026 08:44
73539d4 to
84474cf
Compare
Writing an agent definition that makes a full teammate of an agent takes knowing the repository: its toolchains and pins, its checks down to end-to-end and browser tests, and the services they need. It also takes knowing the platform: base-image features, variants, mediated secrets, nested agents and what an existing agent cannot change. altinn-studio's agents show the result, but nothing helps you get there. `agentctl setup` now offers a third way to start, beside a standard agent and a team's: Make a new agent. It asks only which repository the agent is for, by the folder of its checkout or by its GitHub address. Setup clones an address with the person's own git into a folder they choose, since the builder's work is theirs to review and push from there. Then it runs the agent builder on that checkout and attaches to a session in it that asks what the agent is for. The builder studies the repository, shows what it found, writes the definition into the checkout for a team or into ~/agent-definitions for one person, and tries it in a nested agent. It leaves the files for the person to review, so it needs no GitHub token. When the person leaves the session, setup offers to set up what the builder made, and removes the builder once that agent exists. The builder is setup's tool, not one of the person's agents. Setup runs it like its sign-in agent: under a reserved name that `get` and the TUI leave out, sized and signed in without questions, from a folder in the control-plane home rather than in ~/agents. It keeps running until its agent is set up, so leaving mid-way and making a new agent again goes back to the same conversation. agentctl embeds its definition from agents/agent-builder beside the catalog, through extraction code they now share, and CI publishes its image through the same reusable workflow. The conventions live once, in an `agent-definition` skill that every agent gets beside `agentctl`, since every agent should be able to improve its own definition. The builder's nested variant builds its image from a digdir-agents checkout, for trying changes to it. Setup also offers to create a missing folder a manifest mounts in the person's home folder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
elsand
force-pushed
the
feat/agent-builder
branch
from
October 30, 2026 09:07
84474cf to
8e3de19
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Writing an agent definition that makes an agent a full teammate takes knowing the repository: its toolchains and pins, its checks down to end-to-end and browser tests, and the services they need. It also takes knowing the platform: base-image features, variants, mediated secrets, nested agents and what an existing agent cannot change. Altinn Studio's agents show the result, but nothing helps you get there.
agentctl setupnow offers a third way to start: "Make a new agent with the agent builder". Setup asks only which repository the agent is for, as the folder of a checkout or a GitHub address. It clones an address with your own git into a folder you choose, since the builder's work is yours to review and push from there.~/agent-definitions. It then tries the definition in a nested agent and says what it could not try. It writes files and pushes nothing, so it needs no GitHub token.getand the TUI leave out, sized and signed in without questions. When you leave the session, setup offers to set up what the builder made, and removes the builder once that agent exists. Until then it keeps running, so making a new agent again goes back to the same conversation.agent-definitionskill that every agent gets besideagentctl. The builder writes definitions with it, and any agent can use it to improve its own. A personal agent's improvements come in through the Update action from feat(agentctl): update an agent in ~/agents from its source #367.agents/agent-builderbeside the standard catalog, through extraction code they now share. CI publishes its image through the same reusable workflow as the standard images.Stacked on #367 and #359. Review the last commit only, and this retargets to
mainonce they merge.Try it
Comment
/agentctl-experimentalfor an installable build. The builder's image is published once this merges, so for now setup offers to build it here, which needs Docker. On a home of its own:agentctl --home ~/.agent-try setup --source builderClean up with
agentctl --home ~/.agent-try delete agent/<name>andrm -rf ~/agents/<name>, plus the definition the builder wrote.🤖 Generated with Claude Code