serendipity — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited serendipity (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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.
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.
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.