| name | wiki-status |
| description | Report llm-wiki maintenance status. Use only when the user explicitly mentions llm-wiki and asks for its installed version, update availability, project wiki structure, consent state, or refresh queue health. Do not select this skill for generic plugin, documentation, project-context, or upgrade questions. |
| metadata | {"generated-from":"skills/wiki-status/SKILL.md","generated-for":"pi"} |
LLM Wiki Status
Check whether llm-wiki is current and report the exact update command for the current agent environment.
Also inspect project-local wiki configuration when available:
.llm-wiki/config.json
AGENTS.md
CLAUDE.md
.pi/settings.json
.claude/settings.json
.llm-wiki/refresh-wiki.sh
.llm-wiki/post-commit-refresh.sh
$(git rev-parse --git-common-dir)/llm-wiki/post-commit-refresh.sh
$(git rev-parse --git-common-dir)/llm-wiki/config.json
$(git rev-parse --git-common-dir)/llm-wiki/refresh-disabled
$(git rev-parse --git-common-dir)/llm-wiki/consecutive-failures
$(git rev-parse --git-common-dir)/llm-wiki/pending/
$(git rev-parse --git-common-dir)/llm-wiki/failed/
refs/llm-wiki/sources/
When the project is bootstrapped, resolve
skills/upgrade/scripts/upgrade-project.sh under this skill's installed package
root and run it with --check. Report exit status 10 as upgrade available,
not as an error. Do not apply the project migration unless the user explicitly
asks to update or upgrade the project-local structure.
Rules
- Detect whether the user is running Claude Code, Codex, Pi, OpenClaw, or multiple CLIs are present.
- If the user asks only how to update, give commands without changing anything.
- If the user asks to check the latest version, fetch marketplace or package metadata and compare versions.
- If the user asks to update, run the update command for the active tool and tell them to restart the tool afterward.
- Compare semantic versions with
sort -V when available; otherwise parse major/minor/patch numerically. Do not compare version strings lexicographically.
- If network access, marketplace metadata, or package metadata is unavailable, report the local version and the command that refreshes the relevant metadata.
- If
.llm-wiki/config.json exists, report headless_agent, context_agents, and main_wiki_path.
- Report
automation_enabled and external_provider_access_approved exactly as
true, false, missing, or invalid. Treat anything except two literal
true values as disabled; status never enables either flag.
- Report project structure as
current, upgrade available, or unknown from the bundled upgrade check.
- Inspect refresh state in the shared Git directory. Always count runnable
pending records, hidden interrupted queue records, and quarantined source
records, even when
refresh-disabled is absent. Report the breaker reason
verbatim when present; backlog:<n> means the automatic pending-source bound
opened the circuit before a provider launch, while deferred:<n> means work
arrived outside the last bounded batch and needs an operator-paced retry.
Report the circuit as closed
only when the breaker is absent and the quarantined count is zero; otherwise
report open with the breaker reason, consecutive-failure count, all three
queue counts, queued-source keepalive-ref count, post-commit-refresh.log
path, and exact recovery command
.llm-wiki/post-commit-refresh.sh --retry-failed all. Do not invoke recovery
unless the user explicitly asks to retry. Recovery processes one bounded
batch per invocation, so say when the command must be rerun for remaining
sources.
- Report managed wiki context using the exact
<!-- BEGIN LLM WIKI --> and <!-- END LLM WIKI --> marker pair.
- Classify
AGENTS.md and CLAUDE.md context as managed present, unmanaged wiki section only, missing, or unknown.
- Report Pi context from
AGENTS.md; do not require .pi/SYSTEM.md or .pi/APPEND_SYSTEM.md.
- Report whether Claude SessionStart context appears configured when
.claude/settings.json exists.
- Report OpenClaw context from the configured workspace's
AGENTS.md and confirm that the project root matches that workspace before calling it present.
- Classify each automation surface as
codex, claude, pi, openclaw, mixed, missing, mismatch, or unknown.
- For the scheduler and legacy post-commit scripts, ownership is clean only when
the configured owner command is present and the non-owner commands are absent.
codex means codex exec alone is present; claude means claude -p alone
is present; pi means pi -p or pi --print alone is present; and
openclaw means openclaw agent --local --agent <openclaw_agent_id> alone is
present. The OpenClaw command must use the configured project-workspace agent
ID and omit --deliver plus all channel, reply, and recipient flags. More
than one owner command is mixed; exactly one command for a different
configured owner is mismatch.
- The canonical post-commit template is different by design: it contains all
four provider commands behind a runtime
headless_agent dispatcher. Resolve
templates/post-commit-refresh.sh under the installed package root. When the
project copy is byte-for-byte equal to that bundled template, classify its
owner from a validated .llm-wiki/config.json value (codex, claude, pi,
or openclaw), not by scanning provider command tokens. For OpenClaw also
require a valid openclaw_agent_id. An absent or unsupported configured owner
is unknown. Use the command-token rules only for a non-canonical legacy
post-commit script.
- The managed hook should invoke the canonical runner under the shared Git
directory with
--project and the committing worktree root. Report
checkout-local-only invocation as upgrade available, because linked
worktrees can otherwise retain stale ignored scripts.
- Count managed
llm-wiki hook or scheduler entries when possible. The
canonical dispatcher is clean only when exactly one managed hook block calls
it; report missing or duplicate managed entries instead of treating the
dispatcher itself as proof that the hook is healthy.
- Report exactly one project upgrade command for the active agent surface:
/llm-wiki:upgrade for Claude Code, $llm-wiki:upgrade for Codex, or
/skill:wiki-upgrade for Pi, or wiki-upgrade for OpenClaw. If the active
surface cannot be determined, report the command as unknown; do not list
all four alternatives.
Claude Code
Useful commands:
claude plugin marketplace update aikuznetsov-marketplace
claude plugin update llm-wiki
claude plugin list --json --available
Status workflow:
- Run
claude plugin list --json --available when available.
- Find
llm-wiki by name, id, or plugin fields.
- Compare installed/current and available/latest versions.
- If a newer version exists, suggest:
claude plugin marketplace update aikuznetsov-marketplace
claude plugin update llm-wiki
Tell the user that Claude Code must be restarted for the updated plugin to load.
Codex
Codex currently exposes marketplace refresh, not a first-class plugin list or plugin update <plugin> command.
Useful command:
codex plugin marketplace upgrade aikuznetsov-marketplace
Local version paths:
find ~/.codex/plugins/cache/aikuznetsov-marketplace/llm-wiki -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | sort -V | tail -n1
jq -r '.version' ~/.codex/.tmp/marketplaces/aikuznetsov-marketplace/plugins/llm-wiki/.codex-plugin/plugin.json
Remote marketplace check:
curl -fsSL https://raw.githubusercontent.com/ivankuznetsov/agent-plugins/main/.claude-plugin/marketplace.json \
| jq -r '.plugins[] | select(.name == "llm-wiki") | .version'
Status workflow:
- Read the local cached version from
~/.codex/plugins/cache/aikuznetsov-marketplace/llm-wiki/.
- Read the cached marketplace version from
~/.codex/.tmp/marketplaces/aikuznetsov-marketplace/plugins/llm-wiki/.codex-plugin/plugin.json when it exists.
- Fetch the remote marketplace version with
curl when the user wants to know whether a new release is out.
- If the remote version is newer than the local cached version, suggest:
codex plugin marketplace upgrade aikuznetsov-marketplace
Tell the user that Codex must be restarted for the updated plugin to load.
Pi
Pi uses Pi packages instead of the Claude/Codex plugin marketplace. The Pi package exposes prefixed skill names to avoid global /skill:name collisions:
/skill:wiki-bootstrap
/skill:wiki-upgrade
/skill:wiki-research
/skill:wiki-plan
/skill:wiki-status
Useful commands:
pi --version
pi list
pi update git:github.com/ivankuznetsov/llm-wiki
pi update --extensions
Remote package version check:
curl -fsSL https://raw.githubusercontent.com/ivankuznetsov/llm-wiki/main/package.json \
| jq -r '.version'
Status workflow:
- Run
pi --version when available.
- Run
pi list when available and look for an installed llm-wiki package or source.
- Read the local package version from
package.json when running from the llm-wiki checkout.
- Fetch the remote package version from the GitHub
package.json when the user wants to know whether a new release is out.
- If the remote version is newer than the installed/local version, suggest:
pi update git:github.com/ivankuznetsov/llm-wiki
If Pi reports the package under a different installed source, use that exact source with pi update <source>. Tell the user to restart Pi after updating package skills.
OpenClaw
OpenClaw exposes the collision-safe wiki-bootstrap, wiki-upgrade,
wiki-research, wiki-plan, and wiki-status skills. It can install this
package from ClawHub, a Claude-compatible marketplace, or a local development
path; status must preserve whichever source the installed record names.
Useful commands:
openclaw --version
openclaw agents list --json
openclaw plugins list --json
openclaw plugins inspect llm-wiki --json
openclaw plugins update llm-wiki --dry-run
openclaw plugins update llm-wiki
openclaw gateway restart --safe
clawhub package inspect llm-wiki --json
ClawHub metadata check for a clawhub:llm-wiki install:
clawhub package inspect llm-wiki --json
Status workflow:
- Run
openclaw --version and openclaw plugins list --json when available.
- Find the entry whose
id or name is llm-wiki; use its version,
source, and rootDir fields as installed-state evidence. Then run
openclaw plugins inspect llm-wiki --json and inspect .install before any
remote lookup. The durable install record, not the discovered filesystem
path alone, owns provenance: use .install.source, .install.spec,
.install.clawhubPackage, .install.marketplaceSource,
.install.marketplacePlugin, and .install.sourcePath when present.
- Run
openclaw agents list --json when .llm-wiki/config.json names OpenClaw as the headless owner. Verify that openclaw_agent_id exists and its reported workspace resolves to the project root; otherwise classify automation as mismatch.
- Branch on the recorded install source when the user asks for a remote check:
- For
.install.source == "clawhub" or a record with
.install.clawhubPackage, query that exact package with clawhub package inspect <package> --json and read package.latestVersion. A successful
metadata lookup proves the release is publicly visible; otherwise report
visibility as unknown. Keep the recorded source locator for reinstall;
this package's expected locator is clawhub:llm-wiki.
- For
.install.source == "marketplace", query only the recorded marketplace
source with openclaw plugins marketplace list <marketplaceSource> --json
and find the recorded marketplace plugin. Do not substitute ClawHub or the
central marketplace for a different recorded marketplace source. Reinstall
with openclaw plugins install <marketplacePlugin> --marketplace <marketplaceSource> --force only when the user explicitly requests it.
- For
.install.source == "path", report the exact sourcePath as a
development install. Do not claim a remote latest version or automatic
registry update; reinstall from that exact path only when the user asks.
- For npm, Git, archive, or another recorded source, report the recorded
source and use only its tracked update metadata. Do not query ClawHub or a
marketplace unless the install record identifies that registry.
- For a tracked ClawHub, marketplace, npm, or Git install, run
openclaw plugins update llm-wiki --dry-run before suggesting an update. A dry-run
failure means update status is unknown, not that the package was updated.
- If the recorded source reports a newer visible release and the dry run
succeeds, update with:
openclaw plugins update llm-wiki
If a tracked ClawHub installation needs an explicitly requested reinstall, keep
its registry source:
openclaw plugins install clawhub:llm-wiki --force
If OpenClaw reports that a path-installed plugin is not tracked, do not claim it
was updated. Reinstall only from the exact local path in the install record. For
a marketplace installation, retain the recorded marketplace source and plugin
name rather than changing registries.
After an update, a running Gateway must reload the plugin and skills. Request OpenClaw's bounded, work-aware service restart:
openclaw gateway restart --safe
Do not use --force for the Gateway restart by default. If no Gateway service is running and the user only uses one-shot local agent commands, report that the next process starts from the updated registry and no service restart is required.
Report Format
Return:
**llm-wiki Plugin Status**
- Current cached/installed version: ...
- Installed source: clawhub:<package> | marketplace:<source> | path:<path> | npm:<spec> | git:<spec> | other:<source> | unknown
- Latest source version: ... | not applicable | unknown
- Registry visibility: public | not applicable | unknown
- Status: current | update available | unknown
- Update command: ...
- Reinstall source: ... | not applicable | unknown
- Restart required: yes | no
- Headless agent: claude | codex | pi | openclaw | unknown
- automation_enabled: true | false | missing | invalid
- external_provider_access_approved: true | false | missing | invalid
- OpenClaw agent id: ... | not configured | not applicable
- Context agents: ...
- AGENTS.md wiki context: managed present | unmanaged wiki section only | missing | unknown
- CLAUDE.md wiki context: managed present | unmanaged wiki section only | missing | unknown
- Pi wiki context: AGENTS.md managed present | missing | unknown
- OpenClaw wiki context: AGENTS.md managed present | workspace mismatch | missing | unknown
- Claude SessionStart context: present | missing | not checked
- Scheduled refresh owner: claude | codex | pi | openclaw | mixed | missing | mismatch | unknown
- Post-commit refresh owner: claude | codex | pi | openclaw | mixed | missing | mismatch | unknown
- Project structure: current | upgrade available | unknown
- Project upgrade command: <active surface's single command> | unknown
- Refresh circuit: closed | open (reason: <value>, failures: <n>, pending: <n>, interrupted: <n>, quarantined: <n>, pinned: <n>) | unknown
- Refresh recovery command: .llm-wiki/post-commit-refresh.sh --retry-failed all | not needed | unknown
- Refresh log: <shared-git-dir>/llm-wiki/post-commit-refresh.log | unknown
Mention whether the result came from local cache only or from a remote marketplace/package check.