tools/skills/self-develop/SKILL.md
Use when the user shares a URL, names a resource from SOURCES.md, shares operational feedback, says 'adopt', 'learn from', 'what can we steal from', 'compare with', 'self-develop', or 'how do we get better'.
npx skillsauth add raisedadead/dotplugins self-developInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Make the dp-cto flow so good that Claude runs on autopilot. Every pattern extracted, every comparison made, every verdict rendered serves this goal. Inputs can be external (repos, docs, blog posts) or internal (field notes, postmortems, session feedback).
The user provides one of:
specs/benchmarks/references/SOURCES.md, or a repo identifier for DeepWikispecs/research/field-notes-*.md, a postmortem finding, or direct session observationsIf a name is given without a URL, look it up in SOURCES.md first. If not found, ask.
Read the resource thoroughly. Use WebFetch for URLs, DeepWiki (mcp__claude_ai_Deepwiki__read_wiki_structure then mcp__claude_ai_Deepwiki__read_wiki_contents) for repos.
Read the field note or feedback. Identify concrete improvement proposals — not vague observations, but specific mechanisms that could change.
Scan SOURCES.md Last Audited dates. Flag resources >30 days stale. Present the stale list and ask the user which to re-evaluate. Then proceed with each selected resource as an external source.
Before producing cards, read the current dotplugins codebase state for each pattern area. Check hooks (plugins/dp-cto/hooks/), agents (plugins/dp-cto/agents/), skills, shared/ files, and lib/. Do not guess what "we do" — verify by reading the actual file.
For each concrete pattern found, produce a card:
### [Pattern Name]
**Source:** [url, repo, or field note path]
**What they do / What was observed:** [specific mechanism or finding]
**What we do:** [cite the actual file:line, or "nothing"]
**CTO flow phase:** [plan / run / review / cross-cutting]
**Gap:** [the specific delta — what is missing, or why their mechanism is better/worse]
Concrete means: "They dispatch agents with a typed envelope that includes retry policy" — not "They have good architecture."
When we already have a mechanism for the same purpose, the card is a mechanism comparison, not a gap card. "We do this differently" is not a gap — "their way prevents a failure class ours doesn't" IS a gap.
Present all cards to the user. Ask: "These are the patterns I found. Add any? Remove any? Then I'll run the comparison."
For each pattern, run TWO lenses back to back. No hedging. Real talk.
Argue AGAINST adoption/change. Be specific:
Argue FOR adoption/change. Be equally specific:
After both lenses, deliver a verdict for each pattern:
### [Pattern Name] — ADOPT / ADAPT / SKIP
**Adversarial:** [1-2 sentences — strongest argument against]
**Appeasing:** [1-2 sentences — strongest argument for]
**Verdict:** [ADOPT/ADAPT/SKIP] — [why this verdict wins]
**If ADAPT:** [what changes to make it fit]
**CTO flow phase:** [plan / run / review / cross-cutting]
**Autopilot impact:** [none / incremental / significant / transformative]
**Effort:** quick-win / planned-work / next-major
Ask the user to confirm or override verdicts before Phase 3.
For each ADOPT or ADAPT pattern:
/dp-cab:file with source link, pattern description, adoption approach, and which part of the CTO flow it improves. Tag P2 or P3. After filing, add the self-develop:pending label: dp-engine label-add "{task-id}" "self-develop:pending"./dp-cto:plan session. Include the adversarial/appeasing summary so the planner has context. After filing, add the self-develop:pending label: dp-engine label-add "{task-id}" "self-develop:pending".After filing, report the summary (see below), then proceed to Phase 4.
Write an ADR to specs/decisions/ADR-NNN-{source-name}.md. Auto-number by scanning existing ADR files.
Format:
# ADR-NNN: [title]
Date: [today]
Status: Accepted
## Context
[1-2 sentences: what was evaluated and why]
## Decision
[Shipped/Filed/Skipped tables from the summary]
## Consequences
[Key architectural insights, what follows from this batch]
Present the draft to the user: "Write this ADR? (yes / edit / skip)"
After writing the ADR, append an entry to specs/INDEX.md under the Decisions (ADRs) section.
After writing the ADR, update the Last Audited column in specs/benchmarks/references/SOURCES.md for the evaluated resource to today's date.
- **Ingested:** [N] patterns from [source type: external/internal/audit]
- **ADOPT:** [N] ([list])
- **ADAPT:** [N] ([list])
- **SKIP:** [N] ([list])
- **Filed:** [N] cabinet items
- **Autopilot impact:** [aggregate assessment]
tools
Use when you need to set up or rebuild the dp-lsp Docker image after installing the plugin — 'set up LSP', 'build the image', 'install language servers'.
development
Use when you want to write tests first, enforce test-driven development, or add test coverage — 'write tests for this', 'TDD this feature', 'add test coverage'. Strict RED-GREEN-REFACTOR discipline.
testing
Use when starting major work that needs formal design review — cross-team changes, architectural decisions, or complex features where requirements need discovery before implementation.
tools
Use when dp-engine binary is missing or needs reinstallation -- called by plan skill on first use, not directly by user.