plugins/development-harness/skills/implementation-manager/SKILL.md
Manages feature implementation task state via SAM MCP tools. Use when querying task status, listing ready tasks, claiming tasks for execution, updating task timestamps, or coordinating multi-task feature rollout. Activated by the /dh:execution orchestrator to track progress — also activates directly when managing task files or configuring hook profiles.
npx skillsauth add jamie-bitflight/claude_skills implementation-managerInstall 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.
Available features (if in project with plan/ directory):
!uv run sam list 2>/dev/null || echo '{"features": [], "count": 0, "message": "Not in a project with task files"}'
Active task context (if any):
!python3 -c "from dh_paths import context_dir; import os; cdir = context_dir(os.environ.get('CLAUDE_SESSION_ID', '')); files = list(cdir.glob('active-task-*.json')) if cdir.exists() else []; print(files[0].read_text() if files else 'No active task')" 2>/dev/null || echo "No active task"
A skill for querying and managing feature implementation task files. Provides programmatic access to task status for orchestrators coordinating multi-step feature implementations.
The SAM MCP server (mcp__plugin_dh_sam__*) is the primary interface for all SAM task file operations. The uv run sam CLI is available as fallback when MCP is unavailable.
List all features with task files in the project's plan/ directory:
mcp__plugin_dh_sam__sam_plan(config={"action": "list"})
Output:
{
"features": [
{
"slug": "prepare-host",
"task_file": "tasks-1-prepare-host.md"
}
],
"count": 1
}
Get detailed status for a specific feature:
mcp__plugin_dh_sam__sam_plan(config={"action": "status"}, plan="P1")
Output:
{
"feature": "prepare-host",
"task_file": "tasks-1-prepare-host.md",
"total_tasks": 8,
"completed": 8,
"in_progress": 0,
"not_started": 0,
"ready_tasks": [],
"tasks": [
{
"id": "1.1",
"name": "Add Data Models to shared/models.py",
"status": "complete",
"dependencies": [],
"agent": null,
"priority": 1,
"complexity": "low"
}
]
}
List tasks ready for execution (dependencies satisfied):
mcp__plugin_dh_sam__sam_plan(config={"action": "ready"}, plan="P1")
Output:
{
"feature": "prepare-host",
"ready_tasks": [
{
"id": "1.3",
"name": "Create core/prepare.py Business Logic",
"agent": "python-cli-architect"
}
],
"count": 1
}
Read full plan data including task fields and context:
mcp__plugin_dh_sam__sam_plan(config={"action": "read"}, plan="P1")
Claim a task in-progress (prevents duplicate dispatch):
mcp__plugin_dh_sam__sam_task(plan="P1", task="T01", config={"action": "claim"})
Returns {"claimed": false, "error": "..."} if task is already claimed or not found.
Update plan-level fields (e.g., context manifest):
mcp__plugin_dh_sam__sam_plan(config={"action": "update", "context": "Context Manifest content"}, plan="P1")
Task files use YAML frontmatter format. The SAM MCP tools validate all fields — do not parse task files directly.
---
task: T01
title: "Task title"
status: not-started
agent: python-cli-architect
dependencies: []
priority: 1
complexity: medium
accuracy-risk: low
skills: []
---
not-started — task has not been startedin-progress — task is claimed and being executedcomplete — task is doneblocked — task cannot proceedA task is "ready" when:
not-startedcomplete (or no dependencies)The task_status_hook.py script provides automated task status tracking via Claude Code hooks.
| Command | Hook Event | Matcher | Purpose |
| -------------------- | ------------ | ------------------- | ---------------------------------------------- |
| /dh:execution | SubagentStop | (all) | Mark task COMPLETE, add Completed timestamp |
| /dh:start-task | PostToolUse | Write\|Edit\|Bash | Update LastActivity timestamp during execution |
SubagentStop (Task Completion):
When /dh:execution launches a sub-agent via /start-task {task_file} --task {id}, the SubagentStop hook fires when the sub-agent completes. The hook script:
IN PROGRESS to COMPLETE**Completed**: {ISO timestamp} to the task sectionPostToolUse (Activity Tracking):
When /dh:start-task runs, it creates a context file at ~/.dh/projects/{slug}/context/active-task-{session_id}.json (resolved via dh_paths.context_dir(session_id)) containing the task file path and task ID. On each Write, Edit, or Bash operation, the PostToolUse hook:
**LastActivity**: {ISO timestamp} in the task section| Field | Added By | When |
| ------------------ | ------------------------- | --------------------------------- |
| **Started** | Agent (via /dh:start-task) | When agent begins work on task |
| **Completed** | Hook (SubagentStop) | When sub-agent finishes |
| **LastActivity** | Hook (PostToolUse) | On each Write, Edit, or Bash call |
The task_status_hook.py script supports environment-variable-based profile controls that adjust hook behavior without editing SKILL.md files.
Controls which hook handlers run. Case-sensitive lowercase. Default when unset or empty: standard.
minimal — PostToolUse (LastActivity updates) is skipped entirely. SubagentStop (task completion) runs normally. Use this to reduce I/O during task execution when activity timestamps are not needed.standard — All handlers run. This is the current default behavior and is backward compatible with sessions that do not set the variable.strict — All handlers run. SubagentStop additionally performs pre-completion validation checks and emits warnings to stderr. Warnings are observational only — they do not prevent task completion. Strict checks verify that the task was claimed (status was in-progress before completion) and that acceptance criteria were defined (non-empty).Invalid values produce a warning to stderr and fall back to standard.
Comma-separated list of hook IDs to disable. Each ID is stripped of whitespace. Empty segments are excluded. Unknown IDs are silently ignored for forward compatibility. Default when unset or empty: no hooks disabled.
Hook IDs for this script:
task-status:post-tool-use — the PostToolUse handler (LastActivity timestamp updates)task-status:subagent-stop — the SubagentStop handler (task completion marking)Disabled hooks take precedence over profile. If both CLAUDE_SKILLS_HOOK_PROFILE=strict and CLAUDE_SKILLS_DISABLED_HOOKS=task-status:subagent-stop are set, SubagentStop is skipped entirely (no strict checks run).
Disabled hooks exit 0 (Claude Code treats non-zero hook exit as an error that kills the hook chain).
# Skip PostToolUse activity tracking (reduces I/O during task execution)
export CLAUDE_SKILLS_HOOK_PROFILE=minimal
# Enable strict pre-completion validation warnings
export CLAUDE_SKILLS_HOOK_PROFILE=strict
# Disable a specific hook by ID
export CLAUDE_SKILLS_DISABLED_HOOKS=task-status:post-tool-use
# Disable multiple hooks
export CLAUDE_SKILLS_DISABLED_HOOKS="task-status:post-tool-use,task-status:subagent-stop"
The /dh:execution orchestrator uses this skill to:
mcp__plugin_dh_sam__sam_planmcp__plugin_dh_sam__sam_planagent fielddevelopment
When an application needs to store config, data, cache, or state files. When designing where user-specific files should live. When code writes to ~/.appname or hardcoded home paths. When implementing cross-platform file storage with platformdirs.
testing
Enforce mandatory pre-action verification checkpoints to prevent pattern-matching from overriding explicit reasoning. Use this skill when about to execute implementation actions (Bash, Write, Edit) to verify hypothesis-action alignment. Blocks execution when hypothesis unverified or action targets different system than hypothesis identified. Critical for preventing cognitive dissonance where correct diagnosis leads to wrong implementation.
tools
Reference guide for the Twelve-Factor App methodology — 15 principles (12 original + 3 modern extensions) for building portable, resilient, cloud-native applications. Use when evaluating application architecture, designing cloud-native services, reviewing codebases for methodology compliance, advising on configuration, scaling, observability, security, and deployment patterns. Incorporates the 2025 open-source community evolution and cloud-native reinterpretations of each factor.
tools
Converts user-facing documentation (how-to guides, tutorials, API references, examples) in any format — Markdown, PDF, DOCX, PPTX, XLSX, AsciiDoc, RST, HTML, Jupyter notebooks, man pages, TOML/YAML/JSON configs, and plain text — into Claude Code skill directories with SKILL.md plus thematically grouped references/*.md files. Use when given a docs directory or mixed-format documentation to transform into an AI skill. Uses MCP file-reader server for binary formats.