Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 3 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,19 +56,12 @@ pre-commit install

## Claude Code plugins

Personal plugins in `plugins/` are served as a local marketplace. Registered by `chezmoi apply`
pointing directly at this directory — no deployment step, edits take effect immediately.
Personal skills-directory plugin deployed by `chezmoi apply` to `~/.claude/skills/okf/`.
Loaded automatically as `okf@skills-dir` on session start — no install step.

Current plugins:

- `okf-wiki` — SessionEnd hook that distills memsearch journals into the `~/wiki` OKF bundle

To install without cloning the repo:

```bash
claude plugin marketplace add "https://github.com/yxtay/dotfiles" --sparse plugins
claude plugin install okf-wiki@yxtay
```
- `okf` — OKF skill + SessionEnd hook that distills memsearch journals into the `~/wiki` OKF bundle
Comment on lines 62 to +64

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Keep the “Current plugins” list accurate.

The setup script still installs multiple plugins, but this section lists only okf. Either list the other installed plugins or rename the heading to clarify that this is only the personal OKF plugin.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 62 - 64, Update the “Current plugins” section in
README.md to accurately reflect all plugins installed by the setup script, or
rename the heading and wording to explicitly identify it as the personal OKF
plugin only. Keep the listed plugin description consistent with the chosen
scope.


## License

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,12 @@ if command -v rtk >/dev/null; then
fi

agents=(opencode)
{{- if not .is_ephemeral }}
agents+=(claude-code)
{{- end }}

