early-prototype
v0.2.3Product / PM / Worker session-lifecycle suite. Skills for opening, queuing, and closing role-based work sessions; hooks for handoff generation; an agent for kanban mutations. Skills invoke as early-prototype:<name>.
By Thom Conaty0 GitHub starsUpdated 2 weeks ago
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 11 skill or MCP entries
- Source updated
- Sep 7, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install early-prototype for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install early-prototype@agent-plugin-marketplacePaste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/earlyprototype/early-prototypeClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/early-prototype/.
Plugin files
├── .claude-plugin/plugin.json├── skills/check-handoffs/SKILL.md├── skills/chosetime/SKILL.md├── skills/cleantime/SKILL.md├── skills/clocktime/SKILL.md├── skills/notetime/SKILL.md├── skills/prodout/SKILL.md├── skills/queuetime/SKILL.md├── skills/readtime/SKILL.md├── skills/sleeptime/SKILL.md├── skills/teamtime/SKILL.md└── skills/worktime/SKILL.md
Included Skills11
Manually surface unread Worker handoffs from this project's <cwd>/.claude/inbox/pm/. Use when the user is in a PM session and wants to see what Worker sessions have finished, or asks to "check the inbox", "any handoffs", "what's waiting from worker", or "/check-handoffs". This is the manual fallback for the SessionStart auto-discovery hook (pm-handoff-discovery.js); both produce the same listing. The inbox is per-project — each project's handoffs live in its own `.claude/inbox/pm/`. Each handoff is a pointer file written by the Stop hook worker-completion-signal.js; the canonical §6 handoff lives in the Worker's project folder alongside it.
Worker ritual to pick a queued task from `## TODO` (or `## BACKLOG`) and promote it to `## DOING` via kanbanger `move_task`. Writes `<cwd>/.claude/active-task-<shortId>.txt` so the Stop hook starts producing handoffs for the chosen task. Requires an open PM session (`<cwd>/.claude/pm-session-<shortId>.txt`) and at least one task queued via `/queuetime` (or any prior kanbanger action). Use when starting work on a previously-queued task. Companion to `/queuetime` (PM queues), `/worktime` (Worker spawns fresh, no queue stage), `/notetime` (mid-task notes), and `/clocktime` (close Worker task).
Aggressive wipe of all session state in the current project. Globs and deletes all shortId-scoped marker variants (`<cwd>/.claude/pm-session-*.txt`, `active-task-*.txt`, `coach-session-*.txt`, `prod-session-*.txt`, `worker-session-id-*.txt`) PLUS the legacy unscoped variants for backward compatibility. Also deletes `worker-notes.md` and `.archive` siblings, all handoff pointers in `<cwd>/.claude/inbox/pm/`, all session logs in `<cwd>/.claude/inbox/pm/sessions/`, and all `<cwd>/session-handover-*.md` canonical handoffs at the project root. Does NOT touch `_kanban.md` (PM responsibility), does NOT call the kanbanger MCP, does NOT sync to GitHub. No confirmation prompt — invoking this skill is consent. Bigger-hammer equivalent of `/clocktime` + `/sleeptime` + `/coachout` without the niceties. Use for testing, recovery from confused state (orphan markers across sessions, race-condition artefacts, mismatched files), or "I want to start over from scratch in this project."
Worker task end. Reads `<cwd>/.claude/active-task-<shortId>.txt`, moves the kanban task to `## DONE` via the kanbanger MCP review-gate (propose_done + approve_done), archives the Worker notes file, and clears THIS session's shortId-scoped markers so the Stop hook stops producing handoffs for this task. Other sessions' markers in the same cwd are intentionally not touched. The PM session (`pm-session-<shortId>.txt`) is NOT touched — multiple `/worktime` → `/clocktime` cycles can run inside one PM session. Companion to `/worktime` (Worker clock-in) and `/notetime` (mid-task notes). Use `/sleeptime` to close the containing PM session.
Append a timestamped Worker note to `<cwd>/.claude/worker-notes.md`. The Stop hook embeds these notes into the "Issues encountered + resolutions" section of the canonical §6 handoff so PM sees them on every read. Use mid-session when Worker hits a tricky bug, makes a non-obvious decision, or wants to leave a breadcrumb for PM beyond the auto-generated summary. Companion to `/worktime` (Worker clock-in) and `/clocktime` (Worker clock-out).
Product session end. The close ritual for the product-planning session that `/prodtime` opens — the seat that decides what a development cycle should build, for whom, and why. Reads this session's product session marker in the current folder, deletes it, and confirms with a timestamp. If there's no open product session for this session in this folder, it says so and exits cleanly. Touches only this session's own marker — never another session's, and never a planning, worker, or mentor marker. Companion close ritual for `/prodtime`, the same way `/sleeptime` closes the planning session and `/coachout` closes the mentor session.
PM ritual to queue a Worker task for later execution. Adds a one-line task to `## TODO` (default) or `## BACKLOG` of `_kanban.md` via the kanbanger MCP, without spawning a Worker session or writing `active-task.txt`. Use during PM planning to populate the queue with work to be picked up later via `/chosetime`. Requires an open PM session (`<cwd>/.claude/pm-session.txt` must exist — run `/teamtime` first). Companion to `/chosetime` (Worker picks from queue and promotes to DOING) and `/worktime` (Worker spawns brand-new task directly to DOING, no queue stage).
PM ritual to acknowledge an unread Worker handoff. Lists unread handoff pointers in `<cwd>/.claude/inbox/pm/` (i.e., files without a `<!-- PM:READ:YYYY-MM-DD -->` marker), lets the user pick one, opens the canonical §6 handoff for review, then appends the PM:READ marker to the pointer so it's filtered out of future SessionStart and `/check-handoffs` surfacing. Requires an open PM session (`<cwd>/.claude/pm-session.txt`). Companion to `/check-handoffs` (lists without acknowledging) and the SessionStart auto-discovery hook.
PM session end. Closes the PM session opened by `/teamtime`. Writes a PM session log entry (decisions made, Worker tasks delegated, handoffs reviewed, open items) to `<cwd>/.claude/inbox/pm/sessions/` (per-project, not global), prompts to close any still-open Worker task (`active-task-<shortId>.txt`) via `/clocktime`, and clears THIS session's `pm-session-<shortId>.txt` marker only — never another session's. Companion to `/teamtime` (PM session open), `/worktime` (Worker clock-in), and `/clocktime` (Worker task end).
Session-entry ritual. Opens a PM session: instantiates the PM persona (review, decide, delegate, hold scope), ensures comms folders exist, surfaces unread Worker handoffs from the inbox, and adopts the morning brief if present (offering to queue its slices). Writes `<cwd>/.claude/pm-session-<shortId>.txt` as the PM session marker (shortId-scoped so two concurrent Claude instances at the same cwd don't collide). Use at the start of any work session — PM is the default posture, and Worker tasks are spawned via `/worktime` *inside* the PM session. Companion to `/worktime` (Worker clock-in), `/clocktime` (Worker task end), and `/sleeptime` (PM session end).
Worker clock-in ritual. Prompts the user for a one-line task description, writes it to `<cwd>/.claude/active-task-<shortId>.txt` (shortId-scoped so concurrent Claude instances in the same cwd don't collide), and adds the task to `_kanban.md`'s `## DOING` column via the kanbanger MCP. Requires an open PM session (`<cwd>/.claude/pm-session-<shortId>.txt` must exist — run `/teamtime` first). Without the active-task marker the Stop hook stays silent and no handoffs are produced. Companion to `/notetime` (mid-task notes) and `/clocktime` (Worker task end). `/teamtime` opens the PM session that contains the Worker task; `/sleeptime` closes the PM session.
Plugin manifests1
{
"name": "early-prototype",
"version": "0.2.3",
"description": "Product / PM / Worker session-lifecycle suite. Skills for opening, queuing, and closing role-based work sessions; hooks for handoff generation; an agent for kanban mutations. Skills invoke as early-prototype:<name>.",
"author": {
"name": "Thom Conaty",
"email": "[email protected]"
},
"homepage": "https://github.com/earlyprototype/early-prototype",
"repository": "https://github.com/earlyprototype/early-prototype",
"keywords": [
"timeteam",
"session-lifecycle",
"kanban",
"product",
"pm",
"worker",
"handoffs"
]
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[early-prototype on Agent Plugins Marketplace](https://pluginsmp.com/plugins/early-prototype)