{"id":"f4cde39d-6e97-439a-a1a8-de4970547c88","shortId":"3B34dT","kind":"skill","title":"user-input-before-thread-attachments","tagline":"Resolve user-input attachment triggers before running later thread-safe attachment builders so dependent state is in place.","description":"# SKILL: User Input Before Thread Attachments\n**Domain:** attachment-pipeline\n**Trigger:** When attaching contextual artifacts in response to user input, run that work first so any derived triggers exist before later attachment builders execute.\n**Source Pattern:** Distilled from reviewed attachment-pipeline ordering and derived-trigger dependency implementations.\n\n## Core Method\nTreat user-input-driven attachment producers as dependencies for the broader attachment phase. Start by collecting the attachments that inspect user text directly, such as file mentions, MCP references, or other explicit user-specified artifacts, and wait for that set to finish. Only then should the second-stage thread-safe attachment builders run, because they may depend on triggers or metadata harvested from the first phase. This ordering prevents downstream attachment builders from running too early against incomplete state.\n\n## Key Rules\n- Build the user-input attachment group first, including everything that inspects raw user text or explicit user references.\n- Wait for the entire first-phase attachment group to complete before starting second-phase attachment logic.\n- Only once the user attachment future settles should you start the second-stage attachment list (queued actions, time-based context, memory lookups, and similar follow-on builders).\n- Keep the dependency notes close to the ordering boundary so future maintainers do not accidentally reorder the pipeline.\n\n## Example Application\nIf a request mentions files and also triggers a secondary memory lookup, resolve the file mentions first and wait for that work to complete. Only then run the dependent memory attachment builder so it sees the full set of requested paths.\n\n## Anti-Patterns (What NOT to do)\n- Do not launch the second-phase attachment builders before the user-input phase finishes; doing so lets dependent builders execute with empty or partial triggers.\n- Do not assume derived trigger state will “fill in later”; the pipeline must wait on the user-input phase to preserve the dependency ordering.","tags":["user","input","before","thread","attachments","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents"],"capabilities":["skill","source-ychampion","skill-user-input-before-thread-attachments","topic-agent-skills","topic-ai-agents","topic-cli","topic-coding-agents","topic-context-engineering","topic-developer-tools","topic-mcp","topic-multi-agent","topic-terminal-ui"],"categories":["cskill-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ychampion/cskill-agents/user-input-before-thread-attachments","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ychampion/cskill-agents","source_repo":"https://github.com/ychampion/cskill-agents","install_from":"skills.sh"}},"qualityScore":"0.467","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 34 github stars · SKILL.md body (2,077 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:58.448Z","embedding":null,"createdAt":"2026-04-18T22:21:36.971Z","updatedAt":"2026-04-22T00:56:58.448Z","lastSeenAt":"2026-04-22T00:56:58.448Z","tsv":"'accident':244 'action':217 'also':256 'anti':292 'anti-pattern':291 'applic':249 'artifact':41,114 'assum':327 'attach':6,11,19,32,35,39,58,67,83,90,96,132,152,168,189,198,204,214,280,305 'attachment-pipelin':34,66 'base':220 'boundari':238 'broader':89 'build':163 'builder':20,59,133,153,229,281,306,318 'close':234 'collect':94 'complet':192,273 'context':221 'contextu':40 'core':76 'depend':22,74,86,138,232,278,317,348 'deriv':53,72,328 'derived-trigg':71 'direct':101 'distil':63 'domain':33 'downstream':151 'driven':82 'earli':157 'empti':321 'entir':185 'everyth':172 'exampl':248 'execut':60,319 'exist':55 'explicit':110,179 'file':104,254,264 'fill':332 'finish':121,313 'first':50,146,170,187,266 'first-phas':186 'follow':227 'follow-on':226 'full':286 'futur':205,240 'group':169,190 'harvest':143 'implement':75 'includ':171 'incomplet':159 'input':3,10,29,46,81,167,311,343 'inspect':98,174 'keep':230 'key':161 'later':15,57,334 'launch':300 'let':316 'list':215 'logic':199 'lookup':223,261 'maintain':241 'may':137 'mcp':106 'memori':222,260,279 'mention':105,253,265 'metadata':142 'method':77 'must':337 'note':233 'order':69,149,237,349 'partial':323 'path':290 'pattern':62,293 'phase':91,147,188,197,304,312,344 'pipelin':36,68,247,336 'place':26 'preserv':346 'prevent':150 'produc':84 'queu':216 'raw':175 'refer':107,181 'reorder':245 'request':252,289 'resolv':7,262 'respons':43 'review':65 'rule':162 'run':14,47,134,155,276 'safe':18,131 'second':127,196,212,303 'second-phas':195,302 'second-stag':126,211 'secondari':259 'see':284 'set':119,287 'settl':206 'similar':225 'skill':27 'skill-user-input-before-thread-attachments' 'sourc':61 'source-ychampion' 'specifi':113 'stage':128,213 'start':92,194,209 'state':23,160,330 'text':100,177 'thread':5,17,31,130 'thread-saf':16,129 'time':219 'time-bas':218 'topic-agent-skills' 'topic-ai-agents' 'topic-cli' 'topic-coding-agents' 'topic-context-engineering' 'topic-developer-tools' 'topic-mcp' 'topic-multi-agent' 'topic-terminal-ui' 'treat':78 'trigger':12,37,54,73,140,257,324,329 'user':2,9,28,45,80,99,112,166,176,180,203,310,342 'user-input':8,165,309,341 'user-input-before-thread-attach':1 'user-input-driven':79 'user-specifi':111 'wait':116,182,268,338 'work':49,271","prices":[{"id":"ae1a4c6c-b28f-4bd7-8246-06204d953750","listingId":"f4cde39d-6e97-439a-a1a8-de4970547c88","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ychampion","category":"cskill-agents","install_from":"skills.sh"},"createdAt":"2026-04-18T22:21:36.971Z"}],"sources":[{"listingId":"f4cde39d-6e97-439a-a1a8-de4970547c88","source":"github","sourceId":"ychampion/cskill-agents/user-input-before-thread-attachments","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/user-input-before-thread-attachments","isPrimary":false,"firstSeenAt":"2026-04-18T22:21:36.971Z","lastSeenAt":"2026-04-22T00:56:58.448Z"}],"details":{"listingId":"f4cde39d-6e97-439a-a1a8-de4970547c88","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"user-input-before-thread-attachments","github":{"repo":"ychampion/cskill-agents","stars":34,"topics":["agent-skills","ai-agents","cli","coding-agents","context-engineering","developer-tools","mcp","multi-agent","terminal-ui"],"license":"mit","html_url":"https://github.com/ychampion/cskill-agents","pushed_at":"2026-04-04T14:13:23Z","description":"Agent skills for coding CLIs, multi-agent runtimes, context engines, MCP extensions, and terminal tooling. Instead of using claude code's source code, give your agent skills to create your own!","skill_md_sha":"3ae58a6a4fb6653f74fd89207a6543241a0f2c50","skill_md_path":"skills/user-input-before-thread-attachments/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/user-input-before-thread-attachments"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"user-input-before-thread-attachments","description":"Resolve user-input attachment triggers before running later thread-safe attachment builders so dependent state is in place."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/user-input-before-thread-attachments"},"updatedAt":"2026-04-22T00:56:58.448Z"}}