bundled-skills/compile-knowledge/SKILL.md
Compile durable, non-obvious findings into an interlinked markdown knowledge store — atomic files, [[wiki-links]], a maintained index — so an agent gets smarter across sessions instead of relearning the same facts.
npx skillsauth add FrancoStino/opencode-skills-antigravity compile-knowledgeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Durable knowledge is worth keeping as many small, interlinked markdown files compiled over
time and surfaced through an index — not as one giant doc, a chat log, or a one-off
notes.md that rots. This skill makes compiling consistent, so what an agent learns in one
session is retrievable in the next one instead of being re-derived from scratch.
The shape is deliberately boring: one fact per file, a one-line description that recall
matches against, [[slug]] links between related files, and a single index line per entry.
The hard part is not the format — it is the discipline of writing only what is durable, and
of updating an existing file instead of creating a near-duplicate.
memory/ with an
index file such as MEMORY.md). This is the default and, for a solo agent, usually the
only store you need.wiki/ folder with wiki/index.md, for knowledge the whole team
would otherwise re-derive. Skip it entirely if you work alone; do not manufacture team
ceremony.Rule of thumb: "only I act on this" goes to memory, "anyone on my team might need this"
goes to the wiki. Cross-link the two with [[slug]] rather than copying the fact into both.
Compile only a fact that is durable and non-obvious. Skip it if it is derivable from the repository, the git history, or the existing docs; if it is true only for this one conversation; or if an existing file already covers it — in that last case update that file.
Grep the store and skim the index for the topic. A near-duplicate is worse than no entry, because recall then has two answers and no way to choose between them.
One fact per file. Two unrelated facts are two files. Name it as a kebab-case slug — the
slug is the link target, so it has to be guessable by the next reader. Frontmatter carries
name (equal to the slug), a one-line description specific enough to be matched during
recall, and a type or category. In the body, state the fact plainly and link related
entries with [[slug]] liberally; a link to a file that does not exist yet is a fine TODO
marker, not an error.
Use one line in the form - Title → slug.md — hook, under ~200 characters. Detail lives in
the file; an index line that restates the file defeats the point of having an index. Create
the index if it is missing, or the store is undiscoverable.
Facts expire. When one is time-sensitive or replaces an older one, say so in the frontmatter so recall can demote it rather than serving stale truth:
valid_to: YYYY-MM-DD — the date the fact needs a recheck.supersedes: <slug> — the older fact this replaces. Prefer this over editing in place
when the old value is still worth seeing; edit in place when it is not.confidence: high|medium|low — so a hunch never outranks a measurement.provenance: "<source>" — where the fact came from, distinct from who wrote the note.All four are optional and portable; omitting them changes nothing.
---
name: reference_search_api_counts_prs_as_issues
description: "GitHub's /search/issues endpoint counts pull requests in total_count, so a zero there proves neither issues nor PRs exist — but a non-zero one does not tell you which."
confidence: high
provenance: "measured 2026-08-16 while dupe-checking four upstream repos"
---
`total_count` from `/search/issues?q=<term>+repo:<owner>/<name>` is the sum of issues and
pull requests. For a "has anyone submitted this yet?" check that is exactly what you want,
and the zero is a real absence. To separate the two, add `type:pr` or `type:issue`.
Related: [[reference_gh_api_ref_serves_default_branch]].
Then one line in the index:
- Search API counts PRs as issues → reference_search_api_counts_prs_as_issues.md — a zero is a real absence, a non-zero is ambiguous
Task: bump the service's log level to debug and restart it.
Compile? No. It is derivable from the config file and the deploy history, and it is true
only for today. Close the task without writing anything.
description for the person searching later, in their vocabulary, not yours.notes.md and call it compiled.description line. A vague description makes a good
entry unfindable.memory/ folder or the
project's wiki/), and never to source files, configuration, or anything outside it.supersedes: when the old value still has audit value, and confirm before removing a
file you did not write.valid_to: on anything time-sensitive at write time, and verify a
recalled fact that names a file, flag, or endpoint before acting on it.@writing-skills - When you want to package a repeatable procedure as a skill rather
than record a fact.@deep-research - Produces the findings; this skill is what keeps them after the
session ends.tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.