Claude Code Concepts¶
A visual guide to Claude Code features and when to use them. Adapted for Seer Agent Engine from luongnv89/claude-howto.
Already know Claude Code?
Skip to Feature Decision Flowchart or Quick Reference.
Feature Decision Flowchart¶
Use this flowchart to decide which feature to use for your needs:
flowchart TD
A["What do you need?"] --> B{"Persistent<br/>context?"}
B -->|Yes| C{"Shared with<br/>team?"}
B -->|No| D{"User-triggered<br/>or automatic?"}
C -->|Yes| E["CLAUDE.md / AGENTS.md<br/>Git-tracked project context"]
C -->|No| F["~/.claude/CLAUDE.md<br/>Personal preferences"]
D -->|User triggers| G{"External data<br/>needed?"}
D -->|Automatic| H{"React to events<br/>or context?"}
G -->|Yes| I["MCP Tool<br/>API integration"]
G -->|No| J["Command<br/>/content-audit"]
H -->|Events| K["Hook<br/>PostToolUse, Stop"]
H -->|Context| L["Skill<br/>Auto-loaded behavior"]
M{"Parallel or<br/>isolated work?"} --> N["Subagent<br/>Separate context"]
D -->|Heavy task| M
O{"Share across<br/>team?"}
J --> O
L --> O
K --> O
O -->|Yes| P["Plugin<br/>Bundle & distribute"]
style E fill:#e1f5ff
style F fill:#e1f5ff
style I fill:#fff9c4
style J fill:#c8e6c9
style K fill:#ffccbc
style L fill:#e1bee7
style N fill:#ffe0b2
style P fill:#d1c4e9
Quick Reference Table¶
| Need | Use | Example | Seer Implementation |
|---|---|---|---|
| Persistent project context | CLAUDE.md | Architecture, standards | AGENTS.md in repo root |
| User-triggered workflow | Command | Run audit, generate report | /content-audit, /search-landscape |
| Automatic behavior | Skill | Apply standards automatically | writing-standards, seo-methods |
| React to events | Hook | Validate after edits, QA at stop | PostToolUse, Stop in core-dependencies |
| External data access | MCP Tool | Query BigQuery, fetch SERP data | BigQuery, DataForSEO servers |
| Parallel isolated work | Subagent | Review + test simultaneously | Code reviewer, test engineer |
| Share with team | Plugin | Distribute workflows | seo@seer-agent-core |
Feature Comparison Matrix¶
| Category | Skill | Command | Hook | MCP | Subagent |
|---|---|---|---|---|---|
| Triggered By | Agent | User | Event | Both | Both |
| Context Efficiency | High | High | N/A | Low | High |
| Parallelizable | - | - | - | - | Yes |
| Team Shareable | Yes | Yes | Yes | Config | Yes |
| Can Use Other Features | Yes | Yes | Limited | N/A | Yes |
| Token Cost | Low | Medium | None | Medium | Isolated |
Key Distinctions¶
Skills vs Commands¶
graph LR
subgraph Skills ["Skills (Automatic)"]
S1["Agent decides when to load"]
S2["Based on context/task"]
S3["Always-on behavior"]
end
subgraph Commands ["Commands (Manual)"]
C1["User explicitly invokes"]
C2["Triggered by /command"]
C3["One-time workflow"]
end
S1 --> S2 --> S3
C1 --> C2 --> C3
Seer Examples:
| Type | Name | When It Activates |
|---|---|---|
| Skill | writing-standards |
Automatically when creating client deliverables |
| Skill | seo-methods |
Automatically for any SEO-related task |
| Command | /content-audit |
Only when you type /content-audit |
| Command | /chain-of-thought |
Only when you want step-by-step reasoning |
Hooks vs Skills¶
| Aspect | Hook | Skill |
|---|---|---|
| Trigger | Lifecycle event (deterministic) | Task context (reasoning) |
| Purpose | Validate, track, enforce | Guide, advise, behave |
| Example | "Run linter after every edit" | "Use Seer writing voice" |
Principle: Hooks for certainty, Skills for thinking.
Commands vs Skills for Resources¶
Critical Limitation
Commands cannot have resource folders. Only skills support progressive disclosure (loading resources/ on demand).
| Feature | Skill | Command |
|---|---|---|
Can have resources/ folder |
Yes | No |
| Progressive loading | Yes | No |
| Reference materials | In resources/ |
Must use skills |
If a command needs substantial reference material, create a skill and reference it:
# In command frontmatter
---
name: content-audit
skills: [seo-methods] # Skill contains methodology resources
---
The Activation Flow¶
How Seer Agent Engine uses hooks to activate skills automatically:
sequenceDiagram
participant User
participant Hook as UserPromptSubmit Hook
participant Engine as Activation Engine
participant Skills as Skill Registry
participant Claude
User->>Hook: "Create a content audit for this page"
Hook->>Engine: Scan prompt
Engine->>Skills: Match keywords & patterns
Skills-->>Engine: writing-standards, seo-methods
Engine->>Claude: Inject: "Consider using these skills..."
Claude->>Claude: Load relevant skills
Claude->>User: Generate audit with standards applied
The three lifecycle hooks in core-dependencies:
| Hook | When | Purpose |
|---|---|---|
UserPromptSubmit |
Before response | Inject skill suggestions |
PostToolUse |
After Edit/Write | Track file changes |
Stop |
Before completion | QA checkpoint |
Practical Examples¶
Example 1: SEO Content Audit¶
You type: /content-audit
What happens:
- Command triggers workflow
UserPromptSubmithook suggests skillsseo-methodsskill loads (analysis techniques)writing-standardsskill loads (Seer voice)- Workflow executes with both behaviors active
Stophook runs QA checkpoint
Example 2: Strategic Recommendation¶
You type: "Write recommendations for improving organic traffic"
What happens:
UserPromptSubmithook matches "recommendations" + "organic"- Suggests
seo-methodsandwriting-standards - Claude loads skills automatically
- Response uses Seer voice and SEO methodology
- No command needed - skills activated by context
Example 3: Using MCP for Data¶
You type: "Get ranking data for seerinteractive.com"
What happens:
- Claude recognizes need for external data
- Calls BigQuery MCP tool
- Fetches ranking data from Seer Signals
- Returns structured results
- Skills can then analyze/present the data
Plugin Architecture Overview¶
How plugins bundle features in Seer Agent Engine:
graph TB
subgraph core["core-dependencies (Required)"]
H["Hooks"]
SS["Shared Skills"]
CC["Core Commands"]
end
subgraph seo["seo plugin"]
SC["SEO Commands"]
SM["seo-methods Skill"]
end
subgraph innovation["innovation plugin"]
IC["Agent Commands"]
IS["Building Skills"]
end
core --> seo
core --> innovation
H --> |activates| SM
SS --> |standards| SC
Plugin lineup:
| Plugin | Purpose | Required? |
|---|---|---|
core-dependencies |
Hooks, shared skills, activation | Yes |
seo |
SEO workflows | No |
analytics |
Analytics workflows | No |
pdm |
Paid media workflows | No |
innovation |
Agent building, R&D | No |
operations |
Time tracking, Wrike | No |
When to Use What¶
Decision Scenarios¶
| Scenario | Use | Why |
|---|---|---|
| "Always apply Seer voice to deliverables" | Skill | Automatic, context-driven |
| "Run a content audit workflow" | Command | User-triggered, explicit |
| "Check code quality after every edit" | Hook | Event-driven, deterministic |
| "Query BigQuery for rankings" | MCP Tool | External data access |
| "Review code AND run tests in parallel" | Subagents | Isolated, parallel contexts |
| "Share SEO workflows with team" | Plugin | Bundled distribution |
| "Remember project architecture" | CLAUDE.md | Persistent context |
Anti-Patterns¶
| Don't | Do Instead |
|---|---|
| Create command for one-time task | Just ask Claude directly |
| Build skill for user-triggered workflow | Create a command |
| Put shared logic in each plugin | Centralize in core-dependencies |
| Hardcode credentials | Use environment variables |
Deep Dive Resources¶
Official Documentation¶
- Claude Code Hooks - Event-driven automation
- Claude Code Skills - Auto-loaded behaviors
- Claude Code Commands - User-triggered workflows
External Guides¶
- claude-howto - Comprehensive visual guide (source for this page)
- Agent Skills Spec - Official skill structure
- MCP Protocol - External integrations
Seer Agent Engine Docs¶
- Plugin Architecture - Full technical specification
- Understanding Skills - How skills work in our system
- SEO Workflows - Skills in action
Quick Answers¶
What's the difference between a skill and a command?
- Skill = Agent loads automatically based on context
- Command = You invoke it explicitly (
/content-audit)
When should I create a hook vs a skill?
- Hook = Deterministic reaction to events (PostToolUse, Stop)
- Skill = Context-aware behavior guidance
Can commands have reference materials?
No. Only skills support resources/ folders. If your command needs substantial references, create a skill and reference it in the command's frontmatter.
Why is core-dependencies required?
It provides the activation engine (hooks) and shared standards. Without it, skills won't auto-activate and standards won't be centralized.
How do I know which skills are active?
Claude tells you which skills it's using. You can also run /core-doctor to see activation status.
See Also¶
- Understanding Skills - Deep dive into skill behavior
- Plugin Architecture - Technical specification
- Quickstart - Get up and running