Baoyu URL To Markdown
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
Add a new knowledge domain to your existing system. An agent skill from agenticnotetaking/arscontexta.
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install agenticnotetaking/arscontexta add-domain --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/add-domain .claude/skills/add-domain && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .claude/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domainType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install agenticnotetaking/arscontexta add-domain --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/add-domain .agents/skills/add-domain && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .agents/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install agenticnotetaking/arscontexta add-domain --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/add-domain .cursor/skills/add-domain && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .cursor/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/agenticnotetaking/arscontexta.git --path skills/add-domain--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install agenticnotetaking/arscontexta add-domain --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/add-domain .gemini/skills/add-domain && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .gemini/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install agenticnotetaking/arscontexta add-domainInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/add-domain .github/skills/add-domain && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .github/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add agenticnotetaking/arscontexta --skill add-domain -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install agenticnotetaking/arscontexta add-domain --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/agenticnotetaking/arscontexta.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/add-domain .opencode/skills/add-domain && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-domain" agent skill from https://github.com/agenticnotetaking/arscontexta/tree/main/skills/add-domain into .opencode/skills/add-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-domain", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-domainAdd a new knowledge domain to your existing system. An agent skill from agenticnotetaking/arscontexta.
Add Domain is an agent skill from agenticnotetaking/arscontexta. Add a new knowledge domain to your existing system. Derives domain-specific configuration through conversation, generates domain folders, templates, and vocabulary while preserving and connecting to your existing architecture.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.json`).
It sits in Knowledge Management. The repository describes itself as: Claude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2acfd5c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGrepGlobBashAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash, markdown and yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Domain loads about 4k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,520 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestionAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from agenticnotetaking/arscontexta at commit 2acfd5c, republished under its MIT licence (© agenticnotetaking). 1,520 words, ~4,008 tokens.
.claude/skills/add-domain/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You are extending an existing knowledge system with a new domain. This is composition, not replacement. The new domain must coexist with existing domains while maintaining its own vocabulary, schema, and processing patterns. The shared graph (wiki links, hub MOC, description fields) connects everything.
Add a new knowledge domain: $ARGUMENTS
Read these during derivation phases:
Composition rules:
${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md -- Test 4 (Multi-Domain Composition) validates the pattern${CLAUDE_PLUGIN_ROOT}/reference/three-spaces.md -- three-space architecture (shared across domains)${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md -- coherence validation for domain configDomain configuration:
${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md -- domain-native term mapping${CLAUDE_PLUGIN_ROOT}/reference/tradition-presets.md -- pre-validated domain configurations${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.md -- 3 presets with configurations${CLAUDE_PLUGIN_ROOT}/reference/dimension-claim-map.md -- research backing for dimension positions${CLAUDE_PLUGIN_ROOT}/reference/failure-modes.md -- domain vulnerability matrixValidation:
${CLAUDE_PLUGIN_ROOT}/reference/kernel.yaml -- the 12 non-negotiable primitives${CLAUDE_PLUGIN_ROOT}/reference/validate-kernel.sh -- kernel validation scriptAutomated. Understand what exists before adding to it.
Read ops/derivation.md for:
Read ops/config.yaml for live configuration values.
Identify all current knowledge domains:
Classify each of the 8 dimensions as system-level or domain-adjustable:
| Dimension | Type | Rationale |
|---|---|---|
| Organization | system-level | Flat/hierarchical applies to the whole workspace |
| Automation | system-level | Hooks and skills are workspace-wide infrastructure |
| Navigation depth | system-level | Hub MOC structure is shared |
| Granularity | domain-adjustable | Different domains may need different granularity |
| Processing | domain-adjustable | Research needs heavy, relationships need light |
| Maintenance | domain-adjustable | Different condition thresholds per domain growth rate |
| Schema | domain-adjustable | Domain-specific fields vary |
| Linking | domain-adjustable | Some domains need semantic search, others don't |
System-level dimensions are fixed by the existing system. Domain-adjustable dimensions can vary for the new domain.
1-3 conversation turns to understand the new domain. Use AskUserQuestion for each turn.
Ask ONE focused question about the new domain:
"Tell me about [domain hint from $ARGUMENTS] -- what kinds of things will you track, and how does this relate to your existing [current domain vocabulary] work?"
The second half is critical: understanding the relationship between domains drives composition decisions.
As the user responds, extract signals for domain-adjustable dimensions:
| Signal | Dimension | Position |
|---|---|---|
| "Quick notes about people" | Granularity | moderate |
| "Deep analysis of sessions" | Processing | heavy |
| "Just remember key moments" | Processing | light |
| "I revisit and update often" | Maintenance | tight thresholds |
| "Mostly static once captured" | Maintenance | lax thresholds |
| "Need to find patterns across entries" | Linking | explicit+implicit |
Also extract:
After the opening response, ask 1-2 follow-ups targeting:
Do NOT ask about dimensions directly. Listen for them in natural conversation.
For each adjustable dimension, determine the position for the new domain:
${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.mdRead ${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md for the transformation table.
Priority order:
Build the complete mapping for the new domain:
| Universal Term | New Domain Term | Source |
|---|---|---|
| note | [term] | [user / preset / blend] |
| extract / reduce | [term] | [user / preset / blend] |
| connect / reflect | [term] | [user / preset / blend] |
| MOC | [term] | [user / preset / blend] |
| description | [term] | [user / preset / blend] |
| topics | [term] | [user / preset / blend] |
| inbox | [term] | [user / preset / blend] |
Start from the base note schema (description, topics) and add domain-specific fields:
_schema:
entity_type: "[domain]-note"
applies_to: "[domain-folder]/*.md"
required:
- description
- topics
optional:
- [domain-specific fields based on conversation signals]
enums:
[field]:
- [domain-relevant values]This is critical for multi-domain composition. Verify:
Filename uniqueness -- the new domain's note titles won't collide with existing notes. Wiki links resolve by filename across the entire workspace, so every filename must be unique.
Schema field names -- new domain fields don't conflict with existing domain fields. If both domains use a field name (e.g., type), the enum values must be mutually exclusive or the field must have compatible semantics.
Template names -- new domain templates have distinct names from existing templates.
Folder names -- new domain folders don't collide with existing folders.
If any collisions are detected, resolve them before proceeding.
Read ${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md (Test 4: Multi-Domain Composition) for the validated composition pattern.
Verify each composition rule:
All note filenames must be unique across all domains. The new domain's naming conventions must be compatible with existing ones.
The existing hub MOC (index.md or equivalent) must be updated to include the new domain's entry point MOC. The hierarchy becomes:
hub -> existing domain MOCs
-> new domain MOCIf connection finding (reflect) is active, it must search across all domains -- a note in the new domain might connect to a note in the existing domain. Semantic search collections must include the new domain folder.
If the new domain needs different processing intensity than the existing domain, the pipeline must route by note type. Heavy processing for research notes, light processing for relationship notes, etc.
The new domain's methodology guide should load only when working in that domain, not at every session start. This prevents context bloat as domains accumulate.
Run the new domain's configuration through ${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md:
Show the user exactly what will be created and how it connects to what exists.
Output format:
=== ADD DOMAIN PROPOSAL ===
New domain: [domain name]
Vocabulary: [key term mappings]
--- What will be created ---
Folder structure:
[domain-folder]/ <- [description]
index.md <- domain hub MOC
[domain-inbox]/ <- capture zone (if processing >= moderate)
templates/[domain]-note.md <- note template with domain schema
--- Connections to existing system ---
- Hub MOC (index.md): add [new domain] section with link to [[domain-index]]
- Cross-domain links: [new domain] notes can link to [existing domain] notes and vice versa
- Shared infrastructure: self/, ops/, templates/ remain shared
- Semantic search: [new collection added / not needed at current volume]
--- What does NOT change ---
- Existing [domain] folder: untouched
- Existing templates: untouched
- Existing MOC hierarchy: untouched (hub gains one new link)
- self/ space: shared (methodology.md updated with multi-domain patterns)
- ops/ space: shared (derivation.md updated with domain addition)
--- Domain Configuration ---
| Dimension | Position | Rationale |
|-----------|----------|-----------|
| Granularity | [val] | [reason] |
| Processing | [val] | [reason] |
| Maintenance | [val] | [reason] |
| Schema | [val] | [reason] |
| Linking | [val] | [reason] |
| (system-level dimensions inherited from existing system) |
--- Schema Preview ---
[Show the _schema block for the new domain template]
--- Vocabulary Mapping ---
| Universal | New Domain | Existing Domain |
|-----------|-----------|-----------------|
| note | [term] | [existing term] |
| ... | ... | ... |
Would you like me to create this? I can adjust anything before generating.
=== END PROPOSAL ===Wait for user approval before proceeding.
Create the new domain's infrastructure. Order matters -- later artifacts reference earlier ones.
Create the domain's notes folder and optional inbox folder:
mkdir -p [domain-folder]
mkdir -p [domain-inbox] # if processing >= moderateCreate templates/[domain]-note.md with the derived _schema block, required and optional fields, and domain vocabulary in comments and examples.
Create [domain-folder]/index.md:
---
description: [entry point description in domain vocabulary]
type: moc
---
# index
[Orientation paragraph in domain vocabulary]
## [domain:Topics]
(topics will emerge as notes accumulate)
## Getting Started
1. Capture your first [domain:note]
2. Connect it to this hubCreate a domain-specific methodology document that loads when working in this domain. For Claude Code: .claude/skills/[domain]-guide/SKILL.md or a section in the context file. For other platforms: a standalone guide file.
The guide covers:
Add the new domain to the existing hub MOC (index.md):
## [New Domain Name]
- [[domain-index]] -- [description of what this domain tracks]Add to the context file:
Add multi-domain working patterns:
Document the domain addition:
If qmd or equivalent is configured:
# Add new collection for domain folder
qmd update
qmd embedUpdate .mcp.json or equivalent configuration to include the new collection.
If the new domain needs its own processing skills (because processing intensity or vocabulary differs from existing domain), generate domain-adapted versions of reduce/reflect/verify skills.
If the existing skills can handle multi-domain routing by note type, update them instead of creating duplicates.
Run kernel validation against the new domain's files:
find . -name "*.md" -not -path "./.git/*" -not -name "README.md" -not -name "SKILL.md" \
-exec basename {} \; | sort | uniq -d=== DOMAIN ADDITION VALIDATED ===
Domain: [name]
Files created: [N]
Hub updated: yes
Cross-domain links: functional
Filename uniqueness: verified
Schema conflicts: none
Your system now has [N] domains:
- [existing domain] ([N] notes)
- [new domain] (0 notes -- ready to start)
Next steps:
1. Capture your first [domain:note] in [domain-folder]/
2. Cross-domain connections will emerge naturally as you work
3. Run /health when /next flags maintenance issues in either domain
=== END VALIDATION ===© agenticnotetaking, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/add-domain of agenticnotetaking/arscontexta.
Open the folder on GitHubat commit 2acfd5c
Add Domain next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Domain this skillagenticnotetaking/arscontexta | 3.5k | — | ~4k | Automated safety check: Notes | MIT | |
| Baoyu URL To Markdownsdyckjq-lab/llm-wiki-skill | 2.5k | 3 repos | ~3.2k | Automated safety check: Pass | None | |
| Logseq Review Workflow Evallogseq/logseq | 45k | — | ~1k | Automated safety check: Pass | AGPL-3.0 | |
| Obsidian CLIAtmosphere/atmosphere | 3.8k | 13 repos | ~795 | Automated safety check: Pass | Apache-2.0 | |
| Esm Cjs Risk Scanlogseq/logseq | 45k | — | ~3.3k | Automated safety check: Pass | AGPL-3.0 | |
| Capture Conversationoutline/outline | 41k | — | ~474 | Automated safety check: Pass | Custom licence |
sdyckjq-lab/llm-wiki-skill
Fetch any URL and convert to markdown using Chrome CDP. An agent skill from sdyckjq-lab/llm-wiki-skill.
logseq/logseq
Compare two revisions of the Logseq logseq-review-workflow skill by running the same review prompt against isolated before and after skill snapshots, collecting both outputs, and producing a…
Atmosphere/atmosphere
Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.
logseq/logseq
Scan Logseq ClojureScript Node/Electron targets for npm module loading risks, especially ESM-only packages that may fail when loaded through js/require or shadow-cljs require-based shims.
outline/outline
Save the current conversation, a decision, or a set of notes as a document in an Outline collection; use when the user wants to keep what was discussed in their knowledge base.
Astro-Han/karpathy-llm-wiki
A skill your agent uses when building or maintaining a personal LLM-powered knowledge base.
agenticnotetaking/arscontexta
Interactive knowledge graph analysis. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Research a topic and grow your knowledge graph. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Get research-backed architecture advice for your knowledge system.
agenticnotetaking/arscontexta
Show vault statistics and knowledge graph metrics. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Contextual guidance and command discovery. An agent skill from agenticnotetaking/arscontexta.
agenticnotetaking/arscontexta
Surface the most valuable next action by combining task stack, queue state, inbox pressure, health, and goals.
Categories
Add a new knowledge domain to your existing system. An agent skill from agenticnotetaking/arscontexta. Add Domain is an agent skill from agenticnotetaking/arscontexta. Add a new knowledge domain to your existing system.
Add Domain fits situations like: knowledge Management work in your project.
Run `npx skills add agenticnotetaking/arscontexta --skill add-domain -a claude-code`. Or copy the skill folder (skills/add-domain in agenticnotetaking/arscontexta) into .claude/skills/add-domain in your project. Claude Code loads it when a task matches its description.
Run `npx skills add agenticnotetaking/arscontexta --skill add-domain -a codex`. Or copy the skill folder (skills/add-domain in agenticnotetaking/arscontexta) into .agents/skills/add-domain in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agenticnotetaking/arscontexta --skill add-domain -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-domain, .gemini/skills/add-domain, .github/skills/add-domain and .opencode/skills/add-domain in your project.
SKILL.md names no scripts, command-line tools or credentials: Add Domain is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Add Domain is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Domain: Baoyu URL To Markdown (sdyckjq-lab/llm-wiki-skill, 2.5k stars), Logseq Review Workflow Eval (logseq/logseq, 45k stars), Obsidian CLI (Atmosphere/atmosphere, 3.8k stars) and Esm Cjs Risk Scan (logseq/logseq, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
agenticnotetaking (a GitHub organization) maintains it in agenticnotetaking/arscontexta, which has 3,492 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on February 24, 2026.
Source: agenticnotetaking/arscontexta on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.