📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
---
|
||||
name: wiki-builder
|
||||
description: "Create and maintain reusable research wikis with source provenance, configurable structure, and local markdown outputs."
|
||||
category: "knowledge-management"
|
||||
risk: "safe"
|
||||
source: "official"
|
||||
source_repo: "dair-ai/dair-academy-plugins"
|
||||
source_type: "official"
|
||||
date_added: "2026-06-19"
|
||||
author: "DAIR.AI"
|
||||
license: "MIT"
|
||||
license_source: "https://github.com/dair-ai/dair-academy-plugins/blob/main/README.md#license"
|
||||
tags:
|
||||
- dair-academy
|
||||
- ai
|
||||
- workflow
|
||||
tools:
|
||||
- claude-code
|
||||
- codex-cli
|
||||
- cursor
|
||||
---
|
||||
|
||||
# Wiki Builder
|
||||
|
||||
_Source: [dair-ai/dair-academy-plugins](https://github.com/dair-ai/dair-academy-plugins) (MIT)._
|
||||
|
||||
## Purpose
|
||||
|
||||
Create and maintain configurable research wikis. Each wiki is a standalone folder with its own sources, compiled pages, derived artifacts, prompts, and local configuration.
|
||||
|
||||
By default, wikis live under `~/dair-wikis/`. Override the location with the `WIKI_ROOT` environment variable or the `--root` flag on `init_wiki.sh`.
|
||||
|
||||
This skill is intentionally general. Do not hard-code every wiki into the AI papers structure. Use each wiki's `wiki.config.md` as the source of truth for purpose, audience, page types, style rules, and update workflow.
|
||||
|
||||
## When To Use
|
||||
|
||||
Use this skill when the user asks to:
|
||||
|
||||
- Start a new wiki or knowledge base.
|
||||
- Create a wiki for research notes, papers, products, people, organizations, domains, projects, or events.
|
||||
- Ingest source material into an existing wiki.
|
||||
- Generate wiki pages, source pages, concept pages, maps, timelines, briefs, or indexes.
|
||||
- Query a wiki and file the answer back into the wiki.
|
||||
- Refactor or evolve a wiki's structure, requirements, or flavor.
|
||||
- Maintain provenance, source notes, and update logs for a wiki.
|
||||
|
||||
## Default Wiki Location
|
||||
|
||||
Store wikis here unless the user explicitly gives a different path:
|
||||
|
||||
```bash
|
||||
${WIKI_ROOT:-$HOME/dair-wikis}/<wiki-slug>
|
||||
```
|
||||
|
||||
Use lowercase kebab-case slugs, for example `agent-memory`, `ai-evals`, `open-source-models`, or `company-research`.
|
||||
|
||||
## Core Layout
|
||||
|
||||
New wikis should start with this layout:
|
||||
|
||||
```text
|
||||
<wiki-slug>/
|
||||
├── wiki.config.md
|
||||
├── raw/
|
||||
├── wiki/
|
||||
│ └── index.md
|
||||
├── derived/
|
||||
├── prompts/
|
||||
│ ├── compile-index.md
|
||||
│ ├── compile-source-page.md
|
||||
│ ├── compile-concept-page.md
|
||||
│ ├── query-and-file.md
|
||||
│ └── lint-wiki.md
|
||||
├── logs/
|
||||
│ └── maintenance-log.md
|
||||
└── sources.md
|
||||
```
|
||||
|
||||
Add more folders only when the wiki's config needs them. Common additions include `wiki/papers`, `wiki/concepts`, `wiki/people`, `wiki/products`, `wiki/organizations`, `wiki/timelines`, `wiki/questions`, `wiki/maps`, and `assets`.
|
||||
|
||||
## Starting A Wiki
|
||||
|
||||
For new wikis, use the bundled script (resolve its path via the plugin install location, typically `${CLAUDE_PLUGIN_ROOT}/skills/wiki-builder/scripts/init_wiki.sh`):
|
||||
|
||||
```bash
|
||||
bash "${CLAUDE_PLUGIN_ROOT}/skills/wiki-builder/scripts/init_wiki.sh" <slug> --title "Readable Title" --flavor research
|
||||
```
|
||||
|
||||
Pass `--root /custom/path` to put the wiki somewhere other than `~/dair-wikis`.
|
||||
|
||||
Supported default flavors are `research`, `paper`, `domain`, `product`, `person`, `organization`, and `project`. Use `research` when unsure.
|
||||
|
||||
After scaffolding:
|
||||
|
||||
1. Edit `wiki.config.md` to match the user's real goal.
|
||||
2. Put copied or downloaded source material in `raw/`.
|
||||
3. Record source provenance in `sources.md`.
|
||||
4. Generate pages under `wiki/`.
|
||||
5. Record major maintenance actions in `logs/maintenance-log.md`.
|
||||
|
||||
## Operating Workflow
|
||||
|
||||
### 1. Resolve The Task
|
||||
|
||||
Identify whether the user is asking to start, ingest, compile, query, restructure, lint, or export. If the request names an existing wiki, inspect its `wiki.config.md` before making changes.
|
||||
|
||||
### 2. Use The Local Config
|
||||
|
||||
Every wiki can have different rules. Before generating or modifying pages, read:
|
||||
|
||||
- `wiki.config.md`
|
||||
- `sources.md` when source provenance matters
|
||||
- relevant files under `prompts/` when the wiki has custom prompts
|
||||
|
||||
The local config beats generic defaults in this skill.
|
||||
|
||||
### 3. Preserve Provenance
|
||||
|
||||
Do not convert loose claims into wiki facts without a source. When using web pages, papers, transcripts, notes, or repository files, record enough provenance that a future agent can find the original source again.
|
||||
|
||||
At minimum, `sources.md` entries should include title, source path or URL, date added, and a short note about what it contributes.
|
||||
|
||||
### 4. Compile Pages
|
||||
|
||||
Prefer durable wiki pages over one-off summaries. Strong pages usually include:
|
||||
|
||||
- a concise overview
|
||||
- source-grounded key points
|
||||
- links to related wiki pages
|
||||
- open questions or uncertainty
|
||||
- update notes when relevant
|
||||
|
||||
Keep page structure consistent with the wiki's config and flavor.
|
||||
|
||||
### 5. Maintain The Wiki
|
||||
|
||||
When adding or changing many pages, update `wiki/index.md`, relevant maps, and `logs/maintenance-log.md`. If the user's request changes the wiki's purpose or structure, update `wiki.config.md` first.
|
||||
|
||||
## Flavors
|
||||
|
||||
Use `references/wiki-flavors.md` when choosing or adapting wiki types. The reference gives suggested page types and structures for research, paper, domain, product, person, organization, and project wikis.
|
||||
|
||||
## Quality Bar
|
||||
|
||||
- Make the first page useful immediately.
|
||||
- Prefer explicit filenames and stable slugs.
|
||||
- Separate raw source material from compiled interpretation.
|
||||
- Link related wiki pages.
|
||||
- Mark speculation and unknowns clearly.
|
||||
- Avoid rewriting the same source summary in many places.
|
||||
- Keep generated pages navigable for future agents and humans.
|
||||
|
||||
## Limitations
|
||||
|
||||
- Requires the upstream tool, account, API key, or local setup when the workflow names one.
|
||||
- Does not authorize destructive, production, paid, or external-message actions without explicit user approval.
|
||||
- Validate generated artifacts or recommendations against the user's real sources before treating them as final.
|
||||
@@ -0,0 +1,5 @@
|
||||
interface:
|
||||
display_name: "Wiki Builder"
|
||||
short_description: "Start and maintain configurable research wikis"
|
||||
brand_color: "#334155"
|
||||
default_prompt: "Use $wiki-builder to start a new configurable research wiki."
|
||||
@@ -0,0 +1,98 @@
|
||||
# Wiki Flavors
|
||||
|
||||
Use these as starting points. The wiki's `wiki.config.md` can override any structure.
|
||||
|
||||
## Research Wiki
|
||||
|
||||
Best for an ongoing topic with many source types.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for overview and navigation.
|
||||
- `wiki/maps/research-map.md` for the conceptual map.
|
||||
- `wiki/concepts/<concept>.md` for durable ideas.
|
||||
- `wiki/sources/<source>.md` for important source writeups.
|
||||
- `wiki/questions/<question>.md` for open investigations.
|
||||
- `derived/briefs/` for synthesis memos and outlines.
|
||||
|
||||
## Paper Wiki
|
||||
|
||||
Best for a paper, cluster of papers, or literature review.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for paper set overview.
|
||||
- `wiki/papers/<paper-slug>.md` for individual papers.
|
||||
- `wiki/concepts/<concept>.md` for reusable technical ideas.
|
||||
- `wiki/comparisons/<topic>.md` for cross-paper comparisons.
|
||||
- `wiki/questions/<question>.md` for research gaps.
|
||||
|
||||
Paper pages should usually cover problem, method, results, limitations, implementation notes, and related papers.
|
||||
|
||||
## Domain Wiki
|
||||
|
||||
Best for learning or tracking an entire field.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for high-level map.
|
||||
- `wiki/landscape.md` for actors, concepts, tools, and debates.
|
||||
- `wiki/timelines/<topic>.md` for historical development.
|
||||
- `wiki/glossary.md` for terms.
|
||||
- `wiki/questions/<question>.md` for active uncertainties.
|
||||
|
||||
## Product Wiki
|
||||
|
||||
Best for products, tools, APIs, or platforms.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for product summary.
|
||||
- `wiki/features/<feature>.md` for feature pages.
|
||||
- `wiki/use-cases/<use-case>.md` for applied workflows.
|
||||
- `wiki/competitors/<competitor>.md` for alternatives.
|
||||
- `wiki/questions/<question>.md` for evaluation gaps.
|
||||
|
||||
Product pages should distinguish documented behavior, observed behavior, pricing or availability, limitations, and integration notes.
|
||||
|
||||
## Person Wiki
|
||||
|
||||
Best for a researcher, founder, writer, or public expert.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for profile and navigation.
|
||||
- `wiki/work/<work-slug>.md` for papers, talks, posts, projects, or artifacts.
|
||||
- `wiki/themes/<theme>.md` for recurring ideas.
|
||||
- `wiki/timeline.md` for dated milestones.
|
||||
- `wiki/questions/<question>.md` for unresolved context.
|
||||
|
||||
Use source-grounded language and avoid unsupported biographical claims.
|
||||
|
||||
## Organization Wiki
|
||||
|
||||
Best for labs, companies, communities, or institutions.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for overview.
|
||||
- `wiki/projects/<project>.md` for important initiatives.
|
||||
- `wiki/people/<person>.md` for relevant people.
|
||||
- `wiki/timeline.md` for milestones.
|
||||
- `wiki/strategy.md` for source-grounded strategic analysis.
|
||||
|
||||
Separate facts from interpretation, especially for strategy or intent.
|
||||
|
||||
## Project Wiki
|
||||
|
||||
Best for an internal build, research initiative, course, or content project.
|
||||
|
||||
Suggested pages:
|
||||
|
||||
- `wiki/index.md` for status and navigation.
|
||||
- `wiki/decisions/<decision>.md` for important choices.
|
||||
- `wiki/specs/<spec>.md` for requirements.
|
||||
- `wiki/notes/<note>.md` for working notes.
|
||||
- `derived/briefs/` for summaries and handoffs.
|
||||
|
||||
Project wikis should make the current state obvious to the next agent.
|
||||
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Resolve the skill directory regardless of where the plugin is installed.
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SKILL_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
# Wiki root is configurable. Override with WIKI_ROOT env var or --root flag.
|
||||
# Default to ~/dair-wikis so the skill works out of the box on any machine.
|
||||
WIKI_ROOT="${WIKI_ROOT:-$HOME/dair-wikis}"
|
||||
|
||||
usage() {
|
||||
echo "Usage: init_wiki.sh <slug> --title \"Readable Title\" [--flavor research|paper|domain|product|person|organization|project] [--root /path/to/wikis]" >&2
|
||||
}
|
||||
|
||||
if [[ $# -lt 1 ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SLUG="$1"
|
||||
shift
|
||||
TITLE=""
|
||||
FLAVOR="research"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--title)
|
||||
TITLE="${2:-}"
|
||||
shift 2
|
||||
;;
|
||||
--flavor)
|
||||
FLAVOR="${2:-}"
|
||||
shift 2
|
||||
;;
|
||||
--root)
|
||||
WIKI_ROOT="${2:-}"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument: $1" >&2
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ! "$SLUG" =~ ^[a-z0-9]+(-[a-z0-9]+)*$ ]]; then
|
||||
echo "Slug must be lowercase kebab-case: $SLUG" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$FLAVOR" in
|
||||
research|paper|domain|product|person|organization|project) ;;
|
||||
*)
|
||||
echo "Unsupported flavor: $FLAVOR" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z "$TITLE" ]]; then
|
||||
TITLE="$(echo "$SLUG" | sed 's/-/ /g' | awk '{for (i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) substr($i,2)} 1')"
|
||||
fi
|
||||
|
||||
mkdir -p "$WIKI_ROOT"
|
||||
DEST="$WIKI_ROOT/$SLUG"
|
||||
if [[ -e "$DEST" ]]; then
|
||||
echo "Wiki already exists: $DEST" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DATE="$(date +%Y-%m-%d)"
|
||||
|
||||
mkdir -p "$DEST/raw" "$DEST/wiki" "$DEST/derived" "$DEST/prompts" "$DEST/logs" "$DEST/assets"
|
||||
|
||||
render_template() {
|
||||
local src="$1"
|
||||
local dest="$2"
|
||||
# Use a non-/ delimiter for ROOT since the path contains slashes.
|
||||
sed \
|
||||
-e "s/{{SLUG}}/$SLUG/g" \
|
||||
-e "s/{{TITLE}}/$TITLE/g" \
|
||||
-e "s/{{FLAVOR}}/$FLAVOR/g" \
|
||||
-e "s/{{DATE}}/$DATE/g" \
|
||||
-e "s|{{ROOT}}|$DEST|g" \
|
||||
"$src" > "$dest"
|
||||
}
|
||||
|
||||
render_template "$SKILL_DIR/templates/wiki.config.md" "$DEST/wiki.config.md"
|
||||
render_template "$SKILL_DIR/templates/index.md" "$DEST/wiki/index.md"
|
||||
render_template "$SKILL_DIR/templates/sources.md" "$DEST/sources.md"
|
||||
render_template "$SKILL_DIR/templates/maintenance-log.md" "$DEST/logs/maintenance-log.md"
|
||||
|
||||
cp "$SKILL_DIR"/templates/prompts/*.md "$DEST/prompts/"
|
||||
|
||||
cat <<EOF
|
||||
Created wiki:
|
||||
$DEST
|
||||
|
||||
Next:
|
||||
1. Edit wiki.config.md for the exact purpose and audience.
|
||||
2. Add source material to raw/.
|
||||
3. Record sources in sources.md.
|
||||
4. Compile durable pages under wiki/.
|
||||
EOF
|
||||
@@ -0,0 +1,20 @@
|
||||
# {{TITLE}}
|
||||
|
||||
## Overview
|
||||
|
||||
This wiki tracks source-grounded knowledge for `{{TITLE}}`.
|
||||
|
||||
## Start Here
|
||||
|
||||
- Key concepts: add the most important concept pages.
|
||||
- Source notes: add the most important source pages.
|
||||
- Open questions: add active research questions.
|
||||
- Derived briefs: add synthesized memos, maps, or outlines.
|
||||
|
||||
## Current Map
|
||||
|
||||
Add the working structure of the wiki here after the first sources are ingested.
|
||||
|
||||
## Recent Updates
|
||||
|
||||
- {{DATE}}: Wiki scaffold created.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Maintenance Log
|
||||
|
||||
Track meaningful wiki changes.
|
||||
|
||||
## {{DATE}}
|
||||
|
||||
- Created the initial wiki scaffold.
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# Compile Concept Page
|
||||
|
||||
Use this prompt to create or update a concept page.
|
||||
|
||||
Task:
|
||||
|
||||
- Read relevant source pages and raw sources.
|
||||
- Define the concept in plain language.
|
||||
- Explain why it matters for this wiki's purpose.
|
||||
- Ground the explanation in specific sources.
|
||||
- Link related concepts, source pages, and open questions.
|
||||
- Mark uncertainty where the source base is thin.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Compile Index
|
||||
|
||||
Use this prompt to update `wiki/index.md`.
|
||||
|
||||
Task:
|
||||
|
||||
- Read `wiki.config.md`, `sources.md`, and the current `wiki/` pages.
|
||||
- Rewrite `wiki/index.md` as the best entry point for this wiki.
|
||||
- Include the most useful navigation paths, not every file.
|
||||
- Surface major open questions and recent updates.
|
||||
- Keep the page aligned with the wiki flavor and audience.
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# Compile Source Page
|
||||
|
||||
Use this prompt to turn one source into a durable wiki page.
|
||||
|
||||
Task:
|
||||
|
||||
- Read the source and `wiki.config.md`.
|
||||
- Create a page under the most appropriate `wiki/` subfolder.
|
||||
- Summarize the source's concrete contribution.
|
||||
- Extract important claims, evidence, numbers, methods, examples, and limitations.
|
||||
- Link to related wiki pages.
|
||||
- End with open questions or follow-up work when useful.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Lint Wiki
|
||||
|
||||
Use this prompt to improve an existing wiki without changing its intent.
|
||||
|
||||
Task:
|
||||
|
||||
- Read `wiki.config.md`, `sources.md`, `wiki/index.md`, and a representative sample of pages.
|
||||
- Find stale links, missing source entries, unclear page names, duplicated summaries, and unsupported claims.
|
||||
- Patch focused issues when the fix is obvious.
|
||||
- Leave a concise maintenance note in `logs/maintenance-log.md`.
|
||||
@@ -0,0 +1,11 @@
|
||||
# Query And File
|
||||
|
||||
Use this prompt when answering a question from the wiki and saving the result.
|
||||
|
||||
Task:
|
||||
|
||||
- Read `wiki.config.md`, `sources.md`, and relevant wiki pages.
|
||||
- Answer the user's question with source-grounded reasoning.
|
||||
- If the answer should persist, create or update a page under `wiki/questions/`, `derived/briefs/`, or another configured location.
|
||||
- Update `wiki/index.md` if the answer becomes an important entry point.
|
||||
- Update `logs/maintenance-log.md` for material additions.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Sources
|
||||
|
||||
Record every major source added to this wiki.
|
||||
|
||||
## Source Log
|
||||
|
||||
| Date Added | Title | Type | Path Or URL | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| {{DATE}} | Initial scaffold | setup | `wiki.config.md` | Wiki created. |
|
||||
@@ -0,0 +1,53 @@
|
||||
# {{TITLE}} Wiki Config
|
||||
|
||||
Slug: `{{SLUG}}`
|
||||
Flavor: `{{FLAVOR}}`
|
||||
Created: `{{DATE}}`
|
||||
Root: `{{ROOT}}`
|
||||
|
||||
## Purpose
|
||||
|
||||
Describe what this wiki is for and what decisions, research, or creative work it should support.
|
||||
|
||||
## Audience
|
||||
|
||||
Describe who the wiki is written for.
|
||||
|
||||
## Scope
|
||||
|
||||
In scope:
|
||||
|
||||
- Add the main topics, source types, or questions this wiki should cover.
|
||||
|
||||
Out of scope:
|
||||
|
||||
- Add exclusions so future agents do not over-expand the wiki.
|
||||
|
||||
## Source Policy
|
||||
|
||||
- Keep raw source material in `raw/`.
|
||||
- Record every major source in `sources.md`.
|
||||
- Distinguish sourced claims from interpretation.
|
||||
- Mark uncertainty directly when sources conflict or evidence is thin.
|
||||
|
||||
## Page Types
|
||||
|
||||
- `wiki/index.md` for the main entry point.
|
||||
- `wiki/concepts/<concept>.md` for durable concepts.
|
||||
- `wiki/sources/<source>.md` for important source writeups.
|
||||
- `wiki/questions/<question>.md` for open questions.
|
||||
- `derived/` for briefs, outlines, and temporary synthesis.
|
||||
|
||||
## Style Rules
|
||||
|
||||
- Lead with the useful takeaway.
|
||||
- Use clear section headings.
|
||||
- Link related wiki pages.
|
||||
- Keep pages source-grounded and skimmable.
|
||||
- Avoid filler summaries that do not add navigation, synthesis, or decision value.
|
||||
|
||||
## Maintenance Rules
|
||||
|
||||
- Update `wiki/index.md` after adding important pages.
|
||||
- Update `sources.md` after adding sources.
|
||||
- Update `logs/maintenance-log.md` after meaningful structure or content changes.
|
||||
Reference in New Issue
Block a user