Skip to content
Back to skills

Ascent Feature Brief

ASecurity

Creates concise feature briefs for handoff to Claude Code. Use when users want to document a feature for implementation, need a spec for coding, want to capture architecture decisions for handoff, or are planning features to be built by an AI coding agent. Generates token-efficient implementation directives that communicate intent while delegating schema discovery to the coding agent.

  • 27 stars
  • 0 votes
  • 0 copies
  • 16 views
  • Added June 14, 2026
developmentgoswifttestingapidatabasefrontendbackend

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 14, 2026

npx -y skills add JeremyKalmus/parade --skill ascent-feature-brief --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ascent Feature Brief?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ascent Feature Brief
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremykalmus-ascent-feature-brief/badge)](https://www.skillsdirectory.com/skills/jeremykalmus-ascent-feature-brief)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ascent-feature-brief
description: Creates concise feature briefs for handoff to Claude Code. Use when users want to document a feature for implementation, need a spec for coding, want to capture architecture decisions for handoff, or are planning features to be built by an AI coding agent. Generates token-efficient implementation directives that communicate intent while delegating schema discovery to the coding agent.
---

# Feature Brief Generator

Create concise, token-efficient feature briefs that communicate implementation intent to Claude Code while delegating technical discovery to the coding agent.

## Design Philosophy

Feature briefs are **implementation directives**, not detailed design specs. They:

- Communicate *what* to build and *why*, not *how*
- Set boundaries and constraints clearly
- Delegate schema/codebase discovery to Claude Code
- Preserve context window for actual implementation work

## Brief Structure

### Task List Link (When Available)

**When a task list exists for the feature, include a link to it immediately after the title.**

This creates bidirectional linking between the brief and task list for easy navigation in Obsidian.

```markdown
# Feature Brief: [Feature Name]

**Task List:** [feature-name-tasks.md](feature-name-tasks.md)
```

**Guidelines:**
- Place the link on the line immediately after the main title
- Use Obsidian-compatible format: `[filename.md]` or `[filename.md](filename.md)`
- The filename should match the actual task list filename in the same folder
- Only add this link if a task list has been created
- This enables automatic linking in Obsidian and ensures traceability

### Content Sections

Generate briefs using this structure:

### 1. Summary (2-3 sentences)

State what we're building and the core user value. Be specific about the outcome.

**Good**: "Add workout sync functionality that pulls completed workouts from HealthKit and stores them in the app's database. This enables users to see their training history without manual entry."

**Weak**: "Implement HealthKit integration for workouts."

### 2. User Stories (bulleted, concise)

Key workflows in "As a user, I can..." format. Focus on observable behaviors, not implementation.

```
- As a user, I can see my completed workouts from Apple Watch in the app
- As a user, I can view workout details including duration, distance, and heart rate
- As a user, I can manually refresh to pull latest workouts
```

Limit to 3-6 stories. If more are needed, the feature may need splitting.

### 3. Behavior & Rules

How the feature should work. Include:

- Core business logic
- Data flow (conceptually)
- Edge cases worth highlighting
- Error states and how to handle them

Write as prose or short bullets. Avoid implementation details—focus on *what happens*, not *how it's coded*.

```
Workouts sync on app launch and manual refresh. Only workouts completed after 
the user's account creation date should sync. Duplicate detection uses the 
HealthKit workout UUID. If a workout already exists, skip it silently.

For workouts without GPS data, distance may be nil—display "—" in the UI.
```

### 4. Boundaries

Explicit scope limits. What this feature does NOT do.

```
Out of scope:
- Real-time streaming of in-progress workouts
- Editing or deleting synced workouts
- Syncing to other platforms (Strava, Garmin)
- Background sync (manual/app-launch only for v1)
```

This prevents scope creep during implementation.

### 5. Implementation Guidance

Instructions for Claude Code. This is the prompt engineering section.

Standard template:

```
## Implementation Guidance

Before implementing:
1. Query the database schema to understand current table structures
2. Examine existing patterns in [relevant area/module]
3. Review how similar features handle [relevant concern]

Propose a plan before writing code. Include:
- Which tables/models will be created or modified
- Key functions or services needed
- How this integrates with existing code

[Any feature-specific technical hints, e.g.:]
- Use the existing HealthKitService for Apple Health integration
- Follow the medallion architecture pattern (Bronze → Silver → Gold)
- Coordinate with the existing sync queue for background operations
```

Adjust based on what's relevant to the feature.

## Output Format

Present the brief in a clean, copy-paste-ready format with **Obsidian-compatible YAML frontmatter**:

```markdown
---
status: not_started
priority: [high | medium | low]
agent: claude-code
created: YYYY-MM-DD
tags: [tag1, tag2]
---
# Feature Brief: [Feature Name]

**Task List:** [feature-name-tasks.md](feature-name-tasks.md) _(Add this link when task list is created)_

## Summary
[2-3 sentences]

## User Stories
- As a user, I can...
- As a user, I can...

## Behavior & Rules
[Prose describing how it works]

## Boundaries
Out of scope:
- [Item]
- [Item]

## Implementation Guidance
[Instructions for Claude Code]
```

### YAML Frontmatter Fields

All feature briefs **must include** these frontmatter fields for Obsidian dashboard tracking:

| Field | Required | Values | Description |
|-------|----------|--------|-------------|
| `status` | Yes | `in_progress`, `testing`, `not_started`, `blocked`, `complete` | Current state of the feature |
| `priority` | Yes (in_progress/not_started) | `critical`, `high`, `medium`, `low` | Feature priority level |
| `agent` | Yes | `claude-code`, `human`, `team` | Who/what is working on it |
| `created` | Yes | `YYYY-MM-DD` | Date the brief was created |
| `started` | Yes | `YYYY-MM-DD` | When work started |
| `completed` | If complete | `YYYY-MM-DD` | Completion date |
| `tags` | Yes | Array of strings | Searchable tags |
| `notes` | Yes | Multi-line string | Brief description |
| `dependencies` | Optional | Array of strings | Other features/tasks that must complete first (e.g., `["feature-name (complete)"]`) |

### Tags

Include relevant tags for cross-cutting concern filtering. Common tags:

| Tag | When to use |
|-----|-------------|
| `ios` | Features with iOS/Swift implementation |
| `supabase` | Features touching database or Edge Functions |
| `ai` | Features using Claude API or AI processing |
| `ui` | Frontend/UI focused features |
| `backend` | Backend/API focused features |
| `analytics` | Data analytics features |
| `onboarding` | User onboarding related |

Example with all fields:
```yaml
---
status: in_progress
priority: high
agent: claude-code
created: 2025-12-12
started: 2025-12-15
tags: [ios, supabase, ai]
notes: |
  This feature depends on the workout sync infrastructure being complete.
  Priority: After hydration testing, before advanced dimensionality.
dependencies:
  - workout-sync (complete)
---
```

Minimal example (required fields only):
```yaml
---
status: not_started
priority: high
agent: claude-code
created: 2025-12-12
started: 2025-12-12
tags: [ios, supabase]
notes: |
  Brief description of the feature.
---
```

**Status transitions:**
- New briefs start as `not_started` with `created: YYYY-MM-DD`
- When implementation begins, change to `in_progress` and add `started: YYYY-MM-DD`
- When ready for testing, change to `testing`
- Use `blocked` if waiting on external dependencies
- Use `complete` when feature is done and add `completed: YYYY-MM-DD` (before archiving)

**Priority Requirements:**
- Required for `status: in_progress` and `status: not_started`
- Optional for `status: complete`, `status: testing`, `status: blocked`
- Priority values: `critical` (highest) → `high` → `medium` → `low` (lowest)

## Generating Briefs

When the user requests a feature brief:

1. **Clarify scope** if the feature is ambiguous—ask what's in/out before writing
2. **Extract user value** from the discussion—why does this matter?
3. **Identify boundaries** from what was discussed vs. deferred
4. **Write concisely**—every sentence should earn its tokens
5. **Include discovery instructions** appropriate to their codebase

## File Location & Folder Creation

**IMPORTANT:** Create folder first (`mkdir -p`), then write brief file, confirm location.

**Path:** `Docs/AscentTraining_Docs/features/[Feature-Name]/[feature-name]-brief.md`

**Naming:** Folders Title-Case with hyphens, files lowercase with hyphens. Reference `Docs/AscentTraining_Docs/README.md` for structure.

## Quality Checklist

Before delivering a brief, verify:

- [ ] **YAML frontmatter** includes status, priority, agent, and created fields
- [ ] **Task list link** is added at the top when a task list exists (using Obsidian format `[filename.md]`)
- [ ] Summary states clear user value, not just technical action
- [ ] User stories describe observable behaviors
- [ ] Behavior section covers happy path AND edge cases
- [ ] Boundaries explicitly list what's out of scope
- [ ] Implementation guidance tells Claude Code what to discover
- [ ] Total length is under ~400 words (token-efficient)
- [ ] No implementation details that Claude Code should discover itself
- [ ] **File saved** in `Docs/AscentTraining_Docs/features/[Feature-Name]/`

## Post-Creation Updates

**Note:** Dashboard auto-tracks file modification times. No manual `last_worked` updates needed.

Files in this skill

  • SKILL.md9 KB
  • SKILL.md.zip4.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.