Skip to content
Open
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
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,22 @@ Skills, commands, and hooks for [Basic Memory](https://github.com/basicmachines-
- [Basic Memory](https://github.com/basicmachines-co/basic-memory) MCP server must be configured
- Claude Code CLI

## Optional: Validation with Basic Memory Hooks

For enhanced memo quality, install [basic-memory-hooks](https://github.com/basicmachines-co/basic-memory-hooks):

```bash
pip install basic-memory-hooks
python -m basic_memory_hooks # Start validation server
```

When the hooks server is running, the plugin will:
- Validate memos before saving
- Auto-fix common formatting issues
- Report any quality warnings

The plugin gracefully degrades if the hooks server isn't running—memos save normally without validation.

## License

MIT
17 changes: 14 additions & 3 deletions commands/remember.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Capture insights, decisions, or learnings to Basic Memory
argument-hint: [title] [optional: folder]
allowed-tools: mcp__basic-memory__write_note, mcp__basic-memory__search_notes
allowed-tools: mcp__basic-memory__write_note, mcp__basic-memory__search_notes, WebFetch
---

# Remember
Expand Down Expand Up @@ -35,9 +35,20 @@ Create a structured note capturing the key insights from our conversation.
- `[learning]` - Lessons learned
- Relations to link related concepts with `[[WikiLinks]]`

3. **Save using** `mcp__basic-memory__write_note`:
3. **Validate the note** (optional, graceful degradation):
- Try to POST the content to `http://localhost:8000/validate` using WebFetch
- If the hooks API is available:
- Use the returned `content` (which may have auto-fixes applied)
- Note any `warnings` to mention to the user
- If the API is unavailable (connection refused, timeout):
- Continue with the original content - validation is optional
- This step enhances quality but never blocks saving

4. **Save using** `mcp__basic-memory__write_note`:
- folder: "$2" or "notes"
- Include relevant tags
- Project: use "main" unless user specifies otherwise

4. **Confirm** what was captured and where it was saved.
5. **Confirm** what was captured and where it was saved.
- If validation ran, mention any warnings that were found
- If validation was skipped, that's fine - don't mention it
20 changes: 20 additions & 0 deletions skills/knowledge-capture/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,26 @@ mcp__basic-memory__read_note(
)
```

## Optional: Validation with Basic Memory Hooks

If the user has `basic-memory-hooks` running (`python -m basic_memory_hooks`), you can validate and auto-fix notes before saving:

1. **Before calling write_note**, try to POST to `http://localhost:8000/validate`:
```json
{"content": "full markdown content", "title": "Note Title"}
```

2. **If the API responds**:
- Use the returned `content` field (may have auto-fixes applied)
- Check `warnings` array for any issues to mention
- `success` indicates if validation passed

3. **If the API is unavailable** (connection refused, timeout):
- Continue with the original content
- Validation is optional - don't block or fail

This provides graceful degradation: enhanced quality when available, normal behavior otherwise.

## Folder Organization

Choose appropriate folders:
Expand Down
14 changes: 12 additions & 2 deletions skills/research/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,22 @@ tags:
- relates-to [[Related Concepts]]
```

### 5. Save to Basic Memory
### 5. Validate (Optional)

If `basic-memory-hooks` is running, validate before saving:

1. POST to `http://localhost:8000/validate` with `{"content": "...", "title": "..."}`
2. If API responds: use returned `content` (may have auto-fixes)
3. If API unavailable: continue with original content

This is optional - validation enhances quality but never blocks saving.

### 6. Save to Basic Memory

```python
mcp__basic-memory__write_note(
title="Research: [Topic]",
content="[Full report content]",
content="[Full report content]", # or validated content if available
folder="research",
tags=["research", "topic-tags"],
project="main"
Expand Down
2 changes: 2 additions & 0 deletions skills/spec-driven-development/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,8 @@ tags:
)
```

**Optional Validation:** If `basic-memory-hooks` is running at `http://localhost:8000`, POST the content to `/validate` first. Use the returned `content` (auto-fixed) if available. If the API is unavailable, continue without validation.

### Updating Spec Progress

```python
Expand Down