mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-29 10:56:24 +02:00
feat: enhance SurfSense with new skills, blog section, and improve SEO metadata
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
- Added multiple new skills to skills-lock.json from the repository `aaron-he-zhu/seo-geo-claude-skills`. - Introduced `fuzzy-search` dependency in package.json for improved search functionality. - Updated pnpm-lock.yaml to include the new `fuzzy-search` package. - Enhanced SEO metadata across various pages, including canonical links and descriptions for better search visibility. - Improved layout and structure of several components, including the homepage and changelog, to enhance user experience.
This commit is contained in:
parent
61b3f0d7e3
commit
7ea840dbb2
120 changed files with 25729 additions and 352 deletions
342
.cursor/skills/memory-management/SKILL.md
Normal file
342
.cursor/skills/memory-management/SKILL.md
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
---
|
||||
name: memory-management
|
||||
description: 'Persist SEO/GEO campaign context across Claude sessions with automatic hot-list, active work, and archive tiers. 项目记忆/跨会话'
|
||||
version: "7.0.0"
|
||||
license: Apache-2.0
|
||||
compatibility: "Claude Code ≥1.0, skills.sh marketplace, ClawHub marketplace, Vercel Labs skills ecosystem. No system packages required. Optional: MCP network access for SEO tool integrations."
|
||||
homepage: "https://github.com/aaron-he-zhu/seo-geo-claude-skills"
|
||||
when_to_use: "Use when reviewing, archiving, or cleaning up campaign memory. Also when the user asks to check saved findings, manage hot cache, or archive old data."
|
||||
argument-hint: "[review|archive|cleanup]"
|
||||
metadata:
|
||||
author: aaron-he-zhu
|
||||
version: "7.0.0"
|
||||
geo-relevance: "low"
|
||||
tags:
|
||||
- seo
|
||||
- geo
|
||||
- project-memory
|
||||
- context-management
|
||||
- campaign-tracking
|
||||
- session-context
|
||||
- hot-cache
|
||||
- 项目记忆
|
||||
- プロジェクト記憶
|
||||
- 프로젝트메모리
|
||||
- memoria-proyecto
|
||||
triggers:
|
||||
# EN-formal
|
||||
- "remember project context"
|
||||
- "save SEO data"
|
||||
- "track campaign progress"
|
||||
- "store keyword data"
|
||||
- "manage project memory"
|
||||
- "project context"
|
||||
- "refresh wiki index"
|
||||
- "build wiki index"
|
||||
- "wiki lint"
|
||||
# EN-casual
|
||||
- "remember this for next time"
|
||||
- "save my keyword data"
|
||||
- "keep track of this campaign"
|
||||
- "what did we decide last time"
|
||||
- "what do we know so far"
|
||||
- "project status"
|
||||
# EN-question
|
||||
- "how to save project progress"
|
||||
# ZH-pro
|
||||
- "项目记忆管理"
|
||||
- "SEO数据保存"
|
||||
- "跨会话记忆"
|
||||
- "刷新wiki索引"
|
||||
- "项目状况"
|
||||
# ZH-casual
|
||||
- "保存进度"
|
||||
- "上次说了什么"
|
||||
- "记住这个"
|
||||
# JA
|
||||
- "プロジェクト記憶"
|
||||
- "SEOデータ保存"
|
||||
# KO
|
||||
- "프로젝트 메모리"
|
||||
- "데이터 저장"
|
||||
# ES
|
||||
- "memoria del proyecto"
|
||||
- "guardar progreso"
|
||||
# PT
|
||||
- "memória do projeto"
|
||||
---
|
||||
|
||||
# Memory Management
|
||||
|
||||
> **[SEO & GEO Skills Library](https://github.com/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · [ClawHub](https://clawhub.ai/u/aaron-he-zhu) · [skills.sh](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)
|
||||
> **System Mode**: This cross-cutting skill is part of the protocol layer and follows the shared [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md) and [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md).
|
||||
|
||||
This skill implements a three-tier memory system (HOT/WARM/COLD) for SEO and GEO projects. HOT memory (80 lines max) loads automatically every session via the SessionStart hook. WARM memory loads on demand per skill. COLD memory is archived data queried only when explicitly requested. The skill manages the full lifecycle: capture, promote, demote, and archive.
|
||||
|
||||
**System role**: Campaign Memory Loop. It defines how project context is captured, promoted, archived, and handed off across sessions. It is the sole executor of WARM-to-COLD archival and the aggregator for cross-skill project status queries.
|
||||
|
||||
## When This Must Trigger
|
||||
|
||||
Use this whenever project state should survive the current session — even if the user doesn't use memory terminology:
|
||||
|
||||
- User says "remember this", "save this", "keep track of this"
|
||||
- User asks "what did we decide", "what do we know", "project status"
|
||||
- Setting up memory structure for a new SEO project
|
||||
- After completing audits, ranking checks, or performance reports (Stop hook reminds automatically)
|
||||
- When project context needs updating (new keywords, competitors, priorities)
|
||||
- When you need to look up historical data or project-specific terminology
|
||||
- After 30+ days of work to clean up and archive stale data
|
||||
- When open-loops.md has items older than 7 days (SessionStart hook reminds automatically)
|
||||
|
||||
## What This Skill Does
|
||||
|
||||
1. **HOT Cache Management**: Maintains `memory/hot-cache.md` (80 lines max) — loaded automatically every session by SessionStart hook
|
||||
2. **WARM Storage**: Organizes dated findings in `memory/` subdirectories — loaded on demand by relevant skills
|
||||
3. **COLD Archive**: Moves stale data (90+ days unreferenced) to `memory/archive/` with date prefix
|
||||
4. **Promotion**: Elevates frequently-referenced findings from WARM to HOT (3+ refs in 7 days, or 2+ skill refs)
|
||||
5. **Demotion**: Moves unreferenced HOT items to WARM (30 days), WARM to COLD (90 days)
|
||||
6. **Cross-Skill Aggregation**: When user asks "what do we know", aggregates from all `memory/` subdirectories
|
||||
7. **Open Loop Tracking**: Maintains `memory/open-loops.md`, reminds user of stale items via SessionStart hook
|
||||
8. **Wiki Index Maintenance**: Compiles `memory/wiki/index.md` — a structured, auto-refreshed index of all WARM files with precise fields (score, 健康度, status, next_action, mtime) and best-effort summaries. Supports project isolation via `memory/wiki/<project>/index.md`. Auto-refreshed on PostToolUse; user confirmation not required (index is a fully rebuildable derived artifact). Delete `memory/wiki/` at any time to revert to pre-wiki behavior.
|
||||
9. **Wiki Compiled Pages** (Phase 2): Generates interlinked entity, keyword, and topic pages from WARM files with source hash tracking, contradiction detection, and confidence-labeled reconciliation. Requires user confirmation before writing.
|
||||
10. **Wiki Lint** (Phase 2): Detects contradictions, orphan pages, stale claims, missing pages, and source hash mismatches across wiki and WARM files via `/seo:wiki-lint`.
|
||||
11. **WARM Retirement Preview** (Phase 3): `wiki-lint --retire-preview` lists WARM files fully covered by wiki compiled pages as retirement candidates. Actual archival to COLD requires explicit user confirmation.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Start with one of these prompts. Finish with a hot-cache update plan and a handoff summary using the repository format in [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md).
|
||||
|
||||
### Initialize Wiki Index
|
||||
|
||||
```
|
||||
Refresh wiki index
|
||||
```
|
||||
|
||||
```
|
||||
Build wiki index for [project name]
|
||||
```
|
||||
|
||||
Generates `memory/wiki/index.md` from existing WARM files. Required once to enable wiki features; subsequent refreshes happen automatically.
|
||||
|
||||
### Initialize Memory Structure
|
||||
|
||||
```
|
||||
Set up SEO memory for [project name]
|
||||
```
|
||||
|
||||
```
|
||||
Initialize memory structure for a new [industry] website optimization project
|
||||
```
|
||||
|
||||
### Update After Analysis
|
||||
|
||||
```
|
||||
Update memory after ranking check for [keyword group]
|
||||
```
|
||||
|
||||
```
|
||||
Refresh hot cache with latest competitor analysis findings
|
||||
```
|
||||
|
||||
### Query Stored Context
|
||||
|
||||
```
|
||||
What are our hero keywords?
|
||||
```
|
||||
|
||||
```
|
||||
Show me the last ranking update date for [keyword category]
|
||||
```
|
||||
|
||||
```
|
||||
Look up our primary competitors and their domain authority
|
||||
```
|
||||
|
||||
### Promotion and Demotion
|
||||
|
||||
```
|
||||
Promote [keyword] to hot cache
|
||||
```
|
||||
|
||||
```
|
||||
Archive stale data that hasn't been referenced in 30+ days
|
||||
```
|
||||
|
||||
### Glossary Management
|
||||
|
||||
```
|
||||
Add [term] to project glossary: [definition]
|
||||
```
|
||||
|
||||
```
|
||||
What does [internal jargon] mean in this project?
|
||||
```
|
||||
|
||||
## Skill Contract
|
||||
|
||||
**Expected output**: a memory update plan, hot-cache changes, and a short handoff summary.
|
||||
|
||||
- **Reads**: current campaign facts, new findings from other skills, approved decisions, and the shared [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md).
|
||||
- **Writes**: updates to `memory/hot-cache.md`, `memory/open-loops.md`, `memory/decisions.md`, and related `memory/` folders. Manages WARM-to-COLD archival in `memory/archive/`. Compiles `memory/wiki/index.md` (auto-refreshed) and wiki compiled pages (user-confirmed).
|
||||
- **Promotes**: durable strategy, blockers, terminology, entity candidates, and major deltas. Applies temperature lifecycle rules: promote to HOT on high reference frequency, demote on staleness.
|
||||
- **Next handoff**: use the `Next Best Skill` below when the project memory baseline is ready for active work.
|
||||
|
||||
### Temperature Lifecycle Rules
|
||||
|
||||
> See [references/promotion-demotion-rules.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/promotion-demotion-rules.md) for the full promotion/demotion table and action procedures.
|
||||
|
||||
### Hook Integration
|
||||
|
||||
This skill's behavior is reinforced by the library's prompt-based hooks:
|
||||
- **SessionStart**: loads `memory/hot-cache.md`, reminds of stale open loops; loads `memory/wiki/<project>/index.md` (or global `index.md`) if it exists; provides light-user guidance based on Quick Status when `next_action` items are available
|
||||
- **PostToolUse**: after any WARM file write, silently refreshes `memory/wiki/index.md` (Phase 1); prompts to update compiled pages (Phase 2)
|
||||
- **Stop**: prompts to save session findings, auto-saves veto issues to hot-cache; appends changelog entry to index.md bottom
|
||||
|
||||
## Data Sources
|
||||
|
||||
> See [CONNECTORS.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CONNECTORS.md) for tool category placeholders.
|
||||
|
||||
**With ~~SEO tool + ~~analytics + ~~search console connected:**
|
||||
Automatically populate memory from historical data: keyword rankings over time, competitor domain authority changes, traffic metrics, conversion data, backlink profile evolution. The skill will fetch current rankings, alert on significant changes, and update both hot cache and cold storage.
|
||||
|
||||
**With manual data only:**
|
||||
Ask the user to provide:
|
||||
1. Current target keywords with priority levels
|
||||
2. Primary competitors (3-5 domains)
|
||||
3. Key performance metrics and last update date
|
||||
4. Active campaigns and their status
|
||||
5. Any project-specific terminology or abbreviations
|
||||
|
||||
Proceed with memory structure creation using provided data. Note in CLAUDE.md which data requires manual updates vs. automated refresh.
|
||||
|
||||
## Instructions
|
||||
|
||||
When a user requests SEO memory management:
|
||||
|
||||
### 1. Initialize Memory Structure
|
||||
|
||||
For new projects, create the directory structure defined in the [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md). Key directories: `memory/` (decisions, open-loops, glossary, entities, research, content, audits, monitoring) plus `memory/wiki/` (auto-managed compiled index with optional per-project subdirectories).
|
||||
|
||||
> **Templates**: [hot-cache-template.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/hot-cache-template.md) · [glossary-template.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/glossary-template.md) · [Wiki spec](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/proposal-wiki-layer-v3.md)
|
||||
|
||||
### 2. Context Lookup Flow
|
||||
|
||||
When a user references something unclear, follow this lookup sequence:
|
||||
|
||||
**Step 1: Check CLAUDE.md (Hot Cache)**
|
||||
- Is it in active keywords?
|
||||
- Is it in primary competitors?
|
||||
- Is it in current priorities or campaigns?
|
||||
|
||||
**Step 2: Check Wiki Index** (`memory/wiki/index.md` or project-level) — locate relevant WARM files
|
||||
|
||||
**Step 3: Check memory/glossary.md**
|
||||
- Is it defined as project terminology?
|
||||
- Is it a custom segment or shorthand?
|
||||
|
||||
**Step 4: Check Cold Storage**
|
||||
- Search memory/research/keywords/ for historical keyword context
|
||||
- Search memory/research/competitors/ for past analyses
|
||||
- Search memory/monitoring/reports/ for archived mentions
|
||||
|
||||
**Step 5: Ask User**
|
||||
- If not found in any layer, ask for clarification
|
||||
- Log the new term in glossary if it's project-specific
|
||||
|
||||
Example lookup:
|
||||
|
||||
```markdown
|
||||
User: "Update rankings for our hero KWs"
|
||||
|
||||
Step 1: Check CLAUDE.md → Found "Hero Keywords (Priority 1)" section
|
||||
Step 2: Extract keyword list from hot cache
|
||||
Step 3: Execute ranking check
|
||||
Step 4: Update both CLAUDE.md and memory/monitoring/rank-history/YYYY-MM-DD-ranks.csv
|
||||
```
|
||||
|
||||
### 3. Promotion & Demotion Logic
|
||||
|
||||
> **Reference**: See [references/promotion-demotion-rules.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/promotion-demotion-rules.md) for detailed promotion/demotion triggers (keywords, competitors, metrics, campaigns) and the action procedures for each.
|
||||
|
||||
### 4. Update Triggers, Archive Management & Cross-Skill Integration
|
||||
|
||||
> **Reference**: See [references/update-triggers-integration.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/update-triggers-integration.md) for the complete update procedures after ranking checks, competitor analyses, audits, and reports; monthly/quarterly archive routines; and integration points with all 8 connected skills (keyword-research, rank-tracker, competitor-analysis, content-gap-analysis, seo-content-writer, content-quality-auditor, domain-authority-auditor).
|
||||
|
||||
### 5. Memory Hygiene Checks
|
||||
|
||||
When invoked for review or cleanup:
|
||||
|
||||
1. **Line count check**: Count lines in `memory/hot-cache.md`. If >80, list oldest entries for archival.
|
||||
2. **Byte check**: If hot-cache exceeds 25KB, warn and recommend trimming long entries.
|
||||
3. **Staleness scan**: List memory files older than 30 days that have not been referenced. Recommend archival for files >90 days.
|
||||
4. **Frontmatter audit**: Check that all memory files (except hot-cache.md) have `name`, `description`, and `type` in their frontmatter. Report any missing fields.
|
||||
|
||||
### 6. Save Results
|
||||
|
||||
After delivering any memory update or aggregation to the user, ask:
|
||||
|
||||
> "Save these results for future sessions?"
|
||||
|
||||
If yes, write a dated summary to the appropriate `memory/` path using filename `YYYY-MM-DD-<topic>.md` containing:
|
||||
- One-line verdict or headline finding
|
||||
- Top 3-5 actionable items
|
||||
- Open loops or blockers
|
||||
- Source data references
|
||||
|
||||
If any veto-level issue was found (CORE-EEAT T04, C01, R10 or CITE T03, T05, T09), also append a one-liner to `memory/hot-cache.md` without asking.
|
||||
|
||||
## Validation Checkpoints
|
||||
|
||||
### Structure Validation
|
||||
- [ ] memory/hot-cache.md exists and is under 80 lines
|
||||
- [ ] memory/ directory structure matches the shared state model
|
||||
- [ ] glossary.md exists and is populated with project basics
|
||||
- [ ] All historical data files include timestamps in filename or metadata
|
||||
|
||||
### Content Validation
|
||||
- [ ] CLAUDE.md "Last Updated" date is current
|
||||
- [ ] Every keyword in hot cache has current rank, target rank, and status
|
||||
- [ ] Every competitor has domain authority and position assessment
|
||||
- [ ] Every active campaign has status percentage and expected completion date
|
||||
- [ ] Key Metrics Snapshot shows "Previous" values for comparison
|
||||
|
||||
### Lookup Validation
|
||||
- [ ] Test lookup flow: reference a term → verify it finds it in correct layer
|
||||
- [ ] Test promotion: manually promote item → verify it appears in CLAUDE.md
|
||||
- [ ] Test demotion: manually archive item → verify removed from CLAUDE.md
|
||||
- [ ] Glossary contains all custom segments and shorthand used in CLAUDE.md
|
||||
|
||||
### Update Validation
|
||||
- [ ] After ranking check, `memory/monitoring/rank-history/` has a dated snapshot or export
|
||||
- [ ] After competitor analysis, `memory/research/competitors/` has a dated file
|
||||
- [ ] After audit, top action items appear in CLAUDE.md priorities
|
||||
- [ ] After monthly report, metrics snapshot reflects new data
|
||||
|
||||
## Examples
|
||||
|
||||
> **Reference**: See [references/examples.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/memory-management/references/examples.md) for three complete examples: (1) updating hero keyword rankings with memory refresh, (2) glossary lookup flow, and (3) initializing memory for a new e-commerce project.
|
||||
|
||||
## Advanced Features
|
||||
|
||||
- **Smart Context Loading**: `Load full context for [campaign name]` — retrieves hot cache + all cold storage files for a campaign
|
||||
- **Memory Health Check**: `Run memory health check` — finds orphaned files, missing timestamps, stale items, broken references
|
||||
- **Bulk Promotion/Demotion**: `Promote all keywords ranking in top 10 to hot cache` / `Demote all completed campaigns from Q3`
|
||||
- **Memory Snapshot**: `Create memory snapshot for [date/milestone]` — point-in-time copy for major milestones
|
||||
- **Cross-Project Memory**: `Compare memory with [other project]` — keyword overlaps, competitor intersections across projects
|
||||
- **Wiki Lint**: `/seo:wiki-lint [--fix] [--project name] [--retire-preview]` — contradictions, orphans, stale claims, hash mismatches. See [commands/wiki-lint.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/commands/wiki-lint.md)
|
||||
|
||||
## Practical Limitations
|
||||
|
||||
- **Concurrent access**: Use timestamped filenames to avoid overwrites from parallel sessions.
|
||||
- **Cold storage retrieval**: WARM/COLD files only load on demand. Hot cache is the primary cross-session mechanism.
|
||||
- **Data freshness**: Stale data (>90 days) should be flagged for refresh. Wiki index `mtime` field helps detect staleness.
|
||||
- **Wiki compilation**: Index is best-effort for summaries; precise fields (score, status, mtime) are deterministic. Delete `memory/wiki/` anytime to revert.
|
||||
|
||||
## Reference Materials
|
||||
|
||||
- [CORE-EEAT Content Benchmark](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/core-eeat-benchmark.md) — Content quality scoring stored in memory
|
||||
- [CITE Domain Rating](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/cite-domain-rating.md) — Domain authority scoring stored in memory
|
||||
|
||||
## Next Best Skill
|
||||
|
||||
- **Primary**: [keyword-research](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/research/keyword-research/SKILL.md) — seed or refresh campaign strategy with current demand signals.
|
||||
138
.cursor/skills/memory-management/references/examples.md
Normal file
138
.cursor/skills/memory-management/references/examples.md
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
# Memory Management Examples
|
||||
|
||||
Detailed examples showing memory management in action.
|
||||
|
||||
---
|
||||
|
||||
## Example 1: Update Rankings for Hero Keywords
|
||||
|
||||
**User**: "Update rankings for our hero keywords"
|
||||
|
||||
**Assistant**:
|
||||
|
||||
```markdown
|
||||
I'll update rankings for your hero keywords. Let me check the hot cache for the list.
|
||||
|
||||
[Reads CLAUDE.md, finds Hero Keywords section:]
|
||||
- keyword research tools (currently #15, target #5)
|
||||
- best seo software (currently #23, target #10)
|
||||
- free backlink checker (currently #8, target #3)
|
||||
- content optimization guide (currently #12, target #5)
|
||||
- technical seo audit (currently #18, target #8)
|
||||
|
||||
[If ~~SEO tool connected: runs automated ranking check]
|
||||
[If manual: asks user for current rankings]
|
||||
|
||||
---
|
||||
|
||||
## Ranking Update - December 15, 2024
|
||||
|
||||
| Keyword | Previous | Current | Change | Target | Status |
|
||||
|---------|----------|---------|--------|--------|--------|
|
||||
| keyword research tools | #15 | #12 | up 3 | #5 | Improving |
|
||||
| best seo software | #23 | #24 | down 1 | #10 | Stable |
|
||||
| free backlink checker | #8 | #6 | up 2 | #3 | Near target |
|
||||
| content optimization guide | #12 | #11 | up 1 | #5 | Improving |
|
||||
| technical seo audit | #18 | #16 | up 2 | #8 | Improving |
|
||||
|
||||
### Notable Changes
|
||||
- **free backlink checker** moved to #6 (only 3 positions from target!)
|
||||
- **keyword research tools** gained 3 positions (strong movement)
|
||||
- All other keywords showing stable or positive movement
|
||||
|
||||
### Updated Files
|
||||
1. CLAUDE.md -> Hero Keywords table updated with current ranks
|
||||
2. memory/monitoring/rank-history/2024-12-15-ranks.csv -> New row added:
|
||||
`2024-12-15,keyword research tools,12,best seo software,24,free backlink checker,6,...`
|
||||
|
||||
### Recommendations
|
||||
1. Push additional content/backlinks to "free backlink checker" pages to hit #3 target
|
||||
2. Investigate why "keyword research tools" suddenly gained 3 positions (replicate success)
|
||||
3. Monitor "best seo software" for any negative trends
|
||||
|
||||
Hot cache refreshed. Next ranking check recommended: December 22, 2024.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 2: Glossary Lookup
|
||||
|
||||
**User**: "What does 'quick wins' mean in our project?"
|
||||
|
||||
**Assistant**:
|
||||
|
||||
```markdown
|
||||
Let me look that up in the project memory.
|
||||
|
||||
[Step 1: Check CLAUDE.md -> not found]
|
||||
[Step 2: Check memory/glossary.md -> found!]
|
||||
|
||||
From your project glossary:
|
||||
|
||||
**Quick Wins**
|
||||
- **Definition**: Low-difficulty, high-value target keywords
|
||||
- **Keyword Count**: 25 keywords
|
||||
- **Context**: This segment includes keywords where you can achieve page 1 rankings within 30-60 days due to low competition, despite having decent search volume
|
||||
|
||||
According to your memory files, your current quick wins are stored in:
|
||||
`memory/research/keywords/long-tail-keywords.md` (tagged with "quick-win" label)
|
||||
|
||||
Would you like me to show you the current list of quick win keywords?
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Example 3: Initialize Memory for New Project
|
||||
|
||||
**User**: "Set up memory for a new e-commerce site selling outdoor gear"
|
||||
|
||||
**Assistant**:
|
||||
|
||||
```markdown
|
||||
I'll set up the two-layer memory system for your outdoor gear e-commerce site.
|
||||
|
||||
## Creating Directory Structure
|
||||
|
||||
[Creates: memory/glossary.md, memory/research/, memory/content/, memory/monitoring/, etc.]
|
||||
|
||||
## CLAUDE.md (Hot Cache) - Initial Setup
|
||||
|
||||
I'll need some information to populate the hot cache:
|
||||
|
||||
1. **Target Keywords**: What are your top 10 hero keywords?
|
||||
(e.g., "hiking backpacks", "camping tents", "outdoor clothing")
|
||||
|
||||
2. **Primary Competitors**: Who are your top 3-5 competitors?
|
||||
(e.g., rei.com, backcountry.com, moosejaw.com)
|
||||
|
||||
3. **Current Metrics** (if available):
|
||||
- Domain authority?
|
||||
- Current organic traffic?
|
||||
- Any existing rankings?
|
||||
|
||||
4. **Active Initiatives**:
|
||||
- Are you launching a new category?
|
||||
- Running a content campaign?
|
||||
- Focusing on any specific product line?
|
||||
|
||||
5. **Project Terminology**:
|
||||
- Any internal product names or abbreviations?
|
||||
- How do you segment your keyword strategy?
|
||||
|
||||
Please provide what you have, and I'll create your initial CLAUDE.md and glossary. We can start with basics and enrich as we gather more data.
|
||||
|
||||
---
|
||||
|
||||
Once you provide this information, I'll generate:
|
||||
- CLAUDE.md with your initial hot cache
|
||||
- memory/glossary.md with project terminology
|
||||
- memory/research/keywords/ structure with placeholder files
|
||||
- memory/research/competitors/ with initial competitor list
|
||||
- memory/content/calendar/active-calendar.md for Q1 2025
|
||||
|
||||
After setup, you can use commands like:
|
||||
- "Update rankings for hero keywords"
|
||||
- "Add new competitor [domain]"
|
||||
- "Promote [keyword] to hot cache"
|
||||
- "Archive campaigns from Q3 2024"
|
||||
```
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
# Glossary Template
|
||||
|
||||
Use this template to create the project glossary at memory/glossary.md.
|
||||
|
||||
### 3. Glossary Structure (memory/glossary.md)
|
||||
|
||||
```markdown
|
||||
# [Project Name] - SEO Glossary
|
||||
|
||||
**Purpose**: Project-specific terminology, brand terms, internal jargon, and abbreviations.
|
||||
|
||||
**Last Updated**: [Date]
|
||||
|
||||
## Brand Terms
|
||||
|
||||
| Term | Full Name | Context |
|
||||
|------|-----------|---------|
|
||||
| [abbreviation] | [full name] | [when/how it's used] |
|
||||
|
||||
## Product Names
|
||||
|
||||
| Internal Name | Public Name | Category |
|
||||
|---------------|-------------|----------|
|
||||
| [code name] | [market name] | [product type] |
|
||||
|
||||
## Custom Segments
|
||||
|
||||
| Segment Name | Definition | Keyword Count |
|
||||
|--------------|------------|---------------|
|
||||
| Hero KWs | Top 10 revenue-driving keywords | 10 |
|
||||
| Quick Wins | Low-difficulty, high-value targets | 25 |
|
||||
| Brand Defense | Brand + modifier combinations | 15 |
|
||||
|
||||
## Competitor Shorthand
|
||||
|
||||
| Shorthand | Full Domain | Notes |
|
||||
|-----------|-------------|-------|
|
||||
| Comp A | competitor-a.com | Main competitor, [industry] |
|
||||
| Comp B | competitor-b.com | Niche competitor, [specialty] |
|
||||
|
||||
## Project Acronyms
|
||||
|
||||
| Acronym | Full Term | Definition |
|
||||
|---------|-----------|------------|
|
||||
| [ABC] | [Full term] | [What it means in this project] |
|
||||
|
||||
## Internal Jargon
|
||||
|
||||
| Phrase | Meaning | Example Usage |
|
||||
|--------|---------|---------------|
|
||||
| [phrase] | [definition] | "Check rankings for [phrase]" |
|
||||
|
||||
## Historical Context
|
||||
|
||||
- **Project started**: [Date]
|
||||
- **Major algorithm updates affecting us**: [List with dates]
|
||||
- **Site migrations/redesigns**: [List with dates]
|
||||
- **Key milestones**: [List with dates]
|
||||
|
||||
---
|
||||
|
||||
_This glossary helps decode project shorthand and maintain consistency across reports and communications._
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
# Hot Cache (CLAUDE.md) Template
|
||||
|
||||
Use this template when initializing memory for a new SEO project.
|
||||
|
||||
### 2. Hot Cache (CLAUDE.md) Structure
|
||||
|
||||
Create or update CLAUDE.md with this template:
|
||||
|
||||
```markdown
|
||||
# [Project Name] - SEO Memory (Hot Cache)
|
||||
|
||||
**Last Updated**: [Date]
|
||||
**Project Status**: [Active/Maintenance/Growth]
|
||||
|
||||
## Active Target Keywords (Top 10-20)
|
||||
|
||||
### Hero Keywords (Priority 1)
|
||||
| Keyword | Current Rank | Target Rank | Volume | Status |
|
||||
|---------|--------------|-------------|--------|--------|
|
||||
| [keyword 1] | #[X] | #[Y] | [vol] | [tracking/optimizing/achieved] |
|
||||
| [keyword 2] | #[X] | #[Y] | [vol] | [tracking/optimizing/achieved] |
|
||||
|
||||
### Secondary Keywords (Priority 2)
|
||||
| Keyword | Current Rank | Target Rank | Volume | Status |
|
||||
|---------|--------------|-------------|--------|--------|
|
||||
| [keyword 1] | #[X] | #[Y] | [vol] | [tracking/optimizing/achieved] |
|
||||
|
||||
_Full keyword research: memory/research/keywords/_
|
||||
|
||||
## Primary Competitors (Top 3-5)
|
||||
|
||||
1. **[Competitor 1]** (DA: [X])
|
||||
- Main strengths: [brief]
|
||||
- Our position vs. them: [ahead/behind/competitive]
|
||||
|
||||
2. **[Competitor 2]** (DA: [X])
|
||||
- Main strengths: [brief]
|
||||
- Our position vs. them: [ahead/behind/competitive]
|
||||
|
||||
_Detailed analyses: memory/research/competitors/_
|
||||
|
||||
## Current Optimization Priorities
|
||||
|
||||
1. **[Priority 1]** - [Brief description]
|
||||
- Status: [not started/in progress/completed]
|
||||
- Expected impact: [high/medium/low]
|
||||
- Deadline: [date]
|
||||
|
||||
2. **[Priority 2]** - [Brief description]
|
||||
- Status: [not started/in progress/completed]
|
||||
- Expected impact: [high/medium/low]
|
||||
- Deadline: [date]
|
||||
|
||||
## Key Metrics Snapshot
|
||||
|
||||
**Last Metrics Update**: [Date]
|
||||
|
||||
| Metric | Current | Previous | Change | Target |
|
||||
|--------|---------|----------|--------|--------|
|
||||
| Organic Traffic | [X] | [X] | [+/-X%] | [target] |
|
||||
| Avg. Position | [X] | [X] | [+/-X] | [target] |
|
||||
| Total Keywords Ranking | [X] | [X] | [+/-X] | [target] |
|
||||
| Page 1 Rankings | [X] | [X] | [+/-X] | [target] |
|
||||
| Domain Authority | [X] | [X] | [+/-X] | [target] |
|
||||
| CITE Score | [X] | [X] | [+/-X] | [target] |
|
||||
| Last Content Audit Score | [score]/100 | ([rating]) | — [date] | [page audited] |
|
||||
| Total Backlinks | [X] | [X] | [+/-X%] | [target] |
|
||||
|
||||
_Historical data: memory/monitoring/reports/ and memory/monitoring/rank-history/_
|
||||
|
||||
## Active Campaigns
|
||||
|
||||
### [Campaign Name 1]
|
||||
- **Duration**: [Start date] - [End date]
|
||||
- **Goal**: [Specific goal]
|
||||
- **Status**: [planning/active/completed]
|
||||
- **Progress**: [X]%
|
||||
- **Key activities**: [brief list]
|
||||
|
||||
### [Campaign Name 2]
|
||||
- **Duration**: [Start date] - [End date]
|
||||
- **Goal**: [Specific goal]
|
||||
- **Status**: [planning/active/completed]
|
||||
- **Progress**: [X]%
|
||||
- **Key activities**: [brief list]
|
||||
|
||||
_Campaign plans and archives: memory/content/calendar/_
|
||||
|
||||
## Quick Reference Notes
|
||||
|
||||
- [Important note 1]
|
||||
- [Important note 2]
|
||||
- [Important note 3]
|
||||
|
||||
_For project terminology, see: memory/glossary.md_
|
||||
```
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
# Promotion and Demotion Rules
|
||||
|
||||
Detailed triggers and actions for moving items between the hot cache (CLAUDE.md) and cold storage (memory/ subdirectories).
|
||||
|
||||
## Promotion Logic
|
||||
|
||||
**Promote to Hot Cache when:**
|
||||
|
||||
### Keyword promotion triggers:
|
||||
- Keyword referenced in 3+ conversations within 7 days
|
||||
- Keyword showing significant movement (5+ position change)
|
||||
- Keyword targeted in new active campaign
|
||||
- Keyword suddenly driving traffic spike
|
||||
|
||||
### Competitor promotion triggers:
|
||||
- Competitor mentioned in 3+ recent analyses
|
||||
- Competitor showing aggressive SEO activity
|
||||
- Competitor launching competing content
|
||||
|
||||
### Metric promotion triggers:
|
||||
- Metric requested frequently for reporting
|
||||
- Metric showing anomalous behavior
|
||||
- Metric tied to active priority/campaign
|
||||
|
||||
**Promotion action:**
|
||||
```markdown
|
||||
1. Add item to relevant section in CLAUDE.md
|
||||
2. Add note: "Promoted [date] - [reason]"
|
||||
3. Keep detailed data in cold storage
|
||||
4. Set reminder to review in 30 days
|
||||
```
|
||||
|
||||
## Demotion Logic
|
||||
|
||||
**Demote to Cold Storage when:**
|
||||
|
||||
### Keyword demotion triggers:
|
||||
- Not referenced in 30+ days
|
||||
- Target rank achieved and stable for 60+ days
|
||||
- Keyword no longer in active strategy
|
||||
- Keyword replaced by higher-priority target
|
||||
|
||||
### Competitor demotion triggers:
|
||||
- No significant activity in 60+ days
|
||||
- Fell out of top 5 competitors by relevance
|
||||
- No longer targeting same keywords
|
||||
|
||||
### Campaign demotion triggers:
|
||||
- Campaign completed 30+ days ago
|
||||
- Campaign cancelled or postponed indefinitely
|
||||
|
||||
**Demotion action:**
|
||||
```markdown
|
||||
1. Remove from CLAUDE.md
|
||||
2. Archive full data in memory/[category]/archive/
|
||||
3. Add line to CLAUDE.md: "Last reviewed [category]: [date]"
|
||||
4. Keep 1-line summary if historically significant
|
||||
```
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
# Update Triggers & Cross-Skill Integration
|
||||
|
||||
Systematic memory update procedures triggered by specific events, plus integration points with other SEO skills.
|
||||
|
||||
## Update Triggers
|
||||
|
||||
After specific events, update memory systematically:
|
||||
|
||||
### After Ranking Check
|
||||
```markdown
|
||||
1. Update CLAUDE.md -> Hero Keywords table (current ranks)
|
||||
2. Save a dated snapshot to memory/monitoring/rank-history/YYYY-MM-DD-ranks.csv
|
||||
3. Note any keywords with significant movement
|
||||
4. Update "Last Metrics Update" date in CLAUDE.md
|
||||
5. If hero keyword moves +/-5 positions, create alert note
|
||||
```
|
||||
|
||||
### After Competitor Analysis
|
||||
```markdown
|
||||
1. Update CLAUDE.md -> Primary Competitors section (DA, position vs. them)
|
||||
2. Save full report to memory/research/competitors/YYYY-MM-DD-analysis.md
|
||||
3. Update competitor overview notes in memory/research/competitors/
|
||||
4. Note new competitor strategies in hot cache
|
||||
```
|
||||
|
||||
### After Audit (Technical/Content/Backlink)
|
||||
```markdown
|
||||
1. Save full report to memory/audits/[type]/YYYY-MM-DD-[audit-name].md
|
||||
2. Extract top 3-5 action items -> CLAUDE.md Current Optimization Priorities
|
||||
3. Update Key Metrics Snapshot if audit includes metrics
|
||||
4. Create campaign entry if audit spawns new initiative
|
||||
```
|
||||
|
||||
### After Monthly/Quarterly Report
|
||||
```markdown
|
||||
1. Save report to memory/monitoring/reports/[period]/YYYY-MM-report.md
|
||||
2. Update all metrics in CLAUDE.md Key Metrics Snapshot
|
||||
3. Review hot cache -> demote stale items
|
||||
4. Update campaign statuses
|
||||
5. Archive completed campaigns
|
||||
```
|
||||
|
||||
## Archive Management
|
||||
|
||||
### Monthly Archive Routine
|
||||
```markdown
|
||||
1. Review CLAUDE.md for items not referenced in 30 days
|
||||
2. Move stale items to appropriate cold storage
|
||||
3. Create monthly snapshot: memory/monitoring/snapshots/YYYY-MM-CLAUDE.md
|
||||
4. Compress old rank-history exports (keep recent snapshots easiest to access)
|
||||
5. Update glossary with new terms from the month
|
||||
```
|
||||
|
||||
### Quarterly Archive Routine
|
||||
```markdown
|
||||
1. Review entire cold storage structure
|
||||
2. Compress files older than 6 months
|
||||
3. Create quarterly summary report
|
||||
4. Update project timeline in glossary
|
||||
5. Audit all active campaigns -> archive completed ones
|
||||
```
|
||||
|
||||
## Cross-Skill Memory Integration
|
||||
|
||||
This skill coordinates with other SEO skills:
|
||||
|
||||
### When keyword-research runs:
|
||||
- Add discovered keywords to memory/research/keywords/
|
||||
- Promote top opportunities to CLAUDE.md if high-value
|
||||
- Update glossary if new terminology emerges
|
||||
|
||||
### When rank-tracker runs:
|
||||
- Update memory/monitoring/rank-history/
|
||||
- Refresh CLAUDE.md Hero Keywords table
|
||||
- Flag significant movements for hot cache notes
|
||||
|
||||
### When competitor-analysis runs:
|
||||
- Update competitor files in memory/research/competitors/
|
||||
- Refresh CLAUDE.md Primary Competitors section
|
||||
- Add new competitors if they outrank current top 5
|
||||
|
||||
### When content-gap-analysis runs:
|
||||
- Store full findings in memory/research/content-gaps/
|
||||
- Promote gap opportunities to CLAUDE.md priorities
|
||||
- Update memory/content/calendar/ with recommended topics
|
||||
|
||||
### When seo-content-writer produces content:
|
||||
- Log to memory/content/published/YYYY-MM-DD-[slug].md
|
||||
- Track target keyword and publish date
|
||||
- Set reminder to check performance in 30 days
|
||||
|
||||
### When content-quality-auditor runs:
|
||||
- Save full report to `memory/audits/content/YYYY-MM-DD-core-eeat-[page-slug].md`
|
||||
- Update CLAUDE.md Key Metrics with latest score
|
||||
- If score < 60 (Poor/Low), flag in Active Campaigns section
|
||||
- Track dimension scores for trend analysis
|
||||
|
||||
### When domain-authority-auditor runs:
|
||||
- Save full report to memory/audits/domain/YYYY-MM-DD-cite-audit.md
|
||||
- Update CITE Score in CLAUDE.md Key Metrics Snapshot
|
||||
- Note veto item status and dimension scores
|
||||
- Compare against previous CITE audit if available
|
||||
Loading…
Add table
Add a link
Reference in a new issue