@@ -134,3 +134,3 @@ "use strict"; | ||
| file: 'pspec.plan.md', | ||
| required: ['generate a feature-spec directory', 'Do not write the feature-spec directory in the same response where you ask questions.', 'finish the full planning run in one pass', 'Do not stop in the middle of Phase 2 to hand back a partial directory, draft files, TODO list, checkpoint, or "next steps"', '## Feature Specs', '## Active Work', '## Coverage Map', '`[>]` in progress', '## Data Model', '## API Contracts', '## UI States', '## User Interactions', '## Data Test IDs', 'request and response shapes', 'loading, empty, error, and success states', 'data-testid', '/pspec.implement .pspec/tasks/<spec-stem>/PROGRESS.md'], | ||
| required: ['generate a feature-spec directory', 'Do not write the feature-spec directory in the same response where you ask questions.', 'finish the full planning run in one pass', 'Do not stop in the middle of Phase 2 to hand back a partial directory, draft files, TODO list, checkpoint, or "next steps"', '## Feature Specs', '## Active Work', '## Coverage Map', '`[>]` in progress', '## Data Model', '## API Contracts', '## UI States', '## User Interactions', '## Data Test IDs', 'request and response shapes', 'loading, empty, error, and success states', 'data-testid', '/pspec.implement .pspec/tasks/<spec-stem>/PROGRESS.md', 'If no spec name or path is provided as an argument, stop', 'PRD not found', 'Run `/pspec.spec` first to create it', 'Do not proceed to Phase 1 or attempt to generate any content without a confirmed existing PRD file'], | ||
| forbidden: ['parallelizable', 'subtasks', 'aggregate_result', 'token_budget', 'Ask for approval only once', 'not confident enough to assume', 'files.create'] | ||
@@ -145,3 +145,3 @@ }, | ||
| file: 'pspec.implement.md', | ||
| required: ['treat the task directory as a feature-spec directory', 'Run the entire implementation loop from Phase 1 through Phase 6', 'Do not stop in the middle of the run to hand back a plan, TODO list, checkpoint, or "next steps"', 'Never tell the user to run `/pspec.implement` again to continue remaining feature specs.', 'If another runnable feature spec remains after one is marked `[x]`, immediately start the next eligible feature spec in the same run.', '## Feature Specs', '## Active Work', 'If `PROGRESS.md` already has one `[>]` feature spec, resume it before any new work', 'mark the feature spec `[>]`', 'implemented API endpoints still match the planned request/response shapes', 'implemented UI states, interactions, and `data-testid` values still match the feature spec', 'Check every bullet in `## Definition Of Done` one by one.', 'Do not return `done` while any `[ ]`, `[>]`, or `[~]` remains.', 'Do not use `partial` or `blocked` for a voluntary mid-run handoff.'], | ||
| required: ['treat the task directory as a feature-spec directory', 'Run the entire implementation loop from Phase 1 through Phase 6', 'Do not stop in the middle of the run to hand back a plan, TODO list, checkpoint, or "next steps"', 'Never tell the user to run `/pspec.implement` again to continue remaining feature specs.', 'If another runnable feature spec remains after one is marked `[x]`, immediately start the next eligible feature spec in the same run.', '## Feature Specs', '## Active Work', 'If `PROGRESS.md` already has one `[>]` feature spec, resume it before any new work', 'mark the feature spec `[>]`', 'implemented API endpoints still match the planned request/response shapes', 'implemented UI states, interactions, and `data-testid` values still match the feature spec', 'Check every bullet in `## Definition Of Done` one by one.', 'Do not return `done` while any `[ ]`, `[>]`, or `[~]` remains.', 'Do not use `partial` or `blocked` for a voluntary mid-run handoff.', 'If no task name, directory, or PROGRESS.md path is provided as an argument, stop', 'Task directory not found', 'Run `/pspec.plan` first to create it', 'Do not proceed to Phase 1 or attempt to generate any content without a confirmed existing task directory'], | ||
| forbidden: ['parallelizable', 'subagent', 'token_budget', 'log it and proceed to the next task', 'confidence is low'] | ||
@@ -148,0 +148,0 @@ }, |
| You are a Senior Software Engineer using the pspec framework. | ||
| When asked to /pspec.implement, treat the task directory as a feature-spec directory and work in 6 phases. | ||
| ## Prerequisite - Validate Task Directory Exists | ||
| Before starting any phase, validate the input: | ||
| - If no task name, directory, or PROGRESS.md path is provided as an argument, stop and report: "Usage: `/pspec.implement <task-path>`. Provide a task directory from `.pspec/tasks/`." | ||
| - If a PROGRESS.md path is given, verify the file exists. | ||
| - If a directory is given, verify it contains `PROGRESS.md`. | ||
| - If a task name is given, check `.pspec/tasks/<name>/PROGRESS.md`. | ||
| - If the path does not exist, stop and report: "Task directory not found: `<path>`. Run `/pspec.plan` first to create it." | ||
| - Do not proceed to Phase 1 or attempt to generate any content without a confirmed existing task directory. | ||
| ## Execution Guardrail | ||
@@ -16,3 +26,3 @@ | ||
| 1. Resolve the feature-spec directory in `.pspec/tasks/`. If the user passes `PROGRESS.md`, use its directory. If they pass a directory, use it directly. If unspecified, use the most recently updated feature-spec directory. | ||
| 1. Resolve the feature-spec directory using the validated path from the prerequisite step. If the user passes `PROGRESS.md`, use its directory. If they pass a directory, use it directly. | ||
| 2. Read `PROGRESS.md` first. Parse its YAML frontmatter before starting any feature spec: | ||
@@ -19,0 +29,0 @@ - use `context.key_files` as your exploration scope |
| You are an AI Technical Lead using the pspec framework. | ||
| When asked to /pspec.plan, treat the input as a PRD and generate a feature-spec directory in 2 phases. | ||
| ## Prerequisite - Validate PRD Exists | ||
| Before starting any phase, validate the input: | ||
| - If no spec name or path is provided as an argument, stop and report: "Usage: `/pspec.plan <spec-name>`. Provide a PRD name from `.pspec/specs/`." | ||
| - Verify the file exists at `.pspec/specs/<name>.md` (try both with and without `.md` extension). | ||
| - If the file does not exist, stop and report: "PRD not found: `.pspec/specs/<name>.md`. Run `/pspec.spec` first to create it." | ||
| - Do not proceed to Phase 1 or attempt to generate any content without a confirmed existing PRD file. | ||
| ## Phase 1 - Question Phase | ||
| 1. Determine which PRD to plan. If unspecified, use the most relevant recent file in `.pspec/specs/`. Ask only if multiple candidates differ materially. | ||
| 1. Use the validated PRD path from the prerequisite step. | ||
| 2. Read `AGENTS.md` or `CLAUDE.md` if present. Use project conventions found there when populating shared context. | ||
@@ -8,0 +16,0 @@ 3. Read the PRD and any referenced files. Read additional reference files only when the PRD does not provide enough implementation context. |
+1
-1
| { | ||
| "name": "pspec", | ||
| "version": "0.7.5", | ||
| "version": "0.7.6", | ||
| "description": "pspec (picospec) is the smallest specification toolkit for solo developers and AI agents", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
88110
1.86%613
0.16%