Agent skill

Publish

by AgentToolkit in AgentToolkit/altk-evolve

Publish a private guideline to a configured write-scope repo.

Apache-2.0Auto-check passedAgent Workflows

Install Publish

skills CLI
$ npx skills add AgentToolkit/altk-evolve --skill publish -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgentToolkit/altk-evolve publish --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgentToolkit/altk-evolve.git skills-src && mkdir -p .claude/skills && cp -r skills-src/platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/publish .claude/skills/publish && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
publish
GitHub stars
122
Token cost
~1.3k tokens
SKILL.md length
625 words
Files
2 (incl. scripts)
Skills in repo
21
Repo updated
First seen
Licence
Apache-2.0

At a glance

Publish a private guideline to a configured write-scope repo.

  • Works in 7 steps: Require a write-scope repo → First-time setup → Pick the target write-scope repo → …
  • Agent Workflows work in your project
  • SKILL.md covers Overview, Workflow and Notes
  • Runs Python scripts from its folder; calls git and python3

What it does

Publish is an agent skill from AgentToolkit/altk-evolve. Publish a private guideline to a configured write-scope repo.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/publish.py`).

It sits in Agent Workflows. It works with Git. The repository describes itself as: Self improving agents through iterations. The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/publish”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Require a write-scope repo
  2. First-time setup
  3. Pick the target write-scope repo
  4. List and select entities
  5. Run publish script
  6. Commit and push
  7. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 9e5bb56. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Publish loads about 1.3k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 625 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~17
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from AgentToolkit/altk-evolve at commit 9e5bb56, republished under its Apache-2.0 licence (© AgentToolkit). 625 words, ~1,334 tokens.

Download SKILL.mdSave it as .claude/skills/publish/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
publish
description
Publish a private guideline to a configured write-scope repo.

Publish a Guideline

Overview

Publish one or more private guidelines from .evolve/entities/guideline/ into a configured write-scope repo. The entity is stamped with visibility: public, owner, published_at, and source, moved into the local clone of the write repo, and committed / pushed to the remote.

The same local clone is also what evolve-lite:sync pulls from — so you and anyone else publishing to the same repo stay in sync.

Workflow

Step 1: Require a write-scope repo

Read evolve.config.yaml. If no entry has scope: write, tell the user:

"You need at least one write-scope repo to publish to. Run evolve-lite:subscribe with --scope write to set one up, then come back."

Then stop.

If identity.user is missing, ask for it and add it to the config.

Step 2: First-time setup

Ensure .evolve/ is gitignored at the project root:

bash
grep -qxF '.evolve/' .gitignore 2>/dev/null || echo '.evolve/' >> .gitignore
Step 3: Pick the target write-scope repo

Filter repos: to entries with scope: write (Step 1 already aborted if there were zero, so at least one exists here).

  • Exactly one entry → use it as default.
  • Multiple entries → show a numbered list with notes and ask which to publish to.

Let {repo} be the chosen repo name and {branch} its configured branch (default main).

Step 4: List and select entities

List files in .evolve/entities/guideline/ and ask the user which to publish.

Step 5: Run publish script

For each selected file, run:

bash
python3 "$(git rev-parse --show-toplevel 2>/dev/null || pwd)/plugins/evolve-lite/skills/evolve-lite/publish/scripts/publish.py" --entity "{filename}" --repo "{repo}" --user "{identity.user}"
Step 6: Commit and push

Build {names} as a comma-joined list of selected filenames, and {guideline_paths} as a space-joined list of the corresponding guideline/{filename} paths inside the clone (the files the publish script just wrote).

bash
git -C ".evolve/entities/subscribed/{repo}" add -- {guideline_paths}
git -C ".evolve/entities/subscribed/{repo}" commit -m "[evolve] publish: {names}"
git -C ".evolve/entities/subscribed/{repo}" push origin "{branch}"

On push success, continue to Step 7.

Step 6a: Recover from non-fast-forward rejection

If the push fails and stderr mentions rejected / non-fast-forward / fetch first, another writer pushed to {branch} in between. Rebase the local commit and push once more:

bash
git -C ".evolve/entities/subscribed/{repo}" fetch origin "{branch}"
git -C ".evolve/entities/subscribed/{repo}" rebase "origin/{branch}"
  • Rebase clean → retry git push origin "{branch}" once, then Step 7.

  • Rebase conflicted → attempt to resolve, then hand off for user review. Do not git rebase --continue or git push without an explicit user confirmation.

    1. git -C ".evolve/entities/subscribed/{repo}" status --porcelain lists the conflicted paths. If any are UD, DU, or binary, skip to the abort step — those aren't safe to auto-resolve.

    2. For each UU/AA file, read the conflict markers. During a rebase, <<<<<<< HEAD is the remote's version and the section under the commit sha is the publish change being replayed (opposite of a regular merge). Write an intent-preserving resolution; don't git add yet.

    3. Show the user the diff (git -C ".evolve/entities/subscribed/{repo}" diff HEAD -- {file}) per resolved file with a one-line strategy summary, and ask whether to continue (stage + rebase --continue + push) or abort (roll back for manual resolution).

    4. On continue:

      bash
      git -C ".evolve/entities/subscribed/{repo}" add {resolved-files}
      git -C ".evolve/entities/subscribed/{repo}" rebase --continue
      git -C ".evolve/entities/subscribed/{repo}" push origin "{branch}"

      Then Step 7. If rebase --continue surfaces a new conflict, loop from step 1.

    5. On abort — user declined, conflict isn't safely resolvable, or the proposed merge feels unsafe:

      bash
      git -C ".evolve/entities/subscribed/{repo}" rebase --abort

      The local publish commit is preserved at .evolve/entities/subscribed/{repo} but not on the remote. Tell the user to either (a) resolve manually in that directory (git fetch origin {branch} && git rebase origin/{branch}, fix conflicts, git add + git rebase --continue, git push origin {branch}) or (b) re-run evolve-lite:publish with a different filename if the conflict is a shared name.

Show full SKILL.md (75 more words)Show less

If the push fails for any other reason (auth, network, missing remote ref), surface git's error and stop — rebase will not help.

Step 7: Confirm

Tell the user what was published and to which repo.

Notes

  • Published entities are moved from .evolve/entities/guideline/ into the write-scope clone at .evolve/entities/subscribed/{repo}/guideline/, with visibility: public, owner: {user}, published_at, and source stamped in frontmatter
  • The original private entity is deleted after successful publication
  • All publish actions are logged to .evolve/audit.log

© AgentToolkit, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/publish of AgentToolkit/altk-evolve.

  • SKILL.md
  • scripts/publish.py

Open the folder on GitHubat commit 9e5bb56

Compare with similar skills

Publish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Publish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Publish this skillAgentToolkit/altk-evolve122—~1.3kAutomated safety check: PassApache-2.0
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
CodeGraph Agent Evalcolbymchenry/codegraph73k—~950Automated safety check: PassMIT
Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills21k—~1.9kAutomated safety check: PassMIT
O2 Review Loopopenobserve/openobserve22k—~3.7kAutomated safety check: PassAGPL-3.0
Beads Task Memorygastownhall/beads28k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • CodeGraph Agent Eval

    colbymchenry/codegraph

    Benchmarks how much CodeGraph helps a coding agent on a real repository, comparing runs with and without it for a chosen local or published version.

    73k GitHub stars~950 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Neat-Freak Knowledge Closeout

    KKKKhazix/khazix-skills

    Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.

    21k GitHub stars~1.9k tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • O2 Review Loop

    openobserve/openobserve

    Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.

    22k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Beads Task Memory

    gastownhall/beads

    Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.

    28k GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.

    24k GitHub stars~3.1k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from AgentToolkit/altk-evolve

All 21 skills in this repo
  • Agent Wiki Compare Outcomes

    AgentToolkit/altk-evolve

    Contrasts successful and failed agent runs of the same task and derives guidelines backed by evidence from transcripts, tool calls and outcome judgments.

    122 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Trajectory Skill Synthesizer

    AgentToolkit/altk-evolve

    Turns a saved agent trajectory into a reusable skill with a SKILL.md and supporting scripts, so later sessions can call the workflow instead of rediscovering it.

    122 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Evolve Memory Mirror

    AgentToolkit/altk-evolve

    Copies a memory the agent just saved into the shared evolve store with a retrieval trigger, so it can be shared across a team and audited like other entities.

    122 GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Agent Wiki Consult

    AgentToolkit/altk-evolve

    Has the agent read a project wiki's AGENTS.md and pull the guidelines that fit the task it is about to start, instead of loading the wiki at session start.

    122 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Wiki Guideline Extractor

    AgentToolkit/altk-evolve

    Reads a normalized Claude Code trajectory JSON and turns its errors and solutions into reusable guideline pages in wiki-twobatch/guidelines.

    122 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Agent Wiki Ingest

    AgentToolkit/altk-evolve

    Ingest one or more agent trajectories (raw bob/claude traces or normalized JSON) into an agent-wiki end-to-end — convert, summarize, extract guidelines, synthesize skills, optionally compare…

    122 GitHub stars~4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Publish

What does Publish do?

Publish a private guideline to a configured write-scope repo. Publish is an agent skill from AgentToolkit/altk-evolve. Publish a private guideline to a configured write-scope repo.

When should I use Publish?

Publish fits situations like: agent Workflows work in your project.

How do I install Publish in Claude Code?

Run `npx skills add AgentToolkit/altk-evolve --skill publish -a claude-code`. Or copy the skill folder (platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/publish in AgentToolkit/altk-evolve) into .claude/skills/publish in your project. Claude Code loads it when a task matches its description.

How do I install Publish in Codex?

Run `npx skills add AgentToolkit/altk-evolve --skill publish -a codex`. Or copy the skill folder (platform-integrations/codex/plugins/evolve-lite/skills/evolve-lite/publish in AgentToolkit/altk-evolve) into .agents/skills/publish in your project. Codex loads it when a task matches its description.

Can I use Publish in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgentToolkit/altk-evolve --skill publish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish, .gemini/skills/publish, .github/skills/publish and .opencode/skills/publish in your project.

What does Publish need to run?

Going by SKILL.md and its folder, Publish needs Python for the scripts in its folder and the command-line tools its instructions call (git and python3). Our summary lists: Python 3.

Does Publish access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Publish safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Publish use?

Publish is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Publish use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Publish?

Skills that share tags, products or a category with Publish: Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars), CodeGraph Agent Eval (colbymchenry/codegraph, 73k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and O2 Review Loop (openobserve/openobserve, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Publish?

AgentToolkit (a GitHub organization) maintains it in AgentToolkit/altk-evolve, which has 122 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.

Source: AgentToolkit/altk-evolve on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.