Add Civilization-style completion quotes to finished work with a lightweight, offline skill and curated quote library
Use this skill as a final completion ritual after a real piece of work is finished.
This skill is for the last step of a substantial task, not for ordinary chat. It should feel like a Civilization technology or wonder completion line: brief, ceremonial, and anchored by a real quote with an author and source.
python3scripts/ and assets/quotes/approved_quotes.jsonlDefault behavior: trigger this skill for almost all task closures that produced a real result.
Use this lenient gate:
Only skip this skill for clear non-completion micro replies:
When the trigger gate passes:
no_match, say nothing extra and end normally.ok, read quote_text and needs_translation.needs_translation=true, translate quote_text into the user's language in the final reply.status="ok".quote_text.author and source_title.no_match, do not add a fallback quote, a hand-written ceremonial line, or a pseudo-quote.Use this structure:
{
"task_summary": "Implemented the new quote selection pipeline and documented the curation flow.",
"deliverable_type": "code",
"completion_class": "engineering",
"completion_mode": "build",
"keywords": ["pipeline", "selection", "curation", "script"],
"user_language": "zh-CN",
"recent_quote_ids": []
}
science: analysis, investigation, model design, research, root-cause workengineering: implementation, refactor, tooling, architecture, shipping a systemgovernance: process, policy, permissions, stability, ownership, organizationart-thought: writing, naming, concept shaping, knowledge organization, design rationalebreakthroughbuildorganizationinsightRun:
python3 ./scripts/render_finish_quote.py --library ./assets/quotes/approved_quotes.jsonl --input-json '<JSON_PAYLOAD>'
The renderer returns:
{"status":"ok","id":"...","quote_text":"...","needs_translation":true|false,"author":"...","source_title":"...","divider":"----------","selection_mode":"ranked|fallback","selection_profile":{...},"match_reason":{...},"rejected_candidates":[...] }{"status":"no_match"}Notes:
selection_mode=fallback means the request looked like a completed task, but keyword matching was sparse; the renderer still selected a domain/mode-consistent quote to reduce misses.no_match..cache/ when the runtime cannot write there.The final quote block must:
----------Use this shape:
----------
“<translated quote>”
—— <author>,《<source title>》