SKILL.md
1,310 tokens · o200k_base · 5,556 bytes
Source excerpt starting at line 1.---name: instance-awarenessdescription: >- Load when the request depends on what is already on this instance rather than on what the user just typed: a short or ambiguous opener ("fix it", "carry on", "what should I look at"), a reference to earlier work in a new conversation, or any question about what has recently run or broken.recommended_tools: - activity - workflows - executions - credentials--- # Instance Awareness The conversation is not the only context you have. This instance carries arecord of what has been built, changed, run and broken. Most of it is cheap toread, and reading it is usually better than asking. ## The one rule **Ask about intent. Look up state.** What the user wants next is theirs to tell you. What already exists here isyours to find out. A question you could have answered by looking costs the usera turn and tells them you are not paying attention — and it is the most commoncomplaint in reviewed conversations: the assistant re-asking for something ithad, or restarting work it had already finished. ## Read in this order — cheapest first Each rung answers a narrower question at a higher cost. Stop at the first onethat answers yours. Do not start at the bottom. ### 0. The block you were already given If an `<instance-context>` block is in this turn, you already have three thingsfor free: which workflows exist here, what changed recently, and what has runor failed. Read it before your first tool call. It is a set of pointers, not contents. Each change line ends with the resourceit is about, and the bracketed number is a stable id. Run lines carry theexecution id of the last failure, which is what `executions` takes. A later turn may bring a shorter block that says it is an addition. Those areextra entries, not a replacement — the earlier ones still stand. ### 1. `activity(action="list")` and `activity(action="expand", id=N)` `list` looks further back than the block, or filters to one category or oneresource. `expand` opens a single entry in full **and returns up to 20 morerecent entries for the same resource** — which is how you see a workflow'srecent change history in a single call. Twenty is a cap, not a total: an olderhistory continues past it, and `list` with that `resourceId` reads furtherback. Use `expand` when a line is interesting but thin: a save you want the detail of,or a workflow you want the history of. An id that no longer resolves is ordinary— entries are pruned — so carry on rather than treating it as an error. The log covers workflow and credential changes. It does not record runs; thosecome from the block, and `executions` has the detail. ### 2. One workflow, read in full `workflows(action="get", workflowId, full=true)` on **one** example — the onethe block points at, or the one the user named. This rung is for what an entrycannot express: parameter values, naming, retry settings, error-workflowwiring, how a prompt is structured. Pass `full=true`. Without it a large workflow comes back as structure only,with its node parameters omitted — which is exactly what this rung is for. Read one, not several. If one example is not enough to see the pattern, there isprobably no pattern to follow. ## What each surface can and cannot tell you | Question | Where it is answered ||---|---|| What already exists here? | the block, rung 0 || What did they just change? | the block, rung 0 || Which workflow do they mean by "it"? | the block — the most recent one they touched || What is broken right now? | the block's run lines, then `executions` for the detail || Did the nightly job run? | the block, then `executions` || Who changed this, and was it me? | `activity(action="expand")` — entries carry provenance || How do they configure it? | one workflow, rung 2 || Do they have a credential for X? | `credentials(action="list")` | ## Resolving a vague opener "fix it", "carry on", "why is this broken", "what should I look at", or a newconversation about work from yesterday: the answer is nearly always the mostrecent thing in the block, and usually the most recent *failure*. Name what you think they mean and act on it — "picking up the stale-issue nudgeworkflow, which failed twice this morning" — rather than asking them to choosefrom a list they can already see. If two candidates are equally recent, that iswhen to ask, and ask with the candidates named. ## Reusing what they changed by hand A save entry records which node types were added or removed, and whether thechange came from the assistant or from the user. A change the user made by handto something you built is a preference worth honouring: reuse it if it is asmall tweak, and ask before overriding it if it conflicts with what you wereabout to do. ## Where this stops - **An entry is not the workflow.** It records that a save happened and which node types moved, never the parameters. Anything about contents is rung 2.- **An entry can outlive its resource.** A deletion entry points at a workflow that is gone; that is the entry doing its job.- **Runs end where retention ends.** The instance keeps executions for a bounded window, so an older failure may be gone even though the workflow is not.- **Recent is not the same as typical.** The newest workflow may be the odd one out.- **Do not narrate the block.** It is context for reading intent, not a status report. Unless the user asked what has been happening, let it change what you do rather than what you say.
Discovery context
Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.