Agent skill

People Stubs

by benoror in benoror/obsidianos_work

Batch-create Teams/People/@Name.md stubs from unresolved [[@]] wikilinks across the vault.

MITAuto-check passed

Install People Stubs

skills CLI
$ npx skills add benoror/obsidianos_work --skill people-stubs -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install benoror/obsidianos_work people-stubs --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/benoror/obsidianos_work.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/people-stubs .claude/skills/people-stubs && rm -rf skills-src

Use ~/.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/

Facts

Skill name
people-stubs
GitHub stars
165
Token cost
~863 tokens
SKILL.md length
345 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Batch-create Teams/People/@Name.md stubs from unresolved [[@]] wikilinks across the vault.

  • Works in 5 steps: Discover unresolved [[@*]] links → Present the creation list → Create stubs → …
  • SKILL.md covers Usage, Why this skill exists, Workflow and Important Notes
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

People Stubs is an agent skill from benoror/obsidianos_work. Batch-create Teams/People/@Name.md stubs from unresolved [[@]] wikilinks across the vault. Each stub is minimal frontmatter; the user fills team/role/details later.

Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Obsidian. The repository describes itself as: ObsidianOS - Work Vault. The licence is MIT.

Example prompts

  • “/people-stubs”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Discover unresolved [[@*]] links
  2. Present the creation list
  3. Create stubs
  4. Report
  5. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 3c7923e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

People Stubs loads about 863 tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 345 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~863

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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.

SKILL.md

The full file from benoror/obsidianos_work at commit 3c7923e, republished under its MIT licence (© benoror). 345 words, ~863 tokens.

