agentsclimarketplace

Plansm

Skill spytensor/plansm/skills/plansm

Machine-verified planning with JSON state machines and proof-based completion. Generates plan.json, auto-executes with verification, prevents fake completion through tests.From its SKILL.md

Install
npx -y skills add spytensor/plansm --skill plansm

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • skips confirmationTells the agent to proceed without asking first, 3 times: "After generating plan.json, IMMEDIATELY start executing" and 2 more.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 4 commands, including `bash ${CLAUDE_PLUGIN_ROOT}/scripts/fsm.sh current` and 3 more.

SKILL.md

7.0 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

plansm: Machine-Verified Planning Skill

This skill implements end-to-end machine-verified planning and execution.

When to Use This Skill

User provides a development requirement like:

  • "Add dark mode toggle to my app"
  • "Implement user authentication with JWT"
  • "Add real-time notifications feature"

You run: /plansm and it handles everything automatically.

Core Workflow

Phase 1: Analyze Requirements

Deeply understand what the user wants to build:

  • What is the core functionality?
  • What files need to be created/modified?
  • What are the dependencies between tasks?
  • What verification is needed for each step?

Phase 2: Generate plan.json

IMPORTANT: Always create a NEW plan.json file for each task. This file is gitignored by default since it's task-specific working state. The repository may contain plan.json.example as a reference, but you should generate a fresh plan.json for each user request.

Create plan.json with this structure:

{
  "version": 1,
  "current_step": "STEP_001",
  "invariants": [
    "Do not mark VERIFIED without running verification.",
    "Only work on current_step unless explicitly unlocked.",
    "Test each step before advancing."
  ],
  "steps": [
    {
      "id": "STEP_001",
      "objective": "Descriptive objective of what to accomplish",
      "status": "PENDING",
      "depends_on": [],
      "verify": [
        {
          "type": "command|file_exists|file_contains|http",
          "...": "rule-specific fields"
        }
      ]
    }
  ]
}

Phase 3: Auto-Execution Loop

After generating plan.json, IMMEDIATELY start executing:

# Loop until all steps VERIFIED:
while true; do
  # 1. Check current step
  bash ${CLAUDE_PLUGIN_ROOT}/scripts/fsm.sh current

  # 2. Implement the step
  # Use appropriate subagents:
  # - Task tool with subagent_type="general-purpose" for implementation
  # - Task tool with subagent_type="Bash" for git/command operations
  # - Edit/Write tools for file changes

  # 3. Verify the step
  bash ${CLAUDE_PLUGIN_ROOT}/scripts/verify.sh --current

  # 4. If verification passes, advance
  if verification_passed; then
    bash ${CLAUDE_PLUGIN_ROOT}/scripts/fsm.sh advance
  else
    # Fix the issue and retry
    fix_and_retry
  fi

  # 5. Check if done
  if all_steps_verified; then
    break
  fi
done

Phase 4: Report Completion

When all steps VERIFIED:

  1. Show summary of completed steps
  2. Confirm all verifications passed
  3. Report success to user

verification rules Types

command: Run a command, check exit code

{
  "type": "command",
  "cmd": "npm test",
  "expect": {"exit_code": 0}
}

file_exists: Check if file exists

{
  "type": "file_exists",
  "file": "src/components/NewFeature.tsx"
}

file_contains: Check file content

{
  "type": "file_contains",
  "file": "src/index.ts",
  "pattern": "export.*NewFeature"
}

http: Check HTTP response

{
  "type": "http",
  "url": "http://localhost:3000/api/health",
  "expect_status": 200,
  "expect_body": "ok"
}

glob_pattern_check: Check ALL files match pattern

{
  "type": "glob_pattern_check",
  "glob": "src/components/*.tsx",
  "pattern": "export default",
  "expect": {
    "min_count": 5
  }
}

WARNING - Sampling Verification Trap:

When verifying multiple files need a change, ALWAYS use glob_pattern_check instead of file_contains. Checking only one file is a common verification vulnerability.

VULNERABLE:

{
  "type": "file_contains",
  "file": "src/utils/math.ts",
  "pattern": "export function"
}

Problem: Only checks ONE file. LLM could forget other files in src/utils/.

SECURE:

{
  "type": "glob_pattern_check",
  "glob": "src/utils/*.ts",
  "pattern": "export function",
  "expect": {
    "min_count": 5
  }
}

Solution: Checks ALL files matching the glob. Verification fails if ANY file is missing the pattern.

Task Breakdown Principles

  • Atomic steps: Each step should be independently verifiable
  • Clear dependencies: Use depends_on: ["STEP_XXX"] for ordering
  • Start LOCKED: Steps with dependencies start as LOCKED status
  • Reasonable granularity: Not too fine (10+ steps for simple task), not too coarse (1 step for complex feature)
  • Verification first: Always think "how do I PROVE this is done?" before writing the step

Important Rules

  1. NEVER manually edit status fields in plan.json - only verification scripts can do this
  2. ALWAYS verify before marking complete
  3. Use subagents for complex tasks - don't do everything yourself
  4. Keep going until ALL steps are VERIFIED - no stopping midway
  5. Each task gets a NEW plan.json - don't reuse or append to existing plans
  6. plan.json is gitignored - it's working state, not committed. plan.json.example is the reference template

Example Execution

User runs: /plansm

You respond:

I'll implement this feature using machine-verified planning.

Step 1: Analyzing requirements...
- Need: Theme context provider
- Need: Dark mode toggle component
- Need: CSS variable system
- Need: Integration tests

Step 2: Generating plan.json with 5 steps...
✓ Plan generated

Step 3: Auto-executing...

STEP_001: Create theme context provider
[Implements ThemeContext.tsx]
[Runs verification]
✓ Verified - file exists and exports ThemeContext

STEP_002: Create dark mode toggle component
[Implements DarkModeToggle.tsx]
[Runs verification]
✓ Verified - file exists and tests pass

STEP_003: Add CSS variables for theming
[Updates global.css]
[Runs verification]
✓ Verified - CSS contains theme variables

STEP_004: Integrate toggle in app header
[Updates Header.tsx]
[Runs verification]
✓ Verified - import statement found

STEP_005: Run full test suite
[Executes npm test]
✓ Verified - all tests pass

All steps completed and verified!

Summary:
- 5 steps executed
- 5 verifications passed
- Feature fully implemented

Integration with Subagents

For each step implementation, choose the right tool:

  • Simple edits: Use Edit/Write directly
  • Complex logic: Use Task tool with general-purpose agent
  • Git operations: Use Bash tool or Task with Bash agent
  • Research needed: Use Task with Explore agent first

Key Difference from Manual Planning

Without plansm: LLM says "done" → code might be broken → user discovers bugs later

With plansm: LLM must pass verification → tests prove completion → guaranteed working code

Start now - analyze the requirement, generate the plan.json, and begin automatic execution!

What ships with it: 13 files

26.8 KB alongside SKILL.md, 3 of them executable

references/

scripts/

templates/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.