using-ctx

MANDATORY persistent memory system for decisions, facts, patterns, and observations.

6 stars

Best use case

using-ctx is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

MANDATORY persistent memory system for decisions, facts, patterns, and observations.

Teams using using-ctx should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/using-ctx/SKILL.md --create-dirs "https://raw.githubusercontent.com/Zate/cc-plugins/main/plugins/ctx/skills/using-ctx/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/using-ctx/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How using-ctx Compares

Feature / Agentusing-ctxStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

MANDATORY persistent memory system for decisions, facts, patterns, and observations.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# ctx: Persistent Memory

You are stateless. Use `ctx` to persist knowledge across sessions.

For command syntax: `ctx --agent-help` (index) or `ctx --agent-help <command>` (detail).

## When to Store
Run via Bash BEFORE responding. Store when you learn something that would be useful in a future session.

## Core Commands

```bash
# Store knowledge
ctx add "content" --type TYPE --tag tier:pinned --tag project:NAME

# Query / recall
ctx recall 'type:decision AND tag:project:NAME'        # immediate results
ctx recall 'tag:tier:reference' --inject               # inject into next prompt

# Search full-text
ctx search "keyword"

# Status
ctx status --agent-out

# Show a node
ctx show <id>
```

**Node types:** `fact`, `decision`, `pattern`, `observation`, `hypothesis`, `task`, `summary`, `source`, `open-question`

## Tagging Convention
Always include `tier:` and `project:` tags on every node.
- **tier:pinned**: Critical, loaded every session. Facts, foundational decisions.
- **tier:working**: Task-scoped, temporary. Active debugging, current plan state.
- **tier:reference**: Durable but not always loaded. Past decisions, resolved issues.
- **tier:off-context**: Archived, never loaded.
- **project:NAME**: Scope to current project (`basename` of git root, lowercase).

## Recall vs Query
- `ctx recall <query>` — run immediately and print results (use this for on-demand lookups)
- `ctx recall <query> --inject` — run and queue results for injection at next prompt-submit
- `ctx query <expression>` — low-level filtered query (same syntax, no injection support)

## --agent-out Flag
Use `--agent-out` on any result command for dense AOF output optimised for agent consumption (no markdown, no prose):
```bash
ctx recall 'tag:project:myapp' --agent-out
ctx status --agent-out
ctx list --agent-out
ctx query 'type:decision' --agent-out
```

## XML Commands (written in responses)
The stop hook parses these from your response text automatically:

```xml
<ctx:remember type="decision" tags="project:NAME,tier:reference">
Decision text here.
</ctx:remember>

<ctx:recall query="type:decision AND tag:project:NAME"/>
<ctx:status/>
<ctx:task name="task-name" action="start"/>
<ctx:task name="task-name" action="end"/>
<ctx:summarize nodes="ID1,ID2" archive="true">Summary text.</ctx:summarize>
<ctx:link from="ID1" to="ID2" type="DEPENDS_ON"/>
<ctx:supersede old="OLD_ID" new="NEW_ID"/>
```

## ctx doc Subsystem
Import markdown documents for agent-accessible decomposition (separate from memory nodes):

```bash
ctx doc import README.md          # decompose into doc+content nodes
ctx doc show <doc-id>             # show document metadata
ctx doc search "migration"        # substring search over doc content
ctx doc promote <node-id> --into-memory --type fact  # promote content → memory
ctx doc export <doc-id>           # recompose full markdown
```

Doc nodes are invisible to memory queries (`recall`, `search`, `list`, `status`). Use `doc promote` to graduate content into the memory graph.

## Coordination with MEMORY.md
- **MEMORY.md**: Short project-specific reminders, release rules, user preferences.
- **ctx**: Structured, typed knowledge (decisions, patterns, observations, facts).
- Don't duplicate across both. Check before writing.

**If you don't store it, it's gone.**

Related Skills

Example Skill

6
from Zate/cc-plugins

Brief description of what this skill does and the domain expertise it provides.

vulnerability-patterns

6
from Zate/cc-plugins

Index of vulnerability detection pattern skills. Routes to core patterns (universal) and language-specific patterns for security scanning.

vuln-patterns-languages

6
from Zate/cc-plugins

Language-specific vulnerability detection patterns for JavaScript/TypeScript, Python, Go, Java, Ruby, and PHP. Provides regex patterns and grep commands for common security vulnerabilities.

vuln-patterns-core

6
from Zate/cc-plugins

Universal vulnerability detection patterns applicable across all programming languages. Includes hardcoded secrets, SQL/command injection, path traversal, and configuration file patterns.

scan

6
from Zate/cc-plugins

Run a security assessment using deterministic static analysis tools with LLM-powered triage

results

6
from Zate/cc-plugins

View the most recent security scan results without re-running the scan

remediation-library

6
from Zate/cc-plugins

Index of security remediation skills. Routes to specialized skills for injection, cryptography, authentication, and configuration vulnerabilities.

remediation-injection

6
from Zate/cc-plugins

Security fix patterns for injection vulnerabilities (SQL, Command, XSS). Provides language-specific code examples showing vulnerable and secure implementations.

remediation-crypto

6
from Zate/cc-plugins

Security fix patterns for cryptographic vulnerabilities (weak algorithms, insecure randomness, TLS issues). Provides language-specific secure implementations.

remediation-config

6
from Zate/cc-plugins

Security fix patterns for configuration and deployment vulnerabilities (path traversal, debug mode, security headers). Provides language-specific secure implementations.

remediation-auth

6
from Zate/cc-plugins

Security fix patterns for authentication and authorization vulnerabilities (credentials, JWT, deserialization, access control). Provides language-specific secure implementations.

fix

6
from Zate/cc-plugins

Fix or guide remediation for a specific security finding from the latest scan report