Claude-skill-registry creating-a-goal

Use when setting up a new open-ended goal for autonomy tracking, before starting the first iteration

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/creating-a-goal" ~/.claude/skills/majiayu000-claude-skill-registry-creating-a-goal && rm -rf "$T"
manifest: skills/data/creating-a-goal/SKILL.md
source content

Creating a Goal

Overview

Set up a new open-ended goal by creating the directory structure, writing the goal definition, and preparing for iteration tracking.

Core principle: One-time setup. Run this once per goal, then use starting-an-iteration for all subsequent work.

When to Use

Use this skill when:

  • User runs
    /create-goal
    command
  • Starting a brand new open-ended goal
  • No existing autonomy goal directory exists

DO NOT use for:

  • Continuing existing goal (use starting-an-iteration instead)
  • Closed goals with definition of done (use ed3d-superpowers workflow)

Quick Reference

StepActionTool
1. Verify no existing goalCheck for autonomy directoryGlob
2. Get goal detailsPrompt user for goal statementUser interaction
3. Generate directory nameConvert to kebab-caseManual
4. Create structureMake directoryBash
5. Write goal.mdDocument goal definitionWrite
6. Announce readyTell user to run /start-iterationDirect output

Process

Step 1: Verify No Existing Goal

Check that no goal already exists:

# Use Glob to check
pattern: "autonomy/*/goal.md"

If goal.md found:

"An autonomy goal already exists: [goal-name]
Use '/start-iteration' to continue working on this goal.
If you want to create a different goal, first archive or remove the existing one."

Stop here - don't create duplicate goals.

If no goal found: Proceed to Step 2.

Step 2: Get Goal Details from User

Prompt user for goal information:

"What open-ended goal would you like to pursue?

This should be a goal that never truly completes - ongoing optimization, continuous improvement, or iterative exploration.

Examples:
- Maximize monthly recurring revenue
- Improve developer productivity
- Reduce customer churn
- Optimize application performance

Your goal:"

User provides goal statement.

Then ask about success criteria:

"What metrics or indicators should we track for this goal?

Since this is open-ended, there's no 'done' state, but we can track progress.

Examples:
- MRR: Starting at $45k/month
- Churn rate: Currently 13%
- Build time: Currently 5 minutes

Your metrics (or 'none' if not applicable):"

User provides metrics or indicates none.

Step 3: Generate Directory Name

Convert goal statement to kebab-case:

Rules:

  • Lowercase all characters
  • Replace spaces with hyphens
  • Remove special characters
  • Keep concise (max 50 chars)

Examples:

  • "Maximize monthly recurring revenue" →
    maximize-monthly-recurring-revenue
  • "Improve developer productivity" →
    improve-developer-productivity
  • "Reduce customer churn by 50%" →
    reduce-customer-churn

Step 4: Create Directory Structure

Create the goal directory:

# Use Bash to create directory
mkdir -p autonomy/[goal-name]

Step 5: Write goal.md

Create the goal definition file:

# Goal: [Original goal statement]

## Goal Statement
[Full description from user]

## Success Criteria
[Open-ended - note that this has no completion state]

## Metrics to Track
[If user provided metrics:]
- [Metric 1]: [Starting value]
- [Metric 2]: [Starting value]

[If no metrics:]
- No specific metrics defined
- Progress will be qualitative

## Current Status
Active - Ready for iteration 1

## Started
[Current date: YYYY-MM-DD]

## Notes
[Any additional context from user]

Write this file to:

autonomy/[goal-name]/goal.md

Step 6: Announce Ready

Inform user that goal is created:

**Goal created: [goal-name]**

Directory: `autonomy/[goal-name]/`
Goal definition: `autonomy/[goal-name]/goal.md`

---

**Next step:** Run `/start-iteration` to begin the first iteration.

This will:
- Create iteration-0001-[today's date].md
- Set up workspace for working toward the goal
- Track progress in iteration journals

Important Notes

Single Goal Per Project

Currently, autonomy supports one goal per project directory:

  • If goal.md exists, creation fails
  • User must archive/remove existing goal to create new one
  • Future enhancement could support multiple goals

Goal Naming

Keep directory names:

  • Descriptive but concise
  • Stable (won't change over time)
  • Filesystem-safe (kebab-case, no special chars)

Open-Ended Requirement

Verify goal is truly open-ended:

Good examples:

  • "Maximize X" - always can improve
  • "Reduce Y" - continuous optimization
  • "Improve Z" - never fully complete

Bad examples:

  • "Build authentication system" - has done state (use ed3d-superpowers)
  • "Fix bug #123" - has done state
  • "Write documentation" - has done state

If user suggests closed goal, guide them:

"This goal seems to have a clear completion state. For goals with a definition of 'done',
consider using the ed3d-superpowers development workflow instead.

Autonomy is designed for never-ending optimization and improvement goals.

Would you like to reframe this as an open-ended goal, or would a different workflow be better?"

Metrics Are Optional

Not all open-ended goals have quantifiable metrics:

  • "Improve code quality" - may be qualitative
  • "Increase team knowledge" - hard to measure
  • "Enhance user experience" - subjective

Accept "none" or "qualitative" as valid answers.

Common Mistakes

MistakeReality
"I'll create goal even though one exists"NO. One goal per project. Check first.
"User goal is closed-ended but I'll create anyway"NO. Guide to appropriate workflow.
"I'll skip metrics prompt to save time"NO. Always ask - user may have important metrics.
"Directory name can have spaces"NO. Use kebab-case only.
"I'll start first iteration automatically"NO. Let user run /start-iteration when ready.

After Creating

Once goal is created:

  • goal.md exists with definition
  • Directory ready for iteration journals
  • User runs
    /start-iteration
    to begin work
  • Iteration 1 will create first journal entry