25 skills, guardrail hooks, and a parallel-agent worktree workflow for building software with Claude Code.
In Claude Code, register the marketplace, then install the plugin:
/plugin marketplace add danielkosten/daniel-powers
/plugin install daniel-powers@daniel-powers
The first command registers the marketplace; the second enables the plugin. Skills appear as slash commands and the guardrail hooks activate immediately.
The core Flow and Practice skills need only Claude Code. Some skills have external dependencies — install these only if you use the skill:
| Skill | Needs |
|---|---|
/python-automation |
uv, ruff, mypy |
/gemma-local |
Apple Silicon + MLX (mlx_lm / mlx_vlm) + a local Gemma model |
/graphify |
pip install graphifyy — optional: MOONSHOT_API_KEY (Kimi backend), Neo4j (graph export) |
/obsidian, /obsidian-cli |
Obsidian app running + the obsidian CLI |
/obsidian-markdown, /obsidian-bases, /json-canvas, /vault-tidy |
an Obsidian vault at $OBSIDIAN_VAULT (default ~/Documents/Obsidian Vault) |
Skills are slash commands. Type /shape, /tdd, /graphify etc. in Claude Code.
| Skill | What it does |
|---|---|
/shape |
Frame a new idea before coding — explore, grill, route to issue or PRD |
/architect |
Turn an approved PRD into a vertical plan, dispatch to implementers |
/to-prd |
Publish a shaped change as a formal PRD on the issue tracker |
/to-issues |
Create ready-to-grab issues from a PRD or architect plan |
/triage |
Gate issues before they enter the build flow — confirm shaped, set priority |
/project-setup |
Scaffold the project contract — rigor tier, CLAUDE.md anchor, minimal docs |
/session-cleanup |
End-of-session close-out — changelog, stale docs, quality gate |
/commit-pr |
Commit, push, and open a PR in one disciplined pass |
/handoff |
Compact this conversation into a doc so a fresh agent can continue |
/review |
Two-axis pre-PR review: coding standards + spec faithfulness |
| Skill | What it does |
|---|---|
/tdd |
Test-drive behavior changes through red-green-refactor |
/clean-codebase |
Module depth, naming-as-docs, minimal complexity — AI-friendly code |
/prototype |
Throwaway prototype to flesh out a design — terminal logic mock or UI variations |
/sql |
Database-querying practice — schema first, narrow queries, EXPLAIN, capture learnings |
/self-review-before-reporting |
Self-review checklist before any output the user will act on |
/python-automation |
Python automation practice — uv, ruff, mypy, resilient patterns |
/gemma-local |
Local model for OCR, image/audio/video analysis, JSON extraction |
/skill-audit |
Audit the plugin's skill set for debt — stale, bloated, overlapping |
| Skill | What it does |
|---|---|
/obsidian |
Navigate, query, and maintain your vault — entry point to all Obsidian skills |
/obsidian-cli |
Terminal operations: search, read, create, properties, tasks |
/obsidian-markdown |
Write Obsidian Flavored Markdown — wikilinks, callouts, frontmatter |
/obsidian-bases |
Create and edit Obsidian Bases (.base files) |
/json-canvas |
Create and edit JSON Canvas files (.canvas) |
/graphify |
Turn your vault (or any folder) into a navigable knowledge graph |
/vault-tidy |
On-demand hygiene: fix broken links, place orphans, flag stale/duplicate notes |
The Obsidian skills look for your vault at $OBSIDIAN_VAULT, falling back to the
standard location ~/Documents/Obsidian Vault.
Nine always-on guardrail hooks ship with the plugin:
| Hook | When it fires | What it does |
|---|---|---|
| detect-new-project | Session start | Nudges you to scaffold docs when starting in a real project folder with none |
| worktree-presence | Session start | Warns on linked-worktree clutter and on two agents in the same worktree |
| keep-going | When Claude stops | Continues agreed work toward the confirmed goal without asking "shall I proceed?" |
| mentor-classifier | Every prompt | Re-anchors the classify-and-challenge habit for new initiatives |
| git-guardrails | Before any Bash | Blocks irreversible git ops — force-push, hard reset, whole-tree discard |
| worktree-tripwire | Before Bash / Edit / Write | Blocks git switch -c in the primary checkout; warns once per session on default-branch edits |
| uuid-check | Before git commit | Warns if staged code adds a hardcoded UUID literal |
| doc-staleness | Before editing a file | Warns when a doc's last-updated date is >90 days old |
| auto-format | After editing a file | Runs the project's formatter on the file just written |
If you run several Claude Code sessions on one repo at the same time, they
share a single working tree, branch, and index — they overwrite each other.
This plugin ships a worktree workflow that isolates each stream: one task =
one git worktree = one branch.
wt new <topic> # ../<repo>-<topic> on a fresh branch off main
wt list # what's live, with marker-age signal
wt done <topic> # remove worktree + branch (only if merged or clean)
wt sweep [--apply] # report (or remove) stale worktrees + merged branches
The worktree-tripwire and worktree-presence hooks ship enabled. The wt
helper is at plugins/daniel-powers/bin/wt in your plugins dir — symlink it
onto your PATH once:
ln -sfn "$HOME/.claude/plugins/marketplaces/daniel-powers/plugins/daniel-powers/bin/wt" "$HOME/.local/bin/wt"
Background: docs/parallel-agents.md. Decision: docs/adr/0017.
shape → (issue lane) → to-issues → implement
shape → (PRD lane) → to-prd → architect → to-issues → implementers (in parallel)
any branch → review → commit-pr
tdd and clean-codebase run inside any implementation. python-automation
for Python work. session-cleanup and handoff at the end of any session.
skill-audit periodically. Obsidian skills for vault work — start with
/obsidian.
MIT.