- Add new todo tool with create, list, update, mark_done, mark_pending, delete actions - Each subagent has isolated todo storage keyed by agent_id - Support bulk todo creation via JSON array or bullet list - Add TUI renderers for all todo actions with status markers - Update notes tool to remove priority and todo-related functionality - Add task tracking guidance to StrixAgent system prompt - Fix instruction file error handling in CLI
130 lines
5.2 KiB
XML
130 lines
5.2 KiB
XML
<tools>
|
|
<tool name="create_note">
|
|
<description>Create a personal note for observations, findings, and research during the scan.</description>
|
|
<details>Use this tool for documenting discoveries, observations, methodology notes, and questions.
|
|
This is your personal notepad for recording information you want to remember or reference later.
|
|
For tracking actionable tasks, use the todo tool instead.</details>
|
|
<parameters>
|
|
<parameter name="title" type="string" required="true">
|
|
<description>Title of the note</description>
|
|
</parameter>
|
|
<parameter name="content" type="string" required="true">
|
|
<description>Content of the note</description>
|
|
</parameter>
|
|
<parameter name="category" type="string" required="false">
|
|
<description>Category to organize the note (default: "general", "findings", "methodology", "questions", "plan")</description>
|
|
</parameter>
|
|
<parameter name="tags" type="string" required="false">
|
|
<description>Tags for categorization</description>
|
|
</parameter>
|
|
</parameters>
|
|
<returns type="Dict[str, Any]">
|
|
<description>Response containing: - note_id: ID of the created note - success: Whether the note was created successfully</description>
|
|
</returns>
|
|
<examples>
|
|
# Document an interesting finding
|
|
<function=create_note>
|
|
<parameter=title>Interesting Directory Found</parameter>
|
|
<parameter=content>Found /backup/ directory that might contain sensitive files. Directory listing
|
|
seems disabled but worth investigating further.</parameter>
|
|
<parameter=category>findings</parameter>
|
|
<parameter=tags>["directory", "backup"]</parameter>
|
|
</function>
|
|
|
|
# Methodology note
|
|
<function=create_note>
|
|
<parameter=title>Authentication Flow Analysis</parameter>
|
|
<parameter=content>The application uses JWT tokens stored in localStorage. Token expiration is
|
|
set to 24 hours. Observed that refresh token rotation is not implemented.</parameter>
|
|
<parameter=category>methodology</parameter>
|
|
<parameter=tags>["auth", "jwt", "session"]</parameter>
|
|
</function>
|
|
|
|
# Research question
|
|
<function=create_note>
|
|
<parameter=title>Custom Header Investigation</parameter>
|
|
<parameter=content>The API returns a custom X-Request-ID header. Need to research if this
|
|
could be used for user tracking or has any security implications.</parameter>
|
|
<parameter=category>questions</parameter>
|
|
<parameter=tags>["headers", "research"]</parameter>
|
|
</function>
|
|
</examples>
|
|
</tool>
|
|
<tool name="delete_note">
|
|
<description>Delete a note.</description>
|
|
<parameters>
|
|
<parameter name="note_id" type="string" required="true">
|
|
<description>ID of the note to delete</description>
|
|
</parameter>
|
|
</parameters>
|
|
<returns type="Dict[str, Any]">
|
|
<description>Response containing: - success: Whether the note was deleted successfully</description>
|
|
</returns>
|
|
<examples>
|
|
<function=delete_note>
|
|
<parameter=note_id>note_123</parameter>
|
|
</function>
|
|
</examples>
|
|
</tool>
|
|
<tool name="list_notes">
|
|
<description>List existing notes with optional filtering and search.</description>
|
|
<parameters>
|
|
<parameter name="category" type="string" required="false">
|
|
<description>Filter by category</description>
|
|
</parameter>
|
|
<parameter name="tags" type="string" required="false">
|
|
<description>Filter by tags (returns notes with any of these tags)</description>
|
|
</parameter>
|
|
<parameter name="search" type="string" required="false">
|
|
<description>Search query to find in note titles and content</description>
|
|
</parameter>
|
|
</parameters>
|
|
<returns type="Dict[str, Any]">
|
|
<description>Response containing: - notes: List of matching notes - total_count: Total number of notes found</description>
|
|
</returns>
|
|
<examples>
|
|
# List all findings
|
|
<function=list_notes>
|
|
<parameter=category>findings</parameter>
|
|
</function>
|
|
|
|
# Search for SQL injection related notes
|
|
<function=list_notes>
|
|
<parameter=search>SQL injection</parameter>
|
|
</function>
|
|
|
|
# Search within a specific category
|
|
<function=list_notes>
|
|
<parameter=search>admin</parameter>
|
|
<parameter=category>findings</parameter>
|
|
</function>
|
|
</examples>
|
|
</tool>
|
|
<tool name="update_note">
|
|
<description>Update an existing note.</description>
|
|
<parameters>
|
|
<parameter name="note_id" type="string" required="true">
|
|
<description>ID of the note to update</description>
|
|
</parameter>
|
|
<parameter name="title" type="string" required="false">
|
|
<description>New title for the note</description>
|
|
</parameter>
|
|
<parameter name="content" type="string" required="false">
|
|
<description>New content for the note</description>
|
|
</parameter>
|
|
<parameter name="tags" type="string" required="false">
|
|
<description>New tags for the note</description>
|
|
</parameter>
|
|
</parameters>
|
|
<returns type="Dict[str, Any]">
|
|
<description>Response containing: - success: Whether the note was updated successfully</description>
|
|
</returns>
|
|
<examples>
|
|
<function=update_note>
|
|
<parameter=note_id>note_123</parameter>
|
|
<parameter=content>Updated content with new findings...</parameter>
|
|
</function>
|
|
</examples>
|
|
</tool>
|
|
</tools>
|