Help us improve
Share bugs, ideas, or general feedback.
From cortex
Use this skill for ALL coding work. Enforces task tracking, memory usage, and proper workflow using Cortex MCP tools. MUST be used when implementing features, fixing bugs, or any development work.
npx claudepluginhub jsvitolo/cortex-plugins --plugin cortexHow this skill is triggered — by the user, by Claude, or both
Slash command
/cortex:coding-assistantThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You MUST use **Cortex MCP tools** (`mcp__cortex__*`) for all operations. Prefer MCP tools over Bash commands.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
You MUST use Cortex MCP tools (mcp__cortex__*) for all operations. Prefer MCP tools over Bash commands.
!cx status 2>/dev/null || echo "Run: cx init"
!cx ls -s progress 2>/dev/null
CRITICAL: Always prefer Cortex MCP tools over Bash commands and generic Claude tools.
| Task | Use This (MCP) | NOT This (Bash) |
|---|---|---|
| Create task | mcp__cortex__task(action="create") | cx add |
| Start task | mcp__cortex__task(action="update", status="progress") | cx start |
| Complete task | mcp__cortex__task(action="update", status="done") | cx done |
| Move task | mcp__cortex__task(action="update", status="...") | cx mv |
| List tasks | mcp__cortex__task(action="list") | cx ls |
| Get task | mcp__cortex__task(action="get") | cx show |
Example - Task workflow:
# ✅ CORRECT: Use MCP
mcp__cortex__task(action="create", title="Add new feature", type="feature")
mcp__cortex__task(action="update", id="CX-69", status="progress")
# ... do work ...
mcp__cortex__task(action="update", id="CX-69", status="done")
# ❌ WRONG: Bash commands
Bash("cx add 'Add new feature'")
Bash("cx start CX-69")
Bash("cx done CX-69")
| Tool | Parameters | Purpose |
|---|---|---|
task(action="create") | title, type?, description? | Create new task |
task(action="update") | id, status?, title?, description? | Update task |
task(action="get") | id | Get task details |
task(action="list") | status?, level? | List tasks |
| Task | Use This (MCP) | NOT This (Bash) |
|---|---|---|
| List memories | mcp__cortex__memory(action="list") | cx memory ls |
| Save memory | mcp__cortex__memory(action="save") | cx memory diary |
| Search memories | mcp__cortex__memory(action="list", search="...") | cx memory search |
Example - Memory workflow:
# ✅ CORRECT: Use MCP
mcp__cortex__memory(action="list", search="authentication")
mcp__cortex__memory(action="save", content="Learned that...", task_id="CX-69")
# ❌ WRONG: Bash commands
Bash("cx memory search 'authentication'")
Bash("cx memory diary --task CX-69")
| Task | Use This (MCP) | NOT This |
|---|---|---|
| Find functions/classes | lsp(action="symbols") | Grep for "func " |
| Find symbol definition | lsp(action="definition") | Grep + Read |
| Find all usages | lsp(action="references") | Grep for symbol name |
| Get type/docs info | lsp(action="hover") | Read + guess |
| Rewrite function | lsp_edit(action="replace") | Edit with old/new |
| Rename symbol | lsp_edit(action="rename") | Multiple Edit calls |
| Search workspace | lsp(action="workspace_search") | Grep |
Example - Code workflow:
# ✅ CORRECT: Use LSP
mcp__cortex__lsp(action="symbols", file="internal/mcp/server.go")
mcp__cortex__lsp(action="hover", file="...", line=10, column=5)
mcp__cortex__lsp_edit(action="replace", file="...", symbol_name="NewServer", new_body="...")
# ❌ WRONG: Generic tools
Grep(pattern="func NewServer")
Read(file_path="...", offset=100, limit=20)
Edit(file_path="...", old_string="...", new_string="...")
| Tool | Purpose |
|---|---|
lsp(action="symbols") | List all symbols in a file |
lsp(action="workspace_search") | Global symbol search |
lsp(action="definition") | Go to definition |
lsp(action="references") | Find all references |
lsp(action="hover") | Get type info and docs |
lsp_edit(action="replace") | Replace entire symbol body |
lsp_edit(action="rename") | Rename symbol across project |
IMPORTANT: Use thinking tools to pause and reflect at key moments. These help prevent mistakes and keep you focused.
| Tool | When to Call |
|---|---|
think(action="collected_information") | After gathering info (searching, reading symbols) |
think(action="task_adherence") | Before making significant code changes |
think(action="whether_done") | When you believe the task is complete |
Example - Using thinking tools:
# After exploring codebase
mcp__cortex__lsp(action="symbols", file="...")
mcp__cortex__lsp(action="references", ...)
mcp__cortex__think(action="collected_information") # ← Pause to reflect
# Before editing
mcp__cortex__think(action="task_adherence") # ← Verify alignment
mcp__cortex__lsp_edit(action="replace", ...)
# When finishing
mcp__cortex__think(action="whether_done") # ← Verify completion
mcp__cortex__task(action="update", id="CX-N", status="done")
think(action="collected_information") - Call after:
lsp(action="symbols") or lsp(action="references") callsthink(action="task_adherence") - Call before:
think(action="whether_done") - Call when:
Use Bash with cx commands only when:
Use generic tools (Edit, Read, Grep) only when:
lsp_status)| Action | MCP Tool | When |
|---|---|---|
| Create task | task(action="create", title="...") | Before starting new work |
| Start task | task(action="update", id="CX-N", status="progress") | When beginning implementation |
| Complete task | task(action="update", id="CX-N", status="done") | When task is finished |
| List tasks | task(action="list", status="progress") | Check current work |
| Search memories | memory(action="list", search="...") | Before implementing |
| Save learning | memory(action="save", content="...") | At session end |
| Find symbols | lsp(action="symbols", file="...") | When exploring code |
| Edit function | lsp_edit(action="replace", ...) | When modifying code |
| Rename symbol | lsp_edit(action="rename", ...) | When refactoring |
Bash("cx add ...") when task(action="create") worksBash("cx start/done ...") when task(action="update") worksBash("cx memory ...") when memory(action="list/save") worksEdit for function changes when lsp_edit(action="replace") worksGrep for finding functions when lsp(action="symbols") workslsp_edit(action="rename") workstask_createprogress before workingdone after completing