| name | final_response |
| description | Final response skill for generating structured battlefield analysis reports. Use to format your final answer with clear causal relationships, evidence attribution, and professional report structure. Always use this for final answers to maintain consistency. |
Final Response Generation Skill
Overview
This skill generates professional, structured reports for battlefield analysis. Use it to format your final answer with clear organization, evidence attribution, and actionable insights.
When to Use
Always use this skill when providing your final answer to ensure:
- Consistent report format across all analyses
- Clear causal relationships between evidence and conclusions
- Proper attribution of sources (video, PDF, tactical map)
- Professional presentation of findings
Report Structure
The generated report includes these sections (as applicable):
- Title - Descriptive title for the analysis
- Executive Summary - 2-3 sentence overview
- Methodology - How the analysis was conducted
- Key Findings - Numbered list of discoveries
- Video Evidence - Specific video segment references
- Reference Documentation - PDF citations
- Tactical Assessment - Overall situation analysis
- Recommendations - Actionable next steps
Usage
report = final_response_skill(
title="Reconnaissance Analysis Report",
summary="Analysis of drone footage reveals significant enemy armor activity...",
findings=[
"3 tanks detected moving eastward in sector Alpha",
"Convoy formation suggests defensive posture",
{"text": "Infantry support observed", "confidence": "high", "source": "video"}
],
video_evidence=[
{
"video_id": "m-abc123",
"segment_id": 2,
"time_range": "00:00:30 - 00:01:00",
"description": "Tank formation in open terrain",
"objects": ["tank", "tank", "truck"]
}
],
pdf_references=[
{
"source": "field_manual.pdf",
"text": "T-72 tanks have operational range of 500km...",
"relevance_score": 0.85
}
],
tactical_assessment="The observed enemy movement pattern indicates preparation for defensive operations...",
recommendations=[
"Monitor sector Alpha for continued activity",
"Prepare counter-measures for potential armor engagement",
"Request aerial reconnaissance for broader coverage"
],
methodology="Semantic search and object detection across 2 videos, cross-referenced with tactical doctrine"
)
Parameters
Required
title: Report title (e.g., "Tank Activity Analysis Report")
summary: Executive summary (2-3 sentences)
findings: List of key findings (strings or dicts with text/confidence/source)
Optional
video_evidence: List of video evidence items (dicts with video_id, segment_id, time_range, description, objects)
pdf_references: List of PDF citations (dicts with source, text, relevance_score)
tactical_assessment: Overall tactical assessment paragraph
recommendations: List of recommended actions
methodology: Description of analysis approach
Finding Format Options
Findings can be simple strings or structured dicts:
"3 tanks detected in sector Alpha"
{
"text": "3 tanks detected in sector Alpha",
"confidence": "high",
"source": "video segment 2"
}
Video Evidence Format
{
"video_id": "m-abc123xyz",
"segment_id": 2,
"time_range": "00:00:30 - 00:01:00",
"description": "Tank formation moving through open terrain",
"objects": ["tank", "tank", "truck"]
}
PDF Reference Format
{
"source": "tank_manual.pdf",
"text": "Relevant excerpt from the document...",
"relevance_score": 0.85
}
Result Structure
Returns:
status: "success" or "error"
result:
report: Formatted markdown report
sections: Metadata about included sections
message: Summary of report contents
Example Workflow
contexts = videodb_query_skill("get_contexts")
tanks = videodb_query_skill("object_search", object_type="tank")
specs = pdf_rag_skill("tank capabilities")
situation = wargame_query_skill("tactical_situation")
findings = []
video_evidence = []
pdf_references = []
if tanks["status"] == "success":
findings.append(tanks["result"]["summary_text"])
for entry in tanks["result"]["timeline"]:
video_evidence.append({
"video_id": entry["video_id"],
"segment_id": entry["segment_id"],
"time_range": f"{entry['start_time_hms']} - {entry['end_time_hms']}",
"description": entry.get("description", ""),
"objects": [f"tank x{entry['object_count']}"]
})
if specs["status"] == "success":
for r in specs["result"]["results"][:3]:
pdf_references.append({
"source": r["source"],
"text": r[],
: r[]
})
report = final_response_skill(
title=,
summary=,
findings=findings,
video_evidence=video_evidence,
pdf_references=pdf_references,
tactical_assessment=,
recommendations=[, ]
)
final_answer(report[][])
Best Practices
- Always use for final answers - Maintains consistency
- Include methodology - Explain how you analyzed
- Cite all sources - Video segments, PDFs, map data
- Be specific - Include segment IDs, time ranges
- Actionable recommendations - Provide clear next steps
- Causal relationships - Connect evidence to conclusions