skillwiki 0.10.48 → 0.10.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-S4NZQOXI.js → chunk-F7LXKP4T.js} +77 -0
- package/dist/cli.js +1 -1
- package/dist/skillwiki-mcp.js +1 -1
- package/package.json +1 -1
- package/skills/.claude-plugin/plugin.json +1 -1
- package/skills/.codex-plugin/plugin.json +1 -1
- package/skills/package.json +1 -1
- package/skills/skills/using-skillwiki/SKILL.md +9 -7
- package/skills/using-skillwiki/SKILL.md +9 -7
|
@@ -1734,6 +1734,82 @@ function checkDuplicateSkills(home) {
|
|
|
1734
1734
|
const status = cliDuplicates.length > 0 ? "warn" : "info";
|
|
1735
1735
|
return check(status, "skills_duplicate", "Skills not duplicated", parts.join("; "));
|
|
1736
1736
|
}
|
|
1737
|
+
var GROK_ACTIVATION_REFERENCE = "Read @~/.grok/skillwiki.md for SkillWiki activation context.";
|
|
1738
|
+
var STALE_GROK_ACTIVATION_REFERENCE = "Read @skillwiki.md";
|
|
1739
|
+
var ACTIVATION_FIX_HINT = "run `npm run install:activation` from the llm-wiki repo";
|
|
1740
|
+
function findGrokActivationTemplate(home, cwd) {
|
|
1741
|
+
if (cwd) {
|
|
1742
|
+
const src = join10(cwd, "packages", "skills", "using-skillwiki", "activation.md");
|
|
1743
|
+
if (existsSync7(src)) return src;
|
|
1744
|
+
}
|
|
1745
|
+
const pluginsRoot = join10(home, ".grok", "installed-plugins");
|
|
1746
|
+
if (!existsSync7(pluginsRoot)) return void 0;
|
|
1747
|
+
let entries;
|
|
1748
|
+
try {
|
|
1749
|
+
entries = readdirSync3(pluginsRoot, { withFileTypes: true });
|
|
1750
|
+
} catch {
|
|
1751
|
+
return void 0;
|
|
1752
|
+
}
|
|
1753
|
+
for (const entry of entries) {
|
|
1754
|
+
if (!entry.isDirectory()) continue;
|
|
1755
|
+
const root = join10(pluginsRoot, entry.name);
|
|
1756
|
+
for (const rel of ["using-skillwiki/activation.md", "skills/using-skillwiki/activation.md"]) {
|
|
1757
|
+
const candidate = join10(root, rel);
|
|
1758
|
+
if (existsSync7(candidate)) return candidate;
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
return void 0;
|
|
1762
|
+
}
|
|
1763
|
+
function checkGrokActivation(home, cwd) {
|
|
1764
|
+
const grokDir = join10(home, ".grok");
|
|
1765
|
+
if (!existsSync7(grokDir)) {
|
|
1766
|
+
return check("pass", "activation_grok", "Grok activation", "Not a Grok host");
|
|
1767
|
+
}
|
|
1768
|
+
const activationPath = join10(grokDir, "skillwiki.md");
|
|
1769
|
+
const agentsPath = join10(grokDir, "AGENTS.md");
|
|
1770
|
+
const hasActivation = existsSync7(activationPath);
|
|
1771
|
+
const issues = [];
|
|
1772
|
+
if (!hasActivation) {
|
|
1773
|
+
issues.push("~/.grok/skillwiki.md missing");
|
|
1774
|
+
}
|
|
1775
|
+
if (!existsSync7(agentsPath)) {
|
|
1776
|
+
issues.push("~/.grok/AGENTS.md missing");
|
|
1777
|
+
} else {
|
|
1778
|
+
const agents = readFileSync6(agentsPath, "utf8");
|
|
1779
|
+
const hasBegin = agents.includes("<!-- skillwiki:begin -->");
|
|
1780
|
+
const hasExpected = agents.includes(GROK_ACTIVATION_REFERENCE);
|
|
1781
|
+
const hasStale = agents.includes(STALE_GROK_ACTIVATION_REFERENCE);
|
|
1782
|
+
if (!hasBegin) {
|
|
1783
|
+
issues.push("AGENTS.md marker missing");
|
|
1784
|
+
} else if (hasStale && !hasExpected) {
|
|
1785
|
+
issues.push("AGENTS.md marker is stale (@skillwiki.md)");
|
|
1786
|
+
} else if (!hasExpected) {
|
|
1787
|
+
issues.push("AGENTS.md marker is stale");
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
if (hasActivation) {
|
|
1791
|
+
const template = findGrokActivationTemplate(home, cwd);
|
|
1792
|
+
if (template) {
|
|
1793
|
+
try {
|
|
1794
|
+
const installed = readFileSync6(activationPath, "utf8");
|
|
1795
|
+
const expected = readFileSync6(template, "utf8");
|
|
1796
|
+
if (installed !== expected) {
|
|
1797
|
+
issues.push("~/.grok/skillwiki.md differs from template");
|
|
1798
|
+
}
|
|
1799
|
+
} catch {
|
|
1800
|
+
}
|
|
1801
|
+
}
|
|
1802
|
+
}
|
|
1803
|
+
if (issues.length > 0) {
|
|
1804
|
+
return check(
|
|
1805
|
+
"warn",
|
|
1806
|
+
"activation_grok",
|
|
1807
|
+
"Grok activation",
|
|
1808
|
+
`${issues.join("; ")} \u2014 ${ACTIVATION_FIX_HINT}`
|
|
1809
|
+
);
|
|
1810
|
+
}
|
|
1811
|
+
return check("pass", "activation_grok", "Grok activation", "Marker and compact file are current");
|
|
1812
|
+
}
|
|
1737
1813
|
function checkNpmUpdate(home, currentVersion) {
|
|
1738
1814
|
const { hasUpdate, latest, distTag } = latestFromCache(home, currentVersion);
|
|
1739
1815
|
if (!latest) {
|
|
@@ -3259,6 +3335,7 @@ async function runDoctor(input) {
|
|
|
3259
3335
|
checks.push(checkVfsCacheHealth(resolvedPath));
|
|
3260
3336
|
checks.push(checkSkillsInstalled(input.home, input.cwd));
|
|
3261
3337
|
checks.push(checkDuplicateSkills(input.home));
|
|
3338
|
+
checks.push(checkGrokActivation(input.home, input.cwd));
|
|
3262
3339
|
checks.push(checkNpmUpdate(input.home, input.currentVersion));
|
|
3263
3340
|
checks.push(checkPluginVersionDrift(input.home, input.currentVersion, devSourceRun));
|
|
3264
3341
|
checks.push(...vaultSyncChecks({
|
package/dist/cli.js
CHANGED
package/dist/skillwiki-mcp.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillwiki",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.49",
|
|
4
4
|
"skills": "./",
|
|
5
5
|
"description": "Project-aware Karpathy-style knowledge base for Claude Code: 19 prompt-only skills (wiki-*, proj-*, using-skillwiki) backed by the deterministic `skillwiki` CLI.",
|
|
6
6
|
"author": {
|
package/skills/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke
|
|
3
|
+
description: Invoke when vault, wiki, knowledge-base, or SkillWiki setup work arises — maps skillwiki skills, dev-loop alignment, adaptive workflow profiles, and vault routing. Do not invoke for unrelated coding or creative tasks.
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
@@ -30,19 +30,21 @@ Use this section as procedural planning guidelines:
|
|
|
30
30
|
|
|
31
31
|
**Claude Code** and **Codex** activate SkillWiki via the plugin SessionStart hook (`hooks/session-start` / `hooks/session-start-codex`). Do **not** install activation markers into `~/.claude/CLAUDE.md` or `~/.codex/AGENTS.md` when the plugin is present — that double-injects context and pollutes user-scope instruction files.
|
|
32
32
|
|
|
33
|
-
On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the repo to install:
|
|
33
|
+
On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the llm-wiki repo to install:
|
|
34
34
|
|
|
35
35
|
- `~/.grok/skillwiki.md` — compact derivative covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
|
|
36
|
-
- `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read
|
|
36
|
+
- `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read @~/.grok/skillwiki.md for SkillWiki activation context.`
|
|
37
37
|
|
|
38
38
|
Default install is **Grok only**. Re-running `install:activation` also **removes** any prior Claude/Codex activation marker and matching `skillwiki.md` (cleanup for the earlier dual-target installer). Opt-in fallbacks only when the plugin SessionStart path is unavailable:
|
|
39
39
|
|
|
40
|
-
- `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker
|
|
41
|
-
- `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker
|
|
40
|
+
- `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker `Read @~/.claude/skillwiki.md …`
|
|
41
|
+
- `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker `Read @~/.codex/skillwiki.md …`
|
|
42
42
|
|
|
43
|
-
The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, the
|
|
43
|
+
The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, `@~/.grok/skillwiki.md` (or the Claude/Codex home path) is inlined. On Grok (no `@file` support), `read_file` the exact path `~/.grok/skillwiki.md`. Never `~/skillwiki.md`. Never a cwd-relative `skillwiki.md`. If that file is missing, say activation is absent and suggest `npm run install:activation` from the llm-wiki repo; do not create a home-level `skillwiki.md`.
|
|
44
44
|
|
|
45
|
-
The
|
|
45
|
+
The compact `~/.grok/skillwiki.md` is the session-start context. This full skill is for vault/wiki/setup work only — do not load it at the start of an unrelated session.
|
|
46
|
+
|
|
47
|
+
The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the Grok install matches the template and that Claude/Codex are not still carrying the activation block. `skillwiki doctor` reports a warn on a missing file, a stale `@skillwiki.md` marker, or compact-file drift.
|
|
46
48
|
|
|
47
49
|
## When to Use These Skills
|
|
48
50
|
Invoke a skillwiki skill when the user:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: using-skillwiki
|
|
3
|
-
description: Invoke
|
|
3
|
+
description: Invoke when vault, wiki, knowledge-base, or SkillWiki setup work arises — maps skillwiki skills, dev-loop alignment, adaptive workflow profiles, and vault routing. Do not invoke for unrelated coding or creative tasks.
|
|
4
4
|
---
|
|
5
5
|
*Note: If executing as a background subagent, skip this skill section.*
|
|
6
6
|
|
|
@@ -30,19 +30,21 @@ Use this section as procedural planning guidelines:
|
|
|
30
30
|
|
|
31
31
|
**Claude Code** and **Codex** activate SkillWiki via the plugin SessionStart hook (`hooks/session-start` / `hooks/session-start-codex`). Do **not** install activation markers into `~/.claude/CLAUDE.md` or `~/.codex/AGENTS.md` when the plugin is present — that double-injects context and pollutes user-scope instruction files.
|
|
32
32
|
|
|
33
|
-
On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the repo to install:
|
|
33
|
+
On harnesses where SessionStart `additionalContext` does **not** fire (**Grok**), SkillWiki activation context is delivered via a compact file. Run `npm run install:activation` from the llm-wiki repo to install:
|
|
34
34
|
|
|
35
35
|
- `~/.grok/skillwiki.md` — compact derivative covering identity, CLI probe, skill map, PRD bridge, fail-closed boundary, and drift warning.
|
|
36
|
-
- `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read
|
|
36
|
+
- `~/.grok/AGENTS.md` — prepended with a marker-wrapped reference: `Read @~/.grok/skillwiki.md for SkillWiki activation context.`
|
|
37
37
|
|
|
38
38
|
Default install is **Grok only**. Re-running `install:activation` also **removes** any prior Claude/Codex activation marker and matching `skillwiki.md` (cleanup for the earlier dual-target installer). Opt-in fallbacks only when the plugin SessionStart path is unavailable:
|
|
39
39
|
|
|
40
|
-
- `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker
|
|
41
|
-
- `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker
|
|
40
|
+
- `npm run install:activation -- --with-claude` — `~/.claude/skillwiki.md` + `CLAUDE.md` marker `Read @~/.claude/skillwiki.md …`
|
|
41
|
+
- `npm run install:activation -- --with-codex` — `~/.codex/skillwiki.md` + `AGENTS.md` marker `Read @~/.codex/skillwiki.md …`
|
|
42
42
|
|
|
43
|
-
The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, the
|
|
43
|
+
The activation file is self-contained literal text (ADR-3). On harnesses with `@file` import support, `@~/.grok/skillwiki.md` (or the Claude/Codex home path) is inlined. On Grok (no `@file` support), `read_file` the exact path `~/.grok/skillwiki.md`. Never `~/skillwiki.md`. Never a cwd-relative `skillwiki.md`. If that file is missing, say activation is absent and suggest `npm run install:activation` from the llm-wiki repo; do not create a home-level `skillwiki.md`.
|
|
44
44
|
|
|
45
|
-
The
|
|
45
|
+
The compact `~/.grok/skillwiki.md` is the session-start context. This full skill is for vault/wiki/setup work only — do not load it at the start of an unrelated session.
|
|
46
|
+
|
|
47
|
+
The template lives at `packages/skills/using-skillwiki/activation.md`. Run `npm run install:activation:check` to verify the Grok install matches the template and that Claude/Codex are not still carrying the activation block. `skillwiki doctor` reports a warn on a missing file, a stale `@skillwiki.md` marker, or compact-file drift.
|
|
46
48
|
|
|
47
49
|
## When to Use These Skills
|
|
48
50
|
Invoke a skillwiki skill when the user:
|