Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

plotplot 分析

Agent Skill

plot 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

420

周安装

17

GitHub Stars

2

下载量

132
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:plot(plot 分析)
来源仓库:https://github.com/eins78/skills
仓库路径:skills/plot
安装命令:
npx skills add https://github.com/eins78/skills --skill plot
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/eins78/skills --skill plot

简介

基于 Git 的原生轻量级规划系统。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

  • 计划以 markdown 文件形式存储在分支上,PR 作为工作流元数据。
  • 支持人类、AI 辅助或全代理团队协作。
  • 提供项目看板、分支前缀和计划目录配置选项。
  • plot 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Plot

Lean, git-native planning system. Plans are markdown files on branches, PRs are workflow metadata, git is the source of truth. Plans merge to main before implementation begins; one plan can spawn multiple parallel implementation branches. Works with any team composition — human, AI-assisted, or fully agentic.

Setup

Add a ## Plot Config section to the adopting project's CLAUDE.md:

## Plot Config
- **Project board:** <your-project-name> (#<number>)  <!-- optional, for `gh pr edit --add-project` -->
- **Branch prefixes:** idea/, feature/, bug/, docs/, infra/
- **Plan directory:** docs/plans/
- **Active index:** docs/plans/active/
- **Delivered index:** docs/plans/delivered/
- **Sprint directory:** docs/sprints/

Model Guidance

StepsMin. TierNotes
1. Read StateSmallGit/gh commands, file listing
2. Detect ContextSmallBranch name pattern matching
3. Detect IssuesSmall (most), Mid (overlap)Overlapping plans (3+ shared words) needs mid-tier
4. Status SummarySmallTemplate formatting
Sprint listingSmallFile listing, date arithmetic
Sprint countdownSmallDate comparison, checkbox counting

All dispatcher steps are mechanical except the "Overlapping plans" heuristic in step 3, which requires comparing plan titles. A small model should skip title comparison and only flag exact slug duplicates.

Lifecycle

Feature / Bug (full lifecycle)

flowchart LR
    subgraph Planning
        A["/plot-idea"] -->|draft PR| B["Refine &<br/>slice branches"]
        B -.->|"optional: tracer-bullets"| B2["Tracer on<br/>idea branch"]
        B2 --> C
        B -->|"⏳ gh pr ready"| C["Review plan"]
    end
    subgraph Approval
        C -->|"⏳ /plot-approve<br/>(or PR already merged)"| D["Plan merged<br/>impl PRs created"]
    end
    subgraph Implementation
        D -.->|"optional: tracer-bullets"| D2["Tracer branch<br/>merged first"]
        D2 -->|"create remaining branches"| E
        D -->|"⚡ create branches"| E["Work on<br/>impl branches"]
        E -->|"⏸ draft → review → merge<br/>(standard code review)"| F["All impls<br/>merged to main"]
    end
    subgraph Delivery
        F -->|"⚡ /plot-deliver"| G["Plan delivered"]
    end
    subgraph Release
        G -->|"⚡ /plot-release rc"| H["RC tag +<br/>checklist"]
        H -->|"⏸ endgame testing"| I{"All verified?"}
        I -->|"no: fix → new RC"| H
        I -->|"⏳ sign-off"| J["⚡ /plot-release"]
    end

Legend: ⚡ automate ASAP · ⏸ natural pause · ⏳ human-paced

Docs / Infra (live when merged)

flowchart LR
    A["/plot-idea<br/>(optional)"] -->|draft PR| B["Refine plan"]
    B -->|"/plot-approve<br/>(if planned)"| C["Impl branch"]
    C -->|"code review<br/>& merge"| D["Merged to main<br/>LIVE"]
    D -->|"/plot-deliver<br/>(if planned)"| E["Plan delivered"]

    F["Direct branch<br/>(no plan)"] -->|"code review<br/>& merge"| D

Sprint Lifecycle

flowchart LR
    A["/plot-sprint<br/><slug>: <goal>"] -->|"⏸ drafting"| B["Planning"]
    B -->|"⏳ /plot-sprint commit"| C["Committed"]
    C -->|"⚡ /plot-sprint start"| D["Active"]
    D -->|"⏳ /plot-sprint close"| E["Closed"]

Sprints are an optional temporal lens over plans. Sprint files live in docs/sprints/, committed directly to main. See /plot-sprint for full details.

Direct Work (no planning step)

Small features, bug fixes, docs, and infra tasks go directly to a PR:

feature/<slug>  →  PR  →  merge
bug/<slug>      →  PR  →  merge
docs/<slug>     →  PR  →  merge
infra/<slug>    →  PR  →  merge

Phases

Plan Phases

PhaseMeaningTriggerTransition Pacing
DraftPlan being written/refined/plot-idea⏸ natural pause (writing)
ApprovedPlan merged, impl branches created/plot-approve⏳ human-paced (review) → ⚡ automate (branch creation)
DeliveredAll impl PRs merged, plan delivered/plot-deliver⏸ natural pause (implementation) → ⚡ automate (delivery)
ReleasedIncluded in a versioned release/plot-release⚡ automate (RC tag) → ⏸ endgame → ⏳ sign-off → ⏳ human-paced (version bump, tag, push)

The Release phase includes an RC verification loop. Individual plans don't track a "Testing" phase — the release checklist does. The tracer-bullets skill can be used during Draft (to validate before approving) or Approved (as first implementation branch) — it is a sibling skill, not a plot phase.

Sprint Phases

PhaseMeaningTriggerTransition Pacing
PlanningSprint being drafted, items selected/plot-sprint <slug>: <goal>⏸ natural pause (drafting)
CommittedTeam agreed on sprint contents/plot-sprint <slug> commit⏳ human-paced (agreement)
ActiveSprint running, work in progress/plot-sprint <slug> start⚡ automate ASAP
ClosedTimebox ended, retro captured/plot-sprint <slug> close⏳ human-paced (retrospective)

Conventions

  • Branch prefixes: idea/ (plans), feature/, bug/, docs/, infra/ (implementation)
  • Plan files: docs/plans/YYYY-MM-DD-<slug>.md — date-prefixed, never move once created
  • Active index: docs/plans/active/<slug>.md — symlinks to Draft/Approved plans
  • Delivered index: docs/plans/delivered/<slug>.md — symlinks to Delivered plans
  • Plan PR: starts as draft (being refined), marked ready with gh pr ready, titled Plan: <title>
  • Impl PRs: draft, created by /plot-approve, reference the plan on main
  • Sprint files: docs/sprints/YYYY-Www-<slug>.md — ISO week-prefixed, committed directly to main
  • Sprint active index: docs/sprints/active/<slug>.md — symlinks to active sprints

Guardrails

  • /plot-approve requires plan PR to be non-draft or already merged — no approving unreviewed plans
  • /plot-deliver requires all impl PRs merged — no premature delivery
  • /plot-release requires delivered plans — cannot release undelivered work; verifies readiness but does not execute release steps without user confirmation
  • /plot detects orphan impl branches (no approved plan) — prevents coding without context
  • Phase field in plan files is machine-readable — every command checks current phase before acting

Flexibility

Natural language overrides are expected and should be honored. Users may say:

  • Batch: "Approve and deliver in one go" — run /plot-approve then /plot-deliver sequentially
  • Skip: "Skip the PR, just merge" — bypass draft PR if the user has context
  • Branch override: "Use feature/my-name instead" — accept non-standard branch names
  • Combine: "Create the plan and add it to the sprint" — chain /plot-idea + /plot-sprint
  • Abbreviate: "Deliver everything" — iterate over all active plans

Relationship: Guardrails protect (prevent data loss, enforce phase ordering). Flexibility serves (reduce ceremony when the user knows what they want). If an override would violate a guardrail, confirm with the user before proceeding.

What Goes Where

ConcernReusable Skill (SKILL.md)Project CLAUDE.md
Workflow steps & lifecycleYesNo
Branch naming conventionsYes (defaults)Override if different
Directory pathsNoYes (docs/plans/, etc.)
Project board nameNoYes
Merge strategy preferenceNoYes
Release note toolingNoYes (or auto-detected)
Sprint cadence / datesNoYes (or in sprint file)

Rule of thumb: If it changes per project, it belongs in CLAUDE.md. If it's the same everywhere, it belongs in the skill.

See skills/plot/templates/claude-md-snippet.md for a ready-to-paste template.

Sibling Skills

Plot works with standalone development strategy skills. These are not plot spokes — they have their own workflows and can be used independently. Plot references them at appropriate moments.

tracer-bullets

Plans can define a ### Tracer subsection in ## Branches (see plan template). When using ### Tracer, wrap remaining branches in a ### Implementation subsection — /plot-approve parses only ### Implementation and skips tracer branches. Format:

### Tracer
- `feature/<slug>-tracer` — <thin slice description>
  Layers: <layer> → <layer> → <layer>
  Proves: <what this validates>
  Status: Not started | In progress | Complete

Pre-approval (Draft): Tracer code lives on the idea/<slug> branch alongside plan files. Update Status: to Complete and add a ## Tracer Results section with findings. Tracer code carries forward when the plan PR merges.

Post-approval (Approved): Create feature/<slug>-tracer branch from main. Merge the thin slice before creating remaining implementation branches.

/plot-approve step 2b suggests a tracer bullet when uncertainty or feature size warrants it.

Troubleshooting

Plan PR has merge conflicts

The idea/<slug> branch has diverged from main.

git checkout idea/<slug>
git fetch origin main
git rebase origin/main
# Resolve conflicts
git push --force-with-lease

Then retry /plot-approve <slug>.

Implementation PR fails CI

  1. Check CI logs: gh pr checks <number>
  2. Fix on the implementation branch, push
  3. Wait for CI to pass, then merge normally

If CI is flaky or irrelevant to this PR, the human decides whether to merge anyway.

Delivery check finds incomplete work

/plot-deliver reports partial/missing deliverables. Options:

  1. Hold off — go finish the work, then re-run /plot-deliver
  2. Deliver anyway — accept the gap (the skill asks for confirmation)
  3. Update the plan — if scope changed, edit the plan file on main to match what was actually built, then re-run /plot-deliver

Plan file Phase is out of sync

If the Phase field doesn't match reality (e.g., plan says "Draft" but PR is merged):

git checkout main && git pull
# Fix the Phase field in docs/plans/YYYY-MM-DD-<slug>.md
git add docs/plans/YYYY-MM-DD-<slug>.md
git commit -m "plot: fix phase for <slug>"
git push

Orphan implementation branch

/plot warns about impl branches with no approved plan. Options:

  1. Create the plan retroactively/plot-idea <slug>: <title>, approve it
  2. Just merge it — if the work is small, skip the plan and merge directly
  3. Delete the branch — if the work is abandoned

Release check finds missing release notes

/plot-release cross-check reports gaps. Options:

  1. Add the missing entries — update CHANGELOG.md or add changeset files
  2. Proceed anyway — if the gap is intentional (internal change, no user impact)
  3. Go back to deliver — if a plan was missed entirely

Sprint past end date with incomplete must-haves

/plot-sprint close shows incomplete must-haves. Options:

  1. Close anyway — must-haves stay unchecked in place as a record
  2. Move to Deferred — explicitly acknowledge they didn't make the timebox
  3. Extend the sprint — edit the End date (but consider: is this hiding a scope problem?)

Automation Output

When the conversation context indicates automation, append a fenced JSON block after the normal human-readable summary. Normal output is always produced first — JSON is appended, never replaces.

Detection

Automation mode is active when any of these are true:

  • Words like "automation", "machine-readable", "ralph" appear in conversation context
  • Output format: json is set in the project's ## Plot Config

Schema

Each spoke skill appends a json plot-output fenced block:

{
  "command": "/plot-deliver",
  "slug": "sse-backpressure",
  "phase": "Delivered",
  "status": "delivered",
  "prs": [{"number": 12, "state": "MERGED"}, {"number": 13, "state": "MERGED"}],
  "sprint": "week-1",
  "next_action": "/plot-release",
  "message": "All implementation PRs merged. Plan delivered."
}
FieldTypeDescription
commandstringWhich skill produced this output
slugstringThe plan or sprint slug
phasestringCurrent phase after this action
statusstringResult: "created", "approved", "delivered", "released", "error"
prsarray?PR numbers and states
sprintstring?Sprint slug if plan is in a sprint
next_actionstringSuggested next command
messagestringHuman-readable one-line summary

Progress Object (optional)

For plan lifecycle commands, include a progress field:

"progress": {"draft": true, "approved": true, "delivered": true, "released": false}

Dispatcher

The /plot command analyzes current git state and suggests the next action.

Decision Tree

flowchart TD
    Start["/plot"] --> ReadState["Read: current branch,<br/>active plans, open PRs"]
    ReadState --> OnIdea{On idea/* branch?}
    OnIdea -->|yes| PlanDraft["Show plan status<br/>Suggest: refine, gh pr ready,<br/>or /plot-approve"]
    OnIdea -->|no| OnImpl{On impl branch?}
    OnImpl -->|yes| HasPlan{Has approved plan?}
    HasPlan -->|yes| ImplStatus["Show impl PR status<br/>Suggest: keep working,<br/>mark ready, or /plot-deliver"]
    HasPlan -->|no| Orphan["Orphan branch!<br/>Suggest: /plot-idea first"]
    OnImpl -->|no| OnMain{On main?}
    OnMain -->|yes| ListPlans["List active plans +<br/>delivered plans awaiting release<br/>Suggest next action"]
    OnMain -->|no| Other["Show general status"]

1. Read State

Gather context in parallel:

# Current branch
BRANCH=$(git branch --show-current)

# Active plans on main
ls docs/plans/active/ 2>/dev/null

# Delivered plans
ls docs/plans/delivered/ 2>/dev/null

# Active sprints
ls docs/sprints/active/ 2>/dev/null

# Open PRs on idea/ branches
gh pr list --json number,title,headRefName,isDraft,state --jq '.[] | select(.headRefName | startswith("idea/"))'

# Open PRs on impl branches (feature/, bug/, docs/, infra/)
gh pr list --json number,title,headRefName,isDraft,state --jq '.[] | select(.headRefName | startswith("feature/") or startswith("bug/") or startswith("docs/") or startswith("infra/"))'

Also run the bash helpers if a specific slug is in context:

  • ./scripts/plot-pr-state.sh <slug> — plan PR state
  • ./scripts/plot-impl-status.sh <slug> — impl PR states

2. Detect Current Context

**If on an idea/* branch:**

  • Read the plan file from docs/plans/<slug>.md on this branch
  • Check plan PR state (draft / ready / merged)
  • Suggest:

- If plan PR is draft: "Plan is still a draft. Refine it, then run gh pr ready <number> when ready for review." - If plan PR is non-draft (ready for review): "Plan is ready for review. Run /plot-approve <slug> to merge and create impl branches." - If plan PR is merged: "Plan is already approved. Run /plot-approve <slug> to create impl branches (if not already created)."

**If on an impl branch (feature/*, bug/*, docs/*, infra/*):**

  • Check if there's a corresponding approved plan via docs/plans/active/<slug>.md on main
  • If plan exists: show impl PR status, suggest keep working / mark ready / /plot-deliver
  • If no plan exists: warn "Orphan branch — no approved plan found. Consider running /plot-idea first."

If on main:

  • List all active plans with their phases
  • List any delivered plans awaiting release (from docs/plans/delivered/)
  • List active sprints with countdown and progress: week-1 — "Ship auth improvements" | 3 days remaining | Must: 2/4 done. Past end date: show "ended 2 days ago" factually — no warning tone, no nagging.
  • Show overall status summary
  • Suggest next action based on what's pending

Otherwise:

  • Show general status: active plans, open PRs, recent deliveries

3. Detect Issues

Flag any problems found:

  • Orphan impl branches: branches with feature/, bug/, docs/, infra/ prefix that have no corresponding plan in docs/plans/
  • Phase mismatches: plan says Draft but PR is non-draft, or plan says Approved but PR is still open
  • Stale drafts: impl PRs that have been in draft state for more than 7 days
  • Overlapping plans: Draft/Approved plans with titles sharing 3+ significant words — flag in the status summary as informational (no blocking)
  • Sprints past end date: active sprints where end date has passed — flag as informational
  • Multiple active sprints: more than one active sprint — flag as informational
Smaller models: Skip title-similarity detection. Only report exact slug matches (identical filenames). Title overlap detection requires mid-tier reasoning.

4. Status Summary

Print a clear summary:

## Plot Status

### Active Plans
- `<slug>` — Phase: <phase> | Plan PR: #<n> (<state>) | Impl PRs: <count> merged / <count> total

### Active Sprints
- `<slug>` — "<goal>" | <N> days remaining | Must: <n>/<m> | Should: <n>/<m> | Could: <n>/<m>

### Issues
- <issue description>

### Suggested Next Step
> <specific command or action>

Self-Improvement

If you encounter a workflow gap, a broken convention, or missing guidance in any Plot skill (plot, plot-idea, plot-approve, plot-deliver, plot-release, plot-sprint), don't just work around it — fix the skill:

  1. Create a PR from a fresh worktree of https://github.com/eins78/skills on a new branch, fixing the issue directly
  2. Or file an issue on https://github.com/eins78/skills with: what failed, the actual behavior, and the suggested fix

Never silently work around a skill gap. The fix benefits all future sessions.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.52%
按下载量换算47

Claude

31.67%
按下载量换算42

Cursor

19.01%
按下载量换算25

Gemini CLI

8.29%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/eins78/skills --skill plot 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills