Why VitaeContext
Formerly AgentKit SEO. The project grew beyond profile SEO into reusable career context for grounded AI work. The deprecated
agentkit-seocommand remains available as a compatibility alias and forwards to the VitaeContext CLI.
Every new AI chat starts with the same problem: the agent does not know which career facts are current, which claims have evidence, what role is being targeted, or how the output should change for each platform.
The usual result is repeated explanation, inconsistent profiles, generic writing, and occasionally invented claims.
VitaeContext applies the familiar AGENTS.md and CLAUDE.md pattern to professional identity. Its Context Builder skill turns a user's raw career material into a private Markdown source of truth called a Career Context file. Focused skills then adapt that file for LinkedIn, GitHub, CV/ATS, web portfolios, and X/Twitter.
The goal is simple:
- Explain professional context once instead of rebuilding it in every chat.
- Keep facts, goals, constraints, proof links, and claims to avoid in one reusable file.
- Adapt the same evidence to each platform without turning positioning into invention.
- Reuse the workflow across supported AI coding agents.
The context layer before career automation
Many tools can draft a CV, tailor an application, write a message, or automate a career workflow. Those tools can only work from the career information they receive. When that input is scattered, stale, incomplete, or overstated, the same problems travel through the rest of the workflow.
VitaeContext sits one logical layer before those systems. It helps create and maintain the private, evidence-bounded Career Context file that an agent, CV builder, application workflow, or other career tool can use as its starting point. VitaeContext is provider- and system-agnostic: it does not require a particular AI provider or downstream automation product. The file stays portable so it can be supplied wherever precise career context is needed.
How it works
- Gather the raw material. Start with CVs, profile sections, GitHub and portfolio links, exports, screenshots, and project notes.
- Create the Career Context file with VitaeContext. Give the raw material to an AI agent and invoke
vitaecontext-build. The skill guides the agent in organizing the material into one private Markdown file containing verified facts, stated goals, constraints, proof links, and evidence boundaries. - Load one focused skill. Use the LinkedIn, GitHub, CV/ATS, web portfolio, or X/Twitter module for the surface being improved.
- Produce grounded work. Get an audit, rewrite, patch proposal, or action plan based on the supplied context and platform guidance.
The Career Context file supplies facts and direction. Platform skills supply formatting, discoverability guidance, and channel-specific constraints. They do not become a second source of truth.
Use it in any AI conversation
The Career Context file is not limited to VitaeContext modules. Attach it to any AI chat, agent, or career system that accepts supplied context, then describe the current task. It can ground application answers, professional messages, emails, interview preparation, and other career-related drafts without requiring the same background to be explained again.
Why grounding matters
Repeated rewriting can make copy sound more confident while moving it farther from the available evidence. VitaeContext instructs agents to preserve supported claims, separate goals from verified experience, and flag missing evidence before stronger positioning is used.
It does not promise automatic fact-checking or guaranteed platform results. It provides the context structure, evidence rules, current platform knowledge, and self-review workflow agents need to produce more consistent work.
Quick start
Set up with an agent
Copy this prompt into your agent. GitHub adds a copy control to the prompt block.
Set up VitaeContext for this agent environment.
- Read https://vitaecontext.github.io/docs/installation/ and https://vitaecontext.github.io/providers/ first. Identify the matching provider and its invocation format.
- Run `npx vitaecontext install --provider <matching-provider>`. Do not use `--force` or change install locations unless I approve it.
- Verify the installation with `npx vitaecontext doctor`, then tell me which skills are available and how to invoke them here.
- Ask me for a private file path, initialize it with `npx vitaecontext context init --output <private-path>`, and explain that validation will fail until its placeholders are replaced.
- Read https://vitaecontext.github.io/docs/usage/ and propose three practical next steps. Start with building the context from career material I choose to share, then suggest one focused skill for my immediate goal. Do not upload or share my files without asking.
Install the skills for an agent provider:
npx vitaecontext install --provider codex
Initialize a minimal Career Context file in a private location:
npx vitaecontext context init --output ~/.vitaecontext/name-surname-career-context.md
Ask an agent to build the context from trusted material:
Use vitaecontext-build to create my Career Context file.
I can provide my CV, LinkedIn sections, GitHub URL, portfolio URL, project notes,
screenshots, or other career material.
Then use one platform skill:
Use vitaecontext-github to audit my GitHub profile for hiring visibility.
Use my Career Context file at ~/.vitaecontext/name-surname-career-context.md.
Keep the Career Context file private. A portable default location is:
~/.vitaecontext/<name-surname>-career-context.md
After filling it, validate the structure and create a bounded task packet:
npx vitaecontext context validate ~/.vitaecontext/name-surname-career-context.md
npx vitaecontext context summary ~/.vitaecontext/name-surname-career-context.md --for github --output /tmp/github-context.md
context validate --json emits machine-readable diagnostics. It checks the document contract and internal consistency; it does not authenticate whether a real-world claim is true. The older template context command remains available when the longer guided worksheet is preferable.
VitaeGraph
VitaeGraph is VitaeContext's deeper structured-memory layer, not a separate product. Use the Career Context file for compact, repeated facts and quick grounded drafts. Use VitaeGraph when an agent needs detailed records for projects, roles, degrees, courses, thesis work, certifications, awards, publications, and the relationships between them.
Its root directory is an independently readable product entrypoint containing the format specification, schema, graph model, and canonical templates. The skill inventories supplied material first, then completes domain-specific workflows. Markdown remains canonical; generated JSON files are rebuildable local indexes.
The runtime selects create, deepen, maintain, validate, index, retrieve, or migrate mode before loading node-specific context. Destructive and many-record changes are previewed, stable IDs survive path changes, and visibility: public never acts as automatic publication consent.
~/.vitaecontext/
├── <name-surname>-career-context.md
└── vitaegraph/
Create and check the default private graph:
npx vitaecontext graph init
npx vitaecontext graph validate
npx vitaecontext graph index
Pass --root /path/to/custom-vitaegraph to use that exact directory. Indexing creates deterministic graph.json, search-index.json, and diagnostics.json under .generated/. Markdown remains canonical. The CLI does not overwrite a non-empty graph without --force, and provider or npm exports never include user workspace data.
Modules
VitaeContext ships one compact-context module, VitaeGraph, and five platform modules, coordinated by the root routing skill.
| Goal | Module | Public playbook |
|---|---|---|
| Build the reusable Career Context layer | vitaecontext-build |
Context Builder |
| Build a detailed local career knowledge graph | vitaecontext-vitaegraph |
VitaeGraph specification and templates |
| Improve GitHub profile and repository discoverability | vitaecontext-github |
GitHub optimization |
| Improve LinkedIn structure, search visibility, and proof | vitaecontext-linkedin |
LinkedIn optimization |
| Tailor a CV or resume for ATS parsing and recruiter readability | vitaecontext-cv |
CV and ATS optimization |
| Improve portfolio crawlability, SEO, and AI readability | vitaecontext-portfolio |
Web portfolio optimization |
| Improve X/Twitter positioning and posting strategy | vitaecontext-x |
X/Twitter optimization |
Typical outputs include prioritized audits, evidence-backed rewrites, ATS-safe CV recommendations, GitHub README and repository fixes, LinkedIn section improvements, portfolio patches, and action plans ranked by impact and missing evidence.
The GitHub skill also includes a tokenless public-profile fetcher. It produces bounded Markdown and JSON reports from the unauthenticated GitHub API, public profile HTML, and raw README files; adds repository evaluation metadata such as topics, default branch, license, and activity timestamps; and reports extraction uncertainty. Reports use a unique temporary directory by default so agent runs do not write into the current repository.
Who it is for
- Developers preparing for a job search, promotion, or stronger public proof of work.
- Students turning projects into credible portfolio evidence.
- Founders and freelancers aligning their public professional presence.
- Agents that need structured personal context before editing career assets.
- Maintainers who want portable skills across multiple AI coding environments.
Install
Install one provider at a time:
npx vitaecontext install --provider codex
Supported providers:
| Provider | Default destination | Activation model |
|---|---|---|
shared |
Portable SKILL.md folders |
Manual reuse or packaging |
claude-code |
~/.claude/skills/ |
Ask for the installed skill by name |
codex |
~/.agents/skills/ plus CODEX_HOME/skills or ~/.codex/skills/ |
Use installed skills by name when available |
gemini-cli |
~/.gemini/extensions/vitaecontext/ |
Namespaced commands such as /vitaecontext:linkedin |
antigravity |
~/.gemini/antigravity-cli/plugins/vitaecontext/ |
Gemini-compatible plugin layout |
opencode |
~/.config/opencode/skills/ plus command wrappers |
Native skill loading and flat command wrappers |
For Claude Code, the skills are also available through the plugin marketplace:
/plugin marketplace add vitaecontext/vitaecontext
/plugin install vitaecontext@vitaecontext
The repository also ships a native Codex plugin marketplace under .agents/plugins/. After cloning the repository, add that marketplace and install the plugin:
codex plugin marketplace add .agents/plugins
codex plugin add vitaecontext@vitaecontext
Useful package commands:
npx vitaecontext version
npx vitaecontext update
npx vitaecontext doctor
npx vitaecontext list providers
npx vitaecontext list skills
npx vitaecontext context init
npx vitaecontext context validate ~/.vitaecontext/career-context.md
npx vitaecontext context summary ~/.vitaecontext/career-context.md --for cv
update checks the npm registry only when invoked. With --provider <provider>, it reads the installed provider manifest and compares the installed skill version:
npx vitaecontext@latest update --provider codex
Remove an install using the same provider and destination flags used during installation:
npx vitaecontext uninstall --provider codex
uninstall reads vitaecontext-install.json and removes only the VitaeContext files recorded in that manifest. Use --dry-run to preview the removal.
Install directly from GitHub without cloning the repository:
npx github:vitaecontext/vitaecontext install --provider codex
Use an explicit destination for non-default provider locations:
npx vitaecontext install --provider gemini-cli --target-dir /custom/path/vitaecontext
Each installation writes a vitaecontext-install.json manifest containing its package version, provider, installed skills, commands, and target paths.
Invocation
Provider invocation varies. The stable contract is the shared skill name or provider command wrapper.
| Provider | Example |
|---|---|
| Codex | $vitaecontext-github |
| Claude Code | Use the vitaecontext-linkedin skill to audit my LinkedIn profile. |
| Gemini CLI | /vitaecontext:github |
| Antigravity CLI | Use the installed vitaecontext-github plugin skill to audit my GitHub profile. |
| OpenCode | /vitaecontext-github |
| Portable skill folder | Use the SKILL.md in vitaecontext-portfolio to audit my portfolio site. |
What is inside
This repository keeps human guidance, runtime skills, provider adapters, and packaging separate:
hub/contains public playbooks, templates, examples, and source notes.vitaegraph/contains the public VitaeGraph specification, schemas, and canonical artifact templates..skills/agent-skill/contains the canonical portable skill source..skills/export/contains the install, export, doctor, Career Context, VitaeGraph, and template CLI..skills/providers/contains thin provider-specific adapters.llms.txtandllms-full.txtexpose the project map and wiki bundle to LLM tools.
One canonical skill source is exported into each provider layout. Runtime wiki entries give agents source-aware platform constraints, confidence labels, known failure modes, and evidence rules without loading the whole knowledge graph for every task.
Read DESIGN.md for the system design and the architecture map for repository ownership and edit boundaries.
Documentation
- Getting started explains installation, first use, and graph navigation.
- Fictional five-minute demo shows raw material, validated context, a bounded packet, and a grounded task brief without publishing real career data.
- End-to-end demos provides sample inputs, prompts, and expected deliverables.
- Public playbooks document the human-readable methodology for each module.
- Maintaining covers source refresh, wiki maintenance, validation, and releases.
- Contributing explains how to propose ideas, report issues, and open pull requests.
- Contributing instructions define repository rules for coding agents.
- Changelog records public release history.
- Privacy and security describe project policies.
Authors
Maintained by Renato Mignone and Elia Innocenti.
| Author | GitHub | Portfolio | |
|---|---|---|---|
| Renato Mignone | GitHub | Portfolio | |
| Elia Innocenti | GitHub | Portfolio |
If VitaeContext is useful, star the repository to help more people find it.
No comments yet
Be the first to share your take.