serendipity
Skill1 starsChanged 7 months agoMITView on GitHub
Explore distant graph material through grounded comparison, random perturbation, or temporary forced bisociation. Use when a live task could benefit from leaving its most familiar path without abandoning evidence.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- zanlib0/skillstheir own version, first seen Sep 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- zanlib0/skills★ 7same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- code-workSkill
- collaborative-codeSkill
- creative-workSkill
- graph-workflowSkill
- orientSkill
- quality-checkSkill
- reading-modeSkill
- understanding-workSkill
- web-uiSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 5 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
If the user has not requested a particular method and there is a genuine exploratory choice, start with:
- Distinctive: line 50
Consider higher-weighted routes seriously, then choose, combine, modify, or reject them.
- Very specific: line 63
Use graph_bisociate to surface cross-context candidates through spreading activation and information gain.
- Very specific: line 68
Use graph_discover_grounded({ nodes: 3, intensity: 0.2 }) when you want the graph to sample distant material and ask whether a real bridge …
- Very specific: line 74
After finding a genuine bridge, graph_discover_grounded_chaos can perturb that bridge.
- Very specific: line 76
Use graph_discover({ nodes: 2, cold: true, blind: true }) for the more speculative blind ANI path, or graph_chaos({ text, blind: true }) to …
- Very specific: line 87
Use graph_random({ nodes: 3, cold: true, force: false }) when the value lies in letting a colder sample perturb the current framing.
- Very specific: line 93
Use graph_random({ nodes: 2, cold: true, force: true }) for a temporary Physics What-If.
- Distinctive: line 101
When an encounter materially changes the artifact, make that change in its canonical graph document unit while Understanding mode is active.
- Distinctive: line 108
If the encounter does not change later attention or work, write nothing.
- Distinctive: line 109
Never create a note merely to prove that the exploratory call was useful.
- Very specific: line 112
All creative outputs remain provisional until scrutinized against their source nodes, the task, and any relevant evidence or artifact …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Serendipity
Serendipity is an encounter with material outside the most likely completion path, followed by judgment. It is not a novelty quota, a claim that unrelated things must connect, or permission to abandon the user's task.
Choose the encounter
If the user has not requested a particular method and there is a genuine exploratory choice, start with:
graph_suggest_next({
task: "State the live task or uncertainty",
workflow: "general",
creativity: true
})Replace general with the live work domain when reading, research, coding,
collaborative coding, or writing applies.
Consider higher-weighted routes seriously, then choose, combine, modify, or reject them. The model decides whether a proposed encounter can serve the live task; the menu is neither exhaustive nor mandatory. Do not call for another roll merely because one turn elapsed.
Pass creativity: false when ordinary guidance is useful but creative
provocations are not. This affects that roll only; it does not disable any
direct tool. Use graph_thermostat() when an entropy-style structural pulse
would genuinely help decide between convergence, continuation, and divergence.
Its pressure and recommended tool are advisory, not a command or quality score.
Choose the creative pressure
Use graph_bisociate to surface cross-context candidates through spreading
activation and information gain. It is often the lightest way to leave a local
groove: inspect a candidate's actual nodes, then decide whether a relation is
real.
Use graph_discover_grounded({ nodes: 3, intensity: 0.2 }) when you want the
graph to sample distant material and ask whether a real bridge exists. Inspect
the actual sources, then look for a shared mechanism, constraint, structure, or
functional analogy. A defensible
no-connection result needs no node.
After finding a genuine bridge, graph_discover_grounded_chaos can perturb
that bridge. Do not call it merely because the grounded tool returned nodes.
Use graph_discover({ nodes: 2, cold: true, blind: true }) for the more
speculative blind ANI path, or graph_chaos({ text, blind: true }) to perturb
chosen text. Blind ANI is meaningful only when a separate model context sees
the returned prompt without the original source context.
Dictionary ANI reads a newline-delimited word list installed on the MCP server
host. When no standard system word list exists, set the server environment
variable UG_ANI_DICTIONARY_PATH to its absolute path. There is no bundled or
reduced fallback; if the dictionary is unavailable, choose a non-ANI method
instead of inventing substitute seeds.
Use graph_random({ nodes: 3, cold: true, force: false }) when the value lies in
letting a colder sample perturb the current framing. Returned nodes are
provocations, not premises. Re-enter selected material with
graph_understand({ query, workflow, stance: "disrupt", focusNodeIds }) when
its surrounding evidence or resistance matters.
Use graph_random({ nodes: 2, cold: true, force: true }) for a temporary
Physics What-If. For one generative pass, assume the sampled concepts connect
and articulate a possible mechanism. Then release the assumption, test it
against the task and sources, and preserve it only if a defensible relation
remains. “No connection” is a successful result.
Let divergence affect the work
When an encounter materially changes the artifact, make that change in its
canonical graph document unit while Understanding mode is active. Preserve a
durable insight atomically with graph_batch, using a nested
graph_serendipity operation whose source_elements identify every source
node. Choose another honest cognitive type when the result is really a
question, surprise, hypothesis, tension, or decision.
If the encounter does not change later attention or work, write nothing. Never create a note merely to prove that the exploratory call was useful.
All creative outputs remain provisional until scrutinized against their source
nodes, the task, and any relevant evidence or artifact behavior.
graph_evaluate_variations may experimentally rank alternatives by Novelty
Score; its ranking is not validation. When a synthesis is worth retaining,
record it with a batch-only graph_serendipity operation and its exact source
elements. Mark it with batch-only graph_validate only after independent
scrutiny yields a specific defensible insight.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

