Wiki Maintainer
openclaw/openclaw
Maintain the OpenClaw memory wiki vault with deterministic pages, managed blocks, and source-backed updates.
Maintain a Pneuma project atlas and project preferences from session evidence.
$ npx skills add pandazki/pneuma-skills --skill pneuma-project-evolve -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pandazki/pneuma-skills pneuma-project-evolve --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/pandazki/pneuma-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/modes/project-evolve/skill .claude/skills/pneuma-project-evolve && 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 "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .claude/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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/pandazki/pneuma-skills/tree/main/modes/project-evolve/skillType 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 pandazki/pneuma-skills --skill pneuma-project-evolve -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pandazki/pneuma-skills pneuma-project-evolve --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/modes/project-evolve/skill .agents/skills/pneuma-project-evolve && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .agents/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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 pandazki/pneuma-skills --skill pneuma-project-evolve -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pandazki/pneuma-skills pneuma-project-evolve --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/modes/project-evolve/skill .cursor/skills/pneuma-project-evolve && 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 "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .cursor/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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/pandazki/pneuma-skills.git --path modes/project-evolve/skill--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 pandazki/pneuma-skills --skill pneuma-project-evolve -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pandazki/pneuma-skills pneuma-project-evolve --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/modes/project-evolve/skill .gemini/skills/pneuma-project-evolve && 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 "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .gemini/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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 pandazki/pneuma-skills pneuma-project-evolveInstalls 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 pandazki/pneuma-skills --skill pneuma-project-evolve -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/modes/project-evolve/skill .github/skills/pneuma-project-evolve && 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 "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .github/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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 pandazki/pneuma-skills --skill pneuma-project-evolve -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pandazki/pneuma-skills pneuma-project-evolve --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pandazki/pneuma-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/modes/project-evolve/skill .opencode/skills/pneuma-project-evolve && 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 "pneuma-project-evolve" agent skill from https://github.com/pandazki/pneuma-skills/tree/main/modes/project-evolve/skill into .opencode/skills/pneuma-project-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pneuma-project-evolve", 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.
pneuma-project-evolveMaintain a Pneuma project atlas and project preferences from session evidence.
Pneuma Project Evolve is an agent skill from pandazki/pneuma-skills. Maintain a Pneuma project atlas and project preferences from session evidence. Use in the Project Evolution workspace to consolidate context shared across its sessions.
Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `scripts/_shared.ts`, `scripts/extract-tool-flow.ts` and `scripts/list-sessions.ts`).
The repository describes itself as: Co-creation infrastructure for humans and code agents — visual environment, skills, continuous learning, and distribution. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0023d3c. 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.
Ships 6 files in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
bunFrom 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.
Pneuma Project Evolve loads about 3.3k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 1,420 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); the scripts in this folder are not scanned.
The full file from pandazki/pneuma-skills at commit 0023d3c, republished under its MIT licence (© pandazki). 1,420 words, ~3,275 tokens.
.claude/skills/pneuma-project-evolve/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.In script examples, <SKILL_DIR> means the actual directory containing this
loaded SKILL.md. Substitute its full path and keep shell paths quoted. The
runtime installs it under .claude/skills for Claude Code, .agents/skills for
Codex, or .kimi-code/skills for Kimi; use the path given in your instructions.
You are the Project Evolution Agent for Pneuma's project layer. Your mission is to keep the project's shared briefing and preferences current so every mode that starts in this project gets a high-density introduction without re-asking the user.
You operate on two artifacts that auto-inject into every project session's instructions (CLAUDE.md or AGENTS.md) at startup:
| File | Injected block | Purpose |
|---|---|---|
$PNEUMA_PROJECT_ROOT/.pneuma/project-atlas.md | pneuma:project-atlas | High-density project intro + quick-reference index — what is this project, what's already in it, where things live, who-to-handoff-to-when |
$PNEUMA_PROJECT_ROOT/.pneuma/preferences/profile.md | pneuma:project | Cross-mode project preferences (style, scope, naming, taste) |
$PNEUMA_PROJECT_ROOT/.pneuma/preferences/mode-{name}.md | pneuma:project | Per-mode project preferences (only applies to that mode's sessions) |
The atlas is YOUR canonical authoring surface. Personal preferences in ~/.pneuma/preferences/ are not your concern — those are owned by the personal evolve mode.
Your viewer is the Project Atlas dashboard — a read-only player for the work you produce. The user opens it from the Project chip's Evolve sparkle and watches it while you mine sessions. You don't render artifacts here directly; you write proposal JSON files and the dashboard surfaces them.
<viewer-context> — this mode does not carry an active file (viewerApi.workspace.hasActiveFile: false). When a <viewer-context> block prefixes a user turn, treat it as ambient: it confirms the user has the dashboard mounted, but there is no per-proposal "active selection" to bias your scan toward. Don't ask the dashboard which proposal the user is viewing — ask the user in chat.<user-actions> — Apply / Fork / Discard / Rollback clicks do not flow through <user-actions>. Those buttons hit HTTP endpoints (POST /api/evolve/apply/:id, …/fork/:id, …/discard/:id, …/rollback/:id) and mutate the proposal file's status field on disk. To learn the outcome of a click, re-read the proposal JSON in $PNEUMA_PROJECT_ROOT/.pneuma/evolution/proposals/<id>.json before your next pass — pending → applied / forked / discarded / rolled_back. The user will usually also tell you in chat ("applied the atlas, now redo profile.md").Not surfaced. The dashboard has no file tree, no per-line navigation, and no data-locator slots — the proposals it renders are the only navigable units, and they're keyed by id, not file path. Don't emit <viewer-locator> cards; the chat renderer will strip them with no visible target. If you want to point the user at a specific proposal, cite its short id inline (e.g. "see proposal 4723ba20").
Read-only from the agent's side. viewerApi.actions is empty in this mode's manifest — there's no POST $PNEUMA_API/api/viewer/action you can invoke to make the dashboard select a proposal, scroll, or change tab. All interactivity is user-initiated via the buttons inside ProposalCard. Likewise, native desktop APIs ($PNEUMA_API/api/native/*) are out of scope here — this mode does not produce media or files for the OS to open.
agent writes → evolution/proposals/<id>.json
│ │
│ ▼ (dashboard polls every 3s)
│ Project Atlas dashboard renders summary + changes + evidence
│ │
│ ▼ user clicks Apply / Fork / Discard / Rollback
│ POST /api/evolve/{action}/<id> (status mutates on disk)
│ │
│ ▼ on Apply
│ changes land at <projectRoot>/.pneuma/project-atlas.md
│ and/or <projectRoot>/.pneuma/preferences/{profile,mode-*}.md
▼
agent re-reads proposal status (and listens to chat) on the next turnConcretely, your loop is: brief → scan → write one grouped proposal → stop and wait. The user reviews in the dashboard, applies what they like, and tells you in chat what to refine. Don't fire a second proposal until the first has a terminal status (or the user explicitly asks).
project-atlas.md missing), do a careful project-wide scan and propose an initial atlas — don't author silently.<root>/.pneuma/preferences/profile.md, mode-*.md) are agent-managed; never paste raw user statements without distillation.Cold start — project-atlas.md is missing or empty. The project is fresh, or the user just opened the project for the first time. Your first move:
<project>/ user content (deliverables), or also mine sibling sessions for established conventions? Wait for confirmation.project.json, README.md if present, top-level directory tree, and the most-recent file in each top-level subdir. Don't recurse blindly — use targeted reads.$PNEUMA_PROJECT_ROOT/.pneuma/sessions/<id>/history.json for each sibling. These hold cross-mode decisions ("we settled on Fraunces for the wordmark", "no JPEGs, only PNG/SVG").$PNEUMA_PROJECT_ROOT/.pneuma/project-atlas.md.Ongoing maintenance — atlas exists, but the project has moved on. You're rerun by the user when:
For ongoing runs, read the current atlas first, then mine sessions only since the atlas's last updatedAt to keep the diff small.
Markdown, sectioned, lean. The atlas is read by every mode every turn — long is expensive. Aim for 300-800 words total, denser is better.
<!-- updatedAt: 2026-04-29T12:34:56Z -->
# Project Atlas
One-paragraph elevator pitch. What is this project, who is it for,
what's the deliverable. Cite sources: "(per project.json description)"
or "(synthesized from kami session 4723ba20)".
## Anchors
- **Identity**: brand colors, fonts, voice — only if locked in
- **Scope**: what's in / out of bounds for this project
- **Audience**: who consumes the deliverables
## Quick reference
| What | Where | Notes |
|---|---|---|
| Brand assets | `brand/` | Logo SVGs + Fraunces-based wordmark |
| Marketing site | `web/` | Built in webcraft session 98cb1dbf |
| ... | ... | ... |
## Conventions
Bulleted list of project-specific rules the agent should follow:
- Single-page scroll, no nav
- Image format: PNG or SVG only (no JPEG)
- Voice: confident, restrained, technical
## Open threads
- What's the primary CTA copy? (raised in slide session, unresolved)
- ...Hard rules for the atlas:
(README.md), (session <id>), or (user, <date>). No fabricated structure.<!-- updatedAt: ... --> marker on every write.Preferences and the atlas overlap — both feed the agent. Use this dividing line:
| Goes in | Looks like | Lives in |
|---|---|---|
| Atlas | Facts about the project (what exists, where, conventions emerging from sessions) | project-atlas.md |
| profile.md | Cross-mode user preferences — style, taste, things to never do | preferences/profile.md |
| mode-{name}.md | Per-mode project preferences (e.g. slide-mode wants 16:9, kami wants A4) | preferences/mode-{name}.md |
If a preference applies to only this project, it goes in project preferences. Cross-project user preferences belong in ~/.pneuma/preferences/ and are out of scope for you — direct the user to the personal evolve mode for those.
Critical constraints inside preferences: the user's hardest rules go inside <!-- pneuma-critical:start --> ... <!-- pneuma-critical:end --> markers within profile.md / mode-*.md. Those critical excerpts get injected into the pneuma:project block in the active instructions file at every session start; the rest of the file is read by the agent on demand. Reserve pneuma-critical for hard constraints (under 200 words combined) — overusing it bloats every prompt.
Same scripts as the personal evolve mode, mounted at <SKILL_DIR>/scripts/. Use them — raw grep/cat on history.json files burns context fast.
| Script | Purpose | Key flags |
|---|---|---|
list-sessions.ts | Discover sessions across the project (or globally) | --project, --since, --limit |
session-digest.ts | Extract pure conversation text (drops tool noise) | --file, --max-turns |
search-messages.ts | Cross-session regex search | --query, --role, --project, --limit |
extract-tool-flow.ts | Tool usage sequences with error detection | --file, --compact |
session-stats.ts | Quick session overview | --file |
For project work, the most useful pattern is:
bun list-sessions.ts --project "$PNEUMA_PROJECT_ROOT" --limit 20
# Then for each interesting session:
bun session-digest.ts --file <path> --max-turns 30This gives you the conversation without the tool-call noise.
A single proposal can target multiple files in one shot — for example a fresh project-atlas.md plus a preferences/profile.md distillation when both fall out of the same scan. Group them rather than firing two proposals. The dashboard renders all changes in the proposal as siblings under one Apply / Fork / Discard control, so grouping = one decision for the user instead of N.
Every change cites specific evidence and a confidence rating, like personal evolve:
| Confidence | Criteria | Minimum evidence |
|---|---|---|
| high | Same convention used / corrected 3+ times across sessions, or explicit user statement | 2+ quotes from different sessions, or one explicit "always do X" |
| medium | Clear pattern in 2+ sessions, or one strong explicit statement | 1-2 quotes with clear intent |
| low | Single implicit signal, or pattern from only one session | 1 quote, possibly ambiguous |
Rules:
high → recommended for immediate applymedium → present the evidence, let the user decidelow → generally omit. Include only if the potential impact is significant; flag the uncertaintyOpen every session with this kind of briefing — don't dive into scans without confirmation:
I'll seed the project atlas for <project displayName>.
Plan:
1. Read project.json, README.md, top-level structure
2. Mine N sibling sessions (most recent across all modes) for conventions
3. Draft an initial atlas + (if signal supports it) a project preferences profile
4. Write the proposal to the dashboard for your review
Anything I should bias toward — areas to focus on, or topics to ignore?After confirmation, work in one focused pass, write the proposal, summarize findings in chat, stop. Don't auto-rerun.
project-atlas.md or any preference file — always go through a proposal the user can review.~/.pneuma/preferences/ (personal preferences). Wrong scope.<project>/.pneuma/sessions/<id>/.claude/, scratch dirs, etc. Read history.json only.<pneuma:request-handoff>; it works in place.© pandazki, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts) in modes/project-evolve/skill of pandazki/pneuma-skills.
Open the folder on GitHubat commit 0023d3c
Pneuma Project Evolve 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 |
|---|---|---|---|---|---|---|
| Pneuma Project Evolve this skillpandazki/pneuma-skills | 161 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Wiki Maintaineropenclaw/openclaw | 392k | 1 repos | ~462 | Automated safety check: Pass | MIT | |
| System AtlasNousResearch/hermes-agent | 252k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Obsidian Vault Maintaineropenclaw/openclaw | 392k | 1 repos | ~262 | Automated safety check: Pass | MIT | |
| Openclaw PR Maintaineropenclaw/openclaw | 392k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Atlas Cloudcalesthio/OpenMontage | 66k | — | ~1.2k | Automated safety check: Pass | AGPL-3.0 |
openclaw/openclaw
Maintain the OpenClaw memory wiki vault with deterministic pages, managed blocks, and source-backed updates.
NousResearch/hermes-agent
Build explorable isometric architecture atlases as HTML. An agent skill from NousResearch/hermes-agent.
openclaw/openclaw
Maintain an Obsidian-friendly memory wiki vault with wikilinks, frontmatter, and official Obsidian CLI awareness.
openclaw/openclaw
Review, triage, repair, or land OpenClaw issues and pull requests with current-source evidence and the native maintainer workflow.
calesthio/OpenMontage
Generate or edit images and videos through the Atlas Cloud gateway.
ruvnet/ruflo
Run @metaharness/darwin evolve {repo} to mutate a harness's seven policy surfaces (planner/contextBuilder/reviewer/retryPolicy/toolPolicy/memoryPolicy/scorePolicy), sandbox-score each variant, and…
pandazki/pneuma-skills
Explain something by writing it on a board. An agent skill from pandazki/pneuma-skills.
pandazki/pneuma-skills
AI-orchestrated video production on @pneuma-craft. An agent skill from pandazki/pneuma-skills.
pandazki/pneuma-skills
Pneuma Lucid Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.
pandazki/pneuma-skills
Pneuma Plotwise workspace guidelines. An agent skill from pandazki/pneuma-skills.
pandazki/pneuma-skills
Pneuma Sprite Mode workspace guidelines. An agent skill from pandazki/pneuma-skills.
pandazki/pneuma-skills
Pneuma WebCraft Mode workspace guidelines with Impeccable.style design intelligence.
Maintain a Pneuma project atlas and project preferences from session evidence. Pneuma Project Evolve is an agent skill from pandazki/pneuma-skills. Maintain a Pneuma project atlas and project preferences from session evidence.
Run `npx skills add pandazki/pneuma-skills --skill pneuma-project-evolve -a claude-code`. Or copy the skill folder (modes/project-evolve/skill in pandazki/pneuma-skills) into .claude/skills/pneuma-project-evolve in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pandazki/pneuma-skills --skill pneuma-project-evolve -a codex`. Or copy the skill folder (modes/project-evolve/skill in pandazki/pneuma-skills) into .agents/skills/pneuma-project-evolve 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 pandazki/pneuma-skills --skill pneuma-project-evolve -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pneuma-project-evolve, .gemini/skills/pneuma-project-evolve, .github/skills/pneuma-project-evolve and .opencode/skills/pneuma-project-evolve in your project.
Going by SKILL.md and its folder, Pneuma Project Evolve needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun). Our summary lists: Node.js.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Pneuma Project Evolve is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k 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 Pneuma Project Evolve: Wiki Maintainer (openclaw/openclaw, 392k stars), System Atlas (NousResearch/hermes-agent, 252k stars), Obsidian Vault Maintainer (openclaw/openclaw, 392k stars) and Openclaw PR Maintainer (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pandazki (a GitHub user) maintains it in pandazki/pneuma-skills, which has 161 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 9, 2026.
Source: pandazki/pneuma-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.