Open Knowledge Format for Crossplane v2
LLM wiki kit
First committed by jkroepke
Published in jkroepke/okf-crossplane-v2. Publisher page
37 GitHub stars
What it is
LLM-wiki in OKF (Open Knowledge Format) for Crossplane v2
AutoGineer overview, from the brain’s own files
The okf-crossplane-v2 repository provides a versioned, source-backed knowledge catalog designed to help AI agents and developers navigate the Crossplane v2 ecosystem. It aggregates information from Go API types, CRDs, package metadata, and documentation into a structured format. By utilizing the Open Knowledge Format (OKF), it enables agents to perform precise lookups on providers, composition functions, and API definitions. The project includes a dedicated MCP server that allows agents to query live repository data, such as CRD definitions, versioning, and examples, ensuring that the information retrieved is grounded in specific, versioned source code.
How it works
Memory model: LLM wiki
AutoGineer overview, from the brain’s own files
The system organizes technical knowledge into a catalog of Markdown files stored in the catalog folder. These files contain OKF metadata and provenance links. An MCP server, which can be self-hosted or used via a public endpoint, ingests this catalog into a DuckDB instance. Agents interact with this data through specific tools that resolve provider versions, search CRDs, and retrieve documentation or examples. The system relies on specialized researcher agents defined in the .agents folder to maintain and validate the knowledge base, ensuring that facts are linked to stable source code and documentation.
| Folder | Role | Files |
|---|---|---|
| .codex | agent-config | 25 |
| .github | agent-config | 2 |
| skills | agent-instructions | 1 |
| .agents | folder | 37 |
| .codex-plugin | folder | 1 |
| .okf | folder | 2 |
| .pi | folder | 27 |
| .plugin | folder | 1 |
| catalog | folder | 120 |
| mcp | folder | 12 |
Requirements
Apps: Docker
API keys (by name): GITHUB_TOKEN
Works with: Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Amp, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
- Download the brain as a ZIP and unzip it where you keep your notes or project: https://mp-staging.autogineer.com/agent-brains/jkroepke/okf-crossplane-v2/download
Point Claude Code at .codex-plugin/plugin.json: it does not read that file on its own.
cd okf-crossplane-v2 && claude
AutoGineer scanned these files at commit df24ac2.
Add crossplane-v2-okf to .mcp.json:
{ "mcpServers": { "crossplane-v2-okf": { "type": "http", "url": "https://crossplane.mcp.jkroepke.de/mcp" } } }Or add it with the Claude Code CLI:
claude mcp add --transport http crossplane-v2-okf https://crossplane.mcp.jkroepke.de/mcpYour data is sent to crossplane.mcp.jkroepke.de.
First committed by jkroepke. Published in jkroepke/okf-crossplane-v2. Licence: Apache License 2.0.
Usage
AutoGineer overview, from the brain’s own files
- Querying CRD definitions for specific Crossplane providers
- Retrieving versioned examples for composition functions
- Resolving stable provider versions and their associated documentation
- Integrating Crossplane knowledge into AI agent workflows via MCP
- “Find the latest version of the AWS provider and list its CRDs.”
- The agent uses the get_versions and provider_crd_search tools to return the canonical repository name and a list of available CRDs for the specified provider.
- “Show me the definition for the S3Bucket CRD in the latest AWS provider.”
- The agent retrieves the YAML definition of the requested CRD using the provider_crd_get_definition tool, ensuring the output is token-efficient.
Documentation by jkroepke
Image: CI Image: GitHub license Image: GitHub Repo stars Image: BundleDex
Open Knowledge Format for Crossplane v2
This repository provides a structured knowledge catalog for the Crossplane v2 ecosystem using Open Knowledge Format v0.2.
The goal is to make Crossplane concepts, APIs, providers, composition functions, documentation, and practical examples easier to discover and understand. The catalog is designed for both humans and knowledge-aware tools.
Installation
WARNING
The public MCP server is a temporary early-access service for early adopters. Its availability is not guaranteed, and it may change or be removed without notice. It is intended to bridge the current tooling gap until the OKF ecosystem provides practical, end-user-friendly solutions that run locally. For reliable or production use, self-host the included container.
Install the companion skill and hosted OKF-aware MCP server together as a plugin for every detected supported agent:
npx plugins add jkroepke/okf-crossplane-v2Pass --target codex to install only in Codex. Restart the selected agents
after installation.
Alternatively, install the hosted OKF-aware MCP server globally:
npx add-mcp \
https://crossplane.mcp.jkroepke.de/mcp \
--name crossplane-v2-okf \
--globalThen install the companion skill so the agent prefers this bundle over generic documentation providers for Crossplane v2 questions:
npx skills add jkroepke/okf-crossplane-v2 \
--skill crossplane-v2-okf \
--globalBoth standalone installers detect supported agents and ask where the integration should be installed. Restart the selected agent after installation.
The public MCP health endpoint is available at https://crossplane.mcp.jkroepke.de/healthz.
Self-hosting the MCP server
The included container fetches this repository, ingests catalog/ into a DuckDB catalog, and serves the okf-mcp tools over Streamable HTTP.
docker compose up --build --detachTo authenticate the server's GitHub requests, export GITHUB_TOKEN before
starting the container. The token is optional.
The local MCP endpoint is http://127.0.0.1:8000/mcp. Put it behind a TLS reverse proxy for crossplane.mcp.jkroepke.de.
The catalog is refreshed at container startup. If fetching or ingestion fails and a previous catalog exists in the volume, the server continues with that last successful catalog.
The MCP tools are read-only, but the public endpoint has no application-level authentication. Apply request limits and access controls at the reverse proxy when required.
Crossplane package tools
The server adds these tools backed by OSS GitHub repositories:
get_versions(name)resolves an OSS provider or function repository and returns its canonical repository name,versions.latest, a compact list of recent stable versions, and tag counts. Pass the returned provider name to the CRD tools.provider_crd_search(provider_name, provider_version, crd_search_term)searches CRDs in one explicit provider package version. The search term supports case-insensitive shell-style wildcards.provider_crd_get_definition(provider_name, provider_version, crd_name, path?)returns the complete CRD definition as token-efficient YAML. Use a dotted path such as.specor.spec.versions[0]to return only a subtree.provider_crd_get_examples(provider_name, provider_version, crd_name)returns GitHub repository paths for generated and handwritten examples. Without an API version, it selects the latest served CRD API version, for exampleexamples-generated/namespaced/ec2/v1beta2/route.yaml.provider_crd_get_terraform_docs(provider_name, provider_version, crd_name)returns the Terraform provider repository, version, and documentation path. It reads the Crossplane provider Makefile and the generated controller mapping instead of inferring the Terraform resource name.
crd_name accepts a Kind, group/Kind, group/version/Kind, or a YAML fragment containing apiVersion and kind.
Use an OSS GitHub repository name such as crossplane-contrib/provider-upjet-aws or crossplane-contrib/function-go-templating. A small set of historical package aliases is mapped to their known OSS source repositories; unmapped upbound/... names are rejected rather than guessed.
The CRD tools require an explicit provider version. The value latest is also supported and selects the highest stable semantic-version Git tag. Self-hosted deployments need outbound HTTPS access to GITHUB_API_URL and GITHUB_RAW_URL.
Successful remote fetches are cached in memory. Git tag listings use the configurable short FETCH_CACHE_TTL_SECONDS (default: 300 seconds); CRDs, definitions, examples, and Terraform metadata resolved at immutable Git tags are cached for 30 days. FETCH_CACHE_MAX_ENTRIES (default: 512) bounds memory use.
Why this repository exists
Crossplane knowledge is distributed across many repositories and kinds of sources:
Go API types and runtime implementations
CustomResourceDefinitions and OpenAPI schemas
package metadata
tests and executable examples
official Crossplane documentation
community implementations and real-world composition examples
Upjet-based providers add another layer. Their Crossplane managed resources are generated from Terraform provider resources, while the Terraform documentation often contains more details about the underlying cloud APIs and configuration fields.
This repository connects these sources in one versioned catalog without replacing the original documentation.
Knowledge structure
Knowledge is stored as small Markdown documents under catalog/. Each document represents an independently useful concept and includes OKF metadata, provenance in sources, keyed claim footnotes, and relationships to related concepts.
Repository validation pins okf-ingest 0.11.0, which adds OKF v0.2 core support, including generated.at freshness fallback and preservation of the new frontmatter families (upstream support commit).
If the task is to build a Crossplane v2 Composition, start with the Composition developer route. It routes agents through separate API/provider, pipeline/security, and testing/packaging concepts without pretending that provider-specific schemas or credentials are universal.
The catalog is intended to be:
Source-backed: important statements link to source code, schemas, tests, examples, or official documentation.
Version-aware: sources are tied to specific repository revisions.
Navigable: overview documents connect related concepts without requiring readers to know the source repository layout.
Incremental: providers, functions, services, documentation areas, and example repositories can be added in focused batches.
License
This project is licensed under the Apache License 2.0.
.agents/skills/okf/SKILL.md
name: okf
description: Explicit-only workflow that builds or updates a source-backed Open Knowledge Format catalog for Crossplane core, providers, functions, SDKs, tools, official documentation, historical design context, and examples. Never invoke implicitly; the user must invoke $okf, /skill:okf, or /okf.
disable-model-invocation: true
metadata:
version: "1.5"
license: Apache-2.0
Crossplane OKF workflow
Run this workflow only after the user explicitly invokes $okf, /skill:okf, or /okf. Do not treat a request that merely mentions OKF, Crossplane, a provider, or a function as permission to start this workflow.
The root or parent agent owns all writes. Subagents are bounded, read-only researchers that return evidence packets.
Inputs
Derive the requested scope from the explicit invocation:
source repositories or source groups
concepts, APIs, commands, providers, functions, documentation, examples, issues, pull requests, or resource batches
create, update, validate, or review operation
output path, defaulting to
catalog/
Read:
references/sources.yamlreferences/evidence-contract.mdreferences/okf-profile.mdreferences/okf-spec.md
Treat the source categories in references/sources.yaml as separate authority roles. Do not flatten primary source, official documentation, historical-design, supporting source, project-history evidence, and third-party example evidence into one undifferentiated source list.
Runtime adapters
The workflow and evidence contracts are shared across agent runtimes:
Codex specialist definitions live in
.codex/agents/.Pi specialist definitions live in
.pi/agents/and are loaded throughpi-subagents.Pi model configuration guidance lives in
.pi/README.md.Pi users may invoke the shared skill with
/skill:okfor use the project prompt/okf.Runtime-specific agents use the same
okf-*role names and must preserve the same read-only evidence contract.Every dedicated role must exist as a matching Codex and Pi agent set.
The root or parent agent remains the only writer regardless of runtime.
Change publication rules
For every content addition or update, create a dedicated non-default branch from the latest default branch before editing.
Keep the complete related change set on that branch, including generated content and all supporting source locks, claim ledgers, indexes, logs, agent instructions, and source profiles.
Complete deterministic validation and obtain
APPROVEDfromokf-reviewerbefore committing.After all review fixes, run
mise run lint. Fix every lint error and rerun the command until it succeeds.Commit every intended file only after reviewer approval and a successful lint run. Push the branch and open a pull request.
Do not merge the pull request unless the user explicitly requests it.
Workflow
1. Bound the work
Create the smallest useful source and concept set. Do not process every repository, every managed resource, or the entire issue and pull-request history unless the user explicitly requests full coverage.
For incremental work, inspect existing catalog concepts and source locks first. Regenerate only concepts affected by changed source paths or dependencies.
2. Pin sources
Resolve every selected repository to a full commit SHA before extracting released knowledge. Record the resolved commits in .okf/sources.lock.yaml or update the existing lock file.
Never cite a moving branch in generated knowledge. A repository homepage may be used as the frontmatter resource, but released-source evidence citations must be immutable.
For Crossplane Core, resolve the latest stable Crossplane release first. Use Core CRDs from that release tag and the matching crossplane/docs content/v<major>.<minor>/ series. Do not use content/master/, content/cli/**, or content/v1.* for stable Core concepts.
For historical Core design context, pin the current crossplane/crossplane main commit at research time and record the selected design document's status and accuracy warnings.
For each composition function, discover the highest stable semantic-version tag at research time. Exclude prereleases, release candidates, beta tags, alpha tags, draft releases, and moving branches. Resolve the selected tag and the immediately preceding stable tag to full commits when available. Do not silently fall back to main.
Issue and pull-request state is mutable. Record a research timestamp and direct GitHub item metadata for project-history evidence instead of presenting it as immutable released source.
3. Scout cheaply
Use okf-source-scout for repository classification and high-signal path discovery.
Batch repositories by source kind. Do not spawn one agent per repository. Prefer one scout task for up to five related repositories or one changed-source batch.
Scout official documentation and third-party examples separately from implementation repositories so their authority roles remain explicit in the evidence packet.
Never use crossplane/crossplane/design/** for general feature discovery. Locate a design document only for a specific feature already identified from current stable documentation or implementation evidence.
Skip scouting when existing locks and evidence already identify the relevant files and their source paths have not changed.
4. Research only what needs semantics
Use the narrowest matching researcher:
okf-crossplane-core-docs-researcherfor current stable Crossplane Core documentation, terminology, workflows, lifecycle states, and general provider or function installation guidance.okf-crossplane-core-code-researcherfor current stable Crossplane Core CRDs undercluster/crds.okf-crossplane-core-design-researcheronly as a last-resort historical-context source for a specific Core feature already identified from current stable documentation or implementation evidence.okf-function-go-templating-researcherfor user-facingfunction-go-templatinginstallation, input schema, README guidance, examples, and additional template functions.okf-function-go-templating-sprig-researcherfor the exact Sprig version selected byfunction-go-templating/go.mod, restricted by the function map exposed by that release.okf-function-go-templating-project-history-researcherfor human-authored issues and pull requests, grouped into release changes, known reports, and post-release proposals or developments.okf-function-sdk-go-researcherfor developer-facingcrossplane/function-sdk-goAPIs, helpers, examples, and testing utilities.okf-crossplane-researcherfor CLI, runtime, tools, native providers, testing tools, examples, and domains without a dedicated researcher.okf-upjet-researcheronly for Upjet provider concepts that require Terraform correlation. Give it an explicit provider service or managed-resource batch.
Run the Core docs and Core code researchers together when a concept needs both user-facing guidance and exact served API shape. Invoke the Core design researcher afterward only when a bounded historical question remains.
Every composition function must have its own dedicated Codex and Pi agent set. Add that bounded agent set and source profile before generating knowledge for a function that does not have one. A function agent set may include a primary user-facing researcher plus narrowly scoped supporting researchers for dependencies and project history.
The Crossplane CLI is a separate catalog domain and is not part of Crossplane Core.
For third-party example repositories, restrict research to the configured paths. Extract concrete patterns, relationships, and use cases without treating the repository as proof of general Crossplane behavior.
Run independent read-heavy research in parallel, with at most three direct agents. Wait for all required evidence packets before writing. Never allow subagents to spawn subagents.
5. Apply source authority
Use evidence according to its source role:
Primary implementation sources, API types, generated schemas, tests, and package metadata establish API shape and runtime behavior.
Official Crossplane documentation establishes documented terminology, guidance, supported workflows, lifecycle states, and user-facing examples. When documentation conflicts with implementation or schemas, record the conflict and prefer implementation evidence for runtime behavior.
Historical-design sources establish only historical intent, rationale, conceptual models, alternatives, and tradeoffs for a specific already-known feature. They do not independently establish current API shape, runtime behavior, supported guidance, release inclusion, or feature maturity.
Supporting sources provide background that is relevant only to their domain, such as Sprig functions, Upjet generation, or Terraform resource behavior.
Project-history sources establish that a human-authored issue was reported, a pull request was proposed, or a change was merged. They do not independently establish released behavior, API shape, lifecycle state, or recommendations.
Third-party examples are illustrative. They may establish what that repository implements, but they must not be the sole evidence for Crossplane API semantics, runtime behavior, compatibility, security properties, or recommended practices.
For every design-derived statement presented as a current fact, require corroboration from selected stable source code, CRDs, schemas, tests, or matching stable documentation. Otherwise retain it only as historical design intent or unresolved context. Accepted design status does not prove implementation or release inclusion, and design status never defines feature state.
Apply feature-state precedence:
Preserve explicit Alpha, Beta, Preview, Stable, or Deprecated labels from selected current sources.
A relevant served
v1alpha*API is an Alpha stability ceiling and a relevant servedv1beta*API is a Beta stability ceiling. Never record either as Stable.When an explicit Stable label conflicts with a served alpha or beta API, classify the API as Alpha or Beta and record the source conflict.
When no explicit label exists, use Alpha for
v1alpha*, Beta forv1beta*, and Stable only when no relevant served alpha or beta API exists.Never use
v1alone as proof of Stable; it only permits the repository Stable default when no other selected current evidence indicates a non-stable state.Apply a served-version state only to the API or capability that owns that version. Do not transfer an input API's state to the whole package or an unlabelled package's state to the input API.
For non-API software, packages, helpers, and implementation behavior without an explicit lifecycle label, use
Not stated by selected sources. A stable semantic-version tag selects released evidence; it is not a maturity label.A pattern that requires several APIs or explicitly labelled capabilities inherits the least stable required surface. Record the exact dependency as its feature-state basis.
Do not treat every apiextensions.crossplane.io/v1 resource as legacy. Require explicit deprecation metadata or an explicit legacy label.
For project history:
exclude issues, pull requests, comments, and reviews authored by bots or apps
phrase an open issue only as a reported problem or behavior
phrase an open or unmerged pull request only as a proposal
require merge-commit containment in the selected release tag before stating that a pull request is included in that release
do not treat a closed issue as fixed without a linked released change
keep post-release developments separate from selected-release behavior
record the research timestamp because item state may change
Corroborate reusable patterns from third-party examples with primary sources or official documentation. Label repository-specific design choices as such.
Do not copy third-party code or configuration unless its license permits reuse and the generated concept records attribution. When the license is absent, unclear, or incompatible, summarize the pattern and cite the source instead.
6. Build a claim ledger
Before writing Markdown, reduce the evidence packets to a claim ledger:
concept identifier
exact claim
claim class: API, behavior, documented guidance, historical context, release history, reported limitation, proposal, or illustrative pattern
source role
supporting immutable citation or direct issue/PR snapshot
confidence: direct, corroborated, or inferred
Crossplane release or documentation series
feature state and basis: explicit label; served alpha or beta API ceiling; Stable API repository default when no non-stable current evidence exists;
Not stated by selected sourcesfor unlabelled non-API surfaces; or the least stable required surface for a patterndesign document status, accuracy warnings, and current corroboration result for historical-design evidence
selected-release relationship for issue and pull-request evidence
research timestamp for project-history evidence
legacy exclusions applied
unresolved conflict or limitation
Drop claims that do not improve the concept. Keep inferred claims clearly labelled in the final document or omit them.
7. Write as the root agent
Create or update OKF documents under catalog/ according to references/okf-profile.md.
Rules:
one independently useful concept per file
structural Markdown over long prose
package, schema, behavior, documentation guidance, historical context, examples, and project history are separate concepts or sections when each is useful alone
preserve existing unknown frontmatter fields
add natural-language cross-links, not a generic link dump
record externally sourced provenance in frontmatter
sourcesgive every claim-bearing source a stable
sources[].idand cite claims with matching keyed Markdown footnotesrecord the current representation with
generated.byandgenerated.at; never emit the superseded v0.1timestampfieldadd
verifiedonly when an actual machine or human verification event occurredupdate affected
index.mdfiles for progressive disclosureupdate
log.mdonly with high-level knowledge changeslabel design-derived material as historical context and pair current facts with current implementation or documentation evidence
identify third-party examples as community examples and name their originating repository
distinguish copied examples, adapted examples, and summarized patterns
exclude Claims, deprecated CompositeResourceDefinition v1, legacy v1 XR semantics, and sections explicitly labelled
v1 Composite Resources (Legacy)keep current APIs that use
/v1when they are not deprecatedkeep Crossplane CLI content outside the Core catalog section
group issue and pull-request summaries by user-facing theme instead of creating one page per item
separate
Included in selected release,Known reports for selected release, andPost-release proposals or developmentslabel open issues as reports and open or unmerged pull requests as proposals
include the project-history research timestamp
Do not copy large design documents, documentation passages, issue bodies, pull-request descriptions, or comment threads. Summarize and cite.
8. Apply the Upjet evidence gate
For every Upjet managed-resource concept, require all of these before publishing a Terraform relationship:
Crossplane group, version, and kind
Upjet configuration or generated metadata naming the Terraform resource
matching Terraform provider source, schema, or official documentation
explicit notes for Upjet or Crossplane transformations and additions
When any link is missing, record the mapping as unresolved. Do not infer it from names.
9. Validate deterministically
Validate the three OKF v0.2 conformance rules:
Every non-reserved Markdown file has parseable YAML frontmatter.
Every concept frontmatter has a non-empty
type.Reserved
index.mdandlog.mdfiles follow their specified structures.
Also check:
the bundle-root
catalog/index.mddeclaresokf_version: "0.2"no concept uses the superseded v0.1
timestampfield or# Citationsbody sectionevery source cited by a keyed body footnote has a matching stable
sources[].idevery
sourcesentry contains a non-emptyresourceevery
generatedmapping contains a valid actor inby; every presentatvalue is an ISO 8601 datetimeverifiedrecords only actual verification events and uses the OKF actor conventionsource lock entries exist for all generated released-source concepts
released-source evidence citations contain immutable commit SHAs
historical-design citations pin the selected Crossplane commit and record document status and accuracy warnings
design documents are not used for general feature discovery, current facts without corroboration, or feature-state classification
cited files and line anchors resolve when network access is available
internal Markdown links are valid; report broken links as warnings because OKF permits them
no concept contains unresolved placeholders presented as facts
Core concepts record the selected stable release and matching documentation series
function concepts record the dynamically selected stable function tag and commit
explicit feature-state labels are preserved
served
v1alpha*APIs are never recorded above Alpha and servedv1beta*APIs are never recorded above Betaan explicit Stable label that conflicts with a served alpha or beta API is recorded as a conflict, not accepted as Stable
v1alone is not used as proof of StableStable is used by repository default only when no selected current source or relevant served API indicates a non-stable state
legacy-free output excludes Claims, deprecated XRD v1, legacy v1 XR semantics, and explicitly labelled legacy sections
current non-deprecated APIs are not excluded only because they use
/v1Crossplane CLI content is not categorized as Core
each function concept uses its dedicated function agent set and bounded source profile
Sprig concepts use the exact dependency version from the selected function release and apply function-map exclusions
project-history entries have a research timestamp and exclude bot- and app-authored activity
merged pull-request release claims prove commit containment in the selected tag
open issues and unmerged pull requests are labelled as reports or proposals, not released facts
closed issues are not presented as fixed without released corroboration
official documentation claims retain their version scope
third-party examples are labelled as illustrative and are not used alone for general behavior claims
copied or adapted third-party material includes verified license information and attribution
Use an installed OKF linter when available, but do not add or install dependencies without the user's approval. Always retain the three core checks as the minimum validation gate.
10. Review once
After deterministic validation passes, use okf-reviewer on the changed concepts and their claim ledger. Do not invoke the reviewer while blocking validation errors remain.
Fix blocking findings as the root or parent agent and rerun targeted validation. After all fixes, run mise run lint and fix every reported issue. The reviewer may return APPROVED only after the final lint run succeeds. Commit only after approval.
Token and model policy
Shared rules:
Keep at most three direct research agents active at once.
Use one final evidence review over changed concepts, not over all source repositories.
Prefer targeted searches, schemas, tests, documentation sections, explicitly selected design documents, configured example paths, and issue/PR queries over recursive repository reads.
Batch related third-party example repositories instead of assigning one agent per repository.
Summarize issue and pull-request history by user-facing theme and omit low-signal housekeeping.
Return summaries and evidence references, never raw exploration output.
Reuse source locks, evidence packets, and unchanged concepts across runs.
Codex model selection:
Use
gpt-5.6-lunawith low reasoning for inventory and routing.Use
gpt-5.6-terrawith medium reasoning for normal source interpretation.Use flagship
gpt-5.6with high reasoning only for ambiguous Upjet-to-Terraform mappings.Use
gpt-5.6-terrawith high reasoning for the final review.
Pi model selection:
Project agents intentionally do not pin a provider-specific model identifier or thinking level. They inherit the model and supported capabilities selected for the Pi session.
Configure local or hosted models outside this repository so the workflow remains portable across Pi providers.
Non-thinking coding models such as Qwen3-Coder-Next can run every project agent without incompatible reasoning controls.
Use a stronger or different model for ambiguous Upjet mappings and the final evidence review when one is available.
Follow
.pi/README.mdfor local Qwen3-Coder-Next configuration guidance.
Completion report
Report:
concepts created, updated, or removed
pinned source commits used
selected Crossplane release and documentation series for Core work
selected historical design documents, pinned commit, stated status, and corroboration result
selected stable function tags and commits
source roles used for material claims
explicit feature-state citations, served alpha or beta API ceilings, or the Stable repository-default basis
legacy material excluded
project-history timestamp, human-authored items summarized, and bot/app activity excluded
deterministic validation and
mise run lintresultsreviewer status
unresolved mappings, conflicts, licensing questions, historical design differences, and permitted broken links
the narrowest next source batch, when more coverage is requested
242 files
- .agents/agents/okf-crossplane-cli-update-researcher/AGENT.md
- .agents/agents/okf-crossplane-core-code-researcher/AGENT.md
- .agents/agents/okf-crossplane-core-design-researcher/AGENT.md
- .agents/agents/okf-crossplane-core-docs-researcher/AGENT.md
- .agents/agents/okf-crossplane-core-update-researcher/AGENT.md
- .agents/agents/okf-crossplane-docs-update-researcher/AGENT.md
- .agents/agents/okf-crossplane-researcher/AGENT.md
- .agents/agents/okf-crossplane-runtime-update-researcher/AGENT.md
- .agents/agents/okf-function-auto-ready-researcher/AGENT.md
- .agents/agents/okf-function-environment-configs-researcher/AGENT.md
- .agents/agents/okf-function-go-templating-project-history-researcher/AGENT.md
- .agents/agents/okf-function-go-templating-researcher/AGENT.md
- .agents/agents/okf-function-go-templating-sprig-researcher/AGENT.md
- .agents/agents/okf-function-go-templating-update-researcher/AGENT.md
- .agents/agents/okf-function-kro-kro-researcher/AGENT.md
- .agents/agents/okf-function-kro-researcher/AGENT.md
- .agents/agents/okf-function-sdk-go-researcher/AGENT.md
- .agents/agents/okf-function-sequencer-researcher/AGENT.md
- .agents/agents/okf-function-sequencer-update-researcher/AGENT.md
- .agents/agents/okf-function-tag-manager-researcher/AGENT.md
- .agents/agents/okf-reviewer/AGENT.md
- .agents/agents/okf-source-scout/AGENT.md
- .agents/agents/okf-upjet-researcher/AGENT.md
- .agents/agents/okf-xprin-update-researcher/AGENT.md
- .agents/skills/okf-open-knowledge-format/SKILL.md
- .agents/skills/okf-open-knowledge-format/references/conversion.md
- .agents/skills/okf-open-knowledge-format/references/examples.md
- .agents/skills/okf-open-knowledge-format/references/spec-v02.md
- .agents/skills/okf-open-knowledge-format/scripts/validate.sh
- .agents/skills/okf-updates/SKILL.md
- .agents/skills/okf-updates/agents/openai.yaml
- .agents/skills/okf/SKILL.md
- .agents/skills/okf/agents/openai.yaml
- .agents/skills/okf/references/evidence-contract.md
- .agents/skills/okf/references/okf-profile.md
- .agents/skills/okf/references/okf-spec.md
- .agents/skills/okf/references/sources.yaml
- .codespellrc
- .codex-plugin/plugin.json
- .codex/agents/okf-crossplane-cli-update-researcher.toml
- .codex/agents/okf-crossplane-core-code-researcher.toml
- .codex/agents/okf-crossplane-core-design-researcher.toml
- .codex/agents/okf-crossplane-core-docs-researcher.toml
- .codex/agents/okf-crossplane-core-update-researcher.toml
- .codex/agents/okf-crossplane-docs-update-researcher.toml
- .codex/agents/okf-crossplane-researcher.toml
- .codex/agents/okf-crossplane-runtime-update-researcher.toml
- .codex/agents/okf-function-auto-ready-researcher.toml
- .codex/agents/okf-function-environment-configs-researcher.toml
- .codex/agents/okf-function-go-templating-project-history-researcher.toml
- .codex/agents/okf-function-go-templating-researcher.toml
- .codex/agents/okf-function-go-templating-sprig-researcher.toml
- .codex/agents/okf-function-go-templating-update-researcher.toml
- .codex/agents/okf-function-kro-kro-researcher.toml
- .codex/agents/okf-function-kro-researcher.toml
- .codex/agents/okf-function-sdk-go-researcher.toml
- .codex/agents/okf-function-sequencer-researcher.toml
- .codex/agents/okf-function-sequencer-update-researcher.toml
- .codex/agents/okf-function-tag-manager-researcher.toml
- .codex/agents/okf-reviewer.toml
- .codex/agents/okf-source-scout.toml
- .codex/agents/okf-upjet-researcher.toml
- .codex/agents/okf-xprin-update-researcher.toml
- .codex/config.toml
- .dockerignore
- .editorconfig
- .github/workflows/ci.yaml
- .github/zizmor.yml
- .gitignore
- .mcp.json
- .okf/claim-ledger.md
- .okf/sources.lock.yaml
- .pi/agents/okf-crossplane-cli-update-researcher.md
- .pi/agents/okf-crossplane-core-code-researcher.md
- .pi/agents/okf-crossplane-core-design-researcher.md
- .pi/agents/okf-crossplane-core-docs-researcher.md
- .pi/agents/okf-crossplane-core-update-researcher.md
- .pi/agents/okf-crossplane-docs-update-researcher.md
- .pi/agents/okf-crossplane-researcher.md
- .pi/agents/okf-crossplane-runtime-update-researcher.md
- .pi/agents/okf-function-auto-ready-researcher.md
- .pi/agents/okf-function-environment-configs-researcher.md
- .pi/agents/okf-function-go-templating-project-history-researcher.md
- .pi/agents/okf-function-go-templating-researcher.md
- .pi/agents/okf-function-go-templating-sprig-researcher.md
- .pi/agents/okf-function-go-templating-update-researcher.md
- .pi/agents/okf-function-kro-kro-researcher.md
- .pi/agents/okf-function-kro-researcher.md
- .pi/agents/okf-function-sdk-go-researcher.md
- .pi/agents/okf-function-sequencer-researcher.md
- .pi/agents/okf-function-sequencer-update-researcher.md
- .pi/agents/okf-function-tag-manager-researcher.md
- .pi/agents/okf-reviewer.md
- .pi/agents/okf-source-scout.md
- .pi/agents/okf-upjet-researcher.md
- .pi/agents/okf-xprin-update-researcher.md
- .pi/prompts/okf-updates.md
- .pi/prompts/okf.md
- .pi/settings.json
- .plugin/plugin.json
- AGENTS.md
- ATTRIBUTION.md
- Dockerfile
- LICENSE
- README.md
- catalog/cli/control-plane-projects.md
- catalog/cli/generated-go-model-accessors.md
- catalog/cli/generated-go-runtime-objects.md
- catalog/cli/index.md
- catalog/cli/local-composition-rendering.md
- catalog/cli/xrd-convert.md
- catalog/composition-api-and-provider-contracts.md
- catalog/composition-developer-starter.md
- catalog/composition-pipeline-and-security.md
- catalog/composition-testing-and-packaging.md
- catalog/core/composed-resource-identity-and-replacement.md
- catalog/core/composed-resource-rbac.md
- catalog/core/composite-resource-definition.md
- catalog/core/composite-resource-model.md
- catalog/core/composition-gitops-health.md
- catalog/core/composition-project-layout.md
- catalog/core/composition.md
- catalog/core/configurations/configuration.md
- catalog/core/configurations/dependencies-and-authoring.md
- catalog/core/configurations/index.md
- catalog/core/configurations/package.md
- catalog/core/configurations/revision.md
- catalog/core/controlled-rollout-of-composition-functions-design.md
- catalog/core/cross-namespace-synchronization-patterns.md
- catalog/core/environment-config.md
- catalog/core/index.md
- catalog/core/managed-resource-activation-policy.md
- catalog/core/managed-resource-anatomy.md
- catalog/core/managed-resource-controls-and-conditions.md
- catalog/core/managed-resource-definition.md
- catalog/core/managed-resource-external-identity.md
- catalog/core/managed-resource-lifecycle.md
- catalog/core/managed-resource-management-policies-project-history.md
- catalog/core/managed-resource-management-policies.md
- catalog/core/managed-resource-references-and-provider-config.md
- catalog/core/managed-resources.md
- catalog/core/minimal-managed-resource-activation.md
- catalog/core/namespaced-composition-boundaries.md
- catalog/core/native-composition-environment-removal.md
- catalog/core/pushsecret-external-store-pattern.md
- catalog/core/realtime-composition-project-history.md
- catalog/core/realtime-composition-reconciliation.md
- catalog/core/tenant-xr-api-security.md
- catalog/core/usages-and-clusterusages.md
- catalog/core/xrd-api-version-evolution.md
- catalog/core/xrd-cel-validation.md
- catalog/core/xrd-openapi-schema.md
- catalog/core/xrd-subresources-and-display.md
- catalog/core/xrd-unknown-data.md
- catalog/functions/composition-function-specification.md
- catalog/functions/composition-functions.md
- catalog/functions/environment-config-pipeline.md
- catalog/functions/function-auto-ready/built-in-health-checks.md
- catalog/functions/function-auto-ready/cel-health-checks.md
- catalog/functions/function-auto-ready/index.md
- catalog/functions/function-auto-ready/input.md
- catalog/functions/function-auto-ready/package.md
- catalog/functions/function-auto-ready/readiness.md
- catalog/functions/function-environment-configs/index.md
- catalog/functions/function-environment-configs/input.md
- catalog/functions/function-environment-configs/package.md
- catalog/functions/function-environment-configs/selection-and-merge.md
- catalog/functions/function-go-templating/connection-details.md
- catalog/functions/function-go-templating/context.md
- catalog/functions/function-go-templating/environment-source.md
- catalog/functions/function-go-templating/extra-resources.md
- catalog/functions/function-go-templating/index.md
- catalog/functions/function-go-templating/input.md
- catalog/functions/function-go-templating/package.md
- catalog/functions/function-go-templating/patterns/index.md
- catalog/functions/function-go-templating/patterns/manual-readiness.md
- catalog/functions/function-go-templating/patterns/non-composed-resource-readiness.md
- catalog/functions/function-go-templating/patterns/provider-backed-external-query.md
- catalog/functions/function-go-templating/patterns/provider-kubernetes-object-readiness.md
- catalog/functions/function-go-templating/patterns/safe-status-and-connection-publication.md
- catalog/functions/function-go-templating/patterns/sveltos-clustersummary-readiness.md
- catalog/functions/function-go-templating/patterns/yaml-document-boundaries.md
- catalog/functions/function-go-templating/project-history.md
- catalog/functions/function-go-templating/rendered-output.md
- catalog/functions/function-go-templating/request-data.md
- catalog/functions/function-go-templating/response-ttl.md
- catalog/functions/function-go-templating/runtime-options.md
- catalog/functions/function-go-templating/sprig.md
- catalog/functions/function-go-templating/template-functions.md
- catalog/functions/function-kro/graph-evaluation.md
- catalog/functions/function-kro/index.md
- catalog/functions/function-kro/input.md
- catalog/functions/function-kro/package.md
- catalog/functions/function-sequencer/index.md
- catalog/functions/function-sequencer/input.md
- catalog/functions/function-sequencer/sequencing.md
- catalog/functions/index.md
- catalog/functions/operation-functions.md
- catalog/functions/overview.md
- catalog/functions/package.md
- catalog/functions/scheduled-and-watched-operations.md
- catalog/index.md
- catalog/log.md
- catalog/providers/crd-schema-discovery.md
- catalog/providers/index.md
- catalog/providers/provider-connection-details-source-retrieval.md
- catalog/providers/provider-families.md
- catalog/providers/provider-landscape.md
- catalog/providers/provider-package-revisions.md
- catalog/providers/upjet-terraform-provenance.md
- catalog/sdk/crd-cache-schema-stripping.md
- catalog/sdk/index.md
- catalog/sdk/provider-development/generate-test-package.md
- catalog/sdk/provider-development/index.md
- catalog/sdk/provider-development/managed-reconciler.md
- catalog/sdk/provider-development/managed-resource-apis.md
- catalog/sdk/provider-development/provider-configuration.md
- catalog/sdk/provider-development/start-here.md
- catalog/tools/index.md
- catalog/tools/xprin-crossplane-cli-tiers.md
- catalog/tools/xprin-crossplane-version.md
- catalog/tools/xprin-function-container-reuse.md
- catalog/tools/xprin-test-artifacts-export.md
- catalog/tools/xprin-test-suites.md
- catalog/tools/xprin-update-goldens.md
- compose.yaml
- mcp/README.md
- mcp/entrypoint.sh
- mcp/fetch_cache.py
- mcp/git_source.py
- mcp/github_source.py
- mcp/provider_crd_tools.py
- mcp/pyproject.toml
- mcp/server.py
- mcp/tests/test_git_source.py
- mcp/tests/test_github_source.py
- mcp/tests/test_provider_crd_tools.py
- mcp/uv.lock
- mise.toml
- renovate.json
- skills-lock.json
- skills/crossplane-v2-okf/SKILL.md
Advantages
- Provides version-aware knowledge by linking facts to specific repository revisions. evidence: README.md
- Connects distributed sources like Go APIs, CRDs, and documentation into a single navigable catalog. evidence: README.md
Limitations
- The public MCP server is provided as an early-access service and is not intended for production use without self-hosting. evidence: README.md
- Requires explicit provider versions for CRD tools, as it does not guess or infer versions automatically. evidence: README.md
Security
Risk level: Low risk
This brain runs
Agent instructions that run or fetch something (26)
.agents/agents/okf-function-go-templating-researcher/AGENT.md:Write for Crossplane users who want to install and use `function-go-templating` in Compositions..agents/agents/okf-reviewer/AGENT.md:`mise run lint` succeeds after the final fixes and before the root or parent agent creates a commit..agents/agents/okf-reviewer/AGENT.md:Run `mise run lint` as the final validation command..agents/skills/okf-open-knowledge-format/SKILL.md:If the user agrees to install:.agents/skills/okf-open-knowledge-format/SKILL.md:uv tool install okflint.agents/skills/okf-open-knowledge-format/SKILL.md:pip install okflint.agents/skills/okf-open-knowledge-format/SKILL.md:kcmd push --dry-run.agents/skills/okf-updates/SKILL.md:Run this workflow only after the user explicitly invokes `$okf-updates`, `/skill:okf-updates`, or `/okf-updates`..agents/skills/okf-updates/SKILL.md:Run at most three direct researchers at once..agents/skills/okf-updates/SKILL.md:A requester reply that selects one or more candidate IDs from this explicitly invoked workflow is explicit permission to run the normal OKF update logic for those candidates..agents/skills/okf-updates/SKILL.md:Run deterministic validation, `okf-reviewer`, and `mise run lint`..agents/skills/okf/SKILL.md:Run this workflow only after the user explicitly invokes `$okf`, `/skill:okf`, or `/okf`..agents/skills/okf/SKILL.md:After all review fixes, run `mise run lint`..agents/skills/okf/SKILL.md:Commit every intended file only after reviewer approval and a successful lint run..agents/skills/okf/SKILL.md:Run the Core docs and Core code researchers together when a concept needs both user-facing guidance and exact served API shape..agents/skills/okf/SKILL.md:Run independent read-heavy research in parallel, with at most three direct agents..agents/skills/okf/SKILL.md:After all fixes, run `mise run lint` and fix every reported issue..agents/skills/okf/SKILL.md:The reviewer may return `APPROVED` only after the final lint run succeeds..agents/skills/okf/SKILL.md:Non-thinking coding models such as Qwen3-Coder-Next can run every project agent without incompatible reasoning controls..agents/skills/okf/SKILL.md:deterministic validation and `mise run lint` resultsAGENTS.md:Run the normal workflow only when the user explicitly invokes `$okf`, `/skill:okf`, or `/okf`, or selects a feature candidate returned by an explicitly invoked `$okf-updates`, `/skill:okf-updates`, or `/okf-updates` workflow.AGENTS.md:Run update discovery only when the user explicitly invokes `$okf-updates`, `/skill:okf-updates`, or `/okf-updates`.AGENTS.md:Run deterministic validation and the `okf-reviewer` before committing the changes.AGENTS.md:After the final review fixes, run `mise run lint` before creating any commit.AGENTS.md:After reviewer approval and a successful lint run, commit every intended change.AGENTS.md:Create commits with a Developer Certificate of Origin sign-off by default by using `git commit --signoff` (or `git commit -s`).
MCP servers (1)
.mcp.json(crossplane-v2-okf):https://crossplane.mcp.jkroepke.de/mcp· uses the network
- Low risk: network-instructions (.agents/skills/okf-open-knowledge-format/SKILL.md:214)
Attribution and licence
- First committed by
jkroepke
- Publisher
- Jan-Otto Kröpke (Community)
- Source
- jkroepke/okf-crossplane-v2 · commit df24ac2
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- jkroepke
AutoGineer is not affiliated with or endorsed by jkroepke.
Download
The ZIP holds the files AutoGineer serves, with ATTRIBUTION.md and the licence. Download okf-crossplane-v2.zip