Introduction¶
Whether a brand is cited when users ask AI search engines is becoming a channel worth exploiting. The corresponding methodology is called AIEO (practices like GEO/AEO). Actual delivery generally involves four steps: first diagnosing brand visibility across platforms, then positioning and producing content, and finally continuously tracking results.
The problem is that these steps are usually scattered across documents and personal experience, making method reuse between teams rely mostly on human effort. If you are using DeepSeek Harness (DSH), the logical approach is to package the method into a skill bundle, allowing the model to load and execute it as needed. DSH’s philosophy is “everything is a plugin,” making this kind of method-based asset a perfect fit. Below, I introduce dsh-moments-aieo, a skill bundle created along these lines.
What is it¶
dsh-moments-aieo is a DeepSeek Harness skill bundle maintained by Kenerlee, version 0.1.0, under the MIT license. One-sentence positioning: It packages the AIEO (GEO/AEO) delivery method of getting brands cited by AI search into a bundle, with the four stages of diagnosis → positioning → content → monitoring connected by a single question bank.
Four Stages, One Question Bank¶
The question bank is a key artifact that runs through the entire process, with different operations performed on it at each stage:
- Diagnosis performs brand AI visibility diagnosis, produces a report, and drafts the initial question bank;
- Positioning performs positioning analysis based on the AIEO-adapted April Dunford method, iterating on the question bank;
- The content stage consumes the question bank;
- Monitoring periodically tracks visibility, share-of-voice, content quality, and conversion, using the question bank as a benchmark.
Running out of order is allowed, but the resulting question bank will be weaker.
Skills List¶
The bundle comes with 6 skills in total: 5 with the moments-aieo- prefix, plus one landing page cloning tool; the content stage does not have a dedicated skill.
| Skill | Purpose |
|---|---|
moments-aieo-diagnosis |
Brand AI visibility diagnosis, producing a report and drafting the initial question bank |
moments-aieo-positioning |
Positioning analysis based on the AIEO-adapted April Dunford method, iterating the question bank |
moments-aieo-query-miner |
Mining real search terms exclusively from whitelisted platform exports, refusing to fabricate them |
moments-aieo-monitoring |
Periodically tracking visibility, share-of-voice, content quality, and conversion |
moments-aieo-dashboard |
Rendering monitoring reports as interactive HTML dashboards |
moments-landing-page-cloner |
High-fidelity landing page cloning |
A detail: moments-aieo-query-miner only recognizes real search terms from whitelisted platform exports and refuses to fabricate them. For work relying on data source quality like this, this is a practical hard constraint.
Installation and Enabling¶
First, install the plugin. Pull directly from GitHub:
dsh plugin --profile web add github:Kenerlee/dsh-moments-aieo
Or install from a local clone:
dsh plugin --profile web add file:/path/to/clone
The plugin requires the runtime environment’s ctx.skills (inject: ['skills']). After installation, add the package to the bundles list in ~/.dsh/profiles/web/package.json:
{ "dsh": { "profile": { "bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-moments-aieo"
] } } }
This step can usually be skipped: the cordis.patch.yml included with the bundle automatically inserts this line, so there is no need to manually modify the profile.
After installation, you can verify that the configuration takes effect without starting DSH:
dsh --profile web --dump-config | grep -A 4 'id: moments-aieo'
If you are modifying the skills themselves, you can point skillsDir to your own working directory and override it by ID in ~/.dsh/profiles/web/cordis.patch.yml:
- id: moments-aieo
config:
skillsDir: /absolute/path/to/your/skills
The plugin has only two configuration items: skillsDir defaults to the skills/ directory inside the package; providerName defaults to moments-aieo.
Configuring Playwright MCP¶
Both the diagnosis and monitoring skills need to drive real AI search platforms, which relies on Playwright. DSH connects to MCP servers via @deepseek-ai/dsh-mcp-client. Tools are registered in the shape of mcp__<serverName>__<rawName>. The tool names written in the skill body are mcp__playwright__browser_*, so naming the server playwright allows for parsing:
- insert:
- id: mcp-playwright
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: playwright
command: npx
args: ['@playwright/mcp@latest']
Without configuring this, the two skills can still run and produce technical audits and report skeletons, but the part measuring platform visibility is missing.
Mounting Implementation and Model Experience¶
For those who want to write their own skill bundles, the mounting approach of this plugin is worth referencing.
The plugin itself is thin: it mounts the built-in skills/ directory via @deepseek-ai/dsh-skill-filesystem, sets includeDefaultRoots to false, and registers the entire set of skills with a single provider name. The benefit is that it doesn’t conflict with skills of the same name in ~/.dsh/skills or ~/.agents/skills, nor does it rely on scanning the host directory.
The model-side experience is indirect, completed via @deepseek-ai/dsh-tool-skill: the skill name and truncated description enter the model’s skill directory, and the model uses skill(name) to load the corresponding SKILL.md and its resources; path, provider ranking, and mounting configuration are invisible to the model. The cost of KV Cache also only falls on the directory: registration adds 8 lines to the directory summary once, and the skill body only enters history when the model actively loads it.
Use Cases and Notes¶
Who is it for? Teams or individuals doing AIEO/GEO delivery who want diagnosis, positioning, and monitoring steps to be reproducible and executable within DSH. Note that this is a Chinese-first skill bundle: all AIEO skill bodies are in Chinese, and the scoring criteria assume Chinese AI search platforms. If the target platform is not Chinese, you need to evaluate and adapt it yourself.
Before installation, there are a few things to do:
- The plugin runs with the permissions of the current DSH process. Diagnosis and monitoring also access real platforms via Playwright-driven browsers, so read the source code first to confirm the behavior meets expectations;
- Low audit cost: No build steps, and the plugin itself is just a pure .mjs file of about twenty lines;
- Confirm that the license (MIT) aligns with your usage method.
Known Limitations:
- The
allowed-toolskey in frontmatter does not take effect under DSH: the parser only readsname,description,whenToUse,metadata, and two invocation flags; it does not error or restrict, and this key is reserved only for Claude Code compatibility. Tool names in the skill body have been changed to DSH spelling (read,glob,web_fetch). - In Web mode, host-level providers are disabled (dsh-web-app sets
skill-filesystem: disabled). This bundle is registered globally, so preset agents can still see it by reading the merged directory; however, deployments that isolate presets from global registration will not see this set of skills. - The complete set of client instances for the diagnosis skill is not distributed in the repository.
Conclusion¶
dsh-moments-aieo turns the AIEO delivery method of “diagnosis → positioning → content → monitoring” into a DSH bundle connected by a question bank: diagnosis drafting, positioning correction, content consumption, and monitoring benchmarking. Teams working on AI search visibility can treat it as a ready-to-use starting point that can be installed directly, and connect their own skill directory via skillsDir. After running the diagnosis, you can also submit scores and industry (without brand names) in the repository’s GitHub Discussions, and the aggregated data will flow back to the repository.
- GitHub: https://github.com/Kenerlee/dsh-moments-aieo
- Community Directory Page (standalone site): https://www.skillhub.cn/plugins/Kenerlee/dsh-moments-aieo