mirror of
https://github.com/mr0xb/dotfiles.git
synced 2026-08-28 03:44:57 -04:00
updates
This commit is contained in:
parent
c4ff3550e4
commit
807b7a4504
18 changed files with 567 additions and 0 deletions
22
.claude/commands/obsidian-load.md
Normal file
22
.claude/commands/obsidian-load.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Load context from Obsidian notes in the `Claude/` directory into the current conversation.
|
||||
|
||||
## Behavior
|
||||
|
||||
1. Derive the project name from the current working directory (use the repo or app folder name).
|
||||
2. List files in `Claude/<project-name>/` using `mcp__obsidian__list_vault_files`.
|
||||
3. If `$ARGUMENTS` is provided, treat it as a search query and use `mcp__obsidian__search_vault_smart` to find relevant notes across the entire `Claude/` directory instead of listing by project.
|
||||
4. Read the most relevant notes:
|
||||
- Without args: read the 3 most recent notes for the current project (by filename date prefix).
|
||||
- With args: read the top 3 search results.
|
||||
- Use `mcp__obsidian__get_vault_file` to fetch each note's content.
|
||||
5. Synthesize what you loaded into a brief summary for the user, covering:
|
||||
- What sessions were found and when they occurred
|
||||
- Key decisions or context that is now loaded
|
||||
- Any open questions or next steps from prior sessions that are still relevant
|
||||
6. Explicitly tell the user: "I've loaded this context and will use it going forward in this conversation."
|
||||
|
||||
## Notes
|
||||
|
||||
- If no notes exist for the current project yet, say so and suggest running `/obsidian-save` at the end of a session.
|
||||
- Do not dump raw note content at the user — synthesize and summarize it.
|
||||
- If notes contain contradictory information, flag it and ask which is current.
|
||||
64
.claude/commands/obsidian-save.md
Normal file
64
.claude/commands/obsidian-save.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
Save current conversation context to an Obsidian note under the `Claude/` directory.
|
||||
|
||||
## What to save
|
||||
|
||||
Capture all of the following that are relevant to the current conversation:
|
||||
|
||||
- **Conversation summary**: What the user is trying to accomplish and why
|
||||
- **Project context**: Relevant architecture, design decisions, or constraints discovered
|
||||
- **Task state**: What has been completed, what is in progress, what is blocked or pending
|
||||
- **Key decisions**: Any choices made and the reasoning behind them
|
||||
- **Open questions**: Unresolved questions or things to revisit
|
||||
- **Next steps**: Concrete actions that should follow from this session
|
||||
|
||||
## File location
|
||||
|
||||
Derive the project name from the current working directory (use the repo or app folder name). Save to:
|
||||
|
||||
```
|
||||
Claude/<project-name>/<YYYY-MM-DD>-<short-slug>.md
|
||||
```
|
||||
|
||||
Use today's date and a short 2-4 word slug describing the session topic (e.g. `2026-04-29-ruth-plugin-setup.md`).
|
||||
|
||||
If `$ARGUMENTS` is provided, use it as the slug instead of generating one.
|
||||
|
||||
## Note format
|
||||
|
||||
Use this structure:
|
||||
|
||||
```markdown
|
||||
---
|
||||
date: <YYYY-MM-DD>
|
||||
project: <project-name>
|
||||
tags: [claude-context]
|
||||
---
|
||||
|
||||
# <Session Title>
|
||||
|
||||
## Summary
|
||||
<1-3 sentence overview of what this session was about>
|
||||
|
||||
## Context
|
||||
<Relevant project background, architecture notes, constraints>
|
||||
|
||||
## Decisions
|
||||
<Decisions made and rationale>
|
||||
|
||||
## Task State
|
||||
<What was completed, in progress, or blocked>
|
||||
|
||||
## Open Questions
|
||||
<Anything unresolved>
|
||||
|
||||
## Next Steps
|
||||
<Concrete follow-up actions>
|
||||
```
|
||||
|
||||
## Steps
|
||||
|
||||
1. Determine the project name from the working directory.
|
||||
2. Determine today's date.
|
||||
3. Draft the note content based on the current conversation.
|
||||
4. Use `mcp__obsidian__create_vault_file` to write the note to the vault.
|
||||
5. Confirm to the user where the note was saved.
|
||||
14
.claude/policy-limits.json
Normal file
14
.claude/policy-limits.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"restrictions": {
|
||||
"allow_remote_control": {
|
||||
"allowed": false
|
||||
},
|
||||
"allow_quick_web_setup": {
|
||||
"allowed": false
|
||||
},
|
||||
"enforce_web_search_mcp_isolation": {
|
||||
"allowed": false
|
||||
}
|
||||
},
|
||||
"compliance_taints": []
|
||||
}
|
||||
128
.claude/settings.json
Normal file
128
.claude/settings.json
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
{
|
||||
"env": {
|
||||
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "100000"
|
||||
},
|
||||
"hooks": {
|
||||
"Notification": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "afplay ~/.claude/sounds/mario/pause.wav 2>/dev/null || true",
|
||||
"async": true
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "osascript ~/bin/confetti.scpt",
|
||||
"async": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit|MultiEdit",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin",
|
||||
"timeout": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PostToolUseFailure": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "afplay ~/.claude/sounds/mario/tool-failure/bowser-fire.wav 2>/dev/null || true",
|
||||
"async": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PreCompact": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin",
|
||||
"timeout": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"PreToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit|MultiEdit",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin",
|
||||
"timeout": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"SessionEnd": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "/usr/local/bin/aicodemetricsd hook claude --hook-input stdin",
|
||||
"timeout": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"Stop": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "afplay ~/.claude/sounds/mario/stop/stomp.wav 2>/dev/null || true",
|
||||
"async": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"UserPromptSubmit": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "afplay ~/.claude/sounds/mario/prompt-submit/coin.wav 2>/dev/null || true",
|
||||
"async": true
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"command": "osascript ~/bin/confetti.scpt",
|
||||
"async": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"enabledPlugins": {
|
||||
"mind@memvid": true,
|
||||
"superpowers@claude-plugins-official": true
|
||||
},
|
||||
"extraKnownMarketplaces": {
|
||||
"endless-toil": {
|
||||
"source": {
|
||||
"source": "directory",
|
||||
"path": "/Users/steve.briggs/.endless-toil"
|
||||
}
|
||||
},
|
||||
"memvid": {
|
||||
"source": {
|
||||
"source": "directory",
|
||||
"path": "/Users/steve.briggs/claude-brain"
|
||||
}
|
||||
}
|
||||
},
|
||||
"effortLevel": "xhigh",
|
||||
"theme": "custom:challengerdeep",
|
||||
"model": "sonnet"
|
||||
}
|
||||
68
.claude/themes/challengerdeep.json
Normal file
68
.claude/themes/challengerdeep.json
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"name": "Challenger Deep",
|
||||
"base": "dark",
|
||||
"overrides": {
|
||||
"claude": "#906cff",
|
||||
"claudeShimmer": "#c991e1",
|
||||
"text": "#cbe3e7",
|
||||
"inverseText": "#100e23",
|
||||
"inactive": "#a6b3cc",
|
||||
"inactiveShimmer":"#cbe3e7",
|
||||
"subtle": "#5a5475",
|
||||
"suggestion": "#c991e1",
|
||||
"permission": "#ffe9aa",
|
||||
"permissionShimmer":"#ffb378",
|
||||
"remember": "#63f2f1",
|
||||
|
||||
"success": "#62d196",
|
||||
"error": "#ff5458",
|
||||
"warning": "#ffb378",
|
||||
"warningShimmer": "#ffe9aa",
|
||||
"merged": "#906cff",
|
||||
|
||||
"promptBorder": "#906cff",
|
||||
"promptBorderShimmer": "#c991e1",
|
||||
"planMode": "#63f2f1",
|
||||
"autoAccept": "#62d196",
|
||||
"bashBorder": "#ffb378",
|
||||
"ide": "#91ddff",
|
||||
"fastMode": "#c991e1",
|
||||
"fastModeShimmer":"#aaffe4",
|
||||
|
||||
"diffAdded": "#1f3a2a",
|
||||
"diffRemoved": "#3a1f23",
|
||||
"diffAddedDimmed": "#1a2e22",
|
||||
"diffRemovedDimmed": "#2e1a1d",
|
||||
"diffAddedWord": "#2c5a40",
|
||||
"diffRemovedWord": "#5a2c30",
|
||||
|
||||
"userMessageBackground": "#2a2640",
|
||||
"userMessageBackgroundHover": "#3b3470",
|
||||
"messageActionsBackground": "#3b3470",
|
||||
"bashMessageBackgroundColor": "#2c281a",
|
||||
"memoryBackgroundColor": "#1f2c3a",
|
||||
"selectionBg": "#3b3470",
|
||||
|
||||
"rate_limit_fill": "#906cff",
|
||||
"rate_limit_empty": "#3b3470",
|
||||
"briefLabelYou": "#ffe9aa",
|
||||
"briefLabelClaude": "#906cff",
|
||||
|
||||
"red_FOR_SUBAGENTS_ONLY": "#ff5458",
|
||||
"blue_FOR_SUBAGENTS_ONLY": "#65b2ff",
|
||||
"green_FOR_SUBAGENTS_ONLY": "#62d196",
|
||||
"yellow_FOR_SUBAGENTS_ONLY": "#ffe9aa",
|
||||
"purple_FOR_SUBAGENTS_ONLY": "#906cff",
|
||||
"orange_FOR_SUBAGENTS_ONLY": "#ffb378",
|
||||
"pink_FOR_SUBAGENTS_ONLY": "#c991e1",
|
||||
"cyan_FOR_SUBAGENTS_ONLY": "#63f2f1",
|
||||
|
||||
"rainbow_red": "#ff5458",
|
||||
"rainbow_orange": "#ffb378",
|
||||
"rainbow_yellow": "#ffe9aa",
|
||||
"rainbow_green": "#62d196",
|
||||
"rainbow_blue": "#65b2ff",
|
||||
"rainbow_indigo": "#906cff",
|
||||
"rainbow_violet": "#c991e1"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue