# External Entrances Some content belongs next to your knowledge without becoming part of it: a team's engineering handbook on another site, a Skill published in another repository. `imports.yaml` at the root of the Context knowledge workspace declares such **entrances**. Context never downloads, installs or captures them; it only knows where they are so pages and packages can link to them. | You need | Use | | --- | --- | | A link readers can follow | An import in `imports.yaml` | | A conclusion that must be traceable and tracked for change | A registered, captured source | | Docs or Skills in this same repository | [Same-Repository Docs]() | ## Declare an entrance Ask the Agent to keep a lasting association; quick lookups during a question do not register anything. ```yaml protocol: context.imports/v1 imports: engineering-guide: kind: knowledge url: https://docs.example.org/engineering/ description: Engineering conventions release-check: kind: skill url: https://github.com/example/skills/tree/v1/skills/release-check path: skills/release-check version: v1 ``` The stable ID and `url` are required; `kind`, `format`, `title`, `description`, `path` and `version` are optional free-form hints. URLs must be HTTP(S) without credentials — never put access tokens in query strings. Use a new ID when the target's identity changes. ## Link to it from a page ```markdown See the [Engineering guide](context:import/engineering-guide). ``` Build turns this into the declared URL as-is; it never guesses provider URLs, appends `path` or rewrites the version. An unknown ID keeps the label as plain text and produces a build warning. To give readers a directory of all entrances, enable the imports page on the package; `importsPage: { site: true }` also adds it to the website navigation: ```ts kbPackage({ name: "handbook", template: { path: "src/package-templates/kb" }, importsPage: true }); ``` The page lists declared metadata only. Check that every entrance suits the audience before exposing private ones. ## Entrances are not evidence An import adds nothing to `knowledge/structure.yaml` references and has no citation format. When asked to check imports, the Agent compares current versions with `version` using its own authorized tools; a target it cannot reach is reported as "version unknown", never as a change. The CLI itself never contacts providers. --- ## Sources - [context/packages/context/docs/guides/imports.md L3–L7 · 3b0ce0a]() - [context/packages/context/docs/guides/imports.md L39–L43 · 3b0ce0a]() - [context/packages/context/docs/guides/imports.md L3–L31 · 3b0ce0a]() - [context/packages/context/docs/guides/imports.md L52–L59 · 3b0ce0a]() - [context/packages/context/docs/guides/imports.md L61–L80 · 3b0ce0a]() - [context/packages/context/docs/guides/imports.md L39–L48 · 3b0ce0a]()