agentleFS
markmhendricksonmarkmhendrickson/neotoma/.claude/skills/create_release/SKILL.md

create_release

Skill38 starsChanged 2 months agoMITView on GitHub

Create New Release

The file

Show its rules and text

We split this skill into the rules it gives an agent

38 rules. About 0 are common, 27 are distinctive, and 11 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈27

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Explicit Command: Use when you know exactly what you want: start a new release, plan multi-FU work with dependency resolution, generate …

    line 15
  2. Distinctive:

    Check if Release plan exists:

    line 39
  3. Distinctive:

    Do not wait for a response before proceeding to Step 3.

    line 75
  4. Distinctive:

    Detect cycles: If cycle found → REJECT with error message.

    line 84
  5. Distinctive:

    Validate dependencies: If any required FU is ⏳ Not Started and not in this Release → REJECT.

    line 85
  6. Very specific:

    Add these to integration_tests.md with explicit pass/fail conditions

    line 126
  7. Very specific:

    Update Release status to in_progress

    line 134
  8. Distinctive:

    Before starting execution, prompt user for execution strategy:

    line 146
  9. Distinctive:

    If single-agent selected, orchestrator recommends model based on release complexity

    line 149
  10. Distinctive:

    Check if FU spec exists

    line 159
  11. Very specific:

    If not, run Create New Feature Unit command (Checkpoint 0)

    line 160
  12. Very specific:

    If UI FU and no prototype, run Create Prototype command

    line 161
  13. Distinctive:

    If UI FU and prototype not approved, run Checkpoint 1 (Prototype Review)

    line 162
  14. Very specific:

    Run Run Feature Workflow command to implement FU

    line 163
  15. Very specific:

    Run Final Review command (Checkpoint 2) for FU approval

    line 164
  16. Distinctive:

    If multiple FUs in batch, suggest running in parallel (separate agent sessions or worktrees)

    line 165
  17. Distinctive:

    Test flows that span multiple FUs in this batch

    line 172
  18. Distinctive:

    If tests fail: STOP and report failures to user.

    line 173
  19. Distinctive:

    If tests pass, proceed

    line 174
  20. Very specific:

    Update progress percentage: (completed_batches / total_batches) * 100

    line 178
  21. Very specific:

    If any decisions were made during batch execution (scope changes, FU deferrals, etc.), append to Decision Log in status.md with timestamp

    line 179
  22. Very specific:

    Check if mid-release checkpoint is configured: Look for checkpoint_1_after_batch in manifest.yaml.

    line 190
  23. Distinctive:

    If configured and batch threshold reached, present mid-release status:

    line 192
  24. Distinctive:

    Run full integration test suite:

    line 214
  25. Distinctive:

    Check Release-level acceptance criteria:

    line 222
  26. Distinctive:

    If tests fail: STOP and report failures to user.

    line 237
  27. Distinctive:

    Run database migrations (if any)

    line 284
  28. Distinctive:

    If deployment fails: STOP and report failure, execute rollback plan, user investigates and fixes.

    line 294
  29. Very specific:

    If deployment succeeds: Update Release status to deployed, record deployment timestamp, proceed to Step 9.

    line 296
  30. Distinctive:

    Check that key metrics from acceptance criteria are being collected

    line 303
  31. Distinctive:

    Verify dashboards are accessible

    line 304
  32. Distinctive:

    Add links to dashboards, alerts to Release status doc

    line 308
  33. Very specific:

    Update status to completed

    line 312
  34. Distinctive:

    Do NOT proceed past Checkpoint 0 without complete Release plan

    line 429
  35. Distinctive:

    Always validate FU dependencies before generating schedule

    line 430
  36. Distinctive:

    Always run cross-FU integration tests after each batch

    line 432
  37. Distinctive:

    Always get user approval at Checkpoints 0, 1 (if configured), 2

    line 433
  38. Distinctive:

    Do NOT deploy without passing integration tests and acceptance criteria

    line 434

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<!-- Source: .cursor/skills/create-release/SKILL.md -->

