Agent skill

implementation-manager

Query and manage feature implementation task status. Provides CLI tools to list features, check task status, find ready tasks, and validate task files. Used by /execution orchestrator to track progress. Automatically updates task timestamps via hooks on /start-task.

Stars 33
Forks 4

Install this agent skill to your Project

npx add-skill https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/development-harness/skills/implementation-manager

SKILL.md

Implementation Manager

Current Task Context

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.

SAM MCP Tool Usage

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.

Commands

list

List all features with task files in the project's plan/ directory:

text
mcp__plugin_dh_sam__sam_list()

Output:

json
{
  "features": [
    {
      "slug": "prepare-host",
      "task_file": "tasks-1-prepare-host.md",
      "path": "~/.dh/projects/{project-slug}/plan/tasks-1-prepare-host.md"
    }
  ],
  "count": 1
}

status

Get detailed status for a specific feature:

text
mcp__plugin_dh_sam__sam_status(plan="P1")

Output:

json
{
  "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"
    }
  ]
}

ready-tasks

List tasks ready for execution (dependencies satisfied):

text
mcp__plugin_dh_sam__sam_ready(plan="P1")

Output:

json
{
  "feature": "prepare-host",
  "ready_tasks": [
    {
      "id": "1.3",
      "name": "Create core/prepare.py Business Logic",
      "agent": "python-cli-architect"
    }
  ],
  "count": 1
}

read

Read full plan data including task fields and context:

text
mcp__plugin_dh_sam__sam_read(plan="P1")

claim

Claim a task in-progress (prevents duplicate dispatch):

text
mcp__plugin_dh_sam__sam_claim(plan="P1", task="T01")

Returns {"claimed": false, "error": "..."} if task is already claimed or not found.

update

Update plan-level fields (e.g., context manifest):

text
mcp__plugin_dh_sam__sam_update(plan="P1", context="Context Manifest content")

Task File Format

Task files use YAML frontmatter format. The SAM MCP tools validate all fields — do not parse task files directly.

yaml
---
task: T01
title: "Task title"
status: not-started
agent: python-cli-architect
dependencies: []
priority: 1
complexity: medium
accuracy-risk: low
skills: []
---

Status Values

  • not-started — task has not been started
  • in-progress — task is claimed and being executed
  • complete — task is done
  • blocked — task cannot proceed

Dependency Resolution

A task is "ready" when:

  1. Status is not-started
  2. All dependencies have status complete (or no dependencies)

Hook Integration

The task_status_hook.py script provides automated task status tracking via Claude Code hooks.

Hook Configuration

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

How It Works

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:

  1. Parses the original prompt to extract task file path and task ID
  2. Updates task status from IN PROGRESS to COMPLETE
  3. Adds **Completed**: {ISO timestamp} to the task section

PostToolUse (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:

  1. Reads the context file to identify the active task
  2. Updates **LastActivity**: {ISO timestamp} in the task section

Timestamp Field Responsibilities

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

Hook Runtime Profile Controls

The task_status_hook.py script supports environment-variable-based profile controls that adjust hook behavior without editing SKILL.md files.

CLAUDE_SKILLS_HOOK_PROFILE

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.

CLAUDE_SKILLS_DISABLED_HOOKS

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).

Examples

bash
# 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"

Integration with /execution

The /dh:execution orchestrator uses this skill to:

  1. Query task file status via mcp__plugin_dh_sam__sam_status(plan="P{N}")
  2. Find ready tasks via mcp__plugin_dh_sam__sam_ready(plan="P{N}")
  3. Launch appropriate agents based on task's agent field
  4. Update timestamps via hook scripts when tasks start/complete

Expand your agent's capabilities with these related and highly-rated skills.

Jamie-BitFlight/claude_skills

ccc

This skill should be used when code search is needed (whether explicitly requested or as part of completing a task), when indexing the codebase after changes, or when the user asks about ccc, cocoindex-code, or the codebase index. Trigger phrases include 'search the codebase', 'find code related to', 'update the index', 'ccc', 'cocoindex-code'.

33 4
Explore
Jamie-BitFlight/claude_skills

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

33 4
Explore
Jamie-BitFlight/claude_skills

delegate

Quick delegation template for sub-agent prompts. Use when assigning work to a sub-agent, before invoking the Agent tool, or when preparing prompts for specialized agents. Provides the WHERE-WHAT-WHY framework. For comprehensive delegation guidance, activate the agent-orchestration how-to-delegate skill.

33 4
Explore
Jamie-BitFlight/claude_skills

swarm-spawning

Spawn agents and teammates in Claude Code swarms. Use when choosing between subagents vs teammates, selecting agent types (Explore, Plan, general-purpose, plugin agents), configuring spawn backends (in-process, tmux, iterm2), or setting environment variables for spawned agents.

33 4
Explore
Jamie-BitFlight/claude_skills

knowledge-explorer

Manage the research/ knowledge base (KB) of tool and library research entries. Use when browsing KB topics, adding new research entries, updating existing entries with dated revisions, fetching GitHub repo metadata into a draft KB entry, or migrating old-format entries to skill-spec frontmatter. Triggers on tasks like "what do we have on X", "add this to the KB", "update the KB entry for Y", "fetch github info for owner/repo", or "migrate old entries".

33 4
Explore
Jamie-BitFlight/claude_skills

design-anti-patterns

Enforce anti-AI UI design rules based on the Uncodixfy methodology. Use when generating HTML, CSS, React, Vue, Svelte, or any frontend UI code. Prevents "Codex UI" — the generic AI aesthetic of soft gradients, floating panels, oversized rounded corners, glassmorphism, hero sections in dashboards, and decorative copy. Applies constraints from Linear/Raycast/Stripe/GitHub design philosophy: functional, honest, human-designed interfaces. Triggers on: UI generation, dashboard building, frontend component creation, CSS styling, landing page design, or any task producing visual interface code.

33 4
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results