Skip to main content

DeepSeek Harness SEO Skills: Load SKILL.md from a Scanned Root

Human-Edited & Verified • Deterministic AI-assisted research. Editorial standards.

Engineer filing deepseek harness seo skills into a local .dsh/skills folder beside a running terminal AI Edited
AI-generated skill-folder desk. Raw provenance file.

Last updated: 13 October 2026

TLDR

  • Put SKILL.md one directory under .dsh/skills or .agents/skills. A plugin install does not register that file.
  • Rank 100 (project-dsh) beats rank 200 (project-agents) inside one layer. The nearest .git ancestor is the project root.
  • The model catalog stores name and description only. The default description cap is 500 characters. The body loads later through skill({ name }).
  • API recipes on this site stay at /deepseek. Harness is a separate local runtime.

DeepSeek harness SEO skills load when a kebab-case SKILL.md sits in a folder the harness already scans.

What a harness skill file is

A harness skill is an instruction file. The skills reference names the local provider and the model-facing skill tool. The registry key is ctx.skills.

The audit skill in this pack already sets name: seo-audit. That string is a kebab-case skill name. Its description begins "Parallel multi-agent full site audit." The catalog shows that sentence. It hides the procedure until the model calls the skill by that exact name.

Google still ranks the HTML you publish after the run (helpful content). A session transcript is not the landing page.

Where dsh reads skill folders

Two engineers comparing a project skill folder with a home skill folder on a laptop AI Edited
AI-generated folder comparison. Raw provenance file.

The skills reference scans six roots, lowest rank first:

Rank Source Root
100 project-dsh <project>/.dsh/skills
200 project-agents <project>/.agents/skills
300 custom customSkillDirs
400 user-dsh ~/.dsh/skills or $DSH_HOME/skills
500 user-agents ~/.agents/skills or $DSH_AGENTS_HOME/skills
600 bundled bundledSkillDir, only when configured

The nearest git root is the project root. With no .git directory, the current working directory is the root. Start the process inside a package of a monorepo and the scanned tree can be that package, not the checkout you edited.

Discovery is one level deep. <root>/seo-audit/SKILL.md matches. <root>/pack/seo-audit/SKILL.md does not. A flat <root>/seo-audit.md is the other accepted shape.

Inside one layer, the lower rank wins a duplicate name. A nearer scope wins before rank is applied. The Antigravity catalog keeps IDE skills in .agents/skills. Harness reads that path at rank 200, after .dsh/skills.

The reference watches direct add, remove, and entry edits. A changed catalog digest appends a replacement <available_skills> block. An incomplete snapshot keeps the last complete view. A body-only edit changes the next tool read without a new catalog message.

Copy seo-audit into the project root

Developer copying one audit skill folder from a catalog shelf onto a project directory AI Edited
AI-generated copy step. Raw provenance file.

The schema skill uses the same file shape when JSON-LD steps should sit beside the audit.

  1. Install Node.js. The harness README says to run npx @deepseek-ai/dsh web. The Web UI listens on http://127.0.0.1:3080 for a local launch. The same README marks the project as developer preview and warns that compatibility-breaking changes will land.
  2. Open a terminal in the repository you want audited. Run git rev-parse --show-toplevel and use that directory.
  3. Create .dsh/skills/seo-audit/.
  4. Copy SKILL.md from this pack into that folder. Keep name: seo-audit. Keep the description at or under 500 characters. catalogDescriptionMaxLength defaults to 500 and rejects values under 3.
  5. Launch the Web UI from that git root. Ask for a technical audit of a URL you control. The description is the router. The body loads when the name matches.

The npm page for @deepseek-ai/dsh showed version 0.2.0-rc.2 on 13 October 2026. dsh plugin --profile <name> manages profile plugins. It does not place a markdown skill in .dsh/skills.

Skills, plugins, and the API catalog

Three layers get mixed in listicles. Split them before you install anything.

Layer What it is How it lands
Skill SKILL.md instructions copy the folder
Plugin Cordis code bundle dsh plugin
API OpenAI-compatible chat https://api.deepseek.com

The README calls the architecture "everything is a plugin" and still ships skill discovery as files on disk. The plugin command installs code. A skill file on disk teaches the procedure.

The API quickstart names models deepseek-flash and deepseek-v4-pro, and it points harness at a separate developer-preview guide. API recipes on this site stay on the DeepSeek API catalog. JSON-RPC adapters stay on the extensions hub. A server that returns SERP rows is not a skill file.

FAQ

Where do I put a skill file on disk?

The practical line is where do I put the skill file on disk: under .dsh/skills/<name>/ in the git root, or under ~/.dsh/skills/<name>/ for every project. .agents/skills is rank 200 in a project and rank 500 in the user home.

Does the plugin command install a markdown skill?

No. dsh plugin manages Cordis packages for a profile. Markdown skills are a copy into a scanned root.

Which model string belongs on the API catalog?

The API quickstart names deepseek-flash and deepseek-v4-pro. Harness model choice is a profile setting. This page does not replace the API hub.

What happens when two folders share one name?

The nearer scope wins. Inside one layer, the lower rank wins. A second seo-audit in ~/.dsh/skills loses to <project>/.dsh/skills/seo-audit.

Will a nested skill folder load?

No. Nested **/SKILL.md discovery is unsupported. Keep one directory between the skill root and SKILL.md.

Ship the HTML the skill drafts

Publish the page. The harness can draft the file. Google fetches HTML. More guides like this appear when you search 'SEO Skills AI DeepSeek Harness' on Google.

Sources

Make SEO Skills AI a Preferred Source

Keep SEO skill docs highlighted in Google Search and AI Overviews.

Add on Google
Preferred Source added