Create New Release

Orchestrates multiple Feature Units into a cohesive release. Implements the Release workflow from foundation/development/release_workflow.md.

When to Use

Explicit Command: Use when you know exactly what you want: start a new release, plan multi-FU work with dependency resolution, generate execution schedules with parallelization, orchestrate FU creation/execution in dependency order, run cross-FU integration tests.

Automatic Detection: This workflow can also be triggered automatically via .claude/rules/release_detection.md when you mention release-related patterns in natural language (e.g., "new release", "release v1.1.0"). Both paths execute the same workflow.

This is a foundation command. If installed, it will be available in .claude/skills/ via symlink.

Prerequisites

  • Release ID chosen (format: vX.Y.Z, e.g., v1.0.0)
  • Release scope roughly defined (what's in, what's out)
  • FU IDs for included work identified (or to be created)

Command Execution

Step 1: Load Documentation

Load required documents:

  • foundation/development/release_workflow.md (primary workflow)
  • docs/feature_units/standards/creating_feature_units.md (FU creation)
  • docs/feature_units/standards/execution_instructions.md (FU execution)
  • docs/feature_units/completed/ and docs/feature_units/in_progress/ (for Feature Unit specs)

Step 2: Checkpoint 0 — Release Planning

Check if Release plan exists:

  • Look for docs/releases/in_progress/{release_id}/release_plan.md
  • Look for docs/releases/in_progress/{release_id}/manifest.yaml

If Release plan exists: Load and validate. If complete → proceed to Step 3. If incomplete → prompt user to complete.

