endsession
Document development sessions by recording achievements, updating task statuses, and tracking project progress in a structured, multi-stage workflow. Ideal for maintaining organized development history and knowledge graph updates.
Instructions
A multi-stage tool for documenting development sessions, recording achievements, tracking task progress, and updating project status in the knowledge graph.
When to use this tool: Only use this tool when the user explicity requests it or provides explicit approval.
Key features:
- Provides a structured, multi-stage workflow for session documentation
- Records session achievements in the knowledge graph
- Updates task statuses using the has_status relation (inactive, active, complete)
- Updates task priorities using the has_priority relation (low, high)
- Updates task sequencing relationships using the precedes relation
- Creates links between completed tasks and projects
- Updates project status metadata
- Creates new tasks for future development
- Supports revision of previous stages when needed
- Offers a comprehensive assembly stage that consolidates all session information
- Organizes development activity into a coherent project history
The endsession tool uses a sequential, multi-stage approach with 6 typical stages:
- Summary Stage: Records basic session information
- Achievements Stage: Documents specific accomplishments
- Task Updates Stage: Records status and priority changes to existing tasks
- New Tasks Stage: Defines new tasks created during the session
- Project Status Stage: Updates the overall project status
- Assembly Stage: Consolidates all information and finalizes the session record
Parameters explained:
- sessionId: Required - Unique identifier for the development session
- Obtained from the startsession tool
- Example: "dev_1234567890_abc123"
- stage: Required - Current stage of the endsession workflow
- Accepts: "summary", "achievements", "taskUpdates", "newTasks", "projectStatus", or "assembly"
- Each stage has specific data requirements and processing logic
- stageNumber: Required - The sequence number of the current stage
- Starts at 1 and typically progresses through 6 stages
- Used to track progress through the session documentation workflow
- totalStages: Required - Total number of stages planned for this workflow
- Typically 6 for the complete workflow
- Provides context for the progress within the overall process
- analysis: Optional - Text analysis or observations for the current stage
- Descriptive text explaining the work done in this stage
- Example: "Analyzed progress on the authentication system"
- stageData: Optional - Stage-specific structured data
- summary: { summary: "Session summary text", duration: "2 hours", focus: "ProjectName" }
- achievements: { achievements: ["Implemented feature X", "Fixed bug Y", "Refactored component Z"] }
- taskUpdates: { taskUpdates: [{ name: "Task1", status: "complete" }, { name: "Task2", status: "active", priority: "high" }] }
- newTasks: { newTasks: [{ name: "NewTask1", description: "Implement feature A", priority: "high", precedesTask: "Task2" }] }
- projectStatus: { projectName: "ProjectName", status: "active", observation: "Making good progress" }
- assembly: No stageData needed - automatically assembled from previous stages
- nextStageNeeded: Required - Whether additional stages are needed after this one
- Boolean value (true/false)
- Set to false on the final stage to complete the session
- isRevision: Optional - Whether this is revising a previous stage
- Boolean value (true/false)
- Default: false
- revisesStage: Optional - If revising, which stage number is being revised
- Required when isRevision is true
- Indicates which previous stage is being updated
Return information:
- success: Boolean indicating whether the operation succeeded
- stageCompleted: The stage that was just completed
- nextStageNeeded: Whether more stages are required
- stageResult: The processed result of the current stage
- endSessionArgs: (Only in assembly stage) Consolidated arguments for the session
- sessionRecorded: (Final stage only) Whether the session was recorded
- summaryMessage: (Final stage only) Formatted summary of all recorded information
- error: (Only on failure) Error message describing the issue
You should:
- Complete all stages in order for comprehensive session documentation
- Provide specific details in each stage for accurate knowledge graph updates
- Be precise about task names to ensure they match existing tasks in the knowledge graph
- Use valid status values (inactive, active, complete) when updating task status
- Use valid priority values (low, high) when specifying task priorities
- Specify task sequencing with the precedesTask field to establish task dependencies
- Use clear, descriptive names for any new tasks
- Include relevant observations for project status updates
- If making a revision, specify which stage is being revised
- Only mark nextStageNeeded as false on the final assembly stage
- Review the final summary message to confirm all session details were recorded properly
Input Schema
Name | Required | Description | Default |
---|---|---|---|
analysis | No | Text analysis or observations for the current stage | |
isRevision | No | Whether this is revising a previous stage | |
nextStageNeeded | Yes | Whether additional stages are needed after this one (false for final stage) | |
revisesStage | No | If revising, which stage number is being revised | |
sessionId | Yes | The unique session identifier obtained from startsession | |
stage | Yes | Current stage of analysis: 'summary', 'achievements', 'taskUpdates', 'newTasks', 'projectStatus', or 'assembly' | |
stageData | No | Stage-specific data structure - format depends on the stage type: - For 'summary' stage: { summary: "Session summary text", duration: "2 hours", focus: "ProjectName" } - For 'achievements' stage: { achievements: ["Implemented feature X", "Fixed bug Y", "Refactored component Z"] } - For 'taskUpdates' stage: { taskUpdates: [{ name: "Task1", status: "completed" }, { name: "Task2", status: "in_progress" }] } - For 'newTasks' stage: { newTasks: [{ name: "NewTask1", description: "Implement feature A", priority: "high" }] } - For 'projectStatus' stage: { projectName: "ProjectName", projectStatus: "in_progress", projectObservation: "Making good progress" } - For 'assembly' stage: no stageData needed - automatic assembly of previous stages | |
stageNumber | Yes | The sequence number of the current stage (starts at 1) | |
totalStages | Yes | Total number of stages in the workflow (typically 6 for standard workflow) |