repo_skills=(
mattpocock/skills=wayfinder,grill-with-docs,to-spec,to-tickets,implement,diagnosing-bugs
mattpocock/skills=grilling,domain-modeling,research,prototype,codebase-design,tdd,triage,handoff
mattpocock/skills=setup-matt-pocock-skills,improve-codebase-architecture,writing-great-skills
mattpocock/skills=wayfinder,grill-with-docs,to-spec,to-tickets,triage,handoff,implement
mattpocock/skills=grilling,domain-modeling,research,prototype,codebase-design,tdd,diagnosing-bugs
mattpocock/skills=resolving-merge-conflicts,improve-codebase-architecture
mattpocock/skills=ask-matt,setup-matt-pocock-skills,writing-great-skills,teach,grill-me
philschmid/mcp-cli=mcp-cli
)
for entry in "${repo_skills[@]}"; do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ fi
marketplaces=(
anthropics/claude-plugins-official
JuliusBrussee/caveman
mattpocock/skills
zilliztech/memsearch
)
for entry in "${marketplaces[@]}"; do
Expand All @@ -19,11 +20,11 @@ done
plugins=(
claude-code-setup@claude-plugins-official
claude-md-management@claude-plugins-official
commit-commands@claude-plugins-official
gopls-lsp@claude-plugins-official
pyright-lsp@claude-plugins-official
typescript-lsp@claude-plugins-official
caveman@caveman
mattpocock-skills@mattpocock
memsearch@memsearch-plugins
)
for entry in "${plugins[@]}"; do
Expand Down
18 changes: 9 additions & 9 deletions chezmoi/.chezmoitemplates/claude-settings.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"model": "sonnet",
"fallbackModel": ["bedrock.claude-sonnet-4-5"],
"fallbackModel": ["bedrock.claude-sonnet-4-5[1m]"],
"modelOverrides": {
"claude-haiku-4-5": "bedrock.claude-haiku-4-5",
"claude-sonnet-4-5": "bedrock.claude-sonnet-4-5",
"claude-sonnet-4-6": "bedrock.claude-sonnet-4-6",
"claude-sonnet-5": "bedrock.claude-sonnet-5",
"claude-opus-4-8": "bedrock.claude-opus-4-8"
"claude-haiku-4-5": "bedrock.claude-haiku-4-5[1m]",
"claude-sonnet-4-5": "bedrock.claude-sonnet-4-5[1m]",
"claude-sonnet-4-6": "bedrock.claude-sonnet-4-6[1m]",
"claude-sonnet-5": "bedrock.claude-sonnet-5[1m]",
"claude-opus-4-8": "bedrock.claude-opus-4-8[1m]"
},
"env": {
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "bedrock.claude-haiku-4-5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "bedrock.claude-opus-4-8",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "bedrock.claude-sonnet-4-6"
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "bedrock.claude-haiku-4-5[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "bedrock.claude-opus-4-8[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "bedrock.claude-sonnet-4-6[1m]"
},
"autoCompactEnabled": true,
"awaySummaryEnabled": true,
Expand Down
76 changes: 76 additions & 0 deletions chezmoi/private_dot_claude/skills/okf/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
name: okf
description: >-
Create and maintain knowledge bundles in Open Knowledge Format (OKF) —
markdown + YAML-frontmatter concept files for durable knowledge. Use when
the user wants to write, structure, or validate an OKF bundle, add a
"concept" document, build an `index.md`/`log.md`, cross-link concepts, or
asks "is this OKF-conformant".
user-invocable: true
argument-hint: "[produce|maintain|consume] [bundle-path]"
---

# Open Knowledge Format (OKF) skill

OKF is a directory of markdown files with YAML frontmatter. Work from the spec —
[SPEC.md](SPEC.md) is the source of truth.

## The one hard rule

Conformant (§9): every non-reserved `.md` file has parseable YAML frontmatter
with a **non-empty `type`** field. Everything else is soft guidance — tolerate
missing optional fields, unknown types, and broken links.

## Conventions

- **One concept = one file.** File path minus `.md` is the concept ID.
- **Bundle path:** use what comes from context — `~/wiki` (personal wiki) or
`.okf/` (project bundle) are common. Use the path from the task; invent none.
- **Frontmatter:** `type` required. Add `title`, `description`, `tags`,
`timestamp` (ISO 8601) when useful; `resource` (canonical URI) only for
concepts bound to a real asset.
- **Body:** structural markdown (tables, lists, fenced code) over prose.
Conventional headings: `# Schema`, `# Examples`, `# Citations`.
- **Cross-links:** standard markdown links; absolute bundle-relative form
(`/services/auth-api.md`) preferred. Relationship kind belongs in prose.
- **Reserved:** `index.md` (directory listing) and `log.md` (ISO-dated history,
newest first) — concepts never use these names.

Templates: [concept](templates/concept.md), [index](templates/index.md),
[log](templates/log.md).

## Modes

### produce — create or extend a bundle

1. Read [SPEC.md](SPEC.md).
2. Choose sources: **code** (source, READMEs, docstrings, config), **docs/wiki**
(distill into concepts; cite originals under `# Citations`), **manual**
(decisions, playbooks, metrics).
3. Lay out directories by domain (`services/`, `datasets/`, `decisions/`).
4. Write each concept from [templates/concept.md](templates/concept.md): set a
descriptive `type`, fill recommended fields, cross-link related concepts.
5. Add/refresh `index.md` per directory (`okf_version: "0.1"` in root index)
and append to `log.md`. Done when every new or changed concept has an
`index.md` entry.

### maintain — sync a bundle with reality

1. Triage affected concepts by `resource`, path, or topic — cover every one.
2. Update body and `timestamp`; add or fix cross-links; create concepts for new
assets; mark removed assets with `**Deprecation**` to preserve context.
3. Update `index.md` entries and append to `log.md`. Done when every
triage-listed concept has an updated `timestamp`, `index.md` reflects all
changes, and `log.md` has an entry.

### consume — use a bundle as context

1. Read the bundle-root `index.md` first, then follow links into relevant
concepts only.
2. Broken links are not-yet-written knowledge, not errors.
3. When you learn something durable, switch to **maintain** and write it back.

## Before declaring done

- `index.md` updated for any new concepts.
- `log.md` entry appended if the bundle has one.
Loading