@howaboua/opencode-planning-toolkit
Advanced tools
| --- | ||
| name: plans-and-specs | ||
| description: |- | ||
| This SKILL provides detailed instructions on how to use the planning plugin tools. MUST be loaded when: | ||
| Situations: | ||
| - User asks to create a plan, roadmap, or break down work into steps | ||
| - User mentions specs, requirements, or standards that need to be documented | ||
| - User references an existing plan that needs to be read or updated | ||
| - User asks to mark work as complete or done | ||
| - User wants to link requirements to a plan | ||
| - User references a task that matches <available_plans> | ||
| --- | ||
| # Plans and Specs | ||
| <objective> | ||
| Plans are actionable work breakdowns stored as markdown with frontmatter. Specs are reusable requirements/documents. Plans link to specs via appendSpec. readPlan expands linked specs inline. | ||
| </objective> | ||
| <rules> | ||
| After createPlan: MUST call appendSpec for each REPO scope spec (sequential), then ask about FEATURE specs. | ||
| Before major work: MUST use readPlan to get plan + all linked specs. | ||
| appendSpec: MUST be sequential calls, never batch/parallel. | ||
| Specs MUST exist before appendSpec. | ||
| markPlanDone: MUST ensure plan fully completed first. | ||
| </rules> | ||
| <procedure> | ||
| ## Planning Workflow | ||
| 1. Check if plan already exists - if exact match, execute instead of creating | ||
| 2. createPlan with name, idea, description (3-5 words), steps (min 5) | ||
| 3. For each REPO spec returned: appendSpec(planName, specName) - sequential | ||
| 4. Ask user: "Want a FEATURE spec for this plan?" | ||
| 5. If yes: createSpec, then appendSpec | ||
| 6. Before work: readPlan to get full context | ||
| ## Spec Creation | ||
| createSpec with name, scope (repo/feature), reusable content. | ||
| ## Completion | ||
| markPlanDone only after all work verified complete. | ||
| </procedure> | ||
| <errors> | ||
| Invalid name: Use [A-Za-z0-9-], max 3 words. | ||
| Description error: 3-5 words, not overlapping name. | ||
| Steps error: Need min 5 specific steps. | ||
| Already exists: Use different name. | ||
| Spec not found: Create spec first. | ||
| Concurrent updates: appendSpec must be sequential. | ||
| </errors> |
| --- | ||
| name: plans-and-specs | ||
| description: |- | ||
| This SKILL provides detailed instructions on how to use the planning plugin tools. MUST be loaded when: | ||
| Situations: | ||
| - User asks to create a plan, roadmap, or break down work into steps | ||
| - User mentions specs, requirements, or standards that need to be documented | ||
| - User references an existing plan that needs to be read or updated | ||
| - User asks to mark work as complete or done | ||
| - User wants to link requirements to a plan | ||
| - User references a task that matches <available_plans> | ||
| --- | ||
| # Plans and Specs | ||
| <objective> | ||
| Plans are actionable work breakdowns stored as markdown with frontmatter. Specs are reusable requirements/documents. Plans link to specs via appendSpec. readPlan expands linked specs inline. | ||
| </objective> | ||
| <rules> | ||
| After createPlan: MUST call appendSpec for each REPO scope spec (sequential), then ask about FEATURE specs. | ||
| Before major work: MUST use readPlan to get plan + all linked specs. | ||
| appendSpec: MUST be sequential calls, never batch/parallel. | ||
| Specs MUST exist before appendSpec. | ||
| markPlanDone: MUST ensure plan fully completed first. | ||
| </rules> | ||
| <procedure> | ||
| ## Planning Workflow | ||
| 1. Check if plan already exists - if exact match, execute instead of creating | ||
| 2. createPlan with name, idea, description (3-5 words), steps (min 5) | ||
| 3. For each REPO spec returned: appendSpec(planName, specName) - sequential | ||
| 4. Ask user: "Want a FEATURE spec for this plan?" | ||
| 5. If yes: createSpec, then appendSpec | ||
| 6. Before work: readPlan to get full context | ||
| ## Spec Creation | ||
| createSpec with name, scope (repo/feature), reusable content. | ||
| ## Completion | ||
| markPlanDone only after all work verified complete. | ||
| </procedure> | ||
| <errors> | ||
| Invalid name: Use [A-Za-z0-9-], max 3 words. | ||
| Description error: 3-5 words, not overlapping name. | ||
| Steps error: Need min 5 specific steps. | ||
| Already exists: Use different name. | ||
| Spec not found: Create spec first. | ||
| Concurrent updates: appendSpec must be sequential. | ||
| </errors> |
+1
-4
@@ -5,6 +5,3 @@ import { createBundledSkillsHook } from "./skills"; | ||
| export const PlanPlugin = async (ctx) => { | ||
| const skillsHook = createBundledSkillsHook(); | ||
| const config = async (value) => { | ||
| await skillsHook.config?.(value); | ||
| }; | ||
| const { config } = createBundledSkillsHook(); | ||
| return { | ||
@@ -11,0 +8,0 @@ config, |
@@ -31,8 +31,4 @@ /** | ||
| config.skill.paths ??= []; | ||
| for (const skillPath of paths) { | ||
| if (!config.skills.paths.includes(skillPath)) | ||
| config.skills.paths.push(skillPath); | ||
| if (!config.skill.paths.includes(skillPath)) | ||
| config.skill.paths.push(skillPath); | ||
| } | ||
| config.skills.paths = [...new Set([...config.skills.paths, ...paths])]; | ||
| config.skill.paths = [...new Set([...config.skill.paths, ...paths])]; | ||
| }; | ||
@@ -39,0 +35,0 @@ export const createBundledSkillsHook = () => { |
@@ -48,6 +48,4 @@ /** | ||
| for (const skillPath of paths) { | ||
| if (!config.skills.paths.includes(skillPath)) config.skills.paths.push(skillPath) | ||
| if (!config.skill.paths.includes(skillPath)) config.skill.paths.push(skillPath) | ||
| } | ||
| config.skills.paths = [...new Set([...config.skills.paths, ...paths])] | ||
| config.skill.paths = [...new Set([...config.skill.paths, ...paths])] | ||
| } | ||
@@ -54,0 +52,0 @@ |
+1
-1
| { | ||
| "name": "@howaboua/opencode-planning-toolkit", | ||
| "version": "0.0.5", | ||
| "version": "0.0.6", | ||
| "description": "Comprehensive planning toolkit for OpenCode: manage specifications, track study plans, and automate roadmaps.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
| --- | ||
| name: planning-toolkit | ||
| description: |- | ||
| Use the planning toolkit tools to create plans and specs. Load this skill before running planning workflows in a repository. | ||
| Examples: | ||
| - user: "Create a plan" -> use createPlan then readPlan | ||
| - user: "Write a spec" -> use createSpec then appendSpec | ||
| --- | ||
| # Planning Toolkit Usage | ||
| <objective> | ||
| Use the planning toolkit tools to create and maintain plans and specs consistently. | ||
| </objective> | ||
| <rules> | ||
| - You MUST load this skill before using planning toolkit tools. | ||
| - Always validate plan/spec names against the allowed format. | ||
| - Follow existing plan/spec templates and status fields. | ||
| </rules> | ||
| <procedure> | ||
| ## 1. Identify the required artifact | ||
| Decide whether the task needs a plan or a spec. | ||
| ## 2. Create the artifact | ||
| Use the appropriate tool: | ||
| ```text | ||
| Use createPlan with the required fields. | ||
| ``` | ||
| ```text | ||
| Use createSpec with the required fields. | ||
| ``` | ||
| ## 3. Review or update | ||
| Use readPlan or appendSpec to refine the artifact as needed. | ||
| </procedure> |
| --- | ||
| name: plans-and-specs | ||
| description: |- | ||
| This SKILL provides detailed instructions on how to use the planning plugin tools. MUST be loaded when: | ||
| Situations: | ||
| - User asks to create a plan, roadmap, or break down work into steps | ||
| - User mentions specs, requirements, or standards that need to be documented | ||
| - User references an existing plan that needs to be read or updated | ||
| - User asks to mark work as complete or done | ||
| - User wants to link requirements to a plan | ||
| - User references a task that matches <available_plans> | ||
| --- | ||
| # Plans and Specs | ||
| <objective> | ||
| Plans are actionable work breakdowns stored as markdown with frontmatter. Specs are reusable requirements/documents. Plans link to specs via appendSpec. readPlan expands linked specs inline. | ||
| </objective> | ||
| <rules> | ||
| After createPlan: MUST call appendSpec for each REPO scope spec (sequential), then ask about FEATURE specs. | ||
| Before major work: MUST use readPlan to get plan + all linked specs. | ||
| appendSpec: MUST be sequential calls, never batch/parallel. | ||
| Specs MUST exist before appendSpec. | ||
| markPlanDone: MUST ensure plan fully completed first. | ||
| </rules> | ||
| <procedure> | ||
| ## Planning Workflow | ||
| 1. Check if plan already exists - if exact match, execute instead of creating | ||
| 2. createPlan with name, idea, description (3-5 words), steps (min 5) | ||
| 3. For each REPO spec returned: appendSpec(planName, specName) - sequential | ||
| 4. Ask user: "Want a FEATURE spec for this plan?" | ||
| 5. If yes: createSpec, then appendSpec | ||
| 6. Before work: readPlan to get full context | ||
| ## Spec Creation | ||
| createSpec with name, scope (repo/feature), reusable content. | ||
| ## Completion | ||
| markPlanDone only after all work verified complete. | ||
| </procedure> | ||
| <errors> | ||
| Invalid name: Use [A-Za-z0-9-], max 3 words. | ||
| Description error: 3-5 words, not overlapping name. | ||
| Steps error: Need min 5 specific steps. | ||
| Already exists: Use different name. | ||
| Spec not found: Create spec first. | ||
| Concurrent updates: appendSpec must be sequential. | ||
| </errors> |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
35155
2.05%0
-100%616
-1.44%