À propos
Wiki fournit des bases de connaissances indexées avec des outils en ligne de commande pour les agents Claude, permettant une documentation structurée avec une gestion automatisée des index. Il permet aux développeurs d'initialiser, de maintenir et de rechercher du contenu wiki via des commandes pour le linting, la mise à jour et la navigation dans l'arborescence des dossiers. Utilisez cette compétence pour intégrer une documentation organisée et consultable directement dans votre flux de travail de projet.
Installation rapide
Claude Code
Recommandénpx skills add plasma-ai/wiki -a claude-code/plugin add https://github.com/plasma-ai/wikigit clone https://github.com/plasma-ai/wiki.git ~/.claude/skills/wikiCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
Wiki
A wiki is a structured, indexed knowledge base organized as a folder tree with
_index.md files. Each folder has an index that links to its children
(subfolders and pages), and a content section below a *** delimiter for
user-authored notes.
Initialize a wiki in the current project and configure integrations:
wiki init— scaffold a new wiki with a root indexwiki config— install Obsidian plugins and the git merge driverwiki trust— authorize a wiki to run its.wiki/wiki.pyhook
Maintain indexes as files are added and removed:
wiki lint— validate structure and flag issueswiki update— sync index links with the filesystem
Browse structure, search across content, and read entries:
wiki map— print an indented tree overviewwiki search— search content with regexwiki read— read a named entry
Usage
Install the CLI from PyPI if it is not already on your PATH:
pipx install plasma-wiki
(pip install or uv tool install work too.)
Then run commands directly:
wiki <command> ...
Run wiki --help for a list of commands, and wiki <command> --help for full
option descriptions.
Working at scale
A wiki is many small, independent pages, so wiki work parallelizes well and is often too large for one context. Default to sub-agents and dynamic workflows rather than authoring or auditing page by page yourself:
- Fan out sub-agents. When seeding or expanding a wiki, give each
independent page — or each source to research and digest — to its own
sub-agent, then run
wiki updateonce to stitch the new pages into the indexes. Update adds and repairs index link rows and frontmatter only — it never linkifies mentions in page prose, so author[[...]]cross-links by hand. - Drive sweeps with a dynamic workflow. When auditing, relinking, or restructuring an existing wiki, pipeline its pages through a workflow so each is read, revised, and verified on its own — slow pages never block fast ones.
Conventions
.wiki/is the tool's namespace. Every root carries a.wiki/directory holdingsettings.json— the file that declares the wiki root;wiki initwrites it andwiki updaterestores a missing one — plus the derived word-counts cache and the staged Obsidian config. Never author content there; the walk skips dot-directories by construction.- Exclusions are configurable. Beyond the built-ins (dot-paths, symlinks,
_index.md), gitignore-style globs inexclude.patternsin.wiki/settings.jsonexclude whole subtrees from indexing — never walked, scaffolded, or linted, thoughwiki readstill serves them. - Name validation is configurable. By default the wiki rejects only
structural characters (
/,\,*,[,],|,#), a leading dot, and the reserved_indexstem — spaces, dashes, and unicode all pass. Stricter rules (e.g. ASCII identifiers) are opt-in per wiki vianaming.validatein.wiki/settings.json(seed it at creation withwiki init --settings);wiki initandwiki lintenforce whatever policy is set. - Timestamps are tool-owned and configurable.
wiki updatewrites both stamps when a file gains frontmatter, keepscreated:from then on, and rewritesupdated:on every actual write — never hand-edit them; an edit goes undetected unless the value stops parsing under the configured format, whichwiki lintfails.created/updateddefault to UTC in%Y-%m-%dT%H:%M:%SZ; settimestamp.timezone(an IANA name) andtimestamp.format(a strftime string) in.wiki/settings.jsonto change them — use%zrather than a literalZfor a non-UTC zone. - Names are path-derived; titles are authored.
wiki updatesets each page'snameand H1 heading to the path-joined name (e.g.core/design) so names stay consistent with the tree structure — to rename an entry, move its file rather than editingname:. Any index or page may carry an optional authoredtitle:frontmatter field, which wins its H1 (wiki updatekeeps the line directly undername:, and adding frontmatter to a bare page seedstitle:from its authored H1); without one, a hand-edited heading is still rewritten toname. Unset a title by deleting the line or settingtitle: null— update removes it, and lowercasenullis the only reset spelling (~/Null/NULLrender literally as the heading). Keep titles on a single line, quote a title containing:, and prefer plain text.wiki search --field titlematches only authored titles — an unset entry has no line to match. Settingtitles.requiredto true in.wiki/settings.jsondemands a title everywhere: update seeds atitle: nullplaceholder on every index and page missing one, and lint fails each placeholder until a value is authored. - Categories are authored and optional. An index or page may carry a
category:frontmatter field;wiki updatecopies it into the parent index's link label as a[category] nameprefix, andwiki map --categoryfilters by it. Fresh frontmatter carries nocategory:line — unset one by deleting the line or settingcategory: null(update removes the line; as with titles, lowercasenullis the only reset spelling). Keep categories on a single line. - Frontmatter order is tool-enforced.
wiki updatekeeps every block in canonical order —name,title,desc,category,tags,sources,created,updated— moving each field (with its block-scalar body) verbatim into its slot. Custom keys are allowed: they keep their relative order below the known fields, above the timestamps. - Wikilinks stay inside the wiki. A wikilink (
[[...]]) must target another page in the same wiki. Files outside the wiki (source files, configs, another wiki's pages) can be referenced by name or in backticks, but never linked. - Stale wikilinks are soft notes. A
[[...]]in index or page prose whose target no longer exists draws a stderr note fromwiki lintwithout failing the run. Broken links in the generated index link block — the rowswiki updatemaintains — stay hard issues (--pruneremoves them), as does a prose wikilink naming a folder rather than the folder's index page: link[[folder/_index]], never[[folder]]. - Descriptions end in a period.
wiki lintfails adesc(or an authored link description) that lacks a trailing period; the seeded...placeholder only draws a soft note. Author the desc in the child page's frontmatter —wiki updatecopies it onto the parent index's link line. A desc containing:must be YAML-quoted; surrounding quotes are stripped when the value is read. Never hand-wrap a desc mid-word or onto a list-marker start — let the block scalar carry the breaks; lint fails the wrap artifacts (a hyphen dangle, a phantom list item). - Fill in auto-created index descs.
wiki updatecreates a missing_index.mdfor every new directory with adesc: ...placeholder and announces the batch in its condensed summary (Created N new indexes (fill in their descs); run with--fullfor the per-pathNew index:lines). Fill in the desc right after the update — lint soft-notes the placeholder until you do. - Bare pages are adopted loudly. A page with no frontmatter gains it on the
next
wiki update— withtitle:seeded from its authored H1, while a page with no H1 gains the path-joined heading in its body, never a seeded title — and each adoption is announced (Adopted N bare pages (frontmatter added)in the condensed summary;--fullprints the per-page lines). Until thenwiki lintnames the page as a hard issue (Bare page (no frontmatter); update will adopt it) alongside the adoption diff. - Suppress lint locally with a
no-lintregion. A page that must display otherwise-flagged content (sample conflict markers, stale link examples) wraps those lines in<!-- start: no-lint -->...<!-- end: no-lint -->, which silences the positional rules — hard issues and soft notes alike — for just that span. Regions never affect file-level checks, and a dangling or nested marker is itself a hard lint issue. - Give markdown formatters the wiki plugin. The
***delimiter and[[wikilinks]]are load-bearing syntax; mdformat/prettier-style hooks rewrite***to---and escape the brackets, demoting the generated link block to plain text.wiki updaterepairs a mangled index andwiki lintnames the damage signatures (escaped wikilinks, a thematic break standing where***belongs), but don't rely on the repair: for mdformat add themdformat-wikiplugin (under pre-commit,additional_dependencies: [mdformat-wiki]on the hook, dropping a coexistingmdformat-frontmatter— both register a frontmatter renderer and whichever is discovered first wins), which makes wiki faces round-trip byte-identically; for formatters with no plugin lane (e.g. prettier) exclude the wiki root instead (wiki/in.prettierignore). - The git merge driver resolves only the generated region. For
_index.mdfiles it takes ours for the regenerated parts above***(the link block plus thename/updatedkeyswiki updateregenerates) and three-way merges everything authored — the remaining frontmatter fields (title/desc/created/category/tags/sources) and the user content below***— which can still conflict for hand-resolution. A side missing its***entirely (formatter damage) can't be split into regions, so it conflicts whole-file with a hint comment naming the repair — restore the***on that branch (wiki updatedoes it), then redo the merge. Runwiki updateafter a merge to regenerate the link rows from the filesystem — the H1 rides the taken-ours region, so a merged-intitle:shows in its H1 only after that update.init/configregister the driver in local git config and write the**/_index.mdglob to.gitattributesin the working tree only — you stage and commit it yourself, and each clone runswiki configonce to register the driver. - Leave new-directory index bodies empty during concurrent work. When
sibling branches both create the same new directory, its two
_index.mds merge add/add with no common ancestor: the generated region resolves automatically — including the seededcreatedstamps, which arewiki updatechurn on both sides — but body prose authored below***on both sides conflicts for hand-union (empty or identical bodies merge clean). Concurrent cohorts should leave a new directory's index body empty until after the merge wave, then author it once. The merge driver plants a one-line HTML-comment hint above such add/add conflict markers naming this convention — delete it as you resolve. - A
.wiki/wiki.pyhook needs explicit trust. A wiki may ship a.wiki/wiki.py(a customWikisubclass) that runs code with the user's privileges, sowikirefuses to load an untrusted hook — every command that resolves the wiki fails, naming the hook and pointing atwiki trust. This is a security decision for the human: surface the error and let the user runwiki trustfor a wiki they have vetted, rather than running it yourself or working around the refusal. A hookless wiki needs no trust; trust is recorded per resolved root in~/.wiki/settings.json(WIKI_CONFIG_DIRoverrides the config home).
Dépôt GitHub
Questions fréquentes
Qu’est-ce que le Skill wiki ?
wiki est un Skill Claude créé par plasma-ai. Un Skill regroupe des instructions et des ressources que Claude charge à la demande pour effectuer des tâches liées à wiki sans consigne supplémentaire.
Comment installer wiki ?
Utilisez les commandes d’installation de cette page : ajoutez wiki à Claude Code comme plugin ou clonez son dépôt dans votre dossier skills, puis redémarrez Claude pour charger le Skill.
À quelle catégorie appartient wiki ?
wiki appartient à la catégorie Autre.
wiki est-il gratuit ?
Oui. wiki est référencé sur AIMCP et son installation est gratuite.
Compétences associées
LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.
Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.
Cette compétence Claude analyse les marchés des paris sportifs, incluant les spreads, les over/under et les paris spéciaux, en examinant les tendances historiques et les statistiques situationnelles pour identifier les paris à valeur ajoutée. Elle fournit une sortie en markdown structuré avec des recommandations actionnables à des fins éducatives. Les développeurs doivent l'utiliser pour des outils d'analyse de paris sportifs tout en notant qu'elle est conçue uniquement pour le divertissement et l'éducation.
Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.
