Second Brain
NicholasSpisak/second-brain
Set up a new Obsidian knowledge base with the LLM Wiki pattern.
Adaptive vault reader skill. An agent skill from iurykrieger/claude-bedrock.
$ npx skills add iurykrieger/claude-bedrock --skill ask -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install iurykrieger/claude-bedrock ask --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/iurykrieger/claude-bedrock.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ask .claude/skills/ask && 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 "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .claude/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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/iurykrieger/claude-bedrock/tree/main/skills/askType 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 iurykrieger/claude-bedrock --skill ask -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install iurykrieger/claude-bedrock ask --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ask .agents/skills/ask && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .agents/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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 iurykrieger/claude-bedrock --skill ask -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install iurykrieger/claude-bedrock ask --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ask .cursor/skills/ask && 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 "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .cursor/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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/iurykrieger/claude-bedrock.git --path skills/ask--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 iurykrieger/claude-bedrock --skill ask -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install iurykrieger/claude-bedrock ask --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ask .gemini/skills/ask && 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 "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .gemini/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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 iurykrieger/claude-bedrock askInstalls 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 iurykrieger/claude-bedrock --skill ask -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ask .github/skills/ask && 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 "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .github/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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 iurykrieger/claude-bedrock --skill ask -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install iurykrieger/claude-bedrock ask --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/iurykrieger/claude-bedrock.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ask .opencode/skills/ask && 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 "ask" agent skill from https://github.com/iurykrieger/claude-bedrock/tree/main/skills/ask into .opencode/skills/ask/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ask", 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.
askAdaptive vault reader skill. An agent skill from iurykrieger/claude-bedrock.
Ask is an agent skill from iurykrieger/claude-bedrock. Adaptive vault reader skill. Receives a natural language question, uses graph.json as the primary index (Phase 2.0) before any glob/grep, then self-assesses whether more context is needed. Escalates to live /graphify only when graph coverage is insufficient, or to /bedrock:learn for remote content ingestion. Answers simple questions with zero graphify calls. Use when: "bedrock ask", "bedrock-ask", "/bedrock:ask", any question about the vault, "what do we know about", "who owns", "what's the status of", "tell me…
Its SKILL.md is about 7.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Knowledge Management, covering Second brain. It works with Obsidian. The repository describes itself as: Second Brain automation for Obsidian vaults — entity management, ingestion, compression, and sync via Claude Code skills. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7cac16c. 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:
BashReadGlobGrepSkillAgentFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
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.
Ask loads about 7.2k tokens when it runs. Until then it costs about 144 tokens; SKILL.md has 3,539 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: Bash, Read, Glob, Grep, Skill, AgentAutomated 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 iurykrieger/claude-bedrock at commit 7cac16c, republished under its MIT licence (© iurykrieger). 3,539 words, ~7,183 tokens.
.claude/skills/ask/SKILL.md (or your agent's skills folder).Entity definitions and templates are in the plugin directory, not at the vault root. Use the "Base directory for this skill" provided at invocation to resolve the paths:
<base_dir>/../../entities/<base_dir>/../../templates/{type}/_template.md<base_dir>/../../CLAUDE.md (already automatically injected into context)Where <base_dir> is the path provided in "Base directory for this skill".
Resolve which vault to query. This skill can be invoked from any directory.
Step 1 — Parse --vault flag:
Check if the input arguments include --vault <name>. If found, extract the vault name and remove it from the arguments (the remaining text is the question).
Step 2 — Resolve vault path:
If --vault <name> was provided:
Read the vault registry at <base_dir>/../../vaults.json. Find the entry matching the name.
If not found: error — "Vault <name> is not registered. Run /bedrock:vaults to see available vaults."
If found: set VAULT_PATH to the entry's path value.
If no --vault flag — CWD detection:
Read <base_dir>/../../vaults.json. Check if the current working directory is inside any registered vault path
(CWD starts with a registered vault's absolute path). If multiple match, use the longest path (most specific).
If found: set VAULT_PATH to the matching vault's path.
If CWD detection fails — default vault:
From the registry, find the vault with "default": true.
If found: set VAULT_PATH to the default vault's path.
If no resolution:
Error — "No vault resolved. Available vaults:" followed by the registry listing.
"Use --vault <name> to specify, or run /bedrock:setup to register a vault."
Step 3 — Validate vault path:
test -d "<VAULT_PATH>" && echo "exists" || echo "missing"If missing: error — "Vault path <VAULT_PATH> does not exist on disk. Run /bedrock:setup to re-register."
Step 4 — Read vault config:
cat <VAULT_PATH>/.bedrock/config.json 2>/dev/nullExtract language and other relevant fields for use in later phases.
From this point forward, ALL vault file operations use <VAULT_PATH> as the root.
<VAULT_PATH>/actors/, <VAULT_PATH>/people/, etc.<VAULT_PATH>/graphify-out/This skill receives a natural language question and answers it using an adaptive, vault-first approach. It always reads vault content first, then decides whether to escalate to graphify or /learn ased on what's actually needed — not what the question looks like in isolation.
You are an adaptive context orchestrator agent. You only READ — never write, edit, or delete files directly.
Writes happen exclusively through /bedrock:learn delegation (which flows through /bedrock:preserve).
If the query reveals outdated or missing information and no remote source is available to ingest,
suggest that the user run /bedrock:preserve or /bedrock:learn to update the vault.
Read .bedrock/config.json from the vault root:
if [ -f ".bedrock/config.json" ]; then
cat .bedrock/config.json
else
echo "config_not_found"
fiquery.max_graphify_calls. Store as max_graphify_calls.max_graphify_calls = 3 (default).Read the user's question and identify:
Mentioned entities — names of systems, people, teams, topics, projects, or discussions. They may appear as:
Relevant domain(s) — payments, notifications, orders, integrations, checkout, compliance, internal-tools.
Infer from the mentioned entities or the question context.
Type of information sought:
If the question is too ambiguous to produce a targeted search (e.g.: "tell me everything", "how does the system work?", "what's going on?"), ask for clarification:
"Your question is broad. Can you specify: which system, team, or topic would you like to know more about?"
If the question mentions something that clearly isn't part of the vault (e.g.: something personal, unrelated technology), inform: "I didn't find anything in the vault about this."
At the end, you should have:
This phase always runs for every question. It uses the cumulative knowledge graph as the primary index when available, falling back to glob/grep for terms not represented in the graph. Never skip this phase.
Before any glob/grep, check if the cumulative knowledge graph is available:
if [ -f "<VAULT_PATH>/graphify-out/graph.json" ] && [ -s "<VAULT_PATH>/graphify-out/graph.json" ]; then
echo "graph_available"
else
echo "graph_not_available"
fiIf graph_available:
Read <VAULT_PATH>/graphify-out/graph.json — extract only the nodes array (skip edges to avoid context explosion on large graphs). If the nodes array exceeds 500 entries, read only the first 500 — graphify orders nodes by centrality, so high-value nodes come first.
From the nodes array, extract per node: id, label, file_type, source_file, community, is_god_node.
Score nodes by relevance to the search terms from Phase 1:
label contains or closely matches any search termis_god_node: true nodes get elevated priority when their label is even loosely relevant to the querySelect top N nodes (N ≤ 15, same limit as the current entity read budget). Track which search terms produced ≥ 1 matching node and which produced none.
For each selected node with a non-null source_file:
.md file: search for the source_file basename in entity directoriesGlob: <VAULT_PATH>/actors/<basename>.md, <VAULT_PATH>/people/<basename>.md, <VAULT_PATH>/teams/<basename>.md,
<VAULT_PATH>/topics/*<basename>*.md, <VAULT_PATH>/discussions/*<basename>*.md, <VAULT_PATH>/projects/<basename>.mdFor each search term that produced zero matching graph nodes → proceed to steps 2.2–2.4 (glob/grep) for that term only.
If graph_not_available:
Skip to step 2.1. No warning — this is the normal path for fresh vaults.
Use Read to read the entity definition files from the plugin (see "Plugin Paths" section):
<base_dir>/../../entities/actor.md<base_dir>/../../entities/person.md<base_dir>/../../entities/team.md<base_dir>/../../entities/topic.md<base_dir>/../../entities/discussion.md<base_dir>/../../entities/project.mdFor each search term identified in Phase 1:
Step 1 — Search by filename:
Glob: <VAULT_PATH>/actors/<term>*.md, <VAULT_PATH>/people/<term>*.md, <VAULT_PATH>/teams/<term>*.md,
<VAULT_PATH>/topics/*<term>*.md, <VAULT_PATH>/discussions/*<term>*.md, <VAULT_PATH>/projects/<term>*.md,
<VAULT_PATH>/fleeting/*<term>*.mdStep 2 — Search by alias in frontmatter:
Grep: pattern="aliases:.*<term>" in directories: <VAULT_PATH>/actors/, <VAULT_PATH>/people/, <VAULT_PATH>/teams/,
<VAULT_PATH>/topics/, <VAULT_PATH>/discussions/, <VAULT_PATH>/projects/
(case-insensitive)Step 3 — Search by name in frontmatter:
Grep: pattern="name:.*<term>" or pattern="title:.*<term>"
in the same directories (case-insensitive)Step 4 — Search by content (fallback): If steps 1-3 did not return sufficient results:
Grep: pattern="<term>" in entity directories (case-insensitive)If domains were identified in Phase 1, filter results:
Grep: pattern="domain/<domain>" in the found files (tags field of frontmatter)Keep all results, but prioritize those matching the domain.
For each entity found (limit: 15 entities):
Record for each entity read:
For each extracted wikilink that is relevant to the question:
Resolve the file: search for <wikilink-name>.md in entity directories
Glob: <VAULT_PATH>/actors/<name>.md, <VAULT_PATH>/people/<name>.md, <VAULT_PATH>/teams/<name>.md,
<VAULT_PATH>/topics/*<name>*.md, <VAULT_PATH>/discussions/*<name>*.md, <VAULT_PATH>/projects/<name>.mdRead the found file (frontmatter + body)
Do NOT follow wikilinks from this second level — stop here to avoid context explosion
Relevance criteria for following a wikilink:
Limit: Do not read more than 15 entities total (2.4 + 2.5 combined). If the limit is reached, prioritize entities directly mentioned in the question.
At the end of Phase 2, you have:
graph.json with no vault .md (label + community + edge metadata only)This is the core decision point. After reading vault content in Phase 2, assess whether you have enough context to answer the question.
Evaluate the vault content you read in Phase 2 against the original question. Determine one of three outcomes:
vault_sufficient — You have enough information to compose a good answer.
Indicators:
needs_graphify — The vault content is partial but the knowledge graph could fill the gaps.
Indicators:
needs_remote_content — The vault entities reference external URLs that appear directly relevant
to the question, but the content behind those URLs isn't ingested in the vault.
Indicators:
sources field or body text contains a URL (Confluence, GDocs, GitHub) that likely holds the answerPriority when multiple outcomes apply:
needs_remote_content > needs_graphify > vault_sufficient
Rationale: remote content must be internalized first for the vault to be complete. Graphify can run on richer data after ingestion. If both apply, handle remote content first, then re-assess whether graphify is still needed.
After determining the outcome:
vault_sufficient → skip directly to Phase 4 (recency) then Phase 5 (respond)needs_graphify → proceed to Phase 3-Gneeds_remote_content → proceed to Phase 3-TExecute only when the self-assessment determines needs_graphify.
Before escalating to a live /graphify call, assess whether the cumulative graph.json
already covers the gap identified in Phase 3.1. Live /graphify invocations are a last resort —
they re-extract what is likely already indexed.
Step 1 — Check if graph was available in Phase 2.0:
graph_not_available: display the warning below, ask the user whether to build the graph now, and wait for their response before proceeding.graph_available: proceed to Step 2.[!warning] Knowledge graph unavailable The knowledge graph is not available (
<VAULT_PATH>/graphify-out/graph.jsonmissing or empty). The answer below is based on vault content only — it may be incomplete for this type of question.
After displaying the warning, ask the user:
"O knowledge graph não está disponível, o que pode tornar esta resposta incompleta. Deseja reconstruí-lo agora antes de continuar? Se sim, rode:
/graphify build— isso indexa todos os atores cadastrados no vault e pode levar alguns minutos. Responda sim para aguardar e tentar novamente, ou não para continuar com o conteúdo disponível."
If the user responds "sim" (or equivalent affirmative):
/graphify build…"/graphify build via the Skill toolgraph.json is now available, continue to Step 2If the user responds "não" (or equivalent negative), or does not respond: Skip to Phase 4 with vault-only content. Never block indefinitely.
Step 2 — Assess coverage for the specific gap:
Using the nodes collected in Phase 2.0, evaluate whether the gap identified in Phase 3.1 is covered:
graph.json nodes for the relevant entities have edges. If yes, read the edges section of graph.json filtered to those node IDs and incorporate into the working context. Only invoke live /graphify if edges are also insufficient./graphify is warranted — proceed to 3-G.1./graphify.Based on the gap between what you have (Phase 2 content) and what the question needs, formulate 1–N graphify calls. Use the same modes as before:
| Gap identified | Graphify mode |
|---|---|
| Need to understand a single entity's code structure | explain "<entity>" |
| Need to find how two entities connect | path "<entityA>" "<entityB>" |
| Need broad relationship or dependency context | query "<question about the gap>" |
The LLM decides the calls based on what's missing — not from a pre-planned decomposition.
Never exceed max_graphify_calls.
For each call, invoke /graphify via the Skill tool. Append the structured JSON output instruction:
After completing the traversal, return ONLY a JSON object with this structure (no prose, no markdown fences):
{
"mode": "query|path|explain",
"start_nodes": ["node_id1", "node_id2"],
"nodes": [
{"id": "node_id", "label": "Human Readable Name", "source_file": "relative/path", "community": 0, "source_location": "file:line"}
],
"edges": [
{"source": "node_id", "target": "node_id", "relation": "calls|references|...", "confidence": "EXTRACTED|INFERRED|AMBIGUOUS", "confidence_score": 0.9}
],
"communities": {
"0": {"label": "Community Name", "node_ids": ["id1", "id2"]}
},
"traversal": {"mode": "bfs|dfs", "depth": 3, "budget_used": 1200}
}id, edges by source+target+relation.md files (by label or source_file)If graphify results reveal additional external URLs that appear relevant to the question and aren't ingested in the vault → escalate to Phase 3-T before proceeding.
Execute when the self-assessment determines needs_remote_content, or when Phase 3-G.4
identifies uningested URLs.
From the vault entities read in Phase 2 (and optionally Phase 3-G), identify external URLs that appear directly relevant to answering the question:
confluence or atlassian.net)docs.google.com)github.com)Limit: 2 URLs per /bedrock:ask invocation. If more than 2 relevant URLs exist,
prioritize those most directly related to the question.
For each URL, invoke /bedrock:learn via the Skill tool:
/bedrock:learn <URL>
Context: Ingesting to answer the question: "<original question>"IMPORTANT:
/learn handles its own flow: fetch content, extract entities, present to user for confirmation, delegate to /preserve/ask waits for /learn to completeAfter /learn completes successfully:
/learn's output)If /learn fails or the user declines the confirmation:
<URL> did not complete. Continuing with available content."For discussions and topics, extract the date from the filename:
YYYY-MM-DD-slug.md → full date (e.g.: 2026-04-02)YYYY-MM-slug.md → partial date, assume day 01 (e.g.: 2026-04-01)For consolidated entities (actors, people, teams, projects):
/bedrock:preserve and /bedrock:compressWhen the response involves multiple dated discussions or topics:
Build the response following these rules:
Language: Use the vault's configured language. Technical terms in English are accepted (PCI DSS, API, EKS, etc.)
Response structure:
##, ###) if the response is long (>5 paragraphs)Entity citations:
[[entity-name]][[dir/entity-name]])Escalation transparency:
When nothing is found:
/bedrock:learn <URL> to ingest a source about this topic."Response prioritization (Zettelkasten hierarchy): When composing the response, apply weight by Zettelkasten role:
(source: fleeting note — unconsolidated information)Fleeting note promotion detection (criterion 3: active relevance): When a fleeting note is referenced in the response because it is relevant to the query:
<base_dir>/../../entities/fleeting.md):> [!info] Promotion suggested: [[fleeting-note-name]] can be promoted to permanent/bridge/bedrock:ask does NOT promote automatically — it only flags. Promotion happens when
/bedrock:preserve is invoked with the instruction to promote.When appropriate, suggest actions to the user:
/bedrock:learn <source> to update."/bedrock:preserve to record it."/bedrock:learn <URL> to ingest additional sources."| Rule | Detail |
|---|---|
| Vault-first principle | Phase 2 ALWAYS runs before any escalation. Read vault content first, decide later. Never skip Phase 2. |
| LLM self-assessment | The decision to escalate is made by the LLM after reading vault content (Phase 3.1), not by a heuristic rule table. Use the guidance provided, but the LLM makes the final call. |
| Escalation priority | When multiple outcomes apply: needs_remote_content > needs_graphify > vault_sufficient. Internalize first, then analyze. |
| No direct writes | /ask NEVER writes, edits, or deletes files directly. All writes are delegated through /bedrock:learn → /bedrock:preserve. |
| Teach delegation via Skill tool | Invoke /bedrock:learn via the Skill tool. /learn owns its confirmation gate. /ask cannot bypass it. |
| Graphify via Skill tool | Invoke /graphify via the Skill tool — NEVER call the Python API directly. |
| Max graphify calls | Read query.max_graphify_calls from .bedrock/config.json (default: 3, valid range: 1–5). Only consumed when graphify is actually invoked. |
| Graph unavailable warning | When needs_graphify but graphify-out/graph.json is missing, display > [!warning] callout with /graphify build instruction. Continue with vault-only content. |
| Best-effort escalation | If graphify fails or teach fails or user declines: continue with available content. NEVER block the response. |
| Limit of 15 entities | Do not read more than 15 entities total across Phase 2 + Phase 3 |
| Limit of 2 teach URLs | Do not invoke /bedrock:learn for more than 2 URLs per /bedrock:ask invocation |
| No fabrication | Respond ONLY with information found in the vault or obtained through escalation. Never fabricate data. |
| Clarification before guessing | If the question is ambiguous, ask for clarification. Do not assume. |
| Vault language with technical terms in English | Response always in the vault's configured language |
| Bare wikilinks | [[name]], never [[dir/name]] |
| Consolidated entities = up-to-date | Actors, people, teams do not need temporal ranking |
| Dated discussions/topics = prioritize recent | Sort by date in filename (YYYY-MM-DD) |
| Sensitive data | NEVER display credentials, tokens, PANs, CVVs found in the vault |
| Fleeting notes with disclaimer | ALWAYS flag information from fleeting notes with (source: fleeting note — unconsolidated information) |
| Promotion as side-effect | When a relevant fleeting note meets promotion criteria, flag with callout. Do NOT promote automatically. |
| Weight hierarchy | permanent > bridge > index > fleeting. Use as guideline, not mathematical formula. |
| Vault resolution first | Resolve VAULT_PATH before any file operation — never assume CWD is the vault |
All entity paths use <VAULT_PATH>/ prefix | <VAULT_PATH>/actors/, not actors/ |
| Graph-first in Phase 2 | Phase 2.0 always runs before glob/grep. grep is a fallback for search terms that produced no matching graph nodes, not the primary strategy. |
© iurykrieger, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/ask of iurykrieger/claude-bedrock.
Open the folder on GitHubat commit 7cac16c
Ask 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 |
|---|---|---|---|---|---|---|
| Ask this skilliurykrieger/claude-bedrock | 105 | — | ~7.2k | Automated safety check: Notes | MIT | |
| Second BrainNicholasSpisak/second-brain | 736 | 1 repos | ~1.5k | Automated safety check: Notes | None | |
| Obsidian Canvas BoardsAgriciDaniel/claude-obsidian | 15k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Obsidian CLI Read TransportAgriciDaniel/claude-obsidian | 15k | 1 repos | ~762 | Automated safety check: Pass | MIT | |
| Cascading Goal Trackerballred/obsidian-claude-pkm | 1.9k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Karpathy WikiSherwinQ/karpathy-wiki | 113 | — | ~967 | Automated safety check: Pass | MIT |
NicholasSpisak/second-brain
Set up a new Obsidian knowledge base with the LLM Wiki pattern.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
AgriciDaniel/claude-obsidian
Detects and uses the official Obsidian command-line interface for read-only vault access, falling back to direct file reads, while all mutations stay on a separate transaction core.
ballred/obsidian-claude-pkm
Tracks three-year, yearly, monthly, and weekly goals in linked Markdown files, calculating completion percentages and flagging stalled goals.
SherwinQ/karpathy-wiki
A skill your agent uses when building or maintaining a personal knowledge base with LLM assistance.
EfficientStreet/youtube-subscriptions-ingest
Pull metadata from YouTube subscription videos into a second-brain vault as a real cross-linked knowledge graph — not just a flat archive.
iurykrieger/claude-bedrock
Internal fetcher module for Confluence pages. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Internal fetcher module for Google Docs and Sheets. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Read-only vault health diagnostic. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Manage registered Bedrock vaults. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Initialize any folder as a Bedrock-powered Obsidian vault. An agent skill from iurykrieger/claude-bedrock.
iurykrieger/claude-bedrock
Vault alignment engine. An agent skill from iurykrieger/claude-bedrock.
Works with
Categories
Adaptive vault reader skill. An agent skill from iurykrieger/claude-bedrock. Ask is an agent skill from iurykrieger/claude-bedrock. Adaptive vault reader skill.
Ask fits situations like: any question about the vault; what do we know about; whats the status of; how does it work.
Run `npx skills add iurykrieger/claude-bedrock --skill ask -a claude-code`. Or copy the skill folder (skills/ask in iurykrieger/claude-bedrock) into .claude/skills/ask in your project. Claude Code loads it when a task matches its description.
Run `npx skills add iurykrieger/claude-bedrock --skill ask -a codex`. Or copy the skill folder (skills/ask in iurykrieger/claude-bedrock) into .agents/skills/ask 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 iurykrieger/claude-bedrock --skill ask -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ask, .gemini/skills/ask, .github/skills/ask and .opencode/skills/ask in your project.
SKILL.md names no scripts, command-line tools or credentials: Ask is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Glob, Grep, Skill, Agent.
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.
Ask is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 7.2k tokens (SKILL.md is roughly 29k 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 Ask: Second Brain (NicholasSpisak/second-brain, 736 stars), Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), Obsidian CLI Read Transport (AgriciDaniel/claude-obsidian, 15k stars) and Cascading Goal Tracker (ballred/obsidian-claude-pkm, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
iurykrieger (a GitHub user) maintains it in iurykrieger/claude-bedrock, which has 105 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on May 5, 2026.
Source: iurykrieger/claude-bedrock on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.