Install
openclaw skills install @antreasantoniou/threadseer-agent-skillTurn conversations into grounded decisions
openclaw skills install @antreasantoniou/threadseer-agent-skillTurn messy dialogue into the smallest decision-ready deliverable that satisfies the user's purpose. Preserve what participants meant, distinguish evidence from interpretation, and prefer concrete next steps and cheap learning loops over ornamental strategy prose.
Infer these dimensions from the request and input. State only consequential assumptions; ask a question only when a wrong choice would materially change the result.
Map common requests to profiles:
| Request | Profile | Default lenses |
|---|---|---|
| Analyze this end-to-end | full | all relevant lenses |
| Create a team report and action plan | team | executive, decisions, execution, alignment, communication |
| Extract insights, risks, and moonshots | insights | risk, learning, opportunity, systems |
| What should we do next and why? | next | decisions, reasoning, execution, adversarial |
| Preserve what future sessions need | memory | decisions, commitments, assumptions, durable context |
Treat profiles as defaults, not rigid templates. Add or remove sections when the request requires it. Read references/output-contracts.md for profile contracts and structured output.
scripts/segment_transcript.py. Preserve its line ranges and hashes. Do not chunk a short input merely for ceremony.scripts/validate_output.py with the closest profile. Repair structural errors; treat warnings as prompts for judgment, not automatic failures.Label consequential items, not every sentence:
[Explicit] — directly stated or clearly agreed.[Strong inference] — strongly implied by converging evidence.[Tentative inference] — plausible but materially uncertain.[Recommendation] — introduced by this analysis.[Unknown] — required information is absent.[Contested] — participants conflict or agreement is unclear.Use Unassigned, Not specified, and No deadline stated rather than inventing owners or dates. Pair important claims with line ranges, timestamps, message identifiers, or short source excerpts when available.
Rank actions by urgency, expected impact, feasibility, dependency order, reversibility, and learning value. Include one concrete next step. Prefer a cheap test when uncertainty dominates; prefer direct execution when the evidence and authority are already sufficient.
Do not equate enthusiasm, silence, or reaction emoji with commitment. Do not mark an action complete from discussion alone.
Analysis does not authorize sending messages, updating trackers, assigning people, filing records, or mutating canonical memory. Draft those artefacts when requested, but perform external or durable writes only with authority from the user and the destination's governing instructions.
# Segment a long transcript while preserving source ranges.
python3 scripts/segment_transcript.py meeting.txt --max-chars 16000 --format json
# Validate a Markdown artefact against a profile.
python3 scripts/validate_output.py report.md --profile team
# Validate structured JSON output.
python3 scripts/validate_output.py report.json --profile next --format json
Resolve script paths relative to this skill directory. Both scripts accept - for standard input.
The validator checks structure and reference membership, not truth, speaker attribution,
consent, redaction completeness, or whether a claimed action occurred. Check those against
the original source. Segmentation normalizes newlines and paragraph spacing; source hashes
identify newline-normalized text, while chunk hashes identify the emitted chunk text. Long
lines can span several chunks sharing one source line locator. Preserve the original file.
The default output includes a local source path; use --source-label transcript-01 when that
path should not appear in a derivative. This does not redact the transcript itself.