Quickstart: Install the attune-ai plugin for Claude Code
Add the plugin to Claude Code and confirm its hooks are working.
claude plugin marketplace add Smart-AI-Memory/attune-ai && claude plugin install attune-ai@attune-ai
Result: 13 skills available via slash commands in Claude Code.
Step 1: Confirm the welcome hook fires
Open a new Claude Code session. The hooks.welcome entry point runs automatically on session start. You should see an orientation message in the session pane.
Step 2: Check context utilization
In a session with an existing transcript, the compact-warning hook estimates how full the context window is:
from hooks._transcript_size import estimate_utilization
util = estimate_utilization("~/.claude/transcript.json")
print(util) # e.g. 0.73
Result: A float between 0.0 and 1.0. A value above your configured threshold triggers the warning produced by hooks.compact_warning.
Step 3: Orient to in-flight specs
Run the spec-orient hook to see which specs are active in your workspace:
from hooks._state import workspace_roots, discover_specs
from pathlib import Path
roots = workspace_roots(Path.cwd())
specs = discover_specs(roots)
for s in specs:
print(s.slug, s.phase, s.status)
Result: One line per in-flight spec, for example:
my-feature draft in-progress
No output means no active specs were found under the workspace roots.
Step 4: Verify the security guard
Confirm the security guard rejects a disallowed path before you rely on it in automation:
from hooks.security_guard import validate_file_path
ok, reason = validate_file_path("/etc/passwd")
print(ok, reason) # False <rejection reason>
Result: ok is False and reason explains the rejection. A path outside SYSTEM_DIRECTORIES that you own returns True.
Next: Type /attune in a Claude Code session to run your first skill.
Unresolved references
Auto-generated by attune-author fact-check. Review and either fix the source code, fix this doc, or add an override.
| Location | Severity | Issue |
|---|---|---|
| Line 29 (code fence) | error | from hooks._transcript_size import … — module not importable |
| Line 42 (code fence) | error | from hooks._state import … — module not importable |
| Line 64 (code fence) | error | from hooks.security_guard import … — module not importable |
| Line 19 | warning | 13 skills — no deterministic verifier; please confirm manually |