# 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]()