Download SKILL.mdSave it as .claude/skills/people-stubs/SKILL.md (or your agent's skills folder).
name
people-stubs
description
Batch-create Teams/People/@Name.md stubs from unresolved [[@*]] wikilinks across the vault. Each stub is minimal frontmatter; the user fills team/role/details later.
license
MIT

People Stubs

Usage

  • /people-stubs — Scan unresolved [[@*]] links, present a creation list, prompt to confirm each.
  • /people-stubs --auto — Create stubs for every unresolved [[@*]] link without per-name confirmation. Useful after a big batch of new interviews.

Why this skill exists

When meeting notes are wrapped via /fill-participants, names get linked as [[@Jane Doe]], [[@John Smith]], etc. If the corresponding Teams/People/@Name.md file doesn't exist yet, Obsidian shows a dead-link indicator and the name doesn't appear in People.base. This skill creates the missing stubs in one pass.

Stubs are intentionally minimal — they're placeholders. The user (or a future /onboard-person skill) fills in the real metadata (Team, Location, FullName, Start Date, etc.).

Workflow

Run obsidian unresolved format=json and filter to entries where the link target starts with @. Aggregate by target — one stub per unique target, with a list of files where it's referenced.

Step 2: Present the creation list

Display a numbered table sorted by reference count descending:

| # | Stub to create | Referenced in (count) | Sample file |
|---|----------------|----------------------|-------------|
| 1 | Teams/People/@Jane Doe.md | 6 | Meetings/Interviews/Interview Alex Kim... |
| 2 | Teams/People/@John Smith.md | 3 | Meetings/Engineering/Weekly Team Leads... |
| 3 | Teams/People/@Alex Kim.md | 2 | Meetings/Engineering/Weekly Team Leads... |

Ask the user: "all", "1,2", "none", or per-line skips.

Step 3: Create stubs

For each confirmed stub, write Teams/People/@<Name>.md with this minimal frontmatter:

yaml
---
FullName:
Team:
Location:
created: <ISO 8601 with offset>
---

Use obsidian create path="Teams/People/@<Name>.md" content="<frontmatter>" so Obsidian indexes it immediately (the next /vault-health run won't show the link as unresolved any more).

Leave FullName, Team, Location empty — the stub is a placeholder. The agent can fill in FullName if it can infer from the wikilink display text (e.g. [[@Jane Doe]] → FullName: Jane Doe).

Step 4: Report

Print a summary:

Created 3 stubs:
  Teams/People/@Jane Doe.md
  Teams/People/@John Smith.md
  Teams/People/@Alex Kim.md

Next steps:
- Open each stub and fill in Team / Location / Start Date.
- Or run /onboard-person <name> to pull metadata from external sources.
Step 5: Commit

See /commit. Commit message: chore(people): add N stubs (Jane Doe, John Smith, ...).

Important Notes

  • Don't create stubs for the user's own aliases — they're handled by USER.md aliases.
  • Don't create stubs for candidate names (someone interviewed once but never hired). The /vault-health report should let the user skip those manually. If a name has only 1-2 references and they're all from an interviews folder, surface a hint that this might be a candidate.
  • Filename collision: if Teams/People/@<Name>.md exists already (even empty), don't overwrite. Skip and note in the report.
  • Stubs make subsequent /vault-health runs cleaner — the unresolved-links count drops as stubs are created.

© benoror, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/people-stubs of benoror/obsidianos_work.

Open the folder on GitHubat commit 3c7923e

Compare with similar skills

People Stubs 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.

People Stubs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
People Stubs this skillbenoror/obsidianos_work165—~863Automated safety check: PassMIT
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0
Knap Markdown Templateskepano/obsidian-skills49k2 repos~986Automated safety check: PassMIT
JSON Canvasheyitsnoah/claudesidian2.6k18 repos~3.5kAutomated safety check: PassMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0

Similar skills

  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Knap Markdown Templates

    kepano/obsidian-skills

    Renders Markdown notes from Knap templates and JSON data on the command line, including notes built from Defuddle web page output.

    49k GitHub starsUsed in 2 repos~986 tokens
    Documents & OfficeAuto-check passed
  • JSON Canvas

    heyitsnoah/claudesidian

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.

    2.6k GitHub starsUsed in 18 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Obsidian Canvas Creator

    axtonliu/axton-obsidian-visual-skills

    Create Obsidian Canvas files from text content, supporting both MindMap and freeform layouts.

    3.6k GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed

More from benoror/obsidianos_work

All 18 skills in this repo
  • Qmd

    benoror/obsidianos_work

    Search vault notes by keyword or meaning. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~858 tokensUpdated 4 mo ago
    Auto-check passed
  • Cache Notes

    benoror/obsidianos_work

    Fetch & embed AI transcripts as Obsidian callouts. An agent skill from benoror/obsidianos_work.

    165 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • Fill Participants

    benoror/obsidianos_work

    Resolve and fill Participants frontmatter + link unlinked names in body.

    165 GitHub stars~1.6k tokensUpdated 4 mo ago
    Auto-check passed
  • Followup Todos

    benoror/obsidianos_work

    Extract action items as plain markdown bullets (with confirmation).

    165 GitHub stars~1.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Last 1on1

    benoror/obsidianos_work

    Show when you last had a 1:1 with each direct report / peer, sorted by recency.

    165 GitHub stars~732 tokensUpdated 4 mo ago
    Auto-check passed
  • Mail Transcripts

    benoror/obsidianos_work

    Gmail AI transcript notifications → meeting Notes: URLs + mark read.

    165 GitHub stars~1k tokensUpdated 4 mo ago
    Auto-check passed

Works with

Questions about People Stubs

What does People Stubs do?

Batch-create Teams/People/@Name.md stubs from unresolved [[@]] wikilinks across the vault. People Stubs is an agent skill from benoror/obsidianos_work.md stubs from unresolved [[@]] wikilinks across the vault.

How do I install People Stubs in Claude Code?

Run `npx skills add benoror/obsidianos_work --skill people-stubs -a claude-code`. Or copy the skill folder (.agents/skills/people-stubs in benoror/obsidianos_work) into .claude/skills/people-stubs in your project. Claude Code loads it when a task matches its description.

How do I install People Stubs in Codex?

Run `npx skills add benoror/obsidianos_work --skill people-stubs -a codex`. Or copy the skill folder (.agents/skills/people-stubs in benoror/obsidianos_work) into .agents/skills/people-stubs in your project. Codex loads it when a task matches its description.

Can I use People Stubs in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add benoror/obsidianos_work --skill people-stubs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/people-stubs, .gemini/skills/people-stubs, .github/skills/people-stubs and .opencode/skills/people-stubs in your project.

What does People Stubs need to run?

SKILL.md names no scripts, command-line tools or credentials: People Stubs is instructions for the agent only.

Does People Stubs access the network?

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.

Is People Stubs safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does People Stubs use?

People Stubs is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does People Stubs use?

About 863 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to People Stubs?

Skills that share tags, products or a category with People Stubs: Obsidian Bases (Atmosphere/atmosphere, 3.8k stars), Knap Markdown Templates (kepano/obsidian-skills, 49k stars), JSON Canvas (heyitsnoah/claudesidian, 2.6k stars) and Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains People Stubs?

benoror (a GitHub user) maintains it in benoror/obsidianos_work, which has 165 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on June 11, 2026.

Source: benoror/obsidianos_work on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.