GitHub Actions Creator
FNOSP/FlyNarwhal
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
Analyze the current session for harness-worthy lessons — repeated corrections, discovered conventions, skill bugs — and turn them into concrete repo changes: docs, skills, task targets, linter…
$ npx skills add werf/werf --skill session-retro -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install werf/werf session-retro --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/session-retro .claude/skills/session-retro && rm -rf skills-srcUse ~/.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/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .claude/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/werf/werf/tree/main/.agents/skills/session-retroType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add werf/werf --skill session-retro -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install werf/werf session-retro --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/session-retro .agents/skills/session-retro && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .agents/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add werf/werf --skill session-retro -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install werf/werf session-retro --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/session-retro .cursor/skills/session-retro && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .cursor/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/werf/werf.git --path .agents/skills/session-retro--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add werf/werf --skill session-retro -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install werf/werf session-retro --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/session-retro .gemini/skills/session-retro && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .gemini/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install werf/werf session-retroInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add werf/werf --skill session-retro -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/session-retro .github/skills/session-retro && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .github/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add werf/werf --skill session-retro -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install werf/werf session-retro --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/werf/werf.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/session-retro .opencode/skills/session-retro && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "session-retro" agent skill from https://github.com/werf/werf/tree/main/.agents/skills/session-retro into .opencode/skills/session-retro/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-retro", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
session-retroAnalyze the current session for harness-worthy lessons — repeated corrections, discovered conventions, skill bugs — and turn them into concrete repo changes: docs, skills, task targets, linter…
Session Retro is an agent skill from werf/werf. Analyze the current session for harness-worthy lessons — repeated corrections, discovered conventions, skill bugs — and turn them into concrete repo changes: docs, skills, task targets, linter rules, CI checks. Use at the end of a session, when asked to reflect/retro, or when invoked as /session-retro.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Linting and formatting and CI/CD. It works with Docker. The repository describes itself as: A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fa73c7a. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Session Retro loads about 1.6k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 914 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from werf/werf at commit fa73c7a, republished under its Apache-2.0 licence (© werf). 914 words, ~1,568 tokens.
.claude/skills/session-retro/SKILL.md (or your agent's skills folder).A session carries signal about how the harness should behave next time: corrections, discovered conventions, skills that turned out wrong, workflow friction. It evaporates when the conversation ends unless something writes it down. This skill is that step.
The output is a harness change — a change to whatever tells the next session how to work. Often
that is prose (AGENTS.md, CODESTYLE.md, CONTRIBUTING.md, a skill under .agents/skills), but
it is just as legitimately a Taskfile.dist.yaml target, a .golangci.yml rule, a CI check, an
issue/PR template, or a docs/ page. Pick the landing spot from the finding, not from a list.
task target could do.task build/task test log pasted in full, a subagent spawned for a one-line lookup, or a wide search done inline instead of delegated. A generic bash call where a purpose-built tool exists is the expensive one. Each maps to a rule.Those three are denominated in tokens, so measure them instead of recalling them: per-message usage lives in the session transcript (~/.pi/agent/sessions/<cwd-slug>/*.jsonl, or ~/.claude/projects/<cwd-slug>/*.jsonl). Aggregate inside the analysis script and print only the top consumers — dumping per-message rows into the conversation costs more than the finding is worth. Match skills by file path (skills/<name>/SKILL.md), never the bare name, and keep frontmatter-only, body-read, and edited apart. With no transcript available, drop these cuts rather than estimating from memory.
Ignore one-off task specifics, anything an existing doc, skill, or check already covers, and raw totals with no attributable cause — a per-tool call-count table is not a finding.
Ask two questions: who needs to know this, and can a machine enforce it instead of a human remembering it?
| Finding is about… | Goes into |
|---|---|
| A rule a tool can check | A task target, a .golangci.yml rule, or a CI check — ALWAYS prefer this over a sentence asking someone to remember |
| How to work in this repo — commands, verification, scope discipline | AGENTS.md |
| Go design or naming convention | CODESTYLE.md |
| Commit/branch/PR types and scopes | CONTRIBUTING.md |
| A whole reusable procedure | A skill in .agents/skills |
| Behavior a werf user hits, not an agent | docs/, or command help text (then task doc:gen) |
| One-off, won't recur | Nothing |
Search before writing: most findings are a missing line in something that already exists, not a new file. Extend the closest existing skill or section rather than creating a near-duplicate.
AGENTS.md and CODESTYLE.md are terse, imperative, bulleted.task command or linter already enforces.Harness files are versioned like code: branch and open a PR per git-conventions and
pull-request. NEVER push to a release branch (main, 3, 2, 1.2) directly. A change to
Taskfile.dist.yaml, .golangci.yml, or CI must be run once before it is proposed — an unverified
check is worse than none.
List what changed, file by file, and where each finding was routed — including the ones dropped as one-off, so nothing is silently omitted. Report skill usage as a short table — skill, tier reached, body reads, and one line of impact: what it changed, or what it would have prevented. Report context-waste and prompt-friction findings with their measured cost and the turn they came from, even when they produce no file.
© werf, 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
Just SKILL.md in .agents/skills/session-retro of werf/werf.
Open the folder on GitHubat commit fa73c7a
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in werf/werf, which our catalogue first saw on October 7, 2026.
Session Retro 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Session Retro this skillwerf/werf | 4.7k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| GitHub Actions CreatorFNOSP/FlyNarwhal | 495 | 1 repos | ~2.4k | Automated safety check: Pass | AGPL-3.0 | |
| Megalinter Checknvuillam/npm-groovy-lint | 248 | 1 repos | ~3.9k | Automated safety check: Notes | MIT | |
| Modern Web GuidanceJetBrains/skills | 363 | 3 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Configuration GeneratorArabelaTso/Skills-4-SE | 253 | — | ~2.8k | Automated safety check: Notes | Apache-2.0 | |
| Golang Continuous Integrationsamber/cc-skills-golang | 3.4k | — | ~3.7k | Automated safety check: Pass | MIT |
FNOSP/FlyNarwhal
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
nvuillam/npm-groovy-lint
Collect MegaLinter lint errors for the current repository. An agent skill from nvuillam/npm-groovy-lint.
JetBrains/skills
Search tool for modern web development best practices. An agent skill from JetBrains/skills.
ArabelaTso/Skills-4-SE
Generate configuration files for applications, services, and infrastructure.
samber/cc-skills-golang
GitHub Actions CI/CD pipeline configuration for Golang projects — workflow files for test, lint, SAST, coverage and vulnerability-scan jobs, Dependabot and Renovate config files, GoReleaser release…
gocronx-team/gocron
Reproduce the complete gocron CI pipeline locally and report every result.
werf/werf
werf conventions for branch names and commit messages. An agent skill from werf/werf.
werf/werf
Generates Pull Request titles and descriptions according to werf conventions.
werf/werf
Code review of a pull request, branch, or diff. An agent skill from werf/werf.
werf/werf
Independent challenge pass for a non-trivial or high-risk change.
werf/werf
How to treat conclusions inherited from an earlier session — handover notes, prepared comments, verdict files, plans.
werf/werf
Verify a test actually falsifies the behavior it claims to cover, via real mutation.
Works with
Categories
Analyze the current session for harness-worthy lessons — repeated corrections, discovered conventions, skill bugs — and turn them into concrete repo changes: docs, skills, task targets, linter…. Session Retro is an agent skill from werf/werf. Analyze the current session for harness-worthy lessons — repeated corrections, discovered conventions, skill bugs — and turn them into concrete repo changes: docs, skills, task targets, linter rules, CI checks.
Session Retro fits situations like: tasks that involve Linting and formatting; tasks that involve CI/CD.
Run `npx skills add werf/werf --skill session-retro -a claude-code`. Or copy the skill folder (.agents/skills/session-retro in werf/werf) into .claude/skills/session-retro in your project. Claude Code loads it when a task matches its description.
Run `npx skills add werf/werf --skill session-retro -a codex`. Or copy the skill folder (.agents/skills/session-retro in werf/werf) into .agents/skills/session-retro in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add werf/werf --skill session-retro -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-retro, .gemini/skills/session-retro, .github/skills/session-retro and .opencode/skills/session-retro in your project.
SKILL.md names no scripts, command-line tools or credentials: Session Retro is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. Review the folder before installing.
Session Retro 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.
About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Session Retro: GitHub Actions Creator (FNOSP/FlyNarwhal, 495 stars), Megalinter Check (nvuillam/npm-groovy-lint, 248 stars), Modern Web Guidance (JetBrains/skills, 363 stars) and Configuration Generator (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
werf (a GitHub organization) maintains it in werf/werf, which has 4,728 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 6, 2026.
Source: werf/werf on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.