AgentStack
SKILL verified MIT Self-run

Backlog Management

skill-noah-sheldon-ai-dev-kit-backlog-management · by noah-sheldon

Manage the feature backlog from docs/features/ and Git issues. Prioritizes features, tracks readiness, identifies specs missing details, and surfaces what needs human input. Used by the multi-agent-project-manager agent.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-noah-sheldon-ai-dev-kit-backlog-management

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Backlog Management? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Backlog Management

Manage the feature backlog from docs/features/ and Git issues. Prioritize, track readiness, identify missing details, and surface what needs human input.

When to Use

  • The multi-agent-project-manager agent scans for new work in its 60-second cycle
  • A user wants to see what features are in the backlog
  • A feature spec is incomplete and needs human input before a workflow can start
  • Reprioritization is needed due to changing business needs

Backlog Sources

Source 1: Feature Specs (docs/features/)

# Scan for all feature specs
find docs/features -name "spec.md" -type f

Each spec in docs/features//spec.md should have:

---
name: 
version: 1.0.0
status: proposed | approved | in_progress | done | rejected
created: YYYY-MM-DD
author: 
priority: 1-10
---

Source 2: Git Issues

gh issue list --state open --label "feature" --json number,title,labels

Backlog States

new → ready → approved → in_progress → done
         ↓
      needs_human_input

| State | Meaning | |---|---| | new | Spec/issue exists but has not been reviewed | | ready | Spec has all required fields, acceptance criteria defined | | approved | Human has reviewed and approved the spec for implementation | | in_progress | Multi-agent workflow is running | | done | Merged to main | | needs_human_input | Spec is missing critical details — cannot proceed without human |

Spec Completeness Check

Before a feature enters the ready state, validate it has all required information:

required_fields:
  - name: "Feature name is present"
  - name: "Problem statement is clear"
  - name: "Proposed solution exists"
  - name: "Acceptance criteria are defined (at least 2)"
  - name: "Affected surfaces are identified"
  - name: "Dependencies are listed (or 'none')"
  - name: "Risk level is assessed"

optional_but_recommended:
  - name: "User stories with acceptance criteria"
  - name: "Technical constraints documented"
  - name: "Success metrics defined"
  - name: "Timeline/deadline specified"

Missing Details Detection

def check_spec_completeness(spec_path):
    spec = parse_frontmatter(spec_path)
    content = read_markdown_body(spec_path)

    missing = []

    if not spec.get("name"):
        missing.append("Feature name missing")
    if "problem" not in content.lower() and "why" not in content.lower():
        missing.append("Problem statement unclear — why is this needed?")
    if "acceptance" not in content.lower() and "criteria" not in content.lower():
        missing.append("Acceptance criteria not defined")
    if "scope" not in content.lower() and "affected" not in content.lower():
        missing.append("Affected surfaces not identified")

    return {
        "complete": len(missing) == 0,
        "missing": missing,
        "action": "ready" if len(missing) == 0 else "needs_human_input"
    }

Priority Scoring

priority_scoring:
  business_impact:
    revenue_affecting: 10
    user_facing: 7
    internal_tooling: 4
    tech_debt: 3
  urgency:
    security_fix: 10
    production_bug: 9
    deadline_driven: 8
    scheduled: 5
    backlog: 2
  dependencies:
    no_blockers: 10
    blocked_by_1: 7
    blocked_by_2_plus: 3
  complexity:
    trivial_auto_approve: 10
    small_1_surface: 8
    medium_2_3_surfaces: 5
    large_4_plus_surfaces: 3
    massive_full_stack: 1

  final_score = weighted_average(business_impact, urgency, dependencies, 1/complexity)

Backlog Operations

Add to Backlog

# Create a new feature spec
mkdir -p docs/features/
cat > docs/features//spec.md 
version: 1.0.0
status: proposed
created: $(date +%Y-%m-%d)
author: 
---

# Feature: 

## Problem

## Proposed Solution

## Acceptance Criteria
- [ ] Criterion 1
- [ ] Criterion 2

## Affected Surfaces
- List files/directories that will change

## Dependencies
- List dependencies or "none"

## Risk Level
low/medium/high
EOF

Move Between States

# Update status in spec frontmatter
python3 -c "
import frontmatter
post = frontmatter.load('docs/features//spec.md')
post['status'] = 'approved'  # or 'in_progress', 'done', 'rejected'
with open('docs/features//spec.md', 'w') as f:
    f.write(frontmatter.dumps(post))
"

Report Backlog

BACKLOG REPORT:

  Ready for work (approved, waiting for agents):
    1.      Priority: 8/10  Est. agents: 3

  Needs human input:
    1.      Missing: Acceptance criteria, OAuth provider decision
    2.      Missing: Affected surfaces not identified

  New (not yet reviewed):
    1.      Created: 2026-04-12

  In progress:
    1.      Wave: executing (5 agents active)

Integration with Multi-Agent Project Manager

The PM agent calls this skill during its 60-second cycle:

Step 1 of PM loop: SCAN FOR NEW WORK
  → Call backlog-management skill
  → Scan docs/features/ for new/updated specs
  → Check completeness of each spec
  → Score priority
  → Move complete specs to "ready" queue
  → Flag incomplete specs as "needs_human_input"
  → Update backlog report

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.