eltmon/overdeck/sync-sources/skills/knowledge-capture/SKILL.md
knowledge-capture
AI self-monitoring skill. Triggers proactively when AI detects confusion or makes corrected mistakes (wrong DB schema, incorrect assumptions, user corrections on key insights). Prompts to capture learnings as project-specific skills. NOT user-invoked - AI should reference this when confused.
- Source repository stars
- 14
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
This skill helps AI assistants recognize their own confusion and systematically capture project-specific knowledge to prevent repeated mistakes.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/eltmon/overdeck --skill "sync-sources/skills/knowledge-capture"Inspect the Agent Skill "knowledge-capture" from https://github.com/eltmon/overdeck/blob/b6d7106f7044de1a243a38b3f2d43b5bbe9b0aaf/sync-sources/skills/knowledge-capture/SKILL.md at commit b6d7106f7044de1a243a38b3f2d43b5bbe9b0aaf. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
When to Trigger (Self-Assessment)
IMPORTANT: This skill is NOT user-invoked. As the AI, you should proactively invoke this when you detect ANY of these situations:
Database Schema Mistakes [category: database]Queried a column that doesn't existUsed wrong column name (e.g., userid vs userId vs ownerid) - 02
Step 0: Check for Permanent Override
FIRST, check if user has permanently disabled this skill:
FIRST, check if user has permanently disabled this skill: - 03
Step 0.5: Check User Preferences for Category Exclusions
Check /.claude/CLAUDE.md for excluded categories:
Check /.claude/CLAUDE.md for excluded categories:Look for sections like: markdown - 04
Step 1: Check Configuration
Default configuration (if file doesn't exist):
"aggressive" - Prompt on every trigger"normal" - Prompt on high/medium triggers, respect cooldown"minimal" - Only high-confidence triggers, longer cooldown - 05
Step 2: Respect Cooldowns and Dismissals
Review the “Step 2: Respect Cooldowns and Dismissals” section in the pinned source before continuing.
Review and apply the “Step 2: Respect Cooldowns and Dismissals” source section.
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
After any interaction, update the config file:Writes files
The documentation asks the agent to create, modify, or delete local files.
| "Shut up forever" | Create override | This project | Yes (delete file) |Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 14 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- eltmon/overdeck
- Skill path
- sync-sources/skills/knowledge-capture/SKILL.md
- Commit
- b6d7106f7044de1a243a38b3f2d43b5bbe9b0aaf
- License
- MIT
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
Knowledge Capture
This skill helps AI assistants recognize their own confusion and systematically capture project-specific knowledge to prevent repeated mistakes.
When to Trigger (Self-Assessment)
IMPORTANT: This skill is NOT user-invoked. As the AI, you should proactively invoke this when you detect ANY of these situations:
High-Confidence Triggers (Always Invoke)
-
Database Schema Mistakes [category:
database]- Queried a column that doesn't exist
- Used wrong column name (e.g.,
user_idvsuserIdvsowner_id) - Assumed an index exists that doesn't
- Got foreign key relationships wrong
- Example: "SELECT created_at FROM users" → Error: column "created_at" doesn't exist (it's "createdAt")
-
User Corrections on Architecture [category:
architecture]- User corrects you on how a system component works
- User explains a non-obvious design pattern in use
- User clarifies that "we don't do it that way here"
- Example: "Actually, we use event sourcing here, not direct DB updates"
-
API/Interface Misunderstandings [category:
api]- Called an API endpoint that doesn't exist
- Used wrong HTTP method or payload structure
- Misunderstood authentication flow
- Example: Assumed REST when it's GraphQL
-
Build/Deploy Confusion [category:
build]- Wrong build commands for this project
- Incorrect environment variable names
- Misunderstood the deployment pipeline
- Example: "npm run build" fails because project uses "pnpm build:prod"
Medium-Confidence Triggers (Invoke After 2+ Occurrences)
-
Naming Convention Mismatches [category:
naming]- Used camelCase when project uses snake_case (or vice versa)
- Got file naming patterns wrong
- Misnamed components/modules
-
Testing Approach Misalignment [category:
testing]- Wrote unit tests when project prefers integration tests
- Used wrong test framework or patterns
- Missed required test coverage patterns
-
Code Style Conflicts [category:
style]- Used patterns the codebase explicitly avoids
- Suggested dependencies the project doesn't allow
- Architectural patterns that conflict with project conventions
Low-Confidence Triggers (Check Config First)
- Minor Corrections [category:
preferences]- Small preference corrections from user
- "We prefer X over Y" statements
- Style guide clarifications
Invocation Protocol
Step 0: Check for Permanent Override
FIRST, check if user has permanently disabled this skill:
# If project has override skill, this skill is permanently disabled
if [ -f ".claude/skills/knowledge-capture/SKILL.md" ]; then
# User has "shut up forever" - do nothing
exit 0
fi
If override exists, do not prompt - the user has explicitly disabled this skill.
Step 0.5: Check User Preferences for Category Exclusions
Check ~/.claude/CLAUDE.md for excluded categories:
grep -A 20 "## AI Suggestion Preferences" ~/.claude/CLAUDE.md 2>/dev/null
Look for sections like:
## AI Suggestion Preferences
### knowledge-capture
skip: database, authentication, infrastructure
If the current trigger category is in the skip list, do not prompt.
Step 1: Check Configuration
cat .overdeck/knowledge-capture.json 2>/dev/null || echo "{}"
Default configuration (if file doesn't exist):
{
"enabled": true,
"mode": "normal",
"promptCooldownMinutes": 30,
"lastPromptTimestamp": null,
"capturedCount": 0,
"dismissedCount": 0,
"sessionDismissals": 0
}
Mode settings:
"aggressive"- Prompt on every trigger"normal"- Prompt on high/medium triggers, respect cooldown"minimal"- Only high-confidence triggers, longer cooldown"silent"- Log but never prompt (user said "shut up")"disabled"- Completely off
Step 2: Respect Cooldowns and Dismissals
// Pseudocode for decision
if (mode === "disabled") return; // Do nothing
if (mode === "silent") { logInternally(); return; }
if (sessionDismissals >= 3) return; // User said "not now" 3 times
if (Date.now() - lastPromptTimestamp < cooldownMinutes * 60000) return;
Step 3: Present to User
When conditions are met, present the learning opportunity:
Knowledge Capture Opportunity [category: {CATEGORY}]
I just encountered confusion about [SPECIFIC THING]:
- What I assumed: [YOUR ASSUMPTION]
- What's actually true: [THE CORRECTION]
This seems like project-specific knowledge that would help me (and other AI assistants) avoid this mistake in the future.
Would you like to capture this as project documentation?
| Option | What happens |
|---|---|
| Yes, create skill | I'll draft a project-specific skill with this knowledge |
| Yes, add to CLAUDE.md | I'll add a note to the project's CLAUDE.md file |
| Not now | Skip this time (I'll ask less frequently) |
| Skip this category | Never prompt about {CATEGORY} issues (updates your ~/.claude/CLAUDE.md) |
| Too frequent | Reduce how often I ask (switch to minimal mode) |
| Stop asking | Turn off prompts for this project (silent mode) |
| Shut up forever | Permanently disable for this project (creates override) |
Step 4: Handle Response
If "Yes, create skill":
- Create
.claude/skills/project-knowledge/SKILL.md(or add to existing) - Document the specific confusion and correct behavior
- Include examples
- Update config:
capturedCount++
If "Yes, add to CLAUDE.md":
- Add section to project's
.claude/CLAUDE.md(create if needed) - Document under "## Project-Specific Notes" or similar
- Update config:
capturedCount++
If "Not now":
- Update config:
sessionDismissals++,lastPromptTimestamp = now - Continue working
If "Skip this category":
- Update
~/.claude/CLAUDE.mdto add category to skip list - Acknowledge: "Got it - I won't prompt about {CATEGORY} issues anymore. You can edit ~/.claude/CLAUDE.md to change this."
If "Too frequent":
- Update config:
mode = "minimal",promptCooldownMinutes = 120 - Acknowledge: "Got it - I'll only prompt for significant confusions."
If "Stop asking":
- Update config:
mode = "silent" - Acknowledge: "Understood - I'll stop prompting but continue to work normally. Say 're-enable knowledge capture' to turn prompts back on."
If "Shut up forever":
- Create override skill to permanently disable:
mkdir -p .claude/skills/knowledge-capture
cat > .claude/skills/knowledge-capture/SKILL.md << 'EOF'
---
name: knowledge-capture
description: disabled-override-Qx7nR3
---
Disabled by user.
EOF
- Acknowledge: "Knowledge Capture permanently disabled for this project. Delete
.claude/skills/knowledge-capture/to re-enable."
Step 5: Update Configuration
After any interaction, update the config file:
# Ensure directory exists
mkdir -p .overdeck
# Write updated config
cat > .overdeck/knowledge-capture.json << 'EOF'
{
"enabled": true,
"mode": "normal",
"promptCooldownMinutes": 30,
"lastPromptTimestamp": "2024-01-15T10:30:00Z",
"capturedCount": 3,
"dismissedCount": 1,
"sessionDismissals": 0
}
EOF
User Preferences in ~/.claude/CLAUDE.md
Users can exclude specific categories globally by adding to their personal ~/.claude/CLAUDE.md:
## AI Suggestion Preferences
### knowledge-capture
skip: database, authentication, infrastructure
### refactor-radar
skip: database-migrations, build-system
welcome: naming, code-organization, testing
Available Categories
| Category | What it covers |
|---|---|
database | Schema mistakes, column names, indexes, relationships |
architecture | System design, patterns, component interactions |
api | Endpoints, HTTP methods, payloads, auth flows |
build | Build commands, env vars, deployment pipelines |
naming | Naming conventions, file patterns |
testing | Test frameworks, patterns, coverage |
style | Code style, dependencies, patterns to avoid |
preferences | Minor user preferences |
authentication | Auth-specific confusions (subset of api/architecture) |
infrastructure | DevOps, CI/CD, cloud config |
Why Skip Categories?
Database: "Our DBA handles all schema work - I don't need AI help here."
Authentication: "Auth is locked down by security team - any changes go through them."
Infrastructure: "We have a dedicated platform team - I just write application code."
Build: "Build system is stable and rarely changes - not worth documenting."
Updating Preferences
To add a category exclusion:
# AI will add this section if it doesn't exist
cat >> ~/.claude/CLAUDE.md << 'EOF'
## AI Suggestion Preferences
### knowledge-capture
skip: database
EOF
To modify:
# Edit directly
nano ~/.claude/CLAUDE.md
To remove all exclusions:
# Remove the AI Suggestion Preferences section
sed -i '/## AI Suggestion Preferences/,/^## /d' ~/.claude/CLAUDE.md
User Commands (Escalating Silence)
Users can control this skill via natural language, from gentle to nuclear:
| Command | Effect | Scope | Reversible? |
|---|---|---|---|
| "Not now" / "Skip" | Skip this prompt | This session | Yes (automatic) |
| "Skip database suggestions" | Add to skip list | All projects | Yes (edit CLAUDE.md) |
| "Ask less often" | Minimal mode | This project | Yes |
| "Stop asking" / "Silent mode" | Never prompt | This project | Yes |
| "Disable knowledge capture" | Completely off | This project | Yes |
| "Shut up forever" | Create override | This project | Yes (delete file) |
To re-enable after "shut up forever":
rm -rf .claude/skills/knowledge-capture/
Example Captured Knowledge
Example 1: Database Schema
Trigger: AI queried users.created_at but column is users.createdAt
Captured skill content:
## Database Conventions
This project uses **camelCase** for all database columns, not snake_case.
| Wrong | Correct |
|-------|---------|
| created_at | createdAt |
| user_id | userId |
| is_active | isActive |
The ORM is Prisma with `@map` directives for legacy compatibility.
Example 2: Build System
Trigger: AI ran npm run build but project uses pnpm workspaces
Captured skill content:
## Build Commands
This is a **pnpm monorepo**. Never use npm directly.
| Task | Command |
|------|---------|
| Install | `pnpm install` |
| Build all | `pnpm build` |
| Build specific | `pnpm --filter @app/backend build` |
| Dev mode | `pnpm dev` |
| Tests | `pnpm test` |
Root package.json scripts are workspace-aware.
Example 3: Architecture Pattern
Trigger: User corrected AI about direct DB access: "We use CQRS here"
Captured skill content:
## Architecture: CQRS Pattern
This project uses **Command Query Responsibility Segregation**.
**Commands** (writes): Go through `src/commands/` handlers
**Queries** (reads): Go through `src/queries/` with read models
NEVER:
- Write directly to DB from API handlers
- Mix read and write operations in same service
- Query the write models directly
Event flow: Command → Handler → Event → Projector → Read Model
Example 4: Testing Approach
Trigger: AI wrote unit tests but project prefers E2E
Captured skill content:
## Testing Philosophy
This project prioritizes **E2E tests over unit tests**.
- Use Playwright for all user-facing features
- Unit tests only for pure utility functions
- No mocking of database - use test fixtures
- All tests must be deterministic (no Math.random, Date.now)
Test location: `tests/e2e/` not `__tests__/` or `*.test.ts`
For New/Legacy Codebases
When joining a new or legacy codebase, be more aggressive with knowledge capture:
- Set mode to "aggressive" initially
- After 5+ captures, suggest switching to "normal"
- The goal is rapid knowledge accumulation in the first sessions
Prompt the user early:
"I'm new to this codebase. Would you like me to actively capture project-specific patterns I learn? This helps me (and other AI assistants) get up to speed faster. I can prompt you when I discover non-obvious conventions."
File Locations
| File | Purpose |
|---|---|
~/.claude/CLAUDE.md | User preferences (category exclusions) |
.overdeck/knowledge-capture.json | Per-project configuration |
.claude/skills/project-knowledge/SKILL.md | Captured knowledge as skill |
.claude/skills/knowledge-capture/SKILL.md | Override to permanently disable |
.claude/CLAUDE.md | Project-specific notes |
Reset / Clean Slate
To reset knowledge capture for a project:
rm .overdeck/knowledge-capture.json
To remove captured knowledge:
rm -rf .claude/skills/project-knowledge/
To re-enable after permanent disable:
rm -rf .claude/skills/knowledge-capture/
To clear all category exclusions:
# Edit ~/.claude/CLAUDE.md and remove the "AI Suggestion Preferences" section
Integration with Other Skills
With refactor-radar: If the same issue triggers both skills:
- knowledge-capture: "Here's how to work around this confusion"
- refactor-radar: "Here's how to fix the codebase so this confusion doesn't happen"
- Prefer refactor-radar for systemic issues, knowledge-capture for workarounds
- Both skills share the same category exclusion system in ~/.claude/CLAUDE.md
With pan-skill-creator: When invoked, suggest consolidating:
"You have 7 captured knowledge items in project-knowledge. Would you like me to organize these into a proper project skill?"
Override Skill Format
The override skill is intentionally minimal to save context:
---
name: knowledge-capture
description: disabled-override-Qx7nR3
---
Disabled by user.
The obscure description (disabled-override-Qx7nR3) ensures it never triggers on any user input. The body is minimal (3 words) to minimize context usage.
Alternatives
Compare before choosing
coreyhaines31/marketingskills
ab-testing
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
JasonColapietro/suede-creator-skills
suede-ab-testing
Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).