pub struct ClaudeCodeHook { /* private fields */ }Expand description
Claude Code hook using Skills lifecycle
Installation:
- Creates Claude Code Skill at ~/.claude/skills/nexus-memory/SKILL.md
- Skill auto-triggers on session_end, checkpoint, completion
- Skill calls MCP tool to store memory
Implementations§
Source§impl ClaudeCodeHook
impl ClaudeCodeHook
Sourcepub const SKILL_NAME: &'static str = "nexus-memory-extraction"
pub const SKILL_NAME: &'static str = "nexus-memory-extraction"
Skill name
Sourcepub const CONFIG_DIR: &'static str = ".claude"
pub const CONFIG_DIR: &'static str = ".claude"
Config directory
Sourcepub const SKILLS_DIR: &'static str = "skills"
pub const SKILLS_DIR: &'static str = "skills"
Skills subdirectory
Trait Implementations§
Source§impl AgentHook for ClaudeCodeHook
impl AgentHook for ClaudeCodeHook
Source§fn agent_type(&self) -> &str
fn agent_type(&self) -> &str
Get the agent type this hook handles
Source§fn install_session_end_hook<'life0, 'async_trait>(
&'life0 mut self,
callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_session_end_hook<'life0, 'async_trait>(
&'life0 mut self,
callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Install the session end hook Read more
Source§fn detect_session_activity<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionActivity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn detect_session_activity<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionActivity>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Detect if the agent session is currently active Read more
Source§fn extract_session_context<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn extract_session_context<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<SessionContext>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Extract session context from the agent Read more
Source§fn is_hook_installed(&self) -> bool
fn is_hook_installed(&self) -> bool
Optional: Check if native hook is installed
Source§fn reliability_score(&self) -> f32
fn reliability_score(&self) -> f32
Optional: Get hook reliability score (0.0-1.0)
Source§fn install_checkpoint_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn install_checkpoint_hook<'life0, 'async_trait>(
&'life0 mut self,
_callback: SessionEndCallback,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Optional: Install a checkpoint hook Read more
Auto Trait Implementations§
impl Freeze for ClaudeCodeHook
impl !RefUnwindSafe for ClaudeCodeHook
impl Send for ClaudeCodeHook
impl Sync for ClaudeCodeHook
impl Unpin for ClaudeCodeHook
impl UnsafeUnpin for ClaudeCodeHook
impl !UnwindSafe for ClaudeCodeHook
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more