Docsagent
docsagent/docsagent
Search and manage private, local document collections (PDF, PPTX, DOCX) offline.
Decision-grade entity research skill — produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile.
$ npx skills add alirezarezvani/claude-skills --skill dossier -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alirezarezvani/claude-skills dossier --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/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/research/dossier/skills/dossier .claude/skills/dossier && 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 "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .claude/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossierType 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 alirezarezvani/claude-skills --skill dossier -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alirezarezvani/claude-skills dossier --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/research/dossier/skills/dossier .agents/skills/dossier && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .agents/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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 alirezarezvani/claude-skills --skill dossier -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alirezarezvani/claude-skills dossier --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/research/dossier/skills/dossier .cursor/skills/dossier && 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 "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .cursor/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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/alirezarezvani/claude-skills.git --path research/dossier/skills/dossier--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 alirezarezvani/claude-skills --skill dossier -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alirezarezvani/claude-skills dossier --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/research/dossier/skills/dossier .gemini/skills/dossier && 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 "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .gemini/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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 alirezarezvani/claude-skills dossierInstalls 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 alirezarezvani/claude-skills --skill dossier -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/research/dossier/skills/dossier .github/skills/dossier && 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 "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .github/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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 alirezarezvani/claude-skills --skill dossier -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alirezarezvani/claude-skills dossier --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/research/dossier/skills/dossier .opencode/skills/dossier && 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 "dossier" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/research/dossier/skills/dossier into .opencode/skills/dossier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dossier", 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.
dossierDecision-grade entity research skill — produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile.
Dossier is an agent skill from alirezarezvani/claude-skills. Decision-grade entity research skill — produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile. Forcing intake makes the user state their hypothesis upfront (what they already believe and want to verify or disprove) so the dossier tests it rather than confirms it. Output is an editable Word document (.docx) with verdict on the hypothesis, identity facts, 12-month activity timeline, network and reputation signals, red flags, conversation hooks tied to…
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `references/conversation_hook_quality.md`, `references/hypothesis_testing_discipline.md` and `references/subject_type_source_matrix.md`).
It sits in Documents & Office, covering Word documents, MCP servers and Sales call preparation. It works with Microsoft Word, GitHub and SEC EDGAR. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.
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.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From 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.
Dossier loads about 4.2k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 239 tokens; SKILL.md has 1,920 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 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); the scripts in this folder are not scanned.
The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,920 words, ~4,187 tokens.
.claude/skills/dossier/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Portability: Requires
WebSearch+WebFetch, Node.js withdocxpackage, and optionallybash_tool+curlfor free APIs (SEC EDGAR, GitHub, ProPublica). BYOK MCPs (LinkedIn, Crunchbase, Apollo, Pitchbook, SimilarWeb) are optional enhancements. Works in Claude Code CLI natively.
This skill is decision-grade entity research with hypothesis-testing. It refuses to be "tell me about Microsoft". Every invocation forces the user to expose their hypothesis upfront (Q4) so the dossier tests it rather than confirms it.
The use case shape:
"I'm pitching Microsoft Tuesday. My hypothesis is they're consolidating AI spend on their first-party Foundry platform. Validate or disprove, and give me three conversation hooks tied to what you find."
NOT:
"Tell me about Microsoft."
The forcing Q4 — the hypothesis question — is the non-generic anchor. Skip it and the skill produces a Wikipedia summary.
See references/hypothesis_testing_discipline.md for the canon.
Locked verbatim per PR #657 audit.
[Background — verify before quoting] and excluded from primary findings count.Who is the subject? Give me the exact name and, if a company, the website or LinkedIn URL. If a person, their LinkedIn URL or a unique identifier (company affiliation + role).
Why I'm asking: Disambiguation. There are 47 John Smiths. There are three companies called "Atlas". I need a specific entity to research.
If user gives only a name, push for a second identifier. Refuse to proceed on ambiguous names.
What kind of subject is this? Pick one: person / company / nonprofit / government org / other.
Why I'm asking: Different source matrices apply. For people I check LinkedIn, GitHub, Scholar, news; for companies I check SEC EDGAR (if public), Crunchbase, news, GitHub for tech orgs; for nonprofits I check Form 990s on ProPublica.
Forcing choice. "Other" requires a one-line description.
What are you preparing for? Pick one:
- Sales meeting / partnership pitch
- Investment diligence
- Acquisition diligence
- Journalism / due diligence
- Job interview prep
- Competitive intelligence
- Personal vetting (date, hire, business partner)
- Other (specify)
Why I'm asking: The purpose dictates the angle, the depth, and the red-flag sensitivity. Sales prep needs conversation hooks. Investment diligence needs traction signals. Personal vetting needs careful sensitivity boundaries.
What's your hypothesis going in? What do you already believe about this subject, and what do you want to verify or disprove?
Why I'm asking: This is the critical question. A dossier that just confirms what you already think is worthless. By stating your hypothesis upfront, I can search for evidence that would disprove it as well as evidence that supports it — and give you a verdict you can actually use.
Examples:
- "I believe Microsoft is consolidating AI spend on first-party Foundry. Verify or disprove."
- "I think the CEO is over their head — too much TAM talk, no traction. Test that."
- "I believe this nonprofit's overhead ratio is sketchy. Check the 990s."
- "I think this person is technical enough to handle a CTO role. Verify."
MANDATORY. If user says "I don't have one", push back once: "Then guess. Commit to a position you can update later. The dossier needs a hypothesis to test, otherwise it's a generic profile and won't help you make a decision."
If still refused: fall back to implicit hypothesis "what's the most surprising thing I could find?" and flag the fallback in audit log.
This question is the non-generic anchor. Skip it and the skill becomes a Wikipedia summary.
Time horizon: 5-minute brief or 15-minute decision-grade dossier?
Why I'm asking: Brief mode caps at ~10 searches and skips the network + reputation passes. Decision-grade goes deeper on every section. Pick based on how much skin you have in this decision.
Forcing choice.
Anything sensitive to exclude? E.g., personal medical, family details, political history, or specific topics off-limits?
Why I'm asking: Some research contexts have ethical constraints. I'd rather know upfront than surface something you'd never share.
Skip for sales/investment/acquisition/competitive intel (low sensitivity); ask for journalism/personal vetting (high sensitivity).
Stop condition: After Q6 (or earlier with dependency skips), commit and start Phase 2. Never re-open intake after Phase 2 begins.
Before Phase 3, resolve the subject to a specific entity:
If still ambiguous after Q1 push-back: halt and re-ask Q1 with disambiguating identifiers. Refuse to proceed.
Routed by Q2 subject type. See references/subject_type_source_matrix.md for the full canon.
If a paid MCP is connected (Apollo, Pitchbook, SimilarWeb), use it but mark findings as BYOK-sourced in the audit log.
Every Phase 4 search MUST be classified as either:
≥30% of search budget allocated to disconfirming queries. Enforced via scripts/disconfirming_evidence_balance.py.
Example for hypothesis "Microsoft is consolidating AI spend on Foundry":
This is what makes the dossier decision-grade rather than confirmation-biased.
For each search:
citation_tracker.py with classification (supporting / disconfirming)source_tier_classifier.py to each result URLDefault 12-month window for activity timeline; deeper for foundational identity.
Categories:
Reverse chronological. Each entry hyperlinked + tiered.
5-10 entries, ranked by relevance to hypothesis.
Surface but don't sensationalize:
Each flag tiered. Tier shows up next to every flag in the DOCX.
3-5 specific hooks tied to actual findings, not generic talking points.
See references/conversation_hook_quality.md for the canon.
| ❌ Generic | ✅ Finding-tied |
|---|---|
| "Ask about their roadmap" | "Mention their recent acquisition of [X] — it signals they're investing in vertical Y. Suggested framing: 'Saw the [X] announcement — how does that change your roadmap on Y?'" |
| "Ask about hiring" | "Their VP Engineering left 3 weeks ago (LinkedIn). Suggested framing: 'I noticed [name] moved on — what's the eng leadership plan?'" |
| "Talk about their values" | "They updated their pricing page last week (their official site). Suggested framing: 'Saw the pricing refresh — what drove that?'" |
Each hook:
Via Node.js + docx library.
Arial 12pt body, navy headings (#1a3a5c), light blue table headers (#e8f0f8), red red-flag callout, green conversation-hook callout.
new ExternalHyperlink({
link: "https://...",
children: [new TextRun({ text: title, style: "Hyperlink" })],
});<output-dir>/dossier_<entity-slug>_<YYYY-MM-DD>.docxpython3 -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1]).testzip()" <docx> (no output = intact), then confirm the required sections are present| Script | Role |
|---|---|
scripts/citation_tracker.py | Three-count audit + supporting/disconfirming classification + source-tier tagging at ~/.dossier_sessions/<session>.json |
scripts/disconfirming_evidence_balance.py | Verifies ≥30% of search budget allocated to disconfirming queries; warns if biased |
scripts/source_tier_classifier.py | URL → primary / secondary / tertiary classification via domain heuristics |
references/hypothesis_testing_discipline.md — ≥30% rule + decision-grade vs encyclopedic (7+ sources)references/subject_type_source_matrix.md — person/company/nonprofit/gov source matrices (7+ sources)references/conversation_hook_quality.md — finding-tied hook discipline (7+ sources)| Failure | Behavior |
|---|---|
| Subject name ambiguous | Refuse to proceed. Re-ask Q1 with disambiguating identifier. |
| User refuses to state hypothesis | Push back once. If still refused, fall back to "what's the most surprising thing I could find?" implicit hypothesis. Flag in audit. |
| Subject has zero public footprint | Surface explicitly. Suggest different name or early-stage. Don't fabricate. |
| LinkedIn scrape blocked | Note in audit; fall back to WebSearch; suggest user verify manually. |
| SEC EDGAR fails | Retry once. If still failing, note "public filings not retrieved" and continue. |
| Sentiment data sparse | Mark reputation section as "limited public signal"; don't infer from training. |
| Sensitive topic surfaces (Q6 exclusion) | Exclude from DOCX. Note in chat (not in DOCX) so user knows the exclusion was honored. |
| 3 consecutive tool failures | Stop, alert user, share collected so far. |
| DOCX generation fails | Save raw data as JSON fallback. |
Version: 1.0.0
Source spec: megaprompts/12-dossier-megaprompt.md (maintainer-local draft spec — gitignored, not present in the public repository)
Build pattern: Path B (direct conversion). Research-pack sibling, hypothesis-testing variant.
© alirezarezvani, 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 6 other files (scripts, references) in research/dossier/skills/dossier of alirezarezvani/claude-skills.
Open the folder on GitHubat commit 19392f7
Dossier 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 |
|---|---|---|---|---|---|---|
| Dossier this skillalirezarezvani/claude-skills | 28k | — | ~4.2k | Automated safety check: Pass | MIT | |
| Docsagentdocsagent/docsagent | 625 | — | ~834 | Automated safety check: Pass | None | |
| Markitshift-labs-ai/markit | 1.3k | — | ~299 | Automated safety check: Pass | MIT | |
| Officeclimateaix/mateclaw | 1.1k | — | ~844 | Automated safety check: Pass | Apache-2.0 | |
| Government WritingPinvou/pinvou-agent | 2.4k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Learniurykrieger/claude-bedrock | 105 | — | ~6.5k | Automated safety check: Notes | MIT |
docsagent/docsagent
Search and manage private, local document collections (PDF, PPTX, DOCX) offline.
shift-labs-ai/markit
Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.
mateaix/mateclaw
Use the optional iOfficeAI/OfficeCLI engine for advanced inspection, validation, copy-on-write editing, template merge, or visual rendering of existing .docx, .xlsx, and .pptx files.
Pinvou/pinvou-agent
撰写规范的党政机关公文。当用户要"写/起草/拟一份 通知 / 意见 / 公文"时使用。当前内置文种:通知、意见,印发型主件支持办法/规定(法规体例;请示/报告/函可扩展,在 templates/ 增模板)。按《党政机关公文格式》GB/T 9704-2012 套发文字号、主送机关、层级序号、落款与固定话术,结构化内容经 gongwen MCP 渲染为合规 .docx。
iurykrieger/claude-bedrock
Ingests an external data source into the Second Brain. An agent skill from iurykrieger/claude-bedrock.
FerroxLabs/wayland
A skill your agent uses to create fillable Word forms (.docx) with real Content Controls (SDT) + legacy FormField checkboxes + MERGEFIELD mail-merge placeholders + document protection.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
alirezarezvani/claude-skills
OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.
alirezarezvani/claude-skills
Design AWS architectures for startups using serverless patterns and IaC templates.
alirezarezvani/claude-skills
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
Works with
Categories
Decision-grade entity research skill — produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile. Dossier is an agent skill from alirezarezvani/claude-skills. Decision-grade entity research skill — produces a hypothesis-tested dossier on a specific company, person, nonprofit, or government org, not a generic profile.
Dossier fits situations like: the user asks for background research; meeting prep on a specific entity (e.g; prep me for a meeting with [person/company]; due diligence on [company]).
Run `npx skills add alirezarezvani/claude-skills --skill dossier -a claude-code`. Or copy the skill folder (research/dossier/skills/dossier in alirezarezvani/claude-skills) into .claude/skills/dossier in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alirezarezvani/claude-skills --skill dossier -a codex`. Or copy the skill folder (research/dossier/skills/dossier in alirezarezvani/claude-skills) into .agents/skills/dossier 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 alirezarezvani/claude-skills --skill dossier -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dossier, .gemini/skills/dossier, .github/skills/dossier and .opencode/skills/dossier in your project.
Going by SKILL.md and its folder, Dossier needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3; Node.js.
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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Dossier is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Dossier: Docsagent (docsagent/docsagent, 625 stars), Markit (shift-labs-ai/markit, 1.3k stars), Officecli (mateaix/mateclaw, 1.1k stars) and Government Writing (Pinvou/pinvou-agent, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,829 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.
Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.