# Session Summary



Get a token-efficient summary of session tasks for prompt injection.

## Usage [#usage]

<CodeGroup>
  ```python title="Python"
  import os
  from acontext import AcontextClient

  client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))

  # Ensure all messages have been processed
  client.sessions.flush(session_id)

  summary = client.sessions.get_session_summary(session_id)

  system_prompt = f"""You are a helpful assistant.

  Previous tasks:
  {summary}

  Continue helping the user.
  """
  ```

  ```typescript title="TypeScript"
  import { AcontextClient } from '@acontext/acontext';

  const client = new AcontextClient({
      apiKey: process.env.ACONTEXT_API_KEY,
  });

  // Ensure all messages have been processed
  await client.sessions.flush(sessionId);

  const summary = await client.sessions.getSessionSummary(sessionId);

  const systemPrompt = `You are a helpful assistant.

  Previous tasks:
  ${summary}

  Continue helping the user.
  `;
  ```
</CodeGroup>

## Output Format [#output-format]

```xml
<task id="1" description="Search for iPhone 15 news">
<progress>
1. Searched and found key specs
2. Compiled feature comparison
</progress>
<user_preference>
1. Focus on camera capabilities
</user_preference>
</task>
```

## Options [#options]

<CodeGroup>
  ```python title="Python"
  client.sessions.flush(session_id)
  # Limit to last 5 tasks
  summary = client.sessions.get_session_summary(session_id, limit=5)
  ```

  ```typescript title="TypeScript"
  await client.sessions.flush(sessionId);
  // Limit to last 5 tasks
  const summary = await client.sessions.getSessionSummary(sessionId, { limit: 5 });
  ```
</CodeGroup>

<Tip>
  Task extraction is async and may lag 1-6 messages. Keep the 4-6 most recent messages in full when using summary as compression.
</Tip>

## Next Steps [#next-steps]

<CardGroup cols="3">
  <Card title="Task Extraction" icon="list-check" href="/observe/agent_tasks">
    How tasks are extracted
  </Card>

  <Card title="Context Editing" icon="scissors" href="/engineering/editing">
    Manage context window size
  </Card>

  <Card title="Skill Memory" icon="brain" href="/learn/quick">
    Build skills from agent sessions
  </Card>
</CardGroup>
