Private context bootstrap
Skill ArthurZakirov/OpportunityOS/skills/private-context-bootstrap
Bootstrap private, remote-backed user context onto a fresh machine for opportunity workflows without committing personal data to public repositories.From its SKILL.md
npx -y skills add ArthurZakirov/OpportunityOS --skill private-context-bootstrapAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.3 KB, 871 tokens by cl100k_base, as published. Nobody here has run it
Private Context Bootstrap
Purpose
Use this skill when an agent needs private user data that must be available across machines, but must not be hardcoded into public skills, prompts, logs, or repositories.
This skill defines how to locate, clone, decrypt, validate, and materialize private local files from remote storage.
Core Principle
Skills are public process definitions. Private data lives outside public skill folders.
Architecture
Use three layers:
- Public skill repository: generic skills, schemas, fake examples, scripts, and documentation. No real personal values.
- Private remote data repository: private YAML, JSONL logs, document manifests, criteria, and optionally PDFs. Prefer file-level encryption.
- Secret manager: bootstrap secrets and encryption keys.
Recommended default:
- Private Git repository for versioned private data.
age+sopsfor encrypted YAML/JSON files.- Git LFS or encrypted archive for PDFs if PDFs are stored in Git.
- Bitwarden Secrets Manager stores the private repo URL if needed, the
ageprivate key, optional access tokens, and optional bootstrap environment variables.
Do not rely on untracked local files as the only source of truth.
Environment Variables
Support these variables:
AGENTDESK_PRIVATE_REMOTE=""
AGENTDESK_PRIVATE_HOME="$HOME/.config/AgentDesk/private"
AGENTDESK_PRIVATE_REPO="$HOME/.local/share/AgentDesk/private-repo"
AGENTDESK_PROFILE_PATH="$AGENTDESK_PRIVATE_HOME/job-applications/application-profile.yaml"
AGENTDESK_DOCUMENT_MANIFEST_PATH="$AGENTDESK_PRIVATE_HOME/job-applications/document-manifest.yaml"
AGENTDESK_FIELD_POLICY_PATH="$AGENTDESK_PRIVATE_HOME/job-applications/field-answer-policy.yaml"
AGENTDESK_APPLICATION_LOG_PATH="$AGENTDESK_PRIVATE_HOME/job-applications/application-log.jsonl"
If variables are absent, use the defaults above.
Bootstrap Workflow
On a fresh machine:
- Check whether
AGENTDESK_PRIVATE_HOMEexists. - Check whether required private files exist.
- If missing, locate the remote source from
AGENTDESK_PRIVATE_REMOTE, the configured secret manager, or the user. - Clone or sync the private remote source into
AGENTDESK_PRIVATE_REPO. - If files are encrypted, decrypt them into
AGENTDESK_PRIVATE_HOME. - If PDFs are stored remotely, download or sync them.
- Validate all required files against schemas.
- Verify referenced documents exist.
- Refuse to run workflows until validation passes.
Use scripts/bootstrap-private-context.sh from the OpportunityOS repo when available. It coordinates clone/sync, materialization, validation, and the readiness report.
Never Do This
- Never commit decrypted private files to a public repository.
- Never print full private profiles into terminal logs unless explicitly requested.
- Never paste secrets, personal data, or private PDFs into public files.
- Never assume files exist on a fresh machine.
- Never invent missing private values.
- Never silently overwrite private data without making a backup.
Expected Local Layout
After bootstrap:
$AGENTDESK_PRIVATE_HOME/
shared/
personal-profile.yaml
job-applications/
application-profile.yaml
document-manifest.yaml
field-answer-policy.yaml
application-log.jsonl
documents/
resume.pdf
degree.pdf
transcript.pdf
references.pdf
supporting-bundle.pdf
shared/personal-profile.yaml must follow the bitwarden-personal-profile schema. Domain folders reference it instead of duplicating identity, contact, address, employment, housing, or generic form facts.
Filenames may differ. Agents must use references and manifests, not hardcoded filenames.
Required Checks
Before any workflow uses private data:
- Confirm profile file exists.
- Confirm shared personal profile exists and follows the Bitwarden personal profile shape.
- Confirm document manifest exists.
- Confirm field policy exists.
- Confirm referenced document paths exist if needed.
- Validate schemas.
- Report missing files clearly.
Output
Return private home path, private repo path, profile file status, document manifest status, field policy status, document availability summary, validation errors, and next manual action.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most project setup skills give in 871 tokens
Counted across 999 of the 1,637 authors here whose files we hold, read 2026-08-07
- Ask one question at a timein 29 of 999, across 28 files
- Detect the package manager from lockfilesin 28 of 999, across 9 files
- Present findings to the userin 26 of 999, across 5 files
- Explore current repo statein 24 of 999, across 3 files
- Update the agent skills block in place if it existsin 24 of 999, across 3 files
- Install husky lint-staged and prettierin 23 of 999, across 4 files
- Create the lintstagedrc filein 22 of 999, across 3 files
- Commit all changed filesin 22 of 999, across 3 files
- Run lint-staged to verify it worksin 22 of 999, across 3 files
- Create the husky pre-commit filein 21 of 999, across 2 files
- Create a prettierrc file if missingin 21 of 999, across 2 files
- Initialize huskyin 21 of 999, across 2 files
Said here and by no other author read
- keep private data outside public skill folders
- read environment variables or use defaults if absent
- check if required private files exist
- clone or sync private remote data source
- decrypt encrypted files into private home directory
- download or sync remote documents
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.