Use when setting up a new open-ended goal for autonomy tracking, before starting the first iteration
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: creating-a-goal
description: Use when setting up a new open-ended goal for autonomy tracking, before starting the first iteration
---
# 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
| Step | Action | Tool |
|------|--------|------|
| 1. Verify no existing goal | Check for autonomy directory | Glob |
| 2. Get goal details | Prompt user for goal statement | User interaction |
| 3. Generate directory name | Convert to kebab-case | Manual |
| 4. Create structure | Make directory | Bash |
| 5. Write goal.md | Document goal definition | Write |
| 6. Announce ready | Tell user to run /start-iteration | Direct output |
## Process
### Step 1: Verify No Existing Goal
Check that no goal already exists:
```bash
# 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:
```bash
# Use Bash to create directory
mkdir -p autonomy/[goal-name]
```
### Step 5: Write goal.md
Create the goal definition file:
```markdown
# 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:
```markdown
**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
| Mistake | Reality |
|---------|---------|
| "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
No comments yet. Be the first to comment!