Daodan
[!NOTE]
TL;DR
Daodan gives coding agents a reusable understanding of your project and a task
cycle for making verified changes. A local Codebase Map records the code;
relevant skills supply context for analysis, development and research. Tasks keep
decisions, changes, tests and documentation connected. Specialist plugins extend
the same marketplace to Office, languages, frameworks, marketing and other domains.
| Plugins | Skills | Workflows | Agents |
|---|
| 48 | 95 | 65 | 141 |
What sets Daodan apart
| Capability | What it gives your agent |
|---|
| A reusable local map | Files, symbols, interfaces, effects, connections and persistent semantic cards, with freshness tied to the code. |
| Context selected for the task | The Skill Catalog uses evidence of the stack and scope to choose relevant knowledge, with content fingerprints and delivery accounting. |
| Work that resumes | Task records, decisions and an agenda in the main checkout, so another session can continue the same work. |
| Explicit verification gates | Review and checks accompany changes; a missing worker delivery or required check keeps the task open. |
| One source, five hosts | Shared plugin content for Claude Code, GitHub Copilot, Codex, Pi and OpenCode V2, with host-specific bindings. |
The map supplies static evidence and leads. Each specialist verifies material
claims against source; runtime behavior needs the project's tests or user-supplied
evidence. See what is verified for the limits.
Install
Choose your host. The daodan entry plugin provides the main commands and brings
its required local providers. Domain plugins can also be installed independently;
each plugin keeps its own dependency requirements.
claude plugin marketplace add acaprino/daodan
claude plugin install daodan@daodan
codex plugin marketplace add acaprino/daodan
codex plugin add daodan@daodan
copilot plugin marketplace add acaprino/daodan
copilot plugin install daodan@daodan
Pi installs the tagged repository as one package:
pi install git:github.com/acaprino/daodan@v<metadata.version>
Select components through package globs in Pi settings. Isolated workers use
pi-subagents; MCP uses pi-mcp-adapter, as declared by the adapter.
OpenCode V2 installs the generated package through npm's repository-path selector:
opencode plugin add 'github:acaprino/daodan#v<metadata.version>::path:exports/opencode'
OpenCode Desktop uses its bundled V2 service. Loader options select plugins and
close mandatory local dependencies; exclusions cannot remove a required dependency.
For Pi and OpenCode, replace <metadata.version> with an existing released tag.
Required external providers must also be available on your host. A command stops
when a required provider is missing or disabled. Installing office does not
install its separate DeckCraft, WordCraft or GridCraft runtimes; the first
operation that needs one asks once, then installs the pinned official release
into ~/.daodan/engines.
Host setup and requirements ·
Distribution and migration
The project-delivery plugin owns its task cycle and declares no upstream development method:
its interview, plan and execution are shaped by the Codebase Map, the decision
records under docs/adr/ when the project keeps them, and the protocol's wave rules. Testing uses
mattpocock-skills@mattpocock and developer-essentials@claude-code-workflows.
The dependency catalog records the exact declarations.
No upstream method is copied into a second local implementation.
The complete plugin catalog records direct and transitive
requirements. The harness migration
explains the lifecycle and ownership boundaries.
Work task by task
/daodan:init-project once per project
/daodan:brainstorm-idea <idea> when the idea is not clear yet
/daodan:investigate-problem <error> when the cause is not known
/daodan:new-feature <what> or fix-bug, refactor-code
a light review before every commit
/daodan:finish-task branch review, merge, realignment
flowchart LR
classDef foundation fill:#f0f4f8,stroke:#2b4c7e,stroke-width:1px,color:#1a202c
classDef delivery fill:#eefaf6,stroke:#2d7a5b,stroke-width:1px,color:#1a202c
classDef review fill:#fff7ed,stroke:#c2410c,stroke-width:1px,color:#1a202c
classDef terminal fill:#1e293b,stroke:#0f172a,stroke-width:1px,color:#ffffff
Map["1. Codebase Map"]:::foundation --> RDD["2. Specs & Decisions (RDD / ADR)"]:::delivery
RDD --> WCC["3. Worktree & Task Records (WCC)"]:::delivery
WCC --> TDD["4. Task Waves (TDD)"]:::delivery
TDD --> Review{"5. Senior Review"}:::review
Review --> Done(["6. Merge & Realignment"]):::terminal
Review -. Defect .-> TDD
Start with initialization, choose the command for the work, and finish with
review and realignment. Use the host-specific entry names below.
A work command asks whether to work in a worktree, a branch or in place, then
interviews you with real examples from your code, one question at a time, until
scope, examples, rejected alternatives and invariants are fixed. It reuses or
writes a project specification in docs/specs/ and obtains approval of its exact
text before planning. When the project keeps decision records, every decision
the interview settles also becomes a Proposed record in docs/adr/ that cites
the specification without duplicating it; the run links the specification and
its approval.
Then it plans waves of micro-tasks of at most
four files, has the stack's specialist write each one test first, and commits each
with a line naming the task and wave. It stops only for your answers, the plan
approval and the merge authorization. How many reviewers each review gets is
computed by a script from the diff and the map, never chosen by the model. The
cycle is described phase by phase in
project-delivery.
Run records live in .daodan/runs/<id>/ of the main checkout, with an agenda of
open tasks beside them. A task belongs to its branch and resumes from any session;
the agenda row is also the lock that stops two sessions working on one task. A
missing worker or an unexecuted check stays visible.
Preview is the default wherever something would change. Edits, commits, a merge,
a push and a permanent deletion are separate authorizations, each asked at the
step that needs it. Quarantine moves preserve data and do not count as deletion.
One command per intention
The core harness commands live in the daodan plugin and take no parameters: the only
argument is what you want, in your words, or a path, commit, branch or pull
request. Authorizations are asked when a step needs them, once. Each command
works alone and is also a step of the task cycle. Domain verticals keep their own
namespaces (/office:* is folded into daodan because its entries are general).
Claude Code's / menu also lists every installed skill, so a rulebook such as
testing:test-hygiene shows up there beside the commands. Such an entry loads
knowledge into the conversation and starts no workflow. The commands are the /daodan:* entries below and the domain
verticals' own workflows: to clean up a test suite, use /daodan:maintain-tests.
When unsure which work command fits, use new-feature: the interview corrects
the course. On the other hosts the names follow the host: /daodan-new-feature
on Pi, the new-feature-workflow skill on Codex, the new-feature prompt on
Copilot; OpenCode V2 uses the Claude Code form.
Project
| Command | Use it for |
|---|
/daodan:init-project | Bring a project into the cycle: map, decision index, verified commands, test baseline. Scaffolds an empty folder |
/daodan:onboard-project | Understand a project you take over; changes nothing |
/daodan:check-health | Diagnose debt in structure, tests, docs, workspace and each stack, with a plan |
/daodan:run-maintenance | The guided Senior Maintainer campaign, stage by stage |
Thinking
| Command | Use it for |
|---|
/daodan:brainstorm-idea | Explore an idea against your code before building it |
/daodan:investigate-problem | Find the cause of an error or a strange behavior, with a reproduction test, without fixing it |
/daodan:get-second-opinion | Have another model challenge a file, or several deliberate a question |
Working
| Command | Use it for |
|---|
/daodan:new-feature | New behavior through the task cycle |
/daodan:fix-bug | A defect, reproduction test first |
/daodan:refactor-code | Restructure with behavior unchanged, readability included |
/daodan:continue-task | Resume the branch's task from any session; your text answers pending questions |
/daodan:show-status | Open tasks, who holds them, pending questions, map and records |
/daodan:worktrees | List task workspaces, manage descriptions and tags, and create or resume a workspace |
/daodan:finish-task | Branch review, merge with your authorization, record verified when there is one, knowledge realigned |
/daodan:sync-upstream | Bring in others' commits: fetch, report, fast-forward only, realign |
Review and tools
| Command | Use it for |
|---|
/daodan:review-changes | Light review of your changes, a commit, a file or a document |
/daodan:review-branch | Complete review of a branch or a pull request |
/daodan:write-tests | Tests for the code you name |
/daodan:maintain-tests | Audit, clean up, reorganize or consolidate an existing test suite with verified protection. Removals are proposed per test, and an unanswered one stays |
/daodan:map-code | Deepen the Codebase Map on an area, or map the project |
/daodan:write-docs | Realign the docs, or write a guide, the README or the instructions |
/daodan:humanize-text | Make a text or file read naturally without inventing content |
/daodan:record-decision | A decision record outside a task; turns records on for a project without them |
/daodan:tidy-repo | Junk files, dead code and redundant tests in one pass, the tests through the same method as maintain-tests: preview, then one authorization |
Office
| Command | Use it for |
|---|
/daodan:start | Route files, notes or a mixed Office request to the right methods |
/daodan:presentation | Create, revise or review an editable PowerPoint deck |
/daodan:document | Create, revise or review an editable Word document |
/daodan:workbook | Create, edit or analyze an Excel workbook |
/daodan:verify | Inspect a Word, PowerPoint or Excel file for integrity defects |
/daodan:fix | Repair Office integrity defects in a separate candidate |
/daodan:theme | Create or inherit reusable PowerPoint and Word themes and templates |
Office keeps its methods, helpers and specialist roles in office; all seven
entries live in daodan. Its shared intake routes the requested operation, its
design method connects editable Word documents and PowerPoint decks, and its
format methods preserve supplied files and verify saved candidates. Native
construction and rendering use separately available DeckCraft, WordCraft and
GridCraft runtimes; installing the plugin does not install those engines, the
first operation that needs one asks once and installs it. See
Office for the format and runtime contracts.
Plugin, skill and command catalog
All 48 local plugins, 95 registered skills, 65 commands/workflows and
141 agents/roles, grouped below. Open a category, then a plugin to see its
complete component list and source links.
Skills supply methods and knowledge; agents are dispatched roles. Names are
canonical kernel IDs. Commands use /plugin:workflow; other hosts map the same
entries through their adapters. Composed roles link to their manifest declaration.
Registration describes available content, not proof of installed-host execution.
See the dependency catalog and host reference.
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | None |
| Commands / workflows | /daodan:init-project, /daodan:onboard-project, /daodan:check-health, /daodan:run-maintenance, /daodan:brainstorm-idea, /daodan:investigate-problem, /daodan:get-second-opinion, /daodan:new-feature, /daodan:fix-bug, /daodan:refactor-code, /daodan:continue-task, /daodan:show-status, /daodan:worktrees, /daodan:finish-task, , , , , , , , , , , , , , , , , |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | project-knowledge, instructions-method, readme-craft |
| Commands / workflows | None |
| Agents / roles | codebase-explorer, doc-humanizer, documentation-engineer, documentation-organizer, flow-writer, guide-reviewer, instructions-auditor, onboarding-writer, ops-writer, overview-writer, |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | worktree-method |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | skill-catalog |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | model-routing |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | defect-taxonomy, review-quality-gates, review-method, review-preparation, review-consolidation, application-cleanup-method, investigation-method |
| Commands / workflows | None |
| Agents / roles | accessibility-auditor, api-contract-auditor, chicken-egg-detector, cleanup-auditor, code-auditor, data-integrity-auditor, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | test-hygiene, test-preparation, test-remediation-method |
| Commands / workflows | None |
| Agents / roles | test-suite-auditor, test-writer, test-suite-structure-auditor, test-oracle-auditor, test-reliability-auditor, journey-protection-auditor, contract-test-auditor, capacity-test-auditor, ai-evaluation-auditor |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | dependency-audit |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | async-python-patterns, pydantic-v2, python-comments, python-dead-code, python-packaging, python-performance-optimization, python-refactor-method, pytest-patterns, uv-package-manager, python-audit-method, python-scaffold-method |
| Commands / workflows | None |
| Agents / roles | python-engineer, , |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | kotlin-specialist |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | None |
| Commands / workflows | None |
| Agents / roles | or-tools-expert |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | brand-naming-method, domain-hunter, ga4-implementation, review-reply-method |
| Commands / workflows | /digital-marketing:brand-naming, /digital-marketing:content-strategy, /digital-marketing:ga4-audit, /digital-marketing:llm-seo-audit, /digital-marketing:reply-to-customer-review, /digital-marketing:seo-audit |
| Agents / roles | content-marketer, ga4-implementation-expert, , |
Plugin guide · Manifest
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | intake, content, design, pptx, deckcraft, wordcraft, gridcraft, xlsx, docx, integrity |
| Commands / workflows | None |
| Agents / roles | content-strategist, presentation-designer, presentation-reviewer, document-designer, |
Plugin guide · Manifest
Plugin guide · Manifest
| Components | Registered names |
|---|
| Skills | report-renderer |
| Commands / workflows | None |
| Agents / roles | None |
Plugin guide · Manifest
Plugin guide · Manifest
Use the map with or without commands
Understanding comes first, and it comes from the Codebase Map. codebase-map
analyzes the source statically and records the project as Meta-Code: an inventory
of files and symbols, their interfaces, effects and interconnections, persistent
semantic cards that stay fresh as the code changes, and evidence-backed leads on
risks. Review, design diagnosis, documentation, handover and the Senior Maintainer
campaign read that map instead of rediscovering the project on their own:
senior-review, abstraction-architect, project-knowledge and
project-lifecycle declare it as a mandatory dependency.
The map supplies evidence and leads, never verdicts. Correctness belongs to
senior-review, documentation to project-knowledge and tests to testing, and each
owner confirms a lead by reading source before acting on it. The map stays
static: runtime behavior counts only when the project's own tests or the user
supply it.
An existing map is a reusable navigation layer, not only the output of
/daodan:map-code. During ordinary project questions, debugging, feature work,
refactoring, reviews and documentation, an LLM can load codebase-map:map-method
without the daodan entry plugin. It finds completed runs, locates symbols and
documentation through outlines, graphs, cards and artifacts, and inspects edit
impact before broad source exploration. Analyze and composed workflows use the
same navigation contract.
Consumption is read-only: it never implicitly creates, updates, deepens, migrates
or publishes an analysis. Verify material behavior against current source. If no
usable map exists or the relevant evidence is stale, disclose the gap and continue
with ordinary repository exploration. Loading the skill starts no analysis; the
first map requires an explicitly requested analysis, or /daodan:map-code when
the entry plugin is installed. Host activation and MCP registration are covered
in the host reference, and
the detailed contract in shared and standalone model consumption.
Its job is to keep behavior, code, tests, instructions, documentation and artifacts
in agreement. It helps recover fragmented projects and avoid adding another layer
of duplication, dead code, misleading tests or forgotten experimental output.
One hand-authored source ships to Claude Code, GitHub Copilot, Codex, Pi and
OpenCode V2. Useful language, framework and domain specialists remain independent.
Daodan is one marketplace: the development harness, the language and stack
specialists, the Office methods, the domain verticals and web research all live
here. The 24 plugins extracted to acaprino/shinatama in marketplace 36.0.0
returned, so skill-catalog discovers every installed plugin's knowledge
sidecars and selects the ones each run's evidenced stack and domain call for. The
daodan commands are the primary entry points; a domain vertical's own command
is the direct route once the request is already specific to that domain.
Scope-aware knowledge selection
The shared Skill Catalog selects knowledge from
actual available host/project skills for each evidenced task scope. Senior Review
uses it across languages and frameworks with one preparation, delivery ledger,
verification panel and report. Skills declare their own SKILL.toml metadata; adding
a competence needs no new reviewer or central stack table. Selected inputs carry
content fingerprints and per-worker delivery accounting. External unclassified
skills and unavailable inventory remain explicit coverage gaps.
Canonical owners
| Plugin | Responsibility |
|---|
| daodan | The commands: one per intention, each an entry into its owner's method |
| codebase-map | The core: the static Meta-Code map of structure, behavior and interconnections that the other owners read |
| project-delivery | Analysis, ADR/FRD, specifications, adversarial plans, Work Controller execution, verified commits and merge |
| project-lifecycle | Assessment, handover and Senior Maintainer coordination |
| work-controller | Durable YAML graph execution, artifacts, decision tickets, console and MCP, run records and recovery |
| project-knowledge | Durable instructions, guides, documentation and README |
| senior-review | Unified correctness review, automatic stack specialists and application subtraction |
| testing | Meaningful test authoring, suite diagnosis and protection-preserving remediation |
| abstraction-architect | Concept ownership, duplication and design diagnosis |
| repo-hygiene |
Knowledge writes instructions, guides and the README. Project Delivery owns decision
and requirement records plus delivery coordination. Each distinguishes approved intent from
observed implementation and updates existing documents first.
Operational state never belongs in AGENTS.md or CLAUDE.md.
A failed test can expose a product bug, wrong oracle, environment problem or
flakiness. Testing classifies the cause before quarantine. Refactoring alone does
not retire behavioral protection; count and coverage do not prove equivalence.
The three cleanup owners have different evidence: senior-review understands
application source, testing understands protection, repo-hygiene understands
filesystem and Git. Consolidation manages a run's owned evidence and retention.
It does not grant arbitrary repository deletion.
Specialist extras
Domain verticals and research are local plugins of this marketplace, so their
SKILL.toml knowledge sidecars are discovered by skill-catalog with everything
else. daodan and project-knowledge require text-humanizer, whose editor
gives documentation its voice pass and whose /daodan:humanize-text makes any
text read naturally.
Reverse engineering of shipped applications and binaries is delegated to
REA (Reverse Engineer Anything). Its upstream
reverse-engineer-anything skill works with the rea-agents CLI/MCP runtime.
Follow REA setup
to install the matching instructions and tools for your agent. Native analysis
also requires a supported analysis engine. Source-repository mapping remains
with Codebase Map.
What is verified
The compiler validates kernels, bindings, contracts and generated packages.
Atomic helpers mechanically protect their own records and retained artifacts.
Semantic truth, test oracles and permission provenance still require evidence and
the coordinator's judgment. Prompt obligations are identified as such.
Codebase Map is static: inventory, files read in depth and runtime-exercised paths are
reported separately. Since Map 7.0.0 / marketplace 35.0.0, snapshots default to
SQLite; --format json explicitly selects upstream compatibility. Source tools
send selected text with counts and truncation, while reports remain Markdown.
See snapshot formats and source reading.
A generated package test is distinct from an installed-host
execution probe. External private app storage is not a supported run root until
its permission binding is demonstrated.
Tri-Tech Code can consume these OpenCode packages and run contracts as an external
application. The marketplace stays public and neutral.
Upstream projects and inspiration
agent-html-kit inspired the separation
of agent-authored content from reusable HTML presentation. Daodan's
report renderer is an original implementation
that preserves Markdown as the canonical report and adds optional offline HTML
views for analyses, brand naming and reviews.
andrej-karpathy-skills
is the MIT-licensed source of four working principles adopted by Daodan: Think
Before Coding, Simplicity First, Surgical Changes and Goal-Driven Execution.
Project knowledge adapts them for project
instruction creation and maintenance, preserving equivalent project guidance and
adding local rules for verification and shared ownership.
blader/humanizer, by Siqi Chen (MIT), is an
upstream source for text-humanizer. The local
derivative keeps local pattern numbering, fact-preservation safeguards,
registers, an Italian language profile and its own file-editing contract. Upstream
changes are reconciled selectively rather than replacing those local rules.
huashu-design, by 花叔 (MIT), is an
HTML-native design skill whose colour derivation protocol, temperature-tagged
style library and typography reasoning inspired the palette derivation, proposal
spread and extended font pairings of office's design
skill. Office adopts the ideas in its own words for native Word and PowerPoint
objects; the upstream HTML, PPTX conversion and animation pipelines are not used.
diagram-design, by Cathryn
Lavery (MIT), draws editorial diagrams as HTML and SVG with one accent, hairline
strokes and a strict grid. Its role-based skin and node treatments inspired the
native-shape diagram style of office's design skill.
Office re-expresses them in points for editable shapes and connectors; the
upstream SVG pipeline, importers and exporters are not used.
claude-seo, by AgriciDaniel (MIT),
and geo-optimizer-skill, by
Auriti-Labs (MIT), audit sites for AI search visibility. Their checks of CDN and
WAF bot blocking inspired the access probe of
digital-marketing's answer-engine audit: the
probe runs only with authorization, compares a bot user agent with a browser, and
reports what the firewall does to unverified traffic. The audit states these ideas
in its own words; their code, scoring and paid integrations are not used.
Contributing
[!WARNING]
Never repair generated exports by hand or equate registration with execution.
Correct kernels, adapters or compiler source, then review all five hosts through
nested references and worker resources. Agents/coordinators execute and verify;
harnesses own supported continuation and state; skills supply methods. A turn
end or empty child is not task success. Real tools, identities, isolation,
permissions, dependencies, capture controls and output contracts require the
operational checks, separately
from manifest parity and live workflow evidence.
Edit kernels under plugins/ and host mechanisms under adapters/. All exports and
root catalogs are generated. Runtime resources belong under skills/. The toolchain
is stdlib Python; OpenCode's fixed loader uses Node's standard library.
python scripts/daodan_build.py
python scripts/daodan_build.py --check --support
python -m unittest discover -s tests
python scripts/sync_codex_instructions.py --check
python scripts/sync_plugin_docs.py --check
Follow CLAUDE.md for dependency, version and publication rules.
Lifecycle architecture
and implementation plan
record this migration. Behavioral evals complement deterministic compiler
and helper tests.
License
Copyright (c) 2025 Alfio.
Daodan's original source code, plugin kernels, skills, roles, workflows, adapters,
compiler, generated host packages and documentation are released under the
MIT License. Every plugin manifest declares license = "MIT".
Third-party and upstream-derived materials retain their original licenses and
attribution notices. External dependencies are not relicensed by Daodan.