If Release plan does NOT exist: Prompt user interactively for Release details:

  1. Release name and version (e.g., "MVP", "v1.0.0")
  2. Release goal (1-2 sentence summary of what this ships)
  3. Target ship date (date or "when ready")
  4. Priority (P0 critical / P1 high / P2 normal)
  5. Included Feature Units (list of FU IDs, e.g., "FU-100, FU-101, FU-102")
  6. Excluded scope (what's explicitly NOT in this release)
  7. Release-level acceptance criteria:
    • Product acceptance (core workflows, empty/error states)
    • Technical acceptance (test coverage, performance, integrity)
    • Business acceptance (metrics, KPIs)
  8. Cross-FU integration test requirements (flows that span multiple FUs)
  9. Deployment strategy (staging_first / canary / full_rollout)
  10. Rollback plan (how to revert if issues found)
  11. Post-release monitoring plan (key metrics, alerts)

After user input: Generate complete Release plan (release_plan.md), create manifest YAML (manifest.yaml), create integration test spec (integration_tests.md), create status tracker (status.md), save all to docs/releases/in_progress/{release_id}/.

After saving the release plan, offer the publish-plan prompt once:

Release plan saved to docs/releases/in_progress/{release_id}/release_plan.md.

Would you like to share this as a GitHub Discussion for pre-execution
input? Run /publish-plan docs/releases/in_progress/{release_id}/release_plan.md
to generate a public-facing post.

Do not wait for a response before proceeding to Step 3.

Step 3: Dependency Analysis and Schedule Generation

Analyze dependencies:

  1. Load all FU manifests for FUs in Release
  2. Extract dependencies from each FU's dependencies.requires field
  3. Build dependency graph: FU → [list of required FUs]
  4. Detect cycles: If cycle found → REJECT with error message. List cycle: "FU-A → FU-B → FU-C → FU-A"
  5. Validate dependencies: If any required FU is ⏳ Not Started and not in this Release → REJECT. If any required FU is 🔨 Partial → WARN but allow with user confirmation. If any required FU is ✅ Complete → proceed.

Generate execution schedule:

  1. Perform topological sort of FU dependency graph
  2. Group into batches:
    • Batch 0: FUs with no dependencies
    • Batch 1: FUs that depend only on Batch 0
    • Batch 2: FUs that depend only on Batch 0 or 1
    • ... continue until all FUs assigned to batches
  3. Identify parallelization opportunities:
    • Within each batch, FUs can execute in parallel
  4. Estimate timeline:
    • Sum FU effort estimates per batch
    • Account for parallelization (divide by number of parallel agents if applicable)
  5. Save execution schedule to execution_schedule.md

Pre-Mortem Analysis:

  1. Identify top 3-5 most likely failure modes for this Release
  2. For each failure mode, specify:
    • Early warning signals (metrics, test failures, timeline slips)
    • Mitigating FUs or actions
    • Rollback plan
  3. Present pre-mortem to user and ask:
    • "Do these failure modes match your concerns? (yes/no)"
    • "What other failure modes should we plan for?"
  4. Incorporate feedback and add "Pre-Mortem" section to Release plan

WIP and Parallelization Limits:

  1. Encode limits in manifest.yaml:
    • max_parallel_fus: <number> (default: 3)
    • max_high_risk_in_parallel: <number> (default: 1)
  2. Present limits to user: "Proposed limits: max_parallel_fus=3, max_high_risk_in_parallel=1. Approve? (yes/modify)"

Machine-Checkable Exit Criteria:

  1. For each Release acceptance criterion, define:
    • Concrete test suite or script that validates it
    • Single metric or query that proves it
  2. Add these to integration_tests.md with explicit pass/fail conditions
  3. Present to user: "Each acceptance criterion now has a machine-checkable test. Review? (yes/modify)"

Present schedule to user: Display batch breakdown, show which FUs run in parallel, show estimated timeline, show WIP limits and pre-mortem failure modes. STOP and prompt: "Approve execution schedule? (yes/no/modify)"

If user approves:

  • Initialize status.md with "Decision Log" section (empty initially)
  • Update Release status to in_progress
  • Proceed to Step 4

If user requests modifications:

  • Adjust schedule based on user input
  • Re-present for approval

Step 4: Execute FU Batches (Autonomous)

Before starting execution, prompt user for execution strategy:

  • Run node scripts/release_orchestrator.js <release_id>
  • Orchestrator will prompt: "How would you like to execute this release build? 1. Single-agent (sequential execution) 2. Multi-agent (parallel execution)"
  • If single-agent selected, orchestrator recommends model based on release complexity
  • Selected strategy saved to manifest.yaml

For each batch in execution schedule (in order):

Batch Execution Loop:

  1. Start all FUs in batch:

    • For each FU in batch:
      • Check if FU spec exists
      • If not, run Create New Feature Unit command (Checkpoint 0)
      • If UI FU and no prototype, run Create Prototype command
      • If UI FU and prototype not approved, run Checkpoint 1 (Prototype Review)
      • Run Run Feature Workflow command to implement FU
      • Run Final Review command (Checkpoint 2) for FU approval
    • If multiple FUs in batch, suggest running in parallel (separate agent sessions or worktrees)
  2. Wait for all FUs in batch to complete
  3. Run cross-FU integration tests:

    • Execute integration test suite from integration_tests.md
    • Test flows that span multiple FUs in this batch
    • If tests fail: STOP and report failures to user. User decides: fix and retry, skip FU, or abort Release
    • If tests pass, proceed
  4. Update Release status:
    • Mark batch as completed in status.md
    • Update progress percentage: (completed_batches / total_batches) * 100
    • If any decisions were made during batch execution (scope changes, FU deferrals, etc.), append to Decision Log in status.md with timestamp

After all batches complete:

  • Mark all FUs as completed in status tracker
  • Proceed to Step 5

Step 5: Checkpoint 1 — Mid-Release Review (Optional)

Check if mid-release checkpoint is configured: Look for checkpoint_1_after_batch in manifest.yaml. If not configured, skip to Step 6.

If configured and batch threshold reached, present mid-release status:

  • "Mid-release checkpoint reached"
  • "FUs completed: X/Y"
  • "Integration tests: [pass/fail summary]"
  • "Current batch: N"
  • "Remaining batches: [list]"

STOP and prompt user:

  • "Continue to remaining FUs? (yes/no/pause)"

If user responds:

  • yes → continue to remaining batches
  • no → halt execution, mark Release as paused
  • pause → halt execution, user can resume later

Step 6: Cross-Release Integration Testing

Run full integration test suite:

  1. Execute all tests from integration_tests.md
  2. Run end-to-end user flows that span multiple FUs
  3. Verify no regressions in existing functionality
  4. Run performance benchmarks (if specified in acceptance criteria)
  5. Verify graph integrity (0 orphans, 0 cycles if applicable)

Check Release-level acceptance criteria:

  • Product acceptance: Core workflows functional?
  • Technical acceptance: Test coverage met? Performance targets hit?
  • Business acceptance: Metrics instrumented? Analytics ready?

Generate integration test report:

  • Save to integration_test_report.md
  • Include:
    • Pass/fail summary
    • Performance metrics
    • Regression test results
    • Issues found (if any)

If tests fail: STOP and report failures to user. User decides: fix issues and re-test, or abort Release.

If all tests pass: Proceed to Step 7.

Step 7: Checkpoint 2 — Pre-Release Sign-Off

Present Release summary:

  • FUs completed: X/Y (with list)
  • Integration tests: [pass/fail summary with link to report]
  • Acceptance criteria: [checklist with ✅ / ❌ status]
  • Release plan: [link]
  • Integration test report: [link]

STOP and prompt user:

  • "Release {release_id} ready for deployment."
  • "All FUs complete: [list with status]"
  • "Integration tests passed: [summary]"
  • "Acceptance criteria met: [checklist]"
  • "Approve for deployment? (yes/no)"
  • "Any final changes needed? (list or 'none')"

If user requests changes:

  • Apply changes
  • Re-run affected tests
  • Update status
  • Repeat Checkpoint 2 until approved

If user approves:

  • Update Release status to ready_for_deployment
  • Proceed to Step 8

Step 8: Deployment

Execute deployment plan:

  1. Follow deployment strategy from Release plan:
    • staging_first: Deploy to staging, run smoke tests, then production
    • canary: Deploy to small % of users, monitor, then full rollout
    • full_rollout: Deploy to all users at once
  2. Run deployment steps:
    • Build production bundle
    • Run database migrations (if any)
    • Deploy backend services
    • Deploy frontend assets
    • Run health checks
    • Run smoke tests
  3. Verify deployment success:
    • Health checks pass?
    • Smoke tests pass?
    • Key metrics normal?

If deployment fails: STOP and report failure, execute rollback plan, user investigates and fixes.

If deployment succeeds: Update Release status to deployed, record deployment timestamp, proceed to Step 9.

Step 9: Post-Release Monitoring Setup

Setup monitoring:

  1. Verify metrics instrumentation:
    • Check that key metrics from acceptance criteria are being collected
    • Verify dashboards are accessible
  2. Setup alerts:
    • Configure alerts for critical metrics (error rates, latency, etc.)
  3. Document monitoring links:
    • Add links to dashboards, alerts to Release status doc

Mark Release as completed:

  • Update status to completed
  • Move Release files from in_progress/ to completed/:
    mv docs/releases/in_progress/{release_id} docs/releases/completed/{release_id}

Present completion summary:

  • "Release {release_id} deployed and complete!"
  • "Deployed at: {timestamp}"
  • "Monitoring: {dashboard_links}"
  • "FUs shipped: [list]"

Example Interaction

User: Create release v1.0.0 for MVP

Agent: Loading Release workflow documentation...

Agent: No existing Release plan found for v1.0.0. Starting interactive Release planning (Checkpoint 0).

Agent: What is the Release name and version?
User: MVP, v1.0.0

Agent: What is the Release goal? (1-2 sentence summary)
User: Ship deterministic Truth Layer with ingestion, extraction, entity resolution, timeline, and MCP access for AI tools. Support multi-user teams.

Agent: What is the target ship date?
User: 2025-03-01

Agent: What is the priority?
User: P0 critical

Agent: Which Feature Units should be included? (list FU IDs)
User: FU-100, FU-101, FU-102, FU-103, FU-105, FU-300, FU-700, FU-701

Agent: [loads the matching Feature Unit specs from `docs/feature_units/`]

Agent: What scope is explicitly excluded from this release?
User: Semantic search, Plaid integration, X/Instagram integrations (all post-MVP)

Agent: What are the Release-level acceptance criteria? (product, technical, business)
User: [provides release-specific criteria]

Agent: What cross-FU integration tests are required?
User: Full user flow: upload → extraction → entity resolution → event generation → timeline display → AI query via MCP

Agent: What is the deployment strategy?
User: staging_first

Agent: What is the rollback plan?
User: Revert to previous release tag, restore DB snapshot if needed

Agent: What monitoring plan should be setup post-release?
User: Monitor upload success rate, P95 latency, DAU, orphan node count

Agent: Generating Release plan, manifest, and integration test spec...
Agent: Analyzing FU dependencies...
Agent: Dependency graph:
  FU-100 → []
  FU-101 → [FU-100]
  FU-102 → [FU-100]
  FU-103 → [FU-101, FU-102]
  FU-105 → [FU-103]
  FU-300 → []
  FU-700 → []
  FU-701 → [FU-700]

Agent: Generating execution schedule...
Agent: Execution schedule:
  Batch 0: FU-100, FU-300, FU-700 (can run in parallel)
  Batch 1: FU-101, FU-102 (can run in parallel, depend on FU-100)
  Batch 2: FU-103 (depends on FU-101, FU-102)
  Batch 3: FU-105, FU-701 (can run in parallel, FU-105 depends on FU-103, FU-701 depends on FU-700)

Agent: Estimated timeline: 11-14 days (with parallelization across 3 agents)

Agent: Approve execution schedule? (yes/no/modify)
User: yes

Agent: Starting batch execution...
Agent: Batch 0: Starting FU-100, FU-300, FU-700 in parallel...
[FU execution proceeds autonomously]
Agent: Batch 0 complete. Running cross-FU integration tests...
Agent: Integration tests passed.
Agent: Batch 1: Starting FU-101, FU-102 in parallel...
[continues through all batches]

Agent: All batches complete. Running full integration test suite...
Agent: All integration tests passed.
Agent: Release v1.0.0 ready for deployment.
Agent: All FUs complete: FU-100 ✅, FU-101 ✅, FU-102 ✅, FU-103 ✅, FU-105 ✅, FU-300 ✅, FU-700 ✅, FU-701 ✅
Agent: Integration tests passed: 12/12
Agent: Acceptance criteria met: ✅ Product, ✅ Technical, ✅ Business
Agent: Approve for deployment? (yes/no)
User: yes

Agent: Deploying to staging...
Agent: Staging smoke tests passed.
Agent: Deploying to production...
Agent: Production health checks passed.
Agent: Release v1.0.0 deployed and complete!
Agent: Monitoring: [dashboard links]

Agent Instructions

Load Order

  1. foundation/development/release_workflow.md (primary)
  2. docs/feature_units/standards/creating_feature_units.md (for FU creation)
  3. docs/feature_units/standards/execution_instructions.md (for FU execution)
  4. docs/feature_units/completed/ and docs/feature_units/in_progress/ (for Feature Unit specs)

Constraints

  • Do NOT proceed past Checkpoint 0 without complete Release plan
  • Always validate FU dependencies before generating schedule
  • REJECT if circular dependencies detected
  • Always run cross-FU integration tests after each batch
  • Always get user approval at Checkpoints 0, 1 (if configured), 2
  • Do NOT deploy without passing integration tests and acceptance criteria

Forbidden Patterns

  • Starting FUs out of dependency order
  • Skipping integration tests
  • Proceeding without user approval at checkpoints
  • Deploying with failing tests or unmet acceptance criteria

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.