dsh-skills-anywhereCAUTION
Check Agent Skills before reuse: find missing local resources in browser or CI, review pinned examples, and serve skills through DeepSeek Harness or MCP.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Product direction and acceptance milestones: Roadmap.
Discover and load skills across your tools. Collect Agent Skills from local directories and configured Git sources into one catalog, available through a live DeepSeek Harness (dsh) provider or a local stdio MCP server.
English | 中文
[](https://github.com/noteflowai/dsh-skills-anywhere/actions/workflows/ci.yml) [](https://www.npmjs.com/package/dsh-skills-anywhere) [](https://github.com/topics/dsh-plugin) [](https://scorecard.dev/viewer/?uri=github.com/noteflowai/dsh-skills-anywhere) [](https://glama.ai/mcp/servers/noteflowai/dsh-skills-anywhere) [](LICENSE)
Check a skill before moving it
Find missing supporting files in the installed folder, then review bundle changes before loading it through MCP. Browser folder check · Three pinned public examples.
npx [email protected] check path/to/SKILL.md --resources --json
Add --fail-on-resource-issues to gate CI. This checks local Markdown link targets; it does not inspect prose dependencies or execute the skill. Scope and tutorial.
First review, no clone required — Find one missing skill reference, restore it, and verify the CI gate.
a8752d47b046OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add dsh-skills-anywhere -- npx -y [email protected] mcp
Exposed tools (9)
9 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
author-off | read | d |
budget-hidden | read | d |
enabled | read | d |
find_skills | read | |
hidden-and-author-off | read | d |
incident-summary | read | Describe observed facts. |
list_skills | read | |
narrow | read | |
open_skill | read |
Trust audit
CAUTIONgrade B · trust 84/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (6 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (18)
`http://127.0.0.1:8765/audit`, with `Content-Type: application/json`.
const origin = `http://127.0.0.1:${server.address().port}`const FRONTMATTER_OPEN = /^?---[ \t]*\r?\n/
.oxlintrc.json
hashlib.sha1(b"blob " + str(len(data)).encode() + b"\0" + data, usedforsecurity=False).hexdigest())
contentHash: createHash('sha1').update(parsed.skill.content).digest('hex'),return createHash('sha1').update(input).digest('hex').slice(0, 12)import { createSkillsAnywhereServer, findModelSkills, modelSkills, openSkill, runStdio } from '../../lib/mcp.js'expect(() => resolveSource({ repo: 'o/r', path: '../../etc' }, CACHE)).toThrow(/escapes/)for (const hostile of ['github:../..', 'https://github.com/../..', 'https://x/../../../..', 'git@h:../../..', 'o/./r', 'o\\r/x']) {const response = await route.fetch(new Request(`http://127.0.0.1${path}`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify(body) }))const split = splitFrontmatter('---\r\nname: x\r\n---\r\nbody\r\n')anthropic, mcp
chokidar, mdast-util-from-markdown, yaml, zod, @deepseek-ai/cordis, @deepseek-ai/schemastery, @types/mdast, @types/node
the native server must report exactly one session and return its original
The server reflects or weakly matches `Origin` while allowing credentials and returns sensitive responses. A bare wildcard with credentials is rejected by browsers; report only the actual reflected/al
<p>Use the <a href="https://github.com/noteflowai/dsh-skills-anywhere/tree/main/examples/funes-handoff">Funes MCP source example</a> to expose one reviewed public session. The separate <a href="https:
- Are CORS headers set to `*` or overly permissive? Is `Access-Control-Allow-Credentials` combined with a wildcard origin?
Gates applied: no_behavioural_pass.
a8752d47b046full audit observations/trust-audit/mcp-server/noteflowai__dsh-skills-anywhere.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | a8752d47b046 | CAUTION | B | 84 | first audit |
Questions
What is the dsh-skills-anywhere MCP server?
Check Agent Skills before reuse: find missing local resources in browser or CI, review pinned examples, and serve skills through DeepSeek Harness or MCP.
What tools does dsh-skills-anywhere expose?
9 in total: 9 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is dsh-skills-anywhere safe to connect to an agent?
With care. The audit graded it B (84/100) and found 18 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does dsh-skills-anywhere need?
No credential environment variables were found in its source, so it appears to need none.
How does dsh-skills-anywhere run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as dsh-skills-anywhere at 0.19.0.
How current is this page?
The grade is for one exact copy of the source (a8752d47b046), read on 2026-10-10. The repository is watched and re-audited when